On Wed, Jan 22, 2020 at 3:48 AM Sai Prakash Ranjan <saiprakash.ranjan@xxxxxxxxxxxxxx> wrote: > > From: Jordan Crouse <jcrouse@xxxxxxxxxxxxxx> > > Some client devices want to directly map the IOMMU themselves instead > of using the DMA domain. Allow those devices to opt in to direct > mapping by way of a list of compatible strings. > > Signed-off-by: Jordan Crouse <jcrouse@xxxxxxxxxxxxxx> > Co-developed-by: Sai Prakash Ranjan <saiprakash.ranjan@xxxxxxxxxxxxxx> > Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@xxxxxxxxxxxxxx> > --- > drivers/iommu/arm-smmu-qcom.c | 39 +++++++++++++++++++++++++++++++++++ > drivers/iommu/arm-smmu.c | 3 +++ > drivers/iommu/arm-smmu.h | 5 +++++ > 3 files changed, 47 insertions(+) > > diff --git a/drivers/iommu/arm-smmu-qcom.c b/drivers/iommu/arm-smmu-qcom.c > index 64a4ab270ab7..ff746acd1c81 100644 > --- a/drivers/iommu/arm-smmu-qcom.c > +++ b/drivers/iommu/arm-smmu-qcom.c > @@ -3,6 +3,7 @@ > * Copyright (c) 2019, The Linux Foundation. All rights reserved. > */ > > +#include <linux/of_device.h> > #include <linux/qcom_scm.h> > > #include "arm-smmu.h" > @@ -11,6 +12,43 @@ struct qcom_smmu { > struct arm_smmu_device smmu; > }; > > +static const struct arm_smmu_client_match_data qcom_adreno = { > + .direct_mapping = true, > +}; > + > +static const struct arm_smmu_client_match_data qcom_mdss = { > + .direct_mapping = true, I don't actually see direct_mapping being used. Shouldn't this member be checked somewhere? -Evan