All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alnie <memobook80@comcast.net>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	Takashi Iwai <tiwai@suse.de>
Subject: Re: PCI Issues with ExpressCard/54 Audio Device
Date: Thu, 26 Feb 2015 00:22:42 -0800	[thread overview]
Message-ID: <54EED7D2.7000205@comcast.net> (raw)
In-Reply-To: <CAErSpo6E5EMDUA8tHRZYF6rgfRqtHEZtG4EyVcMSRL02T3Ttyg@mail.gmail.com>

On 02/25/2015 10:55 PM, Bjorn Helgaas wrote:
> [+cc Takashi]
>
> On Wed, Feb 25, 2015 at 5:12 PM, Alnie <memobook80@comcast.net> wrote:
>> Hi, I am seeking feedback in regards to issues with a ExpressCard/54 audio card (http://www.notebookreview.com/notebookreview/creative-soundblaster-x-fi-xtreme-audio-for-notebook-review/) under Linux (same card has been working fine in Win 7). After recently having a conversation on alsa-devel about it, it was decided it seems to be a PCI issue. The "devices" in question....
>
> Hi Alnie,
>
> I'm sorry you're running into a problem, but thanks for the report!
>
>> 05:00.0 PCI bridge: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG PCI to PCIe Bridge (prog-if 00 [Normal decode])
>>       Physical Slot: 3
>>       Flags: bus master, fast devsel, latency 0
>>       Bus: primary=05, secondary=06, subordinate=0c, sec-latency=36
>>       Memory behind bridge: f4300000-f43fffff
>>       Capabilities: [50] Power Management version 3
>>       Capabilities: [60] MSI: Enable- Count=1/16 Maskable- 64bit+
>>       Capabilities: [80] Subsystem: Creative Labs Device 0040
>>       Capabilities: [90] Express PCI-Express to PCI/PCI-X Bridge, MSI 00
>>       Capabilities: [100] Advanced Error Reporting
>>
>> 06:00.0 Audio device: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG
>>       Subsystem: Creative Labs SB1040
>>       Flags: bus master, fast Back2Back, medium devsel, latency 32, IRQ 19
>>       Memory at f4300000 (32-bit, non-prefetchable) [size=16K]
>>       Capabilities: [dc] Power Management version 3
>>       Kernel driver in use: snd_hda_intel
>>
>>
>>
>> dmesg output... http://pastebin.com/66UE659K
>>
>> and comments in regard to it... http://mailman.alsa-project.org/pipermail/alsa-devel/2015-February/088237.html
>>>
>>> [ 2619.199658] pciehp 0000:00:1c.3:pcie04: Card not present on Slot(3)
>>> [ 2619.199666] pciehp 0000:00:1c.3:pcie04: slot(3): Link Down event
>>> [ 2619.199674] pciehp 0000:00:1c.3:pcie04: Link Down event ignored on
>>> slot(3): already powering off
>>> [ 2619.199911] pci_bus 0000:06: busn_res: [bus 06-0c] is released
>>> [ 2620.757928] pciehp 0000:00:1c.3:pcie04: Card present on Slot(3)
>>> [ 2620.767950] pciehp 0000:00:1c.3:pcie04: slot(3): Link Up event
>>> [ 2620.767985] pciehp 0000:00:1c.3:pcie04: Link Up event ignored on
>>> slot(3): already powering on
>>
>> pciehp reacted power off and on here, and...
>>
>>> [ 2620.876160] pci 0000:05:00.0: [1102:7006] type 01 class 0x060400
>>> [ 2620.876426] pci 0000:05:00.0: supports D1 D2
>>> [ 2620.876719] pci 0000:05:00.0: bridge configuration invalid ([bus
>>> 00-00]), reconfiguring
>>> [ 2620.876928] pci_bus 0000:06: busn_res: can not insert [bus 06-ff]
>>> under [bus 05-0c] (conflicts with (null) [bus 05-0c])
>>
>> .... and something failed here for the PCI bridge device.
>>
>>> [ 2620.876967] pci 0000:06:00.0: [1102:0009] type 00 class 0x040300
>>> [ 2620.877013] pci 0000:06:00.0: reg 0x10: [mem 0x00000000-0x00003fff]
>>> [ 2620.877203] pci 0000:06:00.0: supports D1 D2
>>> [ 2620.877443] pci 0000:05:00.0: PCI bridge to [bus 06-ff]
>>> [ 2620.877462] pci 0000:05:00.0:   bridge window [io  0x0000-0x0fff]
>>> [ 2620.877474] pci 0000:05:00.0:   bridge window [mem 0x00000000-0x000fffff]
>>> [ 2620.877492] pci 0000:05:00.0:   bridge window [mem
>>> 0x00000000-0x000fffff 64bit pref]
>>> [ 2620.877500] pci_bus 0000:06: busn_res: [bus 06-ff] end is updated to 06
>>> [ 2620.877559] pci 0000:05:00.0: BAR 14: assigned [mem
>>> 0xf4300000-0xf43fffff]
>>> [ 2620.877568] pci 0000:05:00.0: BAR 15: assigned [mem
>>> 0xf4000000-0xf40fffff 64bit pref]
>>> [ 2620.877574] pci 0000:05:00.0: BAR 13: assigned [io  0x2000-0x2fff]
>>> [ 2620.877582] pci 0000:06:00.0: BAR 0: assigned [mem 0xf4300000-0xf4303fff]
>>> [ 2620.877595] pci 0000:05:00.0: PCI bridge to [bus 06]
>>> [ 2620.877603] pci 0000:05:00.0:   bridge window [io  0x2000-0x2fff]
>>> [ 2620.877618] pci 0000:05:00.0:   bridge window [mem 0xf4300000-0xf43fffff]
>>> [ 2620.877630] pci 0000:05:00.0:   bridge window [mem
>>> 0xf4000000-0xf40fffff 64bit pref]
>>> [ 2620.877647] pcieport 0000:00:1c.3: PCI bridge to [bus 05-0c]
>>> [ 2620.877655] pcieport 0000:00:1c.3:   bridge window [io  0x2000-0x2fff]
>>> [ 2620.877667] pcieport 0000:00:1c.3:   bridge window [mem
>>> 0xf4300000-0xf7efffff]
>>> [ 2620.877677] pcieport 0000:00:1c.3:   bridge window [mem
>>> 0xf4000000-0xf40fffff 64bit pref]
>>> [ 2620.877990] pci 0000:05:00.0: enabling device (0000 -> 0003)
>>> [ 2620.878013] snd_hda_intel 0000:06:00.0: enabling device (0000 -> 0002)
>>> [ 2620.882747] azx_single_wait_for_response: 108 callbacks suppressed
>>> [ 2620.882753] snd_hda_intel 0000:06:00.0: Codec #1 probe error;
>>> disabling it...
>>> [ 2620.887052] snd_hda_intel 0000:06:00.0: no AFG or MFG node found
>>> [ 2620.887058] snd_hda_intel 0000:06:00.0: no codecs initialized
>>
>>
>>
>> I've tried many kernels from 2.6 to 3.18 with similar results. Willing to retrieve more info. Thank you :)
>
> It looks like you booted with the card already installed, then removed
> and reinstalled it.  Did the card work at any point?  If it worked
> before the hotplug, then we need to look for a hotplug problem.  If it
> never worked, then we can ignore hotplug for now.
>
> My guess is that the card never worked at all and hotplug isn't an issue here.


Correct. The card has not worked at any point for me in Linux.


>
> The pciehp messages above are a bit scary looking, but I don't think
> they actually show a problem.  It looks like you booted with the
> ExpressCard present, and it was configured like this:
>
>    pci 0000:00:1c.3: PCI bridge to [bus 05-0c]
>    pci 0000:00:1c.3:   bridge window [io  0x2000-0x2fff]
>    pci 0000:00:1c.3:   bridge window [mem 0xf4300000-0xf7efffff]
>    pci 0000:00:1c.3:   bridge window [mem 0xf4000000-0xf40fffff 64bit pref]
>    pci 0000:05:00.0: PCI bridge to [bus 06-0c]
>    pci 0000:05:00.0:   bridge window [mem 0xf4300000-0xf43fffff]
>    pci 0000:06:00.0: [1102:0009] type 00 class 0x040300
>    pci 0000:06:00.0: reg 0x10: [mem 0xf4300000-0xf4303fff]
>    pciehp 0000:00:1c.3:pcie04: Slot #3 AttnBtn- AttnInd- PwrInd-
> PwrCtrl- MRL- Interlock- NoCompl- LLActRep+
>
> The kernel didn't change anything on the device, but the driver complained:
>
>    snd_hda_intel 0000:06:00.0: Codec #1 probe error; disabling it...
>    snd_hda_intel 0000:06:00.0: no AFG or MFG node found
>    snd_hda_intel 0000:06:00.0: no codecs initialized
>
> I assume the device is not working at this point.  (Correct me if I'm
> wrong.)  Some time later, at timestamp 2620, it looks like you
> unplugged and replugged the ExpressCard.  We reconfigured the bridge
> and device like this:
>
>    pci 0000:05:00.0: PCI bridge to [bus 06]
>    pci 0000:05:00.0:   bridge window [io  0x2000-0x2fff]
>    pci 0000:05:00.0:   bridge window [mem 0xf4300000-0xf43fffff]
>    pci 0000:05:00.0:   bridge window [mem 0xf4000000-0xf40fffff 64bit pref]
>    pci 0000:06:00.0: BAR 0: assigned [mem 0xf4300000-0xf4303fff]
>
> This is slightly different than what we had initially:
>
>    - 05:00.0 bridge bus aperture is [bus 06] instead of [bus 06-0c]
>    - 05:00.0 bridge io aperture is enabled instead of disabled
>    - 05:00.0 bridge mem pref aperture is enabled instead of disabled
>
> But none of these is a problem and the audio device itself at 06:00.0
> is programmed identically to what we had initially.  And it looks like
> the driver complains exactly the same way it did at boot-time.  So I
> don't think this is related to hotplug.
>
> Can you use a program like this:
> http://cmp.felk.cvut.cz/~pisa/linux/rdwrmem.c to read some of the
> device registers, e.g., the ones mapped by BAR 0 at 0xf4300000?  I
> don't know what the register layout is, but if you get all 0xff
> responses, that might indicate that the device isn't responding,
> either because we haven't enabled it correctly or we haven't routed
> that space correctly, or ....  If you get any data that is NOT all
> ones, that means the device is responding.

I just compiled this but I'm a bit unfamiliar, sorry :( It is giving me 
"mmap error". Is this the what you are looking for?

./mem -N -m -s 0xf4000000
./mem: request seek to 4093640704, but -201326592 returned
F4000000:FF

>
> Could you also collect the output of "lspci -vvs00:1c.3"

00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express 
Port 4 (rev 03) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Bus: primary=00, secondary=05, subordinate=0c, sec-latency=0
	I/O behind bridge: 00002000-00002fff
	Memory behind bridge: f4300000-f7efffff
	Prefetchable memory behind bridge: 00000000f4000000-00000000f40fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag- RBE+
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
		LnkCap:	Port #4, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency 
L0s <256ns, L1 <4us
			ClockPM- Surprise- LLActRep+ BwNot-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ 
BWMgmt- ABWMgmt-
		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+
			Slot #3, PowerLimit 6.500W; Interlock- NoCompl-
		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet+ CmdCplt+ HPIrq+ LinkChg+
			Control: AttnInd Unknown, PwrInd Unknown, 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-
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0300c  Data: 4122
	Capabilities: [90] Subsystem: Lenovo Device 20f3
	Capabilities: [a0] 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: [100 v1] Virtual Channel
		Caps:	LPEVC=0 RefClk=100ns PATEntryBits=1
		Arb:	Fixed+ WRR32- WRR64- WRR128-
		Ctrl:	ArbSelect=Fixed
		Status:	InProgress-
		VC0:	Caps:	PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
			Arb:	Fixed+ WRR32- WRR64- WRR128- TWRR128- WRR256-
			Ctrl:	Enable+ ID=0 ArbSelect=Fixed TC/VC=01
			Status:	NegoPending- InProgress-
	Capabilities: [180 v1] Root Complex Link
		Desc:	PortNumber=04 ComponentID=02 EltType=Config
		Link0:	Desc:	TargetPort=00 TargetComponent=02 AssocRCRB- 
LinkType=MemMapped LinkValid+
			Addr:	00000000fed1c000
	Kernel driver in use: pcieport


> lspci -vvs05:000"

05:00.0 PCI bridge: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG PCI 
to PCIe Bridge (prog-if 00 [Normal decode])
	Physical Slot: 3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- 
Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Bus: primary=05, secondary=06, subordinate=0c, sec-latency=36
	Memory behind bridge: f4300000-f43fffff
	Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [50] 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=0 PME-
		Bridge: PM- B3+
	Capabilities: [60] MSI: Enable- Count=1/16 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [80] Subsystem: Creative Labs Device 0040
	Capabilities: [90] Express (v1) PCI-Express to PCI/PCI-X Bridge, MSI 00
		DevCap:	MaxPayload 512 bytes, PhantFunc 0
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ BrConfRtry-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency 
L0s <512ns, L1 <16us
			ClockPM- Surprise- LLActRep- BwNot-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- 
BWMgmt- ABWMgmt-
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- 
MalfTLP- ECRC- UnsupReq+ ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- 
MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ 
MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		AERCap:	First Error Pointer: 14, GenCap+ CGenEn- ChkCap+ ChkEn-



>and "lspci -vvs06:00.0"?

06:00.0 Audio device: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG
	Subsystem: Creative Labs SB1040
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B+ DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32 (500ns min, 5000ns max)
	Interrupt: pin A routed to IRQ 19
	Region 0: Memory at f4300000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [dc] 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=0 PME-
	Kernel driver in use: snd_hda_intel


> Bjorn
>

  parent reply	other threads:[~2015-02-26  8:23 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1703881568.13072732.1424911985807.JavaMail.zimbra@comcast.net>
2015-02-26  1:12 ` PCI Issues with ExpressCard/54 Audio Device Alnie
2015-02-26  6:55   ` Bjorn Helgaas
2015-02-26  8:20     ` Takashi Iwai
2015-02-26 17:48       ` Bjorn Helgaas
2015-02-26  8:22     ` Alnie [this message]
2015-02-26 17:46       ` Bjorn Helgaas
2015-02-26 19:32         ` Alnie
2015-02-26 23:18           ` Bjorn Helgaas
2015-02-27  0:02             ` Alnie
2015-02-27  0:34               ` Bjorn Helgaas
2015-02-27  6:32                 ` Alnie
2015-03-02 23:45                   ` Alnie
2015-03-03  1:51                     ` Bjorn Helgaas
2015-03-03  2:08                       ` Alnie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54EED7D2.7000205@comcast.net \
    --to=memobook80@comcast.net \
    --cc=bhelgaas@google.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.