All of lore.kernel.org
 help / color / mirror / Atom feed
* SATA Problem: port is slow to respond
@ 2007-02-16  9:50 Sigmund Scheinbar
  2007-02-27 14:42 ` Tejun Heo
  0 siblings, 1 reply; 7+ messages in thread
From: Sigmund Scheinbar @ 2007-02-16  9:50 UTC (permalink / raw)
  To: jgarzik, linux-ide

[1.] One line summary of the problem:

SATA Problem: port is slow to respond

[2.] Full description of the problem/report:

The following messages appear while booting/in dmesg [1]: 

[...]
ata2: port is slow to respond, please be patient (Status 0x80)
ata2: port failed to respond (30 secs, Status 0x80)
ata2: softreset failed (device not ready)
ata2: softreset failed, retrying in 5 secs
ata2: port is slow to respond, please be patient (Status 0x80)
ata2: port failed to respond (30 secs, Status 0x80)
ata2: COMRESET failed (device not ready)
ata2: hardreset failed, retrying in 5 secs
ata2: port is slow to respond, please be patient (Status 0x80)
ata2: port failed to respond (30 secs, Status 0x80)
ata2: COMRESET failed (device not ready)
ata2: reset failed, giving up
scsi2 : ahci
[...]

This of course means extra long booting time :(
[1] http://wieland.homelinux.org/hp_dc5750/dmesg_2.6.19.3.txt

A further issue which -  imho is coupled w/ this one - is that my 
cd/dvd+rw (also sata) combo drive does not work: 
firstly there is no indication in dmesg that it was found and 
secondly it behaves like dead: it does not open if i press the 
button and it does not blink; it can be opened until
these message appear on the screen. I need to unplug and the replug
it after shutting down/reboot so that on the next bootup the bios 
is able to find it (else it would still behave like dead)! 
The drive itself is ok i guess (a least it works fine on a differen OS).

I found a debian bug report where the problem (but unfortunately 
not a solution that worked for me) is described:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391867

[3.] Keywords (i.e., modules, networking, kernel):

SATA, ATA

[4.] Kernel version (from /proc/version):

Linux version 2.6.19.3 (root@kvpc31) (gcc version 4.1.2 20061115 
(prerelease) (Debian 4.1.1-21)) #2 SMP Thu Feb 15 02:59:14 CET 2007

[8.1.] Software (add the output of the ver_linux script here)

http://wieland.homelinux.org/hp_dc5750/ver_linux.txt

[8.2.] Processor information (from /proc/cpuinfo):

http://wieland.homelinux.org/hp_dc5750/proc_cpuinfo.txt

[8.3.] Module information (from /proc/modules):

http://wieland.homelinux.org/hp_dc5750/proc_modules.txt

[8.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)

http://wieland.homelinux.org/hp_dc5750/proc_iomem.txt
http://wieland.homelinux.org/hp_dc5750/proc_ioports.txt

[8.5.] PCI information ('lspci -vvv' as root)

http://wieland.homelinux.org/hp_dc5750/lspci-vvv.txt

[8.6.] SCSI information (from /proc/scsi/scsi)

http://wieland.homelinux.org/hp_dc5750/proc_scsi_scsi.txt

[X.] Other notes, patches, fixes, workarounds:

Also it seems that the System is not capeable of recongnizing 
the HDD:
hdparm -i /dev/sda
HDIO_GET_IDENTITY failed: Inappropriate ioctl for device

On lkml I found similar report, but no solution:
http://lkml.org/lkml/2007/1/2/107

A user on an German mailinglist suggest to uses pata_atiixp 
instead of atiixp but yet again this does not work for me: 
http://lists.opensuse.org/archive/opensuse-mobile-de/
2007-01/msg00001.html

All the information i collection can be found at:
http://wieland.homelinux.org/hp_dc5750/

I tried several kernel version in the meantime, starting w/
the standard debian testing i386 kernel, then tried different 
vanilla versions 2.6.18.6, 2.6.19, 2.6.19.3 which are all 
affected in the same way. However 2.6.20 behaves 
differtly: there is another error message which scrolls over
the screen so fast that i'm not able to read it, the only 
thing i was able to catch that it also concerns (s)ata, looking like
'ata2.0: [...] failed [...]' 

Greetings,
Sigmund

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: SATA Problem: port is slow to respond
  2007-02-16  9:50 SATA Problem: port is slow to respond Sigmund Scheinbar
@ 2007-02-27 14:42 ` Tejun Heo
  2007-02-27 21:26   ` Sigmund Scheinbar
  0 siblings, 1 reply; 7+ messages in thread
From: Tejun Heo @ 2007-02-27 14:42 UTC (permalink / raw)
  To: Sigmund Scheinbar; +Cc: jgarzik, linux-ide

Hello,

Sigmund Scheinbar wrote:
> The following messages appear while booting/in dmesg [1]: 
> 
> [...]
> ata2: port is slow to respond, please be patient (Status 0x80)
> ata2: port failed to respond (30 secs, Status 0x80)
> ata2: softreset failed (device not ready)
> ata2: softreset failed, retrying in 5 secs
> ata2: port is slow to respond, please be patient (Status 0x80)
> ata2: port failed to respond (30 secs, Status 0x80)
> ata2: COMRESET failed (device not ready)
> ata2: hardreset failed, retrying in 5 secs
> ata2: port is slow to respond, please be patient (Status 0x80)
> ata2: port failed to respond (30 secs, Status 0x80)
> ata2: COMRESET failed (device not ready)
> ata2: reset failed, giving up

It seems whatever device connected to that ata2 went out for lunch and
never returned.

> A further issue which -  imho is coupled w/ this one - is that my 
> cd/dvd+rw (also sata) combo drive does not work: 
> firstly there is no indication in dmesg that it was found and 
> secondly it behaves like dead: it does not open if i press the 
> button and it does not blink; it can be opened until
> these message appear on the screen. I need to unplug and the replug
> it after shutting down/reboot so that on the next bootup the bios 
> is able to find it (else it would still behave like dead)! 
> The drive itself is ok i guess (a least it works fine on a differen OS).

Is it happen to be a samsung one?

> [8.5.] PCI information ('lspci -vvv' as root)
> 
> http://wieland.homelinux.org/hp_dc5750/lspci-vvv.txt

Your webserver is timing out.

> Also it seems that the System is not capeable of recongnizing 
> the HDD:
> hdparm -i /dev/sda
> HDIO_GET_IDENTITY failed: Inappropriate ioctl for device

This will work from 2.6.21; however, "hdparm -I" works now and is the
preferred way to get ID data.

> I tried several kernel version in the meantime, starting w/
> the standard debian testing i386 kernel, then tried different 
> vanilla versions 2.6.18.6, 2.6.19, 2.6.19.3 which are all 
> affected in the same way. However 2.6.20 behaves 
> differtly: there is another error message which scrolls over
> the screen so fast that i'm not able to read it, the only 
> thing i was able to catch that it also concerns (s)ata, looking like
> 'ata2.0: [...] failed [...]' 

Any chance you can post dmesg from 2.6.20?  Does it fail to detect the
device your root partition resides?

-- 
tejun

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: SATA Problem: port is slow to respond
  2007-02-27 14:42 ` Tejun Heo
@ 2007-02-27 21:26   ` Sigmund Scheinbar
  2007-02-28  6:02     ` Tejun Heo
  0 siblings, 1 reply; 7+ messages in thread
From: Sigmund Scheinbar @ 2007-02-27 21:26 UTC (permalink / raw)
  To: Tejun Heo; +Cc: jgarzik, linux-ide

[-- Attachment #1: Type: text/plain, Size: 1132 bytes --]

Tejun Heo wrote:
> It seems whatever device connected to that ata2 went out for lunch and
> never returned.

Well nice, but its not supposed to do that ;).

> Is it happen to be a samsung one?

No the cd/dvd+-rw drive (GSA-H31L) seems to be LG made [1] although it
has a HP sticker on it at.

[1] http://forums.driverguide.com/showthread.php?t=22969

The HDD is a Seagate Product (ST3160812AS).

More details on the hardware can be found at:
http://wieland.homelinux.org/hp_dc5750/lshw.txt

>> http://wieland.homelinux.org/hp_dc5750/lspci-vvv.txt
> 
> Your webserver is timing out.

It should be working find by now, but just to be sure I've attached the
file.

> Any chance you can post dmesg from 2.6.20? 

http://wieland.homelinux.org/hp_dc5750/dmesg_2.6.20.txt

Accidentally I discovered that if I press C-c the boot process
continues. However, I only can boot into runlevel 1 else the box would
reboot a few seconds after pressing C-c.
I also noticed that the very strange cd-drive behavior is not present in
2.6.20.

Btw.: I've add a bugreport to the bugzilla:
http://bugzilla.kernel.org/show_bug.cgi?id=8044

Cheers,
Sigmund

[-- Attachment #2: lspci-vvv.txt --]
[-- Type: text/plain, Size: 14499 bytes --]

00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 10)
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 32

00:01.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
	I/O behind bridge: 00001000-00001fff
	Memory behind bridge: d8500000-d87fffff
	Prefetchable memory behind bridge: 00000000c8000000-00000000d81fffff
	Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-
	Capabilities: [44] HyperTransport: MSI Mapping
	Capabilities: [b0] Subsystem: Hewlett-Packard Company Unknown device 280a

00:07.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge (prog-if 00 [Normal decode])
	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, Cache Line Size: 64 bytes
	Bus: primary=00, secondary=3f, subordinate=3f, sec-latency=0
	I/O behind bridge: 0000f000-00000fff
	Memory behind bridge: d8200000-d84fffff
	Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express Root Port (Slot+) IRQ 0
		Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag+
		Device: Latency L0s <64ns, L1 <1us
		Device: Errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
		Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
		Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
		Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 4
		Link: Latency L0s <64ns, L1 <1us
		Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
		Link: Speed 2.5Gb/s, Width x1
		Slot: AtnBtn- PwrCtrl- MRL- AtnInd- PwrInd- HotPlug- Surpise-
		Slot: Number 6, PowerLimit 25.000000
		Slot: Enabled AtnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq-
		Slot: AttnInd Off, PwrInd Off, Power-
		Root: Correctable- Non-Fatal- Fatal- PME-
	Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable+
		Address: fee0300c  Data: 41a9
	Capabilities: [b0] Subsystem: ATI Technologies Inc Unknown device 5950
	Capabilities: [b8] HyperTransport: MSI Mapping
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Virtual Channel

00:12.0 IDE interface: ATI Technologies Inc SB600 Non-Raid-5 SATA (prog-if 8f [Master SecP SecO PriP PriO])
	Subsystem: Hewlett-Packard Company Unknown device 2813
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 20
	Region 0: I/O ports at 2130 [size=8]
	Region 1: I/O ports at 2150 [size=4]
	Region 2: I/O ports at 2138 [size=8]
	Region 3: I/O ports at 2154 [size=4]
	Region 4: I/O ports at 2100 [size=16]
	Region 5: Memory at d8a09000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [60] 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: [70] #12 [0010]

00:13.0 USB Controller: ATI Technologies Inc SB600 USB (OHCI0) (prog-if 10 [OHCI])
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at d8a04000 (32-bit, non-prefetchable) [size=4K]

00:13.1 USB Controller: ATI Technologies Inc SB600 USB (OHCI1) (prog-if 10 [OHCI])
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 17
	Region 0: Memory at d8a05000 (32-bit, non-prefetchable) [size=4K]

00:13.2 USB Controller: ATI Technologies Inc SB600 USB (OHCI2) (prog-if 10 [OHCI])
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin C routed to IRQ 18
	Region 0: Memory at d8a06000 (32-bit, non-prefetchable) [size=4K]

00:13.3 USB Controller: ATI Technologies Inc SB600 USB (OHCI3) (prog-if 10 [OHCI])
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 17
	Region 0: Memory at d8a07000 (32-bit, non-prefetchable) [size=4K]

00:13.4 USB Controller: ATI Technologies Inc SB600 USB (OHCI4) (prog-if 10 [OHCI])
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin C routed to IRQ 18
	Region 0: Memory at d8a08000 (32-bit, non-prefetchable) [size=4K]

00:13.5 USB Controller: ATI Technologies Inc SB600 USB Controller (EHCI) (prog-if 20 [EHCI])
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin D routed to IRQ 19
	Region 0: Memory at d8a09800 (32-bit, non-prefetchable) [size=256]
	Capabilities: [c0] 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-
		Bridge: PM- B3+
	Capabilities: [e4] Debug port

00:14.0 SMBus: ATI Technologies Inc SB600 SMBus (rev 13)
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Region 0: I/O ports at fc00 [size=16]
	Region 1: Memory at d8a09400 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [b0] HyperTransport: MSI Mapping

00:14.1 IDE interface: ATI Technologies Inc SB600 IDE (prog-if 8f [Master SecP SecO PriP PriO])
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 16
	Region 0: I/O ports at 2140 [size=8]
	Region 1: I/O ports at 2158 [size=4]
	Region 2: I/O ports at 2148 [size=8]
	Region 3: I/O ports at 215c [size=4]
	Region 4: I/O ports at 2120 [size=16]
	Capabilities: [70] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
		Address: 00000000  Data: 0000

00:14.2 Audio device: ATI Technologies Inc SB600 Azalia
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin ? routed to IRQ 16
	Region 0: Memory at d8a00000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
		Address: 0000000000000000  Data: 0000

00:14.3 ISA bridge: ATI Technologies Inc SB600 PCI to LPC Bridge
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0

00:14.4 PCI bridge: ATI Technologies Inc SB600 PCI to PCI Bridge (prog-if 01 [Subtractive decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop+ ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64
	Bus: primary=00, secondary=07, subordinate=07, sec-latency=64
	I/O behind bridge: 0000f000-00000fff
	Memory behind bridge: fff00000-000fffff
	Prefetchable memory behind bridge: fff00000-000fffff
	Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
	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-
	Capabilities: [80] HyperTransport: Host or Secondary Interface
		!!! Possibly incomplete decoding
		Command: WarmRst+ DblEnd-
		Link Control: CFlE- CST- CFE- <LkFail- Init+ EOC- TXO- <CRCErr=0
		Link Config: MLWI=16bit MLWO=16bit LWI=16bit LWO=16bit
		Revision ID: 1.02

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
	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-

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
	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-

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
	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-
	Capabilities: [f0] #0f [0010]

01:05.0 VGA compatible controller: ATI Technologies Inc RS482 [Radeon Xpress 200] (prog-if 00 [VGA])
	Subsystem: Hewlett-Packard Company Unknown device 280a
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (2000ns min), Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 10
	Region 0: Memory at c8000000 (32-bit, prefetchable) [size=128M]
	Region 1: I/O ports at 1100 [size=256]
	Region 2: Memory at d8500000 (32-bit, non-prefetchable) [size=64K]
	[virtual] Expansion ROM at d8000000 [disabled] [size=128K]
	Capabilities: [50] 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-

01:05.1 Display controller: ATI Technologies Inc Unknown device 5874
	Subsystem: Hewlett-Packard Company Unknown device 280b
	Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (2000ns min), Cache Line Size: 64 bytes
	Region 0: Memory at d0000000 (32-bit, prefetchable) [disabled] [size=128M]
	Region 1: Memory at d8510000 (32-bit, non-prefetchable) [disabled] [size=64K]
	Capabilities: [50] 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-

3f:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5755 Gigabit Ethernet PCI Express (rev 02)
	Subsystem: Hewlett-Packard Company Unknown device 280a
	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, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 222
	Region 0: Memory at d8400000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [48] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=1 PME-
	Capabilities: [50] Vital Product Data
	Capabilities: [58] Vendor Specific Information
	Capabilities: [e8] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
		Address: 00000000fee0300c  Data: 41d9
	Capabilities: [d0] Express Endpoint IRQ 0
		Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag+
		Device: Latency L0s <4us, L1 unlimited
		Device: AtnBtn- AtnInd- PwrInd-
		Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
		Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
		Device: MaxPayload 128 bytes, MaxReadReq 4096 bytes
		Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s, Port 0
		Link: Latency L0s <4us, L1 <64us
		Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
		Link: Speed 2.5Gb/s, Width x1
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [13c] Virtual Channel
	Capabilities: [160] Device Serial Number eb-52-5f-fe-ff-bb-19-00
	Capabilities: [16c] Power Budgeting


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: SATA Problem: port is slow to respond
  2007-02-27 21:26   ` Sigmund Scheinbar
@ 2007-02-28  6:02     ` Tejun Heo
  2007-03-01  8:13       ` Sigmund Scheinbar
  0 siblings, 1 reply; 7+ messages in thread
From: Tejun Heo @ 2007-02-28  6:02 UTC (permalink / raw)
  To: Sigmund Scheinbar; +Cc: jgarzik, linux-ide

[-- Attachment #1: Type: text/plain, Size: 91 bytes --]

Please apply the attached patch over 2.6.20.1 and report how it works.

Thanks.

-- 
tejun

[-- Attachment #2: sb600-ign-serr-internal.patch --]
[-- Type: text/x-patch, Size: 2580 bytes --]

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 6d93240..2d7d97d 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -80,6 +80,7 @@ enum {
 	board_ahci_pi		= 1,
 	board_ahci_vt8251	= 2,
 	board_ahci_ign_iferr	= 3,
+	board_ahci_ign_interr	= 4,
 
 	/* global controller registers */
 	HOST_CAP		= 0x00, /* host capabilities */
@@ -168,6 +169,7 @@ enum {
 	AHCI_FLAG_NO_NCQ		= (1 << 24),
 	AHCI_FLAG_IGN_IRQ_IF_ERR	= (1 << 25), /* ignore IRQ_IF_ERR */
 	AHCI_FLAG_HONOR_PI		= (1 << 26), /* honor PORTS_IMPL */
+	AHCI_FLAG_IGN_SERR_INTERNAL	= (1 << 27), /* ignore SERR_INTERNAL */
 };
 
 struct ahci_cmd_hdr {
@@ -353,6 +355,17 @@ static const struct ata_port_info ahci_port_info[] = {
 		.udma_mask	= 0x7f, /* udma0-6 ; FIXME */
 		.port_ops	= &ahci_ops,
 	},
+	/* board_ahci_ign_interr */
+	{
+		.sht		= &ahci_sht,
+		.flags		= ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
+				  ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA |
+				  ATA_FLAG_SKIP_D2H_BSY |
+				  AHCI_FLAG_IGN_SERR_INTERNAL,
+		.pio_mask	= 0x1f, /* pio0-4 */
+		.udma_mask	= 0x7f, /* udma0-6 ; FIXME */
+		.port_ops	= &ahci_ops,
+	},
 };
 
 static const struct pci_device_id ahci_pci_tbl[] = {
@@ -392,8 +405,8 @@ static const struct pci_device_id ahci_pci_tbl[] = {
 	{ PCI_VDEVICE(JMICRON, 0x2366), board_ahci_ign_iferr }, /* JMB366 */
 
 	/* ATI */
-	{ PCI_VDEVICE(ATI, 0x4380), board_ahci }, /* ATI SB600 non-raid */
-	{ PCI_VDEVICE(ATI, 0x4381), board_ahci }, /* ATI SB600 raid */
+	{ PCI_VDEVICE(ATI, 0x4380), board_ahci_ign_interr }, /* SB600 non-raid */
+	{ PCI_VDEVICE(ATI, 0x4381), board_ahci_ign_interr }, /* SB600 raid */
 
 	/* VIA */
 	{ PCI_VDEVICE(VIA, 0x3349), board_ahci_vt8251 }, /* VIA VT8251 */
@@ -454,9 +467,10 @@ static inline void __iomem *ahci_port_base(void __iomem *base,
 	return base + 0x100 + (port * 0x80);
 }
 
-static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg_in)
+static u32 ahci_scr_read(struct ata_port *ap, unsigned int sc_reg_in)
 {
 	unsigned int sc_reg;
+	u32 serr;
 
 	switch (sc_reg_in) {
 	case SCR_STATUS:	sc_reg = 0; break;
@@ -467,12 +481,13 @@ static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg_in)
 		return 0xffffffffU;
 	}
 
-	return readl(ap->ioaddr.scr_addr + (sc_reg * 4));
+	serr = readl(ap->ioaddr.scr_addr + (sc_reg * 4));
+	if (ap->flags & AHCI_FLAG_IGN_SERR_INTERNAL)
+		serr &= ~SERR_INTERNAL;
+	return serr;
 }
 
-
-static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg_in,
-			       u32 val)
+static void ahci_scr_write(struct ata_port *ap, unsigned int sc_reg_in, u32 val)
 {
 	unsigned int sc_reg;
 

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: SATA Problem: port is slow to respond
  2007-02-28  6:02     ` Tejun Heo
@ 2007-03-01  8:13       ` Sigmund Scheinbar
  2007-03-01  8:40         ` Tejun Heo
  0 siblings, 1 reply; 7+ messages in thread
From: Sigmund Scheinbar @ 2007-03-01  8:13 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Sigmund Scheinbar, jgarzik, linux-ide

[-- Attachment #1: Type: text/plain, Size: 1220 bytes --]

Tejun Heo wrote:
> Please apply the attached patch over 2.6.20.1 and report how it works.

I'm afraid that something went wrong while patching:

pc31:/usr/src/linux-2.6.20.1# cat /root/sb600-ign-serr-internal.patch |
patch --verbose -p1 --dry-run
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
|index 6d93240..2d7d97d 100644
|--- a/drivers/ata/ahci.c
|+++ b/drivers/ata/ahci.c
--------------------------
Patching file drivers/ata/ahci.c using Plan A...
Hunk #1 succeeded at 82 (offset 2 lines).
Hunk #2 succeeded at 174 (offset 5 lines).
Hunk #3 succeeded at 359 (offset 4 lines).
Hunk #4 succeeded at 409 (offset 4 lines).
Hunk #5 succeeded at 475 with fuzz 1 (offset 8 lines).
Hunk #6 FAILED at 489.
1 out of 6 hunks FAILED -- saving rejects to file drivers/ata/ahci.c.rej
done
pc31:/usr/src/linux-2.6.20.1# md5sum /root/sb600-ign-serr-internal.patch
2946379300b1010bc2e8101391b3f9d6  /root/sb600-ign-serr-internal.patch

BTW.: I'm just curious, what's the "purpose" of this patch, it looks to
me like it is just going to ignore the problem? Or do you think that the
hardware is faulty?

Greetings,
Sigmund


[-- Attachment #2: sb600-ign-serr-internal.patch --]
[-- Type: text/x-diff, Size: 2582 bytes --]

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 6d93240..2d7d97d 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -80,6 +80,7 @@ enum {
 	board_ahci_pi		= 1,
 	board_ahci_vt8251	= 2,
 	board_ahci_ign_iferr	= 3,
+	board_ahci_ign_interr	= 4,
 
 	/* global controller registers */
 	HOST_CAP		= 0x00, /* host capabilities */
@@ -168,6 +169,7 @@ enum {
 	AHCI_FLAG_NO_NCQ		= (1 << 24),
 	AHCI_FLAG_IGN_IRQ_IF_ERR	= (1 << 25), /* ignore IRQ_IF_ERR */
 	AHCI_FLAG_HONOR_PI		= (1 << 26), /* honor PORTS_IMPL */
+	AHCI_FLAG_IGN_SERR_INTERNAL	= (1 << 27), /* ignore SERR_INTERNAL */
 };
 
 struct ahci_cmd_hdr {
@@ -353,6 +355,17 @@ static const struct ata_port_info ahci_port_info[] = {
 		.udma_mask	= 0x7f, /* udma0-6 ; FIXME */
 		.port_ops	= &ahci_ops,
 	},
+	/* board_ahci_ign_interr */
+	{
+		.sht		= &ahci_sht,
+		.flags		= ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
+				  ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA |
+				  ATA_FLAG_SKIP_D2H_BSY |
+				  AHCI_FLAG_IGN_SERR_INTERNAL,
+		.pio_mask	= 0x1f, /* pio0-4 */
+		.udma_mask	= 0x7f, /* udma0-6 ; FIXME */
+		.port_ops	= &ahci_ops,
+	},
 };
 
 static const struct pci_device_id ahci_pci_tbl[] = {
@@ -392,8 +405,8 @@ static const struct pci_device_id ahci_pci_tbl[] = {
 	{ PCI_VDEVICE(JMICRON, 0x2366), board_ahci_ign_iferr }, /* JMB366 */
 
 	/* ATI */
-	{ PCI_VDEVICE(ATI, 0x4380), board_ahci }, /* ATI SB600 non-raid */
-	{ PCI_VDEVICE(ATI, 0x4381), board_ahci }, /* ATI SB600 raid */
+	{ PCI_VDEVICE(ATI, 0x4380), board_ahci_ign_interr }, /* SB600 non-raid */
+	{ PCI_VDEVICE(ATI, 0x4381), board_ahci_ign_interr }, /* SB600 raid */
 
 	/* VIA */
 	{ PCI_VDEVICE(VIA, 0x3349), board_ahci_vt8251 }, /* VIA VT8251 */
@@ -454,9 +467,10 @@ static inline void __iomem *ahci_port_base(void __iomem *base,
 	return base + 0x100 + (port * 0x80);
 }
 
-static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg_in)
+static u32 ahci_scr_read(struct ata_port *ap, unsigned int sc_reg_in)
 {
 	unsigned int sc_reg;
+	u32 serr;
 
 	switch (sc_reg_in) {
 	case SCR_STATUS:	sc_reg = 0; break;
@@ -467,12 +481,13 @@ static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg_in)
 		return 0xffffffffU;
 	}
 
-	return readl(ap->ioaddr.scr_addr + (sc_reg * 4));
+	serr = readl(ap->ioaddr.scr_addr + (sc_reg * 4));
+	if (ap->flags & AHCI_FLAG_IGN_SERR_INTERNAL)
+		serr &= ~SERR_INTERNAL;
+	return serr;
 }
 
-
-static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg_in,
-			       u32 val)
+static void ahci_scr_write(struct ata_port *ap, unsigned int sc_reg_in, u32 val)
 {
 	unsigned int sc_reg;
 



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: SATA Problem: port is slow to respond
  2007-03-01  8:13       ` Sigmund Scheinbar
@ 2007-03-01  8:40         ` Tejun Heo
  2007-03-28 10:15           ` Rodney Padgett
  0 siblings, 1 reply; 7+ messages in thread
From: Tejun Heo @ 2007-03-01  8:40 UTC (permalink / raw)
  To: Sigmund Scheinbar; +Cc: Sigmund Scheinbar, jgarzik, linux-ide

[-- Attachment #1: Type: text/plain, Size: 878 bytes --]

Sigmund Scheinbar wrote:
> Tejun Heo wrote:
>> Please apply the attached patch over 2.6.20.1 and report how it works.
> 
> I'm afraid that something went wrong while patching:

Sorry, it was generated against the wrong tree.  Regenerated patch attached.

> BTW.: I'm just curious, what's the "purpose" of this patch, it looks to
> me like it is just going to ignore the problem? Or do you think that the
> hardware is faulty?

ATAPI devices use error conditions regularly to report all sorts of
things including media not present.  In some variants of ahci's, this
sets seemingly unrelated error bits - JMBs set interface error and
sb600s seem to set internal error.  These errors when interpreted
literally require device reset to recover from thus ATAPI devices never
get through device ready check.  So, the patch makes ahci driver
suppress those spurious errors.

-- 
tejun

[-- Attachment #2: sb600-ign-serr-internal.patch --]
[-- Type: text/x-patch, Size: 2665 bytes --]

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 48616c6..17c6630 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -82,6 +82,7 @@ enum {
 	board_ahci_pi		= 1,
 	board_ahci_vt8251	= 2,
 	board_ahci_ign_iferr	= 3,
+	board_ahci_ign_interr	= 4,
 
 	/* global controller registers */
 	HOST_CAP		= 0x00, /* host capabilities */
@@ -173,6 +174,7 @@ enum {
 	AHCI_FLAG_NO_NCQ		= (1 << 24),
 	AHCI_FLAG_IGN_IRQ_IF_ERR	= (1 << 25), /* ignore IRQ_IF_ERR */
 	AHCI_FLAG_HONOR_PI		= (1 << 26), /* honor PORTS_IMPL */
+	AHCI_FLAG_IGN_SERR_INTERNAL	= (1 << 27), /* ignore SERR_INTERNAL */
 };
 
 struct ahci_cmd_hdr {
@@ -357,6 +359,17 @@ static const struct ata_port_info ahci_port_info[] = {
 		.udma_mask	= 0x7f, /* udma0-6 ; FIXME */
 		.port_ops	= &ahci_ops,
 	},
+	/* board_ahci_ign_interr */
+	{
+		.sht		= &ahci_sht,
+		.flags		= ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
+				  ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA |
+				  ATA_FLAG_SKIP_D2H_BSY |
+				  AHCI_FLAG_IGN_SERR_INTERNAL,
+		.pio_mask	= 0x1f, /* pio0-4 */
+		.udma_mask	= 0x7f, /* udma0-6 ; FIXME */
+		.port_ops	= &ahci_ops,
+	},
 };
 
 static const struct pci_device_id ahci_pci_tbl[] = {
@@ -396,8 +409,8 @@ static const struct pci_device_id ahci_pci_tbl[] = {
 	{ PCI_VDEVICE(JMICRON, 0x2366), board_ahci_ign_iferr }, /* JMB366 */
 
 	/* ATI */
-	{ PCI_VDEVICE(ATI, 0x4380), board_ahci }, /* ATI SB600 non-raid */
-	{ PCI_VDEVICE(ATI, 0x4381), board_ahci }, /* ATI SB600 raid */
+	{ PCI_VDEVICE(ATI, 0x4380), board_ahci_ign_interr }, /* SB600 non-raid */
+	{ PCI_VDEVICE(ATI, 0x4381), board_ahci_ign_interr }, /* SB600 raid */
 
 	/* VIA */
 	{ PCI_VDEVICE(VIA, 0x3349), board_ahci_vt8251 }, /* VIA VT8251 */
@@ -462,9 +475,10 @@ static inline void __iomem *ahci_port_base (void __iomem *base, unsigned int por
 	return (void __iomem *) ahci_port_base_ul((unsigned long)base, port);
 }
 
-static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg_in)
+static u32 ahci_scr_read(struct ata_port *ap, unsigned int sc_reg_in)
 {
 	unsigned int sc_reg;
+	u32 serr;
 
 	switch (sc_reg_in) {
 	case SCR_STATUS:	sc_reg = 0; break;
@@ -475,12 +489,13 @@ static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg_in)
 		return 0xffffffffU;
 	}
 
-	return readl((void __iomem *) ap->ioaddr.scr_addr + (sc_reg * 4));
+	serr = readl((void __iomem *) ap->ioaddr.scr_addr + (sc_reg * 4));
+	if (ap->flags & AHCI_FLAG_IGN_SERR_INTERNAL)
+		serr &= ~SERR_INTERNAL;
+	return serr;
 }
 
-
-static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg_in,
-			       u32 val)
+static void ahci_scr_write(struct ata_port *ap, unsigned int sc_reg_in, u32 val)
 {
 	unsigned int sc_reg;
 

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: SATA Problem: port is slow to respond
  2007-03-01  8:40         ` Tejun Heo
@ 2007-03-28 10:15           ` Rodney Padgett
  0 siblings, 0 replies; 7+ messages in thread
From: Rodney Padgett @ 2007-03-28 10:15 UTC (permalink / raw)
  To: linux-ide

Tejun Heo <htejun <at> gmail.com> writes:

> 
> Sigmund Scheinbar wrote:
> > Tejun Heo wrote:
> >> Please apply the attached patch over 2.6.20.1 and report how it works.
> > 
> > I'm afraid that something went wrong while patching:
> 
> Sorry, it was generated against the wrong tree.  Regenerated patch attached.
> 
> > BTW.: I'm just curious, what's the "purpose" of this patch, it looks to
> > me like it is just going to ignore the problem? Or do you think that the
> > hardware is faulty?
> 
> ATAPI devices use error conditions regularly to report all sorts of
> things including media not present.  In some variants of ahci's, this
> sets seemingly unrelated error bits - JMBs set interface error and
> sb600s seem to set internal error.  These errors when interpreted
> literally require device reset to recover from thus ATAPI devices never
> get through device ready check.  So, the patch makes ahci driver
> suppress those spurious errors.
> 
I had the same problem with kernel 2.6.20.3 (from kernel.org) on the same
machine (HP dc5750). I applied your patch, and the cd drive now works! dmesg
shows no errors logged, and I can access the drive without any problem.

Thanks,

Rod.


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-03-28 11:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-16  9:50 SATA Problem: port is slow to respond Sigmund Scheinbar
2007-02-27 14:42 ` Tejun Heo
2007-02-27 21:26   ` Sigmund Scheinbar
2007-02-28  6:02     ` Tejun Heo
2007-03-01  8:13       ` Sigmund Scheinbar
2007-03-01  8:40         ` Tejun Heo
2007-03-28 10:15           ` Rodney Padgett

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.