Re: PCI reset problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 03, 2013 at 12:38:06PM -0700, Yinghai Lu wrote:
> On Tue, Sep 3, 2013 at 2:55 AM, Johannes Thumshirn
> <johannes.thumshirn@xxxxxx> wrote:
> >
> > As far as I can see with my layman's eyes is, it finds the subordinate busses
> > 1-5 behind the bridge but then somehow looses them again in the enumeration
> > phase.
>
> fsl-pci fe200000.pcie: PCI host bridge to bus 0000:00
> pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> pci_bus 0000:00: root bus resource [mem 0x80000000-0x9fffffff]
> pci_bus 0000:00: root bus resource [bus 00-ff]
> pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to ff
> pci_bus 0000:00: scanning bus
> pci 0000:00:00.0: [1957:0401] type 01 class 0x0b2000
> pci 0000:00:00.0: ignoring class 0x0b2000 (doesn't match header type 01)
> pci 0000:00:00.0: calling fixup_hide_host_resource_fsl+0x0/0x6c
> calling  fixup_hide_host_resource_fsl+
> 0x0/0x6c @ 1 for 0000:00:00.0
> pci fixup fixup_hide_host_resource_fsl+0x0/0x6c returned after 0 usecs
> for 0000:00:00.0
> pci 0000:00:00.0: calling pcibios_fixup_resources+0x0/0x128
> calling  pcibios_fixup_resources+0x0/0x128 @ 1 for 0000:00:00.0
> pci fixup pcibios_fixup_resources+0x0/0x128 returned after 0 usecs for
> 0000:00:00.0
> pci 0000:00:00.0: calling quirk_fsl_pcie_header+0x0/0x84
> calling  quirk_fsl_pcie_header+0x0/0x84 @ 1 for 0000:00:00.0
> pci fixup quirk_fsl_pcie_header+0x0/0x84 returned after 0 usecs for 0000:00:00.0
>
> ===> it overrides the class from 0b2000 to 060400
>
> pci 0000:00:00.0: supports D1 D2
> pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold
> pci 0000:00:00.0: PME# disabled
> pci 0000:00:00.0: scanning [bus 01-05] behind bridge, pass 0
> pci 0000:00:00.0: check if busn 01-05 is in busn_res: [bus 00-ff]
>
>
> pci_bus 0000:00: fixups for bus
> pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1
>
> ====>
>
> so you have PCI_REASSIGN_ALL_BUS set ...
>
> pci_bus 0000:01: busn_res: [bus 01-08] is updated under [bus 00-ff]
> pci_bus 0000:01: scanning bus
>
> ====> should have child devices probed here... but not happen...
>
> so your pcie switch will need more time to settle down?
>
> pci_bus 0000:01: fixups for bus
> pci 0000:00:00.0: PCI bridge to [bus 01-08]
> pci 0000:00:00.0:   bridge window [io  0x1000-0x1fff]
> pci 0000:00:00.0:   bridge window [mem 0x80000000-0x801fffff]
> pci_bus 0000:01: bus scan returning with max=01
> pci_bus 0000:01: busn_res: [bus 01-08] end is updated to 01
> pci_bus 0000:00: bus scan returning with max=01
> pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01

This is what I've thought as well, so I've put an msleep(5000) into
pci_scan_child_bus' loop. But this didn't improve the situation either. As I've
already said, I ran out of ideas with this problem.
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux