• David S. Miller's avatar
    [SPARC64] PCI: Use root list of pbm's instead of pci_controller_info's · 34768bc8
    David S. Miller authored
    The idea is to move more and more things into the pbm,
    with the eventual goal of eliminating the pci_controller_info
    entirely as there really isn't any need for it.
    
    This stage of the transformations requires some reworking of
    the PCI error interrupt handling.
    
    It might be tricky to get rid of the pci_controller_info parenting for
    a few reasons:
    
    1) When we get an uncorrectable or correctable error we want
       to interrogate the IOMMU and streaming cache of both
       PBMs for error status.  These errors come from the UPA
       front-end which is shared between the two PBM PCI bus
       segments.
    
       Historically speaking this is why I choose the datastructure
       hierarchy of pci_controller_info-->pci_pbm_info
    
    2) The probing does a portid/devhandle match to look for the
       'other' pbm, but this is entirely an artifact and can be
       eliminated trivially.
    
    What we could do to solve #1 is to have a "buddy" pointer from one pbm
    to another.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    34768bc8
pci.c 28.8 KB