• T
    genirq/msi: Provide msi_desc:: Msi_data · efd42049
    Thomas Gleixner 提交于
    The upcoming support for PCI/IMS requires to store some information related
    to the message handling in the MSI descriptor, e.g. PASID or a pointer to a
    queue.
    
    Provide a generic storage struct which maps over the existing PCI specific
    storage which means the size of struct msi_desc is not getting bigger.
    
    This storage struct has two elements:
    
      1) msi_domain_cookie
      2) msi_instance_cookie
    
    The domain cookie is going to be used to store domain specific information,
    e.g. iobase pointer, data pointer.
    
    The instance cookie is going to be handed in when allocating an interrupt
    on an IMS domain so the irq chip callbacks of the IMS domain have the
    necessary per vector information available. It also comes in handy when
    cleaning up the platform MSI code for wire to MSI bridges which need to
    hand down the type information to the underlying interrupt domain.
    
    For the core code the cookies are opaque and meaningless. It just stores
    the instance cookie during an allocation through the upcoming interfaces
    for IMS and wire to MSI brigdes.
    Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
    Reviewed-by: NKevin Tian <kevin.tian@intel.com>
    Acked-by: NMarc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20221124232326.385036043@linutronix.de
    efd42049
msi.h 21.6 KB