• Michael Ellerman's avatar
    [POWERPC] RTAS MSI implementation · 85f2bf9f
    Michael Ellerman authored
    Implement MSI support via RTAS (RTAS = run-time firmware on pSeries
    machines).  For now we assumes that if the required RTAS tokens for
    MSI are present, then we want to use the RTAS MSI routines.
    
    When RTAS is managing MSIs for us, it will/may enable MSI on devices that
    support it by default. This is contrary to the Linux model where a device
    is in LSI mode until the driver requests MSIs.
    
    To remedy this we add a pci_irq_fixup call, which disables MSI if they've
    been assigned by firmware and the device also supports LSI. Devices that
    don't support LSI at all will be left as is, drivers are still expected
    to call pci_enable_msi() before using the device.
    
    At the moment there is no pci_irq_fixup on pSeries, so we can just set it
    unconditionally. If other platforms use the RTAS MSI backend they'll need
    to check that still holds.
    Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    85f2bf9f
msi.c 5.87 KB