• Paul Mundt's avatar
    sh: pci: Support root complex config accesses on SH7786 PCIe. · 2c65d75e
    Paul Mundt authored
    The SH7786 PCIe is presently unable to enumerate itself in root complex
    mode, and has no visibility through either type 0 or type 1 accesses,
    despite having a mostly sensible extended config space for each port.
    Attempts to generate type 0 or type 1 config cycles result in completer
    aborts, so we're ultimately forced to use SuperHyway transactions
    instead.
    
    As each port has a single port <-> device mapping that resolves for any
    PCI_SLOT definition, we simply hijack devfn 0 for the SuperHyway
    transaction and bump up the devfn limit.
    
    With enumeration of the root complex now possible, we also need to insert
    an early fixup to hide the BARs from the kernel. With all of that done,
    it's now possible to use the pcieport services with all of the PCIe
    ports, which is the first step to power management support.
    Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
    2c65d75e
pcie-sh7786.c 11.7 KB