lkml.org 
[lkml]   [2022]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH] powerpc/pci: Add config option for using OF 'reg' for PCI domain
    Date
    Pali Rohár <pali@kernel.org> writes:
    > Since commit 63a72284b159 ("powerpc/pci: Assign fixed PHB number based on
    > device-tree properties"), powerpc kernel always fallback to PCI domain
    > assignment from OF / Device Tree 'reg' property of the PCI controller.
    >
    > PCI code for other Linux architectures use increasing assignment of the PCI
    > domain for individual controllers (assign the first free number), like it
    > was also for powerpc prior mentioned commit.
    >
    > Upgrading powerpc kernels from LTS 4.4 version (which does not contain
    > mentioned commit) to new LTS versions brings a regression in domain
    > assignment.

    I'm sorry this broke your system. But I don't really consider it a
    regression, the kernel provides no guarantee about the PCI domain
    numbering across LTS releases.

    Prior to the change the numbering was just based on the order the PHBs
    were discovered in the device tree, which is not robust. A cosmetic
    refactor of the device tree source could cause PHBs to be discovered in
    a different order.

    Similarly a change in firmware PCI discovery or device tree generation
    could cause the numbering to change.

    If you have scripts that are looking for certain devices they can use
    the vendor/device fields in sysfs to find the actual devices they want,
    not just whatever happens to be at 0000:01:00.0.

    > Fix this issue by introducing a new option CONFIG_PPC_PCI_DOMAIN_FROM_OF_REG
    > When this options is disabled then powerpc kernel would assign PCI domains
    > in the similar way like it is doing kernel for other architectures and also
    > how it was done prior that commit.

    I really don't want a config option for that.

    There is a device tree property "linux,pci-domain", described in
    Documentation/devicetree/bindings/pci/pci.txt.

    Can you try adding that to your device tree and updating
    get_phb_number() to look for it?

    cheers

    \
     
     \ /
      Last update: 2022-06-10 09:35    [W:3.974 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site