All of lore.kernel.org
 help / color / mirror / Atom feed
* PCI Issues with ExpressCard/54 Audio Device
       [not found] <1703881568.13072732.1424911985807.JavaMail.zimbra@comcast.net>
@ 2015-02-26  1:12 ` Alnie
  2015-02-26  6:55   ` Bjorn Helgaas
  0 siblings, 1 reply; 14+ messages in thread
From: Alnie @ 2015-02-26  1:12 UTC (permalink / raw)
  To: linux-pci

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....

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 :)

-Alnie

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  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  8:22     ` Alnie
  0 siblings, 2 replies; 14+ messages in thread
From: Bjorn Helgaas @ 2015-02-26  6:55 UTC (permalink / raw)
  To: Alnie; +Cc: linux-pci, Takashi Iwai

[+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.

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

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  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
  1 sibling, 1 reply; 14+ messages in thread
From: Takashi Iwai @ 2015-02-26  8:20 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Alnie, linux-pci

At Wed, 25 Feb 2015 22:55:15 -0800,
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.
> 
> 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"?

FYI, during the previous debug sessions, we found that the sound
driver gets only 0xff for mapped register accesses, so I suggested to
report to PCI devs.  IIRC, the non-hotplug board with this chip worked
in the past.


thanks,

Takashi

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-02-26  6:55   ` Bjorn Helgaas
  2015-02-26  8:20     ` Takashi Iwai
@ 2015-02-26  8:22     ` Alnie
  2015-02-26 17:46       ` Bjorn Helgaas
  1 sibling, 1 reply; 14+ messages in thread
From: Alnie @ 2015-02-26  8:22 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: linux-pci, Takashi Iwai

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
>

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-02-26  8:22     ` Alnie
@ 2015-02-26 17:46       ` Bjorn Helgaas
  2015-02-26 19:32         ` Alnie
  0 siblings, 1 reply; 14+ messages in thread
From: Bjorn Helgaas @ 2015-02-26 17:46 UTC (permalink / raw)
  To: Alnie; +Cc: linux-pci, Takashi Iwai

On Thu, Feb 26, 2015 at 12:22:42AM -0800, Alnie wrote:

> 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

4093640704 (unsigned) = 0xf4000000, -201326592 (signed) = 0xf4000000,
so this might be OK.

> F4000000:FF

That's the sort of thing I was looking for, but the mmap error concerns me,
so I'm not confident that this tells us anything.  Also, we should look at
more of the space to make sure that we get 0xff when reading *anything* on
the device.

> 05:00.0 PCI bridge: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG
> PCI to PCIe Bridge (prog-if 00 [Normal decode])

Interesting.  The description looks backwards -- this is a PCIe to PCI
bridge, not the other way around.  I posted a fix for that at
https://pci-ids.ucw.cz/read/PC/1102/7006?action=list

> 	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-

This looks suspicious: the bridge logged an Unsupported Request error.
Let's see if we can figure out if this error is left there by BIOS or if
the PCI core or the driver or rdwrmem is doing something that causes it.

Can you try this:

  - Boot without the snd_hda_intel driver at all
  - Collect "lspci -vvs05:00.0" output
  - Load snd_hda_intel
  - Collect "lspci -vvs05:00.0" output
  - Poke around with rdwr
  - Collect "lspci -vvs05:00.0" output

> 		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-

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-02-26  8:20     ` Takashi Iwai
@ 2015-02-26 17:48       ` Bjorn Helgaas
  0 siblings, 0 replies; 14+ messages in thread
From: Bjorn Helgaas @ 2015-02-26 17:48 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Alnie, linux-pci

On Thu, Feb 26, 2015 at 09:20:59AM +0100, Takashi Iwai wrote:

> FYI, during the previous debug sessions, we found that the sound
> driver gets only 0xff for mapped register accesses, so I suggested to
> report to PCI devs.  IIRC, the non-hotplug board with this chip worked
> in the past.

I skimmed the previous emails but I missed this part.  Did you add
instrumentation to the driver, or is it just obvious from the way the
driver behaves that we're getting 0xff?

Bjorn

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-02-26 17:46       ` Bjorn Helgaas
@ 2015-02-26 19:32         ` Alnie
  2015-02-26 23:18           ` Bjorn Helgaas
  0 siblings, 1 reply; 14+ messages in thread
From: Alnie @ 2015-02-26 19:32 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: linux-pci, Takashi Iwai

On 02/26/2015 09:46 AM, Bjorn Helgaas wrote:
> On Thu, Feb 26, 2015 at 12:22:42AM -0800, Alnie wrote:
>
>> 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
>
> 4093640704 (unsigned) = 0xf4000000, -201326592 (signed) = 0xf4000000,
> so this might be OK.
>
>> F4000000:FF
>
> That's the sort of thing I was looking for, but the mmap error concerns me,
> so I'm not confident that this tells us anything.  Also, we should look at
> more of the space to make sure that we get 0xff when reading *anything* on
> the device.
>
>> 05:00.0 PCI bridge: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG
>> PCI to PCIe Bridge (prog-if 00 [Normal decode])
>
> Interesting.  The description looks backwards -- this is a PCIe to PCI
> bridge, not the other way around.  I posted a fix for that at
> https://pci-ids.ucw.cz/read/PC/1102/7006?action=list
>
>> 	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-
>
> This looks suspicious: the bridge logged an Unsupported Request error.
> Let's see if we can figure out if this error is left there by BIOS or if
> the PCI core or the driver or rdwrmem is doing something that causes it.
>
> Can you try this:
>
>    - Boot without the snd_hda_intel driver at all
>    - Collect "lspci -vvs05:00.0" output

blacklist snd_hda_intel

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-



>    - Load snd_hda_intel
>    - Collect "lspci -vvs05:00.0" output

sudo modprobe snd-hda-intel

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-

(output looks identical)

>    - Poke around with rdwr

(I am unfamiliar with this & hex, was trying different things, please 
correct me in case)

# ./mem -N -m -s 0xf4300000
./mem: request seek to 4096786432, but -198180864 returned
F4300000:00
# ./mem -N -m -s f4300000
00000000:53
# ./mem -N -m -s f4310000
00000000:53
# ./mem -N -m -s 0xf4310000
./mem: request seek to 4096851968, but -198115328 returned
F4310000:FF




>    - Collect "lspci -vvs05:00.0" output
>
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-

(output looks identical again)

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-02-26 19:32         ` Alnie
@ 2015-02-26 23:18           ` Bjorn Helgaas
  2015-02-27  0:02             ` Alnie
  0 siblings, 1 reply; 14+ messages in thread
From: Bjorn Helgaas @ 2015-02-26 23:18 UTC (permalink / raw)
  To: Alnie; +Cc: linux-pci, Takashi Iwai

On Thu, Feb 26, 2015 at 11:32:31AM -0800, Alnie wrote:
> On 02/26/2015 09:46 AM, Bjorn Helgaas wrote:
> >On Thu, Feb 26, 2015 at 12:22:42AM -0800, Alnie wrote:

> >>	Capabilities: [100 v1] Advanced Error Reporting
> >>		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
> >>MalfTLP- ECRC- UnsupReq+ ACSViol-
> >
> >This looks suspicious: the bridge logged an Unsupported Request error.
> >Let's see if we can figure out if this error is left there by BIOS or if
> >the PCI core or the driver or rdwrmem is doing something that causes it.
> >
> >Can you try this:
> >
> >   - Boot without the snd_hda_intel driver at all
> >   - Collect "lspci -vvs05:00.0" output
> 
> blacklist snd_hda_intel
> 
> 05:00.0 PCI bridge: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG
> PCI to PCIe Bridge (prog-if 00 [Normal decode])
> ...
> 	Capabilities: [100 v1] Advanced Error Reporting
> 		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
> MalfTLP- ECRC- UnsupReq+ ACSViol-

All three of your lspci outputs are identical, so it looks like the BIOS
probably left UnsupReq set.  Maybe the kernel should log that and clear it
at boot.  I sort of doubt this is the problem, but we can try clearing
those errors manually:

  lspci -vvs05:00.0
  setpci -s05:00.0 0x9a.w=0x0a		# clear UncorrErr UnsuppReq
  setpci -s05:00.0 0x104.l=0x00100000	# clear AER UnsupReq
  lspci -vvs05:00.0
  modprobe snd-hda-intel

> >   - Poke around with rdwr
> 
> (I am unfamiliar with this & hex, was trying different things,
> please correct me in case)
> 
> # ./mem -N -m -s 0xf4300000
> ./mem: request seek to 4096786432, but -198180864 returned
> F4300000:00
> # ./mem -N -m -s f4300000
> 00000000:53
> # ./mem -N -m -s f4310000
> 00000000:53
> # ./mem -N -m -s 0xf4310000
> ./mem: request seek to 4096851968, but -198115328 returned
> F4310000:FF

The first and last ones are on the right track.  The program uses strtoul()
to convert the address.  That function assumes decimal unless there's a
"0x" prefix.  So "-s f4300000" converts to zero, and "-s 0xf4300000" does
what you want.

The device is at [mem 0xf4300000-0xf4303fff], so anything in that region
should respond.  Why don't you try this, which should dump the whole
region:

  ./mem -N -m -s 0xf4300000 -l 0x4000

But what's interesting already is that you found these:

  F4300000:00
  F4310000:FF

So we got 0x00 at 0xf4300000, which means the device did respond there.
If that path to the device works, all PCI accesses to it *should* work.

Bjorn

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-02-26 23:18           ` Bjorn Helgaas
@ 2015-02-27  0:02             ` Alnie
  2015-02-27  0:34               ` Bjorn Helgaas
  0 siblings, 1 reply; 14+ messages in thread
From: Alnie @ 2015-02-27  0:02 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: linux-pci, Takashi Iwai



On 02/26/2015 03:18 PM, Bjorn Helgaas wrote:
> On Thu, Feb 26, 2015 at 11:32:31AM -0800, Alnie wrote:
>> On 02/26/2015 09:46 AM, Bjorn Helgaas wrote:
>>> On Thu, Feb 26, 2015 at 12:22:42AM -0800, Alnie wrote:
>
>>>> 	Capabilities: [100 v1] Advanced Error Reporting
>>>> 		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
>>>> MalfTLP- ECRC- UnsupReq+ ACSViol-
>>>
>>> This looks suspicious: the bridge logged an Unsupported Request error.
>>> Let's see if we can figure out if this error is left there by BIOS or if
>>> the PCI core or the driver or rdwrmem is doing something that causes it.
>>>
>>> Can you try this:
>>>
>>>    - Boot without the snd_hda_intel driver at all
>>>    - Collect "lspci -vvs05:00.0" output
>>
>> blacklist snd_hda_intel
>>
>> 05:00.0 PCI bridge: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG
>> PCI to PCIe Bridge (prog-if 00 [Normal decode])
>> ...
>> 	Capabilities: [100 v1] Advanced Error Reporting
>> 		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
>> MalfTLP- ECRC- UnsupReq+ ACSViol-
>
> All three of your lspci outputs are identical, so it looks like the BIOS
> probably left UnsupReq set.  Maybe the kernel should log that and clear it
> at boot.  I sort of doubt this is the problem, but we can try clearing
> those errors manually:
>
>    lspci -vvs05:00.0

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-


>    setpci -s05:00.0 0x9a.w=0x0a		# clear UncorrErr UnsuppReq
>    setpci -s05:00.0 0x104.l=0x00100000	# clear AER UnsupReq
>    lspci -vvs05:00.0

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-

>    modprobe snd-hda-intel
>

Same complaint comes up (no codecs found)

>>>    - Poke around with rdwr
>>
>> (I am unfamiliar with this & hex, was trying different things,
>> please correct me in case)
>>
>> # ./mem -N -m -s 0xf4300000
>> ./mem: request seek to 4096786432, but -198180864 returned
>> F4300000:00
>> # ./mem -N -m -s f4300000
>> 00000000:53
>> # ./mem -N -m -s f4310000
>> 00000000:53
>> # ./mem -N -m -s 0xf4310000
>> ./mem: request seek to 4096851968, but -198115328 returned
>> F4310000:FF
>
> The first and last ones are on the right track.  The program uses strtoul()
> to convert the address.  That function assumes decimal unless there's a
> "0x" prefix.  So "-s f4300000" converts to zero, and "-s 0xf4300000" does
> what you want.
>
> The device is at [mem 0xf4300000-0xf4303fff], so anything in that region
> should respond.  Why don't you try this, which should dump the whole
> region:
>
>    ./mem -N -m -s 0xf4300000 -l 0x4000
>

http://pastebin.com/eHEsZNmU

> But what's interesting already is that you found these:
>
>    F4300000:00
>    F4310000:FF
>
> So we got 0x00 at 0xf4300000, which means the device did respond there.
> If that path to the device works, all PCI accesses to it *should* work.
>
> Bjorn
>

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-02-27  0:02             ` Alnie
@ 2015-02-27  0:34               ` Bjorn Helgaas
  2015-02-27  6:32                 ` Alnie
  0 siblings, 1 reply; 14+ messages in thread
From: Bjorn Helgaas @ 2015-02-27  0:34 UTC (permalink / raw)
  To: Alnie; +Cc: linux-pci, Takashi Iwai

On Thu, Feb 26, 2015 at 04:02:08PM -0800, Alnie wrote:
> 
> 
> On 02/26/2015 03:18 PM, Bjorn Helgaas wrote:
> >On Thu, Feb 26, 2015 at 11:32:31AM -0800, Alnie wrote:
> >>On 02/26/2015 09:46 AM, Bjorn Helgaas wrote:
> >>>On Thu, Feb 26, 2015 at 12:22:42AM -0800, Alnie wrote:
> >
> >>>>	Capabilities: [100 v1] Advanced Error Reporting
> >>>>		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
> >>>>MalfTLP- ECRC- UnsupReq+ ACSViol-
> >>>
> >>>This looks suspicious: the bridge logged an Unsupported Request error.
> >>>Let's see if we can figure out if this error is left there by BIOS or if
> >>>the PCI core or the driver or rdwrmem is doing something that causes it.
> >>>
> >>>Can you try this:
> >>>
> >>>   - Boot without the snd_hda_intel driver at all
> >>>   - Collect "lspci -vvs05:00.0" output
> >>
> >>blacklist snd_hda_intel
> >>
> >>05:00.0 PCI bridge: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG
> >>PCI to PCIe Bridge (prog-if 00 [Normal decode])
> >>...
> >>	Capabilities: [100 v1] Advanced Error Reporting
> >>		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
> >>MalfTLP- ECRC- UnsupReq+ ACSViol-
> >
> >All three of your lspci outputs are identical, so it looks like the BIOS
> >probably left UnsupReq set.  Maybe the kernel should log that and clear it
> >at boot.  I sort of doubt this is the problem, but we can try clearing
> >those errors manually:
> >
> >   lspci -vvs05:00.0
> 
> 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-
> 
> 
> >   setpci -s05:00.0 0x9a.w=0x0a		# clear UncorrErr UnsuppReq
> >   setpci -s05:00.0 0x104.l=0x00100000	# clear AER UnsupReq
> >   lspci -vvs05:00.0
> 
> 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-
> 
> >   modprobe snd-hda-intel
> >
> 
> Same complaint comes up (no codecs found)

So it looks like the Unsupported Request error is unrelated to the problem
you're seeing.  Probably left over from something the BIOS did when it
enumerated devices.

You could look at "lspci -vv" again after clearing the errors and loading
the driver.  But I think it will be the same as it was after you manually
cleared the errors.

Oh, one more idea: *before* clearing the errors, can you collect
"lspci -xxxxs05:00.0" output?  That will give us more AER log registers,
and it's possible there's a clue there.  It's conceivable that we have
an MPS issue that causes the Unsupported Request error.

Just to be exhaustive, can you also stash the "lspci -vvv" output for the
entire system somewhere (again, before clearing the error).

> >The device is at [mem 0xf4300000-0xf4303fff], so anything in that region
> >should respond.  Why don't you try this, which should dump the whole
> >region:
> >
> >   ./mem -N -m -s 0xf4300000 -l 0x4000
> >
> 
> http://pastebin.com/eHEsZNmU

The data there looks fine, at least from a PCI perspective:

  F4300000:00 33 00 01 3C 00 1D 00 01 00 00 00 00 00 00 00
  F4300010:00 00 00 00 00 00 00 00 3C 00 1D 00 00 00 00 00
  F4300020:00 00 00 C0 00 00 00 00 00 00 00 00 00 00 00 00
  F4300030:0F FA 24 A8 00 00 00 00 00 00 00 00 00 00 00 00
  ...

That means the device itself seems happy and is responding to read
requests.

The only thing left I can think of to do is to instrument the driver and
see where it gets data that it doesn't expect.  So I'm going to punt this
back to you, Takashi :)  Don't hesitate to send it back to me if you find
something that looks like a PCI problem, but I don't see one yet.

Bjorn

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-02-27  0:34               ` Bjorn Helgaas
@ 2015-02-27  6:32                 ` Alnie
  2015-03-02 23:45                   ` Alnie
  0 siblings, 1 reply; 14+ messages in thread
From: Alnie @ 2015-02-27  6:32 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: linux-pci, Takashi Iwai

On 02/26/2015 04:34 PM, Bjorn Helgaas wrote:

>
> So it looks like the Unsupported Request error is unrelated to the problem
> you're seeing.  Probably left over from something the BIOS did when it
> enumerated devices.
>
> You could look at "lspci -vv" again after clearing the errors and loading
> the driver.  But I think it will be the same as it was after you manually
> cleared the errors.

(after clearing errors) http://pastebin.com/UxdgDyp1

>
> Oh, one more idea: *before* clearing the errors, can you collect
> "lspci -xxxxs05:00.0" output?  That will give us more AER log registers,
> and it's possible there's a clue there.  It's conceivable that we have
> an MPS issue that causes the Unsupported Request error.

(before clearing errors w/ card in @ boot) http://pastebin.com/wTeNjHHT
(before clearing errors w/ card out @ boot) http://pastebin.com/4Q82KNNc


>
> Just to be exhaustive, can you also stash the "lspci -vvv" output for the
> entire system somewhere (again, before clearing the error).
>
http://pastebin.com/K4iPhGcq

not sure if this is relevant but for debugging sake here is the output 
of the card when left out during boot (no UnsupReq error)...

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-
	Bus: primary=05, secondary=06, subordinate=06, sec-latency=0
	I/O behind bridge: 00002000-00002fff
	Memory behind bridge: f8000000-f80fffff
	Prefetchable memory behind bridge: 00000000f4000000-00000000f40fffff
	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: 00, GenCap+ CGenEn- ChkCap+ ChkEn-


>>> The device is at [mem 0xf4300000-0xf4303fff], so anything in that region
>>> should respond.  Why don't you try this, which should dump the whole
>>> region:
>>>
>>>    ./mem -N -m -s 0xf4300000 -l 0x4000
>>>
>>
>> http://pastebin.com/eHEsZNmU
>
> The data there looks fine, at least from a PCI perspective:
>
>    F4300000:00 33 00 01 3C 00 1D 00 01 00 00 00 00 00 00 00
>    F4300010:00 00 00 00 00 00 00 00 3C 00 1D 00 00 00 00 00
>    F4300020:00 00 00 C0 00 00 00 00 00 00 00 00 00 00 00 00
>    F4300030:0F FA 24 A8 00 00 00 00 00 00 00 00 00 00 00 00
>    ...
>
> That means the device itself seems happy and is responding to read
> requests.
>
> The only thing left I can think of to do is to instrument the driver and
> see where it gets data that it doesn't expect.  So I'm going to punt this
> back to you, Takashi :)  Don't hesitate to send it back to me if you find
> something that looks like a PCI problem, but I don't see one yet.
>
> Bjorn
>

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-02-27  6:32                 ` Alnie
@ 2015-03-02 23:45                   ` Alnie
  2015-03-03  1:51                     ` Bjorn Helgaas
  0 siblings, 1 reply; 14+ messages in thread
From: Alnie @ 2015-03-02 23:45 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: linux-pci, Takashi Iwai

On 02/26/2015 10:32 PM, Alnie wrote:
> On 02/26/2015 04:34 PM, Bjorn Helgaas wrote:
>
>>
>> So it looks like the Unsupported Request error is unrelated to the
>> problem
>> you're seeing.  Probably left over from something the BIOS did when it
>> enumerated devices.
>>
>> You could look at "lspci -vv" again after clearing the errors and loading
>> the driver.  But I think it will be the same as it was after you manually
>> cleared the errors.
>
> (after clearing errors) http://pastebin.com/UxdgDyp1
>
>>
>> Oh, one more idea: *before* clearing the errors, can you collect
>> "lspci -xxxxs05:00.0" output?  That will give us more AER log registers,
>> and it's possible there's a clue there.  It's conceivable that we have
>> an MPS issue that causes the Unsupported Request error.
>
> (before clearing errors w/ card in @ boot) http://pastebin.com/wTeNjHHT
> (before clearing errors w/ card out @ boot) http://pastebin.com/4Q82KNNc
>
>
>>
>> Just to be exhaustive, can you also stash the "lspci -vvv" output for the
>> entire system somewhere (again, before clearing the error).
>>
> http://pastebin.com/K4iPhGcq
>
> not sure if this is relevant but for debugging sake here is the output
> of the card when left out during boot (no UnsupReq error)...
>
> 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-
>      Bus: primary=05, secondary=06, subordinate=06, sec-latency=0
>      I/O behind bridge: 00002000-00002fff
>      Memory behind bridge: f8000000-f80fffff
>      Prefetchable memory behind bridge: 00000000f4000000-00000000f40fffff
>      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: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
>
>
>>>> The device is at [mem 0xf4300000-0xf4303fff], so anything in that
>>>> region
>>>> should respond.  Why don't you try this, which should dump the whole
>>>> region:
>>>>
>>>>    ./mem -N -m -s 0xf4300000 -l 0x4000
>>>>
>>>
>>> http://pastebin.com/eHEsZNmU
>>
>> The data there looks fine, at least from a PCI perspective:
>>
>>    F4300000:00 33 00 01 3C 00 1D 00 01 00 00 00 00 00 00 00
>>    F4300010:00 00 00 00 00 00 00 00 3C 00 1D 00 00 00 00 00
>>    F4300020:00 00 00 C0 00 00 00 00 00 00 00 00 00 00 00 00
>>    F4300030:0F FA 24 A8 00 00 00 00 00 00 00 00 00 00 00 00
>>    ...
>>
>> That means the device itself seems happy and is responding to read
>> requests.
>>
>> The only thing left I can think of to do is to instrument the driver and
>> see where it gets data that it doesn't expect.  So I'm going to punt this
>> back to you, Takashi :)  Don't hesitate to send it back to me if you find
>> something that looks like a PCI problem, but I don't see one yet.
>>
>> Bjorn
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Today I booted up into Win 7 and the card wasn't recognized. This is the 
first time I've noticed this. After re-inserting it, everything was 
fine, but I thought to take note. Maybe some of the issues coming up are 
unique to my hardware. Any new ideas? Is there hope for this? Should 
this conversation be moved elsewhere?

-Alnie

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-03-02 23:45                   ` Alnie
@ 2015-03-03  1:51                     ` Bjorn Helgaas
  2015-03-03  2:08                       ` Alnie
  0 siblings, 1 reply; 14+ messages in thread
From: Bjorn Helgaas @ 2015-03-03  1:51 UTC (permalink / raw)
  To: Alnie; +Cc: linux-pci, Takashi Iwai

On Mon, Mar 2, 2015 at 5:45 PM, Alnie <memobook80@comcast.net> wrote:
> On 02/26/2015 10:32 PM, Alnie wrote:
>>
>> On 02/26/2015 04:34 PM, Bjorn Helgaas wrote:
>>
>>>
>>> So it looks like the Unsupported Request error is unrelated to the
>>> problem
>>> you're seeing.  Probably left over from something the BIOS did when it
>>> enumerated devices.
>>>
>>> You could look at "lspci -vv" again after clearing the errors and loading
>>> the driver.  But I think it will be the same as it was after you manually
>>> cleared the errors.
>>
>>
>> (after clearing errors) http://pastebin.com/UxdgDyp1
>>
>>>
>>> Oh, one more idea: *before* clearing the errors, can you collect
>>> "lspci -xxxxs05:00.0" output?  That will give us more AER log registers,
>>> and it's possible there's a clue there.  It's conceivable that we have
>>> an MPS issue that causes the Unsupported Request error.
>>
>>
>> (before clearing errors w/ card in @ boot) http://pastebin.com/wTeNjHHT
>> (before clearing errors w/ card out @ boot) http://pastebin.com/4Q82KNNc
>>
>>
>>>
>>> Just to be exhaustive, can you also stash the "lspci -vvv" output for the
>>> entire system somewhere (again, before clearing the error).
>>>
>> http://pastebin.com/K4iPhGcq
>>
>> not sure if this is relevant but for debugging sake here is the output
>> of the card when left out during boot (no UnsupReq error)...
>>
>> 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-
>>      Bus: primary=05, secondary=06, subordinate=06, sec-latency=0
>>      I/O behind bridge: 00002000-00002fff
>>      Memory behind bridge: f8000000-f80fffff
>>      Prefetchable memory behind bridge: 00000000f4000000-00000000f40fffff
>>      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: 00, GenCap+ CGenEn- ChkCap+
>> ChkEn-
>>
>>
>>>>> The device is at [mem 0xf4300000-0xf4303fff], so anything in that
>>>>> region
>>>>> should respond.  Why don't you try this, which should dump the whole
>>>>> region:
>>>>>
>>>>>    ./mem -N -m -s 0xf4300000 -l 0x4000
>>>>>
>>>>
>>>> http://pastebin.com/eHEsZNmU
>>>
>>>
>>> The data there looks fine, at least from a PCI perspective:
>>>
>>>    F4300000:00 33 00 01 3C 00 1D 00 01 00 00 00 00 00 00 00
>>>    F4300010:00 00 00 00 00 00 00 00 3C 00 1D 00 00 00 00 00
>>>    F4300020:00 00 00 C0 00 00 00 00 00 00 00 00 00 00 00 00
>>>    F4300030:0F FA 24 A8 00 00 00 00 00 00 00 00 00 00 00 00
>>>    ...
>>>
>>> That means the device itself seems happy and is responding to read
>>> requests.
>>>
>>> The only thing left I can think of to do is to instrument the driver and
>>> see where it gets data that it doesn't expect.  So I'm going to punt this
>>> back to you, Takashi :)  Don't hesitate to send it back to me if you find
>>> something that looks like a PCI problem, but I don't see one yet.
>>>
>>> Bjorn
>
> Today I booted up into Win 7 and the card wasn't recognized. This is the
> first time I've noticed this. After re-inserting it, everything was fine,
> but I thought to take note. Maybe some of the issues coming up are unique to
> my hardware. Any new ideas? Is there hope for this? Should this conversation
> be moved elsewhere?

After you re-inserted the card, does it work after cold-booting Win 7?
 If so, maybe it's an intermittent problem with the slot connector.

If you have to remove and re-insert the card *every* time you boot Win
7, maybe there's a problem on the card, e.g., it doesn't come out of
reset fast enough.

I looked again at the Unsupported Request error that was logged, and I
really don't think it's related.  The header from the offending
transaction was logged, and it looked like a Config Read request.
It's normal for these reads to fail during enumeration.  From the PCIe
spec (r3.0, sec 2.3.2):

    Some system configuration software depends on reading a data value
    of all 1’s when a Configuration Read Request is terminated as an
    Unsupported Request, particularly when probing to determine the
    existence of a device in the system. A Root Complex intended for
    use with software that depends on a read-data value of all 1’s must
    synthesize this value when UR Completion Status is returned for
    a Configuration Read Request.

It is a bit strange that this error is only logged when the card is
present.  I suspect the error is always logged during enumeration, but
the BIOS may smart enough to clear it from the built-in bridges, but
not smart enough to clear it on the bridge that's on the ExpressCard.

In any event, I still don't see a PCI issue here.  I intended to open
a bugzilla and attach the information you've collected in case
somebody else can make sense out of it.  But I haven't had time yet.

Bjorn

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

* Re: PCI Issues with ExpressCard/54 Audio Device
  2015-03-03  1:51                     ` Bjorn Helgaas
@ 2015-03-03  2:08                       ` Alnie
  0 siblings, 0 replies; 14+ messages in thread
From: Alnie @ 2015-03-03  2:08 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: linux-pci, Takashi Iwai

On 03/02/2015 05:51 PM, Bjorn Helgaas wrote:
> On Mon, Mar 2, 2015 at 5:45 PM, Alnie <memobook80@comcast.net> wrote:
>> On 02/26/2015 10:32 PM, Alnie wrote:
>>>
>>> On 02/26/2015 04:34 PM, Bjorn Helgaas wrote:
>>>
>>>>
>>>> So it looks like the Unsupported Request error is unrelated to the
>>>> problem
>>>> you're seeing.  Probably left over from something the BIOS did when it
>>>> enumerated devices.
>>>>
>>>> You could look at "lspci -vv" again after clearing the errors and loading
>>>> the driver.  But I think it will be the same as it was after you manually
>>>> cleared the errors.
>>>
>>>
>>> (after clearing errors) http://pastebin.com/UxdgDyp1
>>>
>>>>
>>>> Oh, one more idea: *before* clearing the errors, can you collect
>>>> "lspci -xxxxs05:00.0" output?  That will give us more AER log registers,
>>>> and it's possible there's a clue there.  It's conceivable that we have
>>>> an MPS issue that causes the Unsupported Request error.
>>>
>>>
>>> (before clearing errors w/ card in @ boot) http://pastebin.com/wTeNjHHT
>>> (before clearing errors w/ card out @ boot) http://pastebin.com/4Q82KNNc
>>>
>>>
>>>>
>>>> Just to be exhaustive, can you also stash the "lspci -vvv" output for the
>>>> entire system somewhere (again, before clearing the error).
>>>>
>>> http://pastebin.com/K4iPhGcq
>>>
>>> not sure if this is relevant but for debugging sake here is the output
>>> of the card when left out during boot (no UnsupReq error)...
>>>
>>> 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-
>>>       Bus: primary=05, secondary=06, subordinate=06, sec-latency=0
>>>       I/O behind bridge: 00002000-00002fff
>>>       Memory behind bridge: f8000000-f80fffff
>>>       Prefetchable memory behind bridge: 00000000f4000000-00000000f40fffff
>>>       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: 00, GenCap+ CGenEn- ChkCap+
>>> ChkEn-
>>>
>>>
>>>>>> The device is at [mem 0xf4300000-0xf4303fff], so anything in that
>>>>>> region
>>>>>> should respond.  Why don't you try this, which should dump the whole
>>>>>> region:
>>>>>>
>>>>>>     ./mem -N -m -s 0xf4300000 -l 0x4000
>>>>>>
>>>>>
>>>>> http://pastebin.com/eHEsZNmU
>>>>
>>>>
>>>> The data there looks fine, at least from a PCI perspective:
>>>>
>>>>     F4300000:00 33 00 01 3C 00 1D 00 01 00 00 00 00 00 00 00
>>>>     F4300010:00 00 00 00 00 00 00 00 3C 00 1D 00 00 00 00 00
>>>>     F4300020:00 00 00 C0 00 00 00 00 00 00 00 00 00 00 00 00
>>>>     F4300030:0F FA 24 A8 00 00 00 00 00 00 00 00 00 00 00 00
>>>>     ...
>>>>
>>>> That means the device itself seems happy and is responding to read
>>>> requests.
>>>>
>>>> The only thing left I can think of to do is to instrument the driver and
>>>> see where it gets data that it doesn't expect.  So I'm going to punt this
>>>> back to you, Takashi :)  Don't hesitate to send it back to me if you find
>>>> something that looks like a PCI problem, but I don't see one yet.
>>>>
>>>> Bjorn
>>
>> Today I booted up into Win 7 and the card wasn't recognized. This is the
>> first time I've noticed this. After re-inserting it, everything was fine,
>> but I thought to take note. Maybe some of the issues coming up are unique to
>> my hardware. Any new ideas? Is there hope for this? Should this conversation
>> be moved elsewhere?
>
> After you re-inserted the card, does it work after cold-booting Win 7?
>   If so, maybe it's an intermittent problem with the slot connector.
>
> If you have to remove and re-insert the card *every* time you boot Win
> 7, maybe there's a problem on the card, e.g., it doesn't come out of
> reset fast enough.
>
> I looked again at the Unsupported Request error that was logged, and I
> really don't think it's related.  The header from the offending
> transaction was logged, and it looked like a Config Read request.
> It's normal for these reads to fail during enumeration.  From the PCIe
> spec (r3.0, sec 2.3.2):
>
>      Some system configuration software depends on reading a data value
>      of all 1’s when a Configuration Read Request is terminated as an
>      Unsupported Request, particularly when probing to determine the
>      existence of a device in the system. A Root Complex intended for
>      use with software that depends on a read-data value of all 1’s must
>      synthesize this value when UR Completion Status is returned for
>      a Configuration Read Request.
>
> It is a bit strange that this error is only logged when the card is
> present.  I suspect the error is always logged during enumeration, but
> the BIOS may smart enough to clear it from the built-in bridges, but
> not smart enough to clear it on the bridge that's on the ExpressCard.
>
> In any event, I still don't see a PCI issue here.  I intended to open
> a bugzilla and attach the information you've collected in case
> somebody else can make sense out of it.  But I haven't had time yet.
>
> Bjorn
>

Yes, it seems like just a intermittent problem with the slot connector 
Most of the time it works fine. Thank you very much for being so 
informative and taking the time to look into this :)

-Alnie

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

end of thread, other threads:[~2015-03-03  2:08 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [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
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

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.