lkml.org 
[lkml]   [2022]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[patch V3 27/33] genirq/msi: Provide constants for PCI/IMS support
    Date
    Provide the necessary constants for PCI/IMS support:

    - A new bus token for MSI irqdomain identification
    - A MSI feature flag for the MSI irqdomains to signal support
    - A secondary domain id

    The latter expands the device internal domain pointer storage array from 1
    to 2 entries. That extra pointer is mostly unused today, but the
    alternative solutions would not be free either and would introduce more
    complexity all over the place. Trade the 8bytes for simplicity.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    ---
    include/linux/irqdomain_defs.h | 1 +
    include/linux/msi.h | 2 ++
    include/linux/msi_api.h | 1 +
    3 files changed, 4 insertions(+)

    --- a/include/linux/irqdomain_defs.h
    +++ b/include/linux/irqdomain_defs.h
    @@ -25,6 +25,7 @@ enum irq_domain_bus_token {
    DOMAIN_BUS_PCI_DEVICE_MSIX,
    DOMAIN_BUS_DMAR,
    DOMAIN_BUS_AMDVI,
    + DOMAIN_BUS_PCI_DEVICE_IMS,
    };

    #endif /* _LINUX_IRQDOMAIN_DEFS_H */
    --- a/include/linux/msi.h
    +++ b/include/linux/msi.h
    @@ -559,6 +559,8 @@ enum {
    MSI_FLAG_MSIX_CONTIGUOUS = (1 << 19),
    /* PCI/MSI-X vectors can be dynamically allocated/freed post MSI-X enable */
    MSI_FLAG_PCI_MSIX_ALLOC_DYN = (1 << 20),
    + /* Support for PCI/IMS */
    + MSI_FLAG_PCI_IMS = (1 << 21),
    };

    /**
    --- a/include/linux/msi_api.h
    +++ b/include/linux/msi_api.h
    @@ -15,6 +15,7 @@ struct device;
    */
    enum msi_domain_ids {
    MSI_DEFAULT_DOMAIN,
    + MSI_SECONDARY_DOMAIN,
    MSI_MAX_DEVICE_IRQDOMAINS,
    };

    \
     
     \ /
      Last update: 2022-11-25 00:32    [W:3.435 / U:0.284 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site