[LinuxBIOS] sata issues on tyan s2891

Ward Vandewege ward at gnu.org
Tue Sep 25 13:35:10 CEST 2007


On Mon, Sep 24, 2007 at 05:42:02PM -0700, ron minnich wrote:
> On 9/24/07, Roman Kononov <kononov at dls.net> wrote:
> > On 09/24/2007 03:41 PM, Ward Vandewege wrote:
> > > Any thoughts?
> >
> > I have s2892 and Sun Ultra40, which have ck804 too. Linux can only detect
> > one hard drive per SATA controller. The second drive is either undetected or
> > times out. On s2892, some HD types, presumably all SATA-II, (Hitachi
> > HDS7280SA for instance), are detected at boot time, but miserably fail
> > later, with lots of log messages from the kernel driver. I compared the PCI
> > configuration registers (other than BARs, MSI, etc.) left by LinuxBIOS and
> > the factory BIOS: they were different.
> 
> It is possible that the changed BIOS settings are a bug fix we don't
> know about. Can we get a list of differences?

The tyan s2891 lspci's etc I made yesterday are here:

  http://ward.vandewege.net/s2891/

This is the proprietary BIOS (sata channel 0):

0000:00:07.0 0101: 10de:0054 (rev f3) (prog-if 85 [Master SecO PriO])
	Subsystem: 10f1:2891
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 0 (750ns min, 250ns max)
	Interrupt: pin A routed to IRQ 23
	Region 0: I/O ports at 1440 [size=8]
	Region 1: I/O ports at 1434 [size=4]
	Region 2: I/O ports at 1438 [size=8]
	Region 3: I/O ports at 1430 [size=4]
	Region 4: I/O ports at 1410 [size=16]
	Region 5: Memory at dd002000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00: de 10 54 00 07 00 b0 00 f3 85 01 01 00 00 00 00
10: 41 14 00 00 35 14 00 00 39 14 00 00 31 14 00 00
20: 11 14 00 00 00 20 00 dd 00 00 00 00 f1 10 91 28
30: 00 00 00 00 44 00 00 00 00 00 00 00 0b 01 03 01

0000:00:08.0 0101: 10de:0055 (rev f3) (prog-if 85 [Master SecO PriO])
	Subsystem: 10f1:2891
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 0 (750ns min, 250ns max)
	Interrupt: pin A routed to IRQ 22
	Region 0: I/O ports at 1458 [size=8]
	Region 1: I/O ports at 144c [size=4]
	Region 2: I/O ports at 1450 [size=8]
	Region 3: I/O ports at 1448 [size=4]
	Region 4: I/O ports at 1420 [size=16]
	Region 5: Memory at dd003000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00: de 10 55 00 07 00 b0 00 f3 85 01 01 00 00 00 00
10: 59 14 00 00 4d 14 00 00 51 14 00 00 49 14 00 00
20: 21 14 00 00 00 30 00 dd 00 00 00 00 f1 10 91 28
30: 00 00 00 00 44 00 00 00 00 00 00 00 0a 01 03 01

And this is linuxBIOS (note how the detected revision is different!):

0000:00:07.0 0101: 10de:0054 (rev a3) (prog-if 85 [Master SecO PriO])
	Subsystem: 10f1:2891
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 0 (750ns min, 250ns max)
	Interrupt: pin A routed to IRQ 23
	Region 0: I/O ports at 3050 [size=8]
	Region 1: I/O ports at 3090 [size=4]
	Region 2: I/O ports at 3060 [size=8]
	Region 3: I/O ports at 30a0 [size=4]
	Region 4: I/O ports at 3030 [size=16]
	Region 5: Memory at fd102000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [b0] Message Signalled Interrupts: 64bit+ Queue=0/2
Enable-
		Address: 0000000000000000  Data: 0000
	Capabilities: [cc] #08 [a802]
00: de 10 54 00 07 00 b0 00 a3 85 01 01 00 00 00 00
10: 51 30 00 00 91 30 00 00 61 30 00 00 a1 30 00 00
20: 31 30 00 00 00 20 10 fd 00 00 00 00 f1 10 91 28
30: 00 00 00 00 44 00 00 00 00 00 00 00 00 01 03 01

0000:00:08.0 0101: 10de:0055 (rev a3) (prog-if 85 [Master SecO PriO])
	Subsystem: 10f1:2891
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 0 (750ns min, 250ns max)
	Interrupt: pin A routed to IRQ 22
	Region 0: I/O ports at 3070 [size=8]
	Region 1: I/O ports at 30b0 [size=4]
	Region 2: I/O ports at 3080 [size=8]
	Region 3: I/O ports at 30c0 [size=4]
	Region 4: I/O ports at 3040 [size=16]
	Region 5: Memory at fd103000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00: de 10 55 00 07 00 b0 00 a3 85 01 01 00 00 00 00
10: 71 30 00 00 b1 30 00 00 81 30 00 00 c1 30 00 00
20: 41 30 00 00 00 30 10 fd 00 00 00 00 f1 10 91 28
30: 00 00 00 00 44 00 00 00 00 00 00 00 00 01 03 01

Thanks,
Ward.

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




More information about the coreboot mailing list