Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753476AbZLYJW1 (ORCPT ); Fri, 25 Dec 2009 04:22:27 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752556AbZLYJWZ (ORCPT ); Fri, 25 Dec 2009 04:22:25 -0500 Received: from mail-fx0-f225.google.com ([209.85.220.225]:49971 "EHLO mail-fx0-f225.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752165AbZLYJWX (ORCPT ); Fri, 25 Dec 2009 04:22:23 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; b=Eqjn5VB+dZ9SbJN3S8lNL4s5RyTnbMADb050rSlOWM9UM7LrgXTyrNJwmlADLnMHZP QLcdBKYalOuE5J8ryfBtQKk5iP34HlZKkygAs5E+e3HPwij2qmgkUulJwlf1NN2BjwMO G9iz9cD7AsX+CbU+GF4rAZ7bHxBcPxjMPKipE= MIME-Version: 1.0 Date: Fri, 25 Dec 2009 10:22:17 +0100 Message-ID: <64bb37e0912250122n4e0e1842q88c0dad7e99ec6a7@mail.gmail.com> Subject: MSI broken in libata? From: Torsten Kaiser To: linux-kernel@vger.kernel.org Cc: Jeff Garzik , linux-ide@vger.kernel.org Content-Type: multipart/mixed; boundary=001517478afc8d25a4047b8a1721 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 118110 Lines: 1685 --001517478afc8d25a4047b8a1721 Content-Type: text/plain; charset=ISO-8859-1 As reported in http://lkml.org/lkml/2009/12/19/82 the new MSI support for sata_sil24 does not work for me. This is still the same with 2.6.33-rc2. Why I think, this might be a problem within libata: * other drivers can use MSI successful on my system (tg3, radeon, hda-intel) * happens both in sata_sil24 and sata_nv * the count in /proc/interrupts increases for the MSIs assigned to sata_sil24/sata_nv, so interrupt delivery seems to work * only writing seems to fail These are the changes in /proc/interrupts: Normal boot, without additional cmdline options: - 4: 0 0 96 174 IO-APIC-edge serial - 19: 18058 2 3 4738 IO-APIC-fasteoi sata_sil24, bttv0, Bt87x audio - 21: 0 0 0 0 IO-APIC-fasteoi sata_nv - 22: 0 0 0 0 IO-APIC-fasteoi sata_nv - 23: 872 357 4 1514 IO-APIC-fasteoi sata_nv, ohci_hcd:usb2 - 29: 4 405 0 140 PCI-MSI-edge HDA Intel - 30: 0 0 0 3 PCI-MSI-edge eth0 - 31: 3354 0 0 38 PCI-MSI-edge eth1 Boot with sata_nv.msi=1 and sata_sil24.msi=1, only booted into a rescue shell, thats why serial and eth0+1 are missing: + 19: 0 0 0 1 IO-APIC-fasteoi bttv0, Bt87x audio + 23: 0 0 5 13 IO-APIC-fasteoi ohci_hcd:usb2 + 29: 0 0 0 73 PCI-MSI-edge sata_sil24 + 30: 0 0 0 2590 PCI-MSI-edge sata_nv + 31: 0 0 0 0 PCI-MSI-edge sata_nv + 32: 0 0 0 0 PCI-MSI-edge sata_nv + 33: 0 0 0 89 PCI-MSI-edge HDA Intel Attached is the output from lspci -vv from a normal boot and from a boot with MSI enabled for both libata drivers. The errors messages from libata and other information about my system can be found in http://lkml.org/lkml/2009/12/19/82 ,or just ask if you need to know something else. Here are the differences from the lspci-outputs: lspci-vv-rc2.txt: complete, normal boot lspci-vv-rc2.msi.txt: init=/bin/sash, MSI for sata_sil24+sata_nv, network cards not initialised --- lspci-vv-rc2.txt 2009-12-25 00:11:19.992078760 +0100 +++ lspci-vv-rc2.msi.txt 2009-12-25 00:04:26.713756803 +0100 @@ -1,631 +1,586 @@ 00:04.0 IDE interface: nVidia Corporation MCP55 IDE (rev a1) (prog-if 8a [Master SecP PriP]) Subsystem: ASUSTeK Computer Inc. Device 81f0 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- TAbort- Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- Capabilities: [40] Subsystem: nVidia Corporation Device 0000 Capabilities: [48] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [50] MSI: Enable+ Count=1/2 Maskable- 64bit+ Address: 00000000fee0f00c Data: 4161 Capabilities: [60] HyperTransport: MSI Mapping Enable- Fixed- Mapping Address Base: 00000000fee00000 Capabilities: [80] Express (v1) Root Port (Slot+), MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us ExtTag- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <512ns, L1 <4us ClockPM- Surprise- LLActRep+ BwNot- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk- ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt- SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surpise- Slot # 0, PowerLimit 0.000000; Interlock- NoCompl- SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg- Control: AttnInd Off, PwrInd On, Power- Interlock- SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock- Changed: MRL- PresDet+ LinkState+ RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible- RootCap: CRSVisible- RootSta: PME ReqID 0000, PMEStatus- PMEPending- 01:00.0 VGA compatible controller: ATI Technologies Inc RV370 5B60 [Radeon X300 (PCIE)] (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. Device 0083 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR- [disabled] Capabilities: [48] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME- Capabilities: [50] Vital Product Data - Product Name: Broadcom NetXtreme Gigabit Ethernet Controller - Read-only fields: - [PN] Part number: BCM95700A6 - [EC] Engineering changes: 106679-15 - [SN] Serial number: 0123456789 - [MN] Manufacture ID: 31 34 65 34 - [RV] Reserved: checksum bad, 26 byte(s) reserved - Read/write fields: - [YA] Asset tag: XYZ01234567 - [RW] Read-write area: 107 byte(s) free - End + Not readable Capabilities: [58] Vendor Specific Information - Capabilities: [e8] MSI: Enable+ Count=1/1 Maskable- 64bit+ + Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 00000000fee0100c Data: 41c1 Capabilities: [d0] Express (v1) Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- MaxPayload 128 bytes, MaxReadReq 4096 bytes - DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend- + DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 <4us, L1 <64us ClockPM- Surprise- LLActRep- BwNot- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- 03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5754 Gigabit Ethernet PCI Express (rev 02) Subsystem: ASUSTeK Computer Inc. Device 8209 - Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ + Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- [disabled] Capabilities: [48] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME- Capabilities: [50] Vital Product Data - Product Name: Broadcom NetXtreme Gigabit Ethernet Controller - Read-only fields: - [PN] Part number: BCM95700A6 - [EC] Engineering changes: 106679-15 - [SN] Serial number: 0123456789 - [MN] Manufacture ID: 31 34 65 34 - [RV] Reserved: checksum bad, 26 byte(s) reserved - Read/write fields: - [YA] Asset tag: XYZ01234567 - [RW] Read-write area: 107 byte(s) free - End + Not readable Capabilities: [58] Vendor Specific Information - Capabilities: [e8] MSI: Enable+ Count=1/1 Maskable- 64bit+ + Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 00000000fee0f00c Data: 41b9 Capabilities: [d0] Express (v1) Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- MaxPayload 128 bytes, MaxReadReq 4096 bytes - DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend- + DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 <4us, L1 <64us ClockPM- Surprise- LLActRep- BwNot- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- 04:00.0 Mass storage controller: Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller (rev 01) Subsystem: ASUSTeK Computer Inc. Device 819f - Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- + Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-