[LinuxBIOS] [PATCH] fix port 0 on sata controller 0 for ck804 based boards

Ward Vandewege ward at gnu.org
Sun Nov 18 04:13:28 CET 2007


On Sun, Nov 18, 2007 at 03:09:13AM +0100, Uwe Hermann wrote:
> On Thu, Nov 15, 2007 at 03:44:07PM -0500, Ward Vandewege wrote:
> > The ck804 code in the LB tree does not properly initialize all SATA ports.
> > The situation is currently as follows for boards with 4 SATA ports:
> > 
> > * sata controller 0: both ports 100% dead (no drives detected)
> > * sata controller 1: port 0 ok; port 1 sees drive but times out when trying
> >   to access it
> 
> Can you elaborate how you tested this?

The s2891 has 2 sata controllers; pci ids 0000:00:07.0 and 0000:00:08.0. Both
have 2 onboard sata ports (which I've been referring to as 0 and 1).

Test pre-patch:

1. stick 4 sata drives in s2891
2. boot
3. controller 0 (pci id 7) does not see *any* drives
4. controller 1 (pci id 8) sees both drives connected to it, but when the
kernel tries to access the second disk, it times out with nasty errors like
this.

See the boot log here:

  http://ward.vandewege.net/s2891/s2891-bootlog-lb.cap

Test post-patch:

same as above, but controller 0 behaves identical to controller 1

> Here's what I was able to test on the ASUS A8N-E. The ports are numbered 1-4
> on the PCB, not sure how that maps to your numbers above. I used a 40 GB
> SATA disk with 'IDE_DISK_POLL_DELAY = 1' in FILO as well as the 5
> seconds spin-up delay patch from the wiki.
> 
> Without patches:
>  - Port 1, 2 don't work.
>  - Port 3: Works (hde in FILO), I can boot from the SATA disk.
>  - Port 4: Works (hdg in FILO), I can boot from the SATA disk.
> 
> No change in behaviour with your patch applied. Ports 1/2 broken, 3/4 work.

What are the PCI ids for the sata controllers on your board?

Thanks,
Ward.

-- 
Ward Vandewege <ward at fsf.org>
Free Software Foundation - Senior System Administrator




More information about the coreboot mailing list