Message ID | 1504167642-14922-3-git-send-email-xieyisheng1@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 31/08/17 09:20, Yisheng Xie wrote: > From: Jean-Philippe Brucker <jean-philippe.brucker@arm.com> > > Add stall and pasid properties to iommu_fwspec. > > Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com> No. This is a draft, I didn't sign it off. Thanks, Jean
diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c index 84fa6b4..b926276 100644 --- a/drivers/iommu/of_iommu.c +++ b/drivers/iommu/of_iommu.c @@ -209,6 +209,16 @@ static bool of_pci_rc_supports_ats(struct device_node *rc_node) break; } + if (dev->iommu_fwspec) { + const __be32 *prop; + + if (of_get_property(np, "dma-can-stall", NULL)) + dev->iommu_fwspec->can_stall = true; + + prop = of_get_property(np, "pasid-bits", NULL); + if (prop) + dev->iommu_fwspec->num_pasid_bits = be32_to_cpu(*prop); + } + return ops; } diff --git a/include/linux/iommu.h b/include/linux/iommu.h index 1c5a216..5f580de 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -387,6 +387,8 @@ struct iommu_fwspec { void *iommu_priv; u32 flags; unsigned int num_ids; + unsigned long num_pasid_bits; + bool can_stall; u32 ids[1]; };