Skip to content
  • Tomasz Nowicki's avatar
    ACPI: Add new IORT functions to support MSI domain handling · 4bf2efd2
    Tomasz Nowicki authored
    
    
    For ITS, MSI functionality consists on building domain stack and
    during that process we need to reference to domain stack components
    e.g. before we create new DOMAIN_BUS_PCI_MSI domain we need to specify
    its DOMAIN_BUS_NEXUS parent domain. In order to manage that process
    properly, maintain list which elements contain domain token
    (unique for MSI domain stack) and ITS ID: iort_register_domain_token()
    and iort_deregister_domain_token(). Then retrieve domain token
    any time later with ITS ID being key off: iort_find_domain_token().
    With domain token and domain type we are able to find corresponding
    IRQ domain.
    
    Since IORT is prepared to describe MSI domain on a per-device basis,
    use existing IORT helpers and implement two calls:
    1. iort_msi_map_rid() to map MSI RID for a device
    2. iort_get_device_domain() to find domain token for a device
    
    Signed-off-by: default avatarTomasz Nowicki <tn@semihalf.com>
    Acked-by: default avatarRafael J. Wysocki <rjw@rjwysocki.net>
    Reviewed-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    4bf2efd2