• Julien Grall's avatar
    genirq/msi: Add a new field in msi_desc to store an IOMMU cookie · aaebdf8d
    Julien Grall authored
    When an MSI doorbell is located downstream of an IOMMU, it is required
    to swizzle the physical address with an appropriately-mapped IOVA for any
    device attached to one of our DMA ops domain.
    
    At the moment, the allocation of the mapping may be done when composing
    the message. However, the composing may be done in non-preemtible
    context while the allocation requires to be called from preemptible
    context.
    
    A follow-up change will split the current logic in two functions
    requiring to keep an IOMMU cookie per MSI.
    
    A new field is introduced in msi_desc to store an IOMMU cookie. As the
    cookie may not be required in some configuration, the field is protected
    under a new config CONFIG_IRQ_MSI_IOMMU.
    
    A pair of helpers has also been introduced to access the field.
    Signed-off-by: default avatarJulien Grall <julien.grall@arm.com>
    Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
    Reviewed-by: default avatarEric Auger <eric.auger@redhat.com>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    aaebdf8d
Kconfig 3.06 KB