[+cc Takashi] On Wed, Feb 25, 2015 at 5:12 PM, Alnie <memobook80@xxxxxxxxxxx> 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. 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. Could you also collect the output of "lspci -vvs00:1c.3", "lspci -vvs05:000" and "lspci -vvs06:00.0"? Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html