[RFC PATCH 4/4] ACPI: IORT: Add SMMUv3 MSI support

Lorenzo Pieralisi lorenzo.pieralisi at arm.com
Thu Aug 17 06:01:39 PDT 2017


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



More information about the linux-arm-kernel mailing list