On 08/02/2022 11:21, Yicong Yang wrote:
This patch should be earlier in the series, before the PTT driver, and the comment on hisi_ptt_check_iommu_mapping() should mention what is going on here.
ok I'll reorder the serives and modify the comments of hisi_ptt_check_iommu_mapping() like:
/*
* The DMA of PTT trace can only use direct mapping, due to some
* hardware restriction. Check whether there is an iommu or the
* policy of the iommu domain is passthrough, otherwise the trace
* cannot work.
IOMMU, capitalize acronyms
*
* The PTT device is supposed to behind the arm smmu v3, which
* should have passthrough the device by a quirk. Otherwise user
* should manually set the iommu domain type to identity through
* sysfs.
Sorry, but I don't really understand your meaning here.
I did not think that if we have a default domain then we can change via
sysfs to anything else.
*/
Signed-off-by: Yicong Yang<yangyicong@xxxxxxxxxxxxx>
---
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
index 6dc6d8b6b368..6f67a2b1dd27 100644
--- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
+++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
@@ -2838,6 +2838,21 @@ static int arm_smmu_dev_disable_feature(struct device *dev,
}
}
+#define IS_HISI_PTT_DEVICE(pdev) ((pdev)->vendor == PCI_VENDOR_ID_HUAWEI && \
+ (pdev)->device == 0xa12e)
I assume that not all revisions will require this check, right?
So if you are very confident that the next revision will be fixed then I
would add a check for this current broken revision.
For current revisions it's necessary.