[PATCH 0/1] PCI set flag PCI_SCAN_ALL_PCIE_DEVS for P.A. Semi boards

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

 



On 02 December 2017 at 00:27PM, Bjorn Helgaas wrote:
> On Fri, Dec 01, 2017 at 11:08:46PM +0100, Christian Zigotzky wrote:
>> On 30.11.2017 23:42, Bjorn Helgaas wrote:
>>>
>>> 00:11.0 claims to be a PCIe Root Port leading to [bus 05-06]. That
>>> means there's a Link (presumably this A-Link II Express thing), and the
>>> downstream end of the Link *should* be a PCIe Upstream Port on bus 05,
>>> but no such device is visible.  I suppose the SB600 does implement
>>> some sort of PCIe Port there, but keeps it invisible to software, and
>>> at the same time, contains an invisible bridge that connects the Link
>>> to all the conventional PCI devices on bus 05.
>>>
>>> When we scan bus 05, we do this:
>>>
>>>    pci_scan_child_bus_extend(bus=05)
>>>      for (devfn = 0; devfn < 0x100; devfn += 8)
>>>        pci_scan_slot(05, 00.0)
>>>          pci_scan_single_device
>>>            pci_scan_device(05, 00.0)           # fails; no 05:00.0
>>>        pci_scan_slot(05, 01.0)
>>>          only_one_child(bus=05)
>>>            parent = 00:11.0
>>>            pci_pcie_type(00:11.0) == ROOT_PORT # returns true
>>>
>>> Since only_one_child() sees that 00:11.0 is a Root Port, we give up
>>> before we even get to the PCI_SCAN_ALL_PCIE_DEVS test.
>>>
>>> I *think* something like the patch below should make this work if you
>>> use the "pci=pcie_scan_all" parameter.  We have some x86 DMI quirks
>>> that set PCI_SCAN_ALL_PCIE_DEVS automatically.  I don't know how to do
>>> something similar on powerpc, but maybe you do?
>>>
>>
>> Hi Bjorn,
>>
>> I tested your new patch today. It boots with the boot argument
>> "pci=pcie_scan_all". Well done! :-)
>>
>> It doesn't boot without the boot argument "pci=pcie_scan_all".
>
> Thanks for testing that.  I'll merge a similar patch for v4.16.
>
> I don't think using "pci=pcie_scan_all" is really an acceptable
> long-term answer for you, though.  Is there some way we can identify
> at run-time whether we're on a Nemo system?  If so, we can make this
> happen automatically.
>
> Bjorn
>

Hi Bjorn,
Hi All,

Olof Johansson has created a patch for us. With this patch, "pci=pcie_scan_all" executes automatically on P.A. Semi boards. We don't need to add 'pci=pcie_scan_all' to the kernel boot arguments anymore. Could you please add Olof's patch to the official kernel source code?

arch/powerpc/platforms/pasemi/pci.c | 2 ++
 1 file changed, 2 insertions(+)

Thanks,
Christian



[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