On Thu, Aug 17, 2017 at 03:49:37PM +0800, Hanjun Guo wrote: [...] > > /** > > * iort_get_platform_device_domain() - Find MSI domain related to a > > * platform device > >@@ -1159,6 +1207,8 @@ static int __init iort_add_smmu_platform_device(struct acpi_iort_node *node) > > /* Configure DMA for the page table walker */ > > acpi_dma_configure(&pdev->dev, attr); > >+ iort_set_device_domain(&pdev->dev, node); > > This is fine to me, but I think we still need to retrieve > the output ID as the request id for ITS, which means we > need to do that in iort_pmsi_get_dev_id(), right? Yes, probably we can add code there like: ret = iort_get_id_mapping_index(&index); if (!ret) iort_node_get_id(node, &id, index); ... This requires updating iort_node_get_id() to allow single mappings for SMMU/PMCG as you flagged up before. I will think a bit more to see if there is a cleaner way to reshuffle the mapping API. Thanks, Lorenzo -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html