• Thomas Petazzoni's avatar
    arch/sh: pcie-sh7786: mark unavailable PCI resource as disabled · 7dd7f698
    Thomas Petazzoni authored
    Some PCI MEM resources are marked as IORESOURCE_MEM_32BIT, which means
    they are only usable when the SH core runs in 32-bit mode. In 29-bit
    mode, such memory regions are not usable.
    
    The existing code for SH7786 properly skips such regions when
    configuring the PCIe controller registers. However, because such
    regions are still described in the resource array, the
    pcibios_scanbus() function in the SuperH pci.c will register them to
    the PCI core. Due to this, the PCI core will allocate MEM areas from
    this resource, and assign BARs pointing to this area, even though it's
    unusable.
    
    In order to prevent this from happening, we mark such regions as
    IORESOURCE_DISABLED, which tells the SuperH pci.c pcibios_scanbus()
    function to skip them.
    
    Note that we separate marking the region as disabled from skipping it,
    because other regions will be marked as disabled in follow-up patches.
    Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Signed-off-by: default avatarRich Felker <dalias@libc.org>
    7dd7f698
pcie-sh7786.c 14 KB