Thanks Robin, This would be of great help. Regards, Nipun
> -----Original Message----- > From: Robin Murphy [mailto:[email protected]] > Sent: Thursday, March 02, 2017 22:18 > To: Nipun Gupta <[email protected]>; [email protected]; > [email protected]; [email protected] > Cc: [email protected]; [email protected]; [email protected]; > Bharat Bhushan <[email protected]> > Subject: Re: [RFC PATCH] iommu/arm-smmu: Add global SMR masking property > > On 02/03/17 04:18, Nipun Gupta wrote: > > > > Hi Robin/Will, > > > > This patch is currently not applied on the tree. > > I had verified the patch and it seems good. > > Is ack required on the patch or do I need to send a non RFC patch (with > > Robin's > signoff)? > > This is very much required to support SMMU on NXP platform. > > It's still sat in my "patches to do something with" queue - I don't > think we ever reached a concrete decision on the property name for a DT > maintainer ack, but I've tweaked the description per Will's comment; > thanks for the reminder. I'll send an rc1-based version out next week to > reboot the discussion. > > Robin. > > > > > Thanks, > > Nipun > > > > > >> -----Original Message----- > >> From: Nipun Gupta > >> Sent: Sunday, December 18, 2016 2:37 > >> To: Robin Murphy <[email protected]>; [email protected] > >> foundation.org; [email protected]; linux-arm- > >> [email protected] > >> Cc: [email protected]; [email protected]; Stuart Yoder > >> <[email protected]> > >> Subject: RE: [RFC PATCH] iommu/arm-smmu: Add global SMR masking > property > >> > >> > >> > >>> -----Original Message----- > >>> From: [email protected] [mailto:iommu- > >>> [email protected]] On Behalf Of Robin Murphy > >>> Sent: Friday, December 16, 2016 18:49 > >>> To: [email protected]; [email protected]; linux- > >> arm- > >>> [email protected] > >>> Cc: [email protected]; [email protected]; Stuart Yoder > >>> <[email protected]> > >>> Subject: [RFC PATCH] iommu/arm-smmu: Add global SMR masking property > >>> > >>> The current SMR masking support using a 2-cell iommu-specifier is > >>> primarily intended to handle individual masters with large and/or > >>> complex Stream ID assignments; it quickly gets a bit clunky in other SMR > >>> use-cases where we just want to consistently mask out the same part of > >>> every Stream ID (e.g. for MMU-500 configurations where the appended TBU > >>> number gets in the way unnecessarily). Let's add a new property to allow > >>> a single global mask value to better fit the latter situation. > >>> > >>> CC: Stuart Yoder <[email protected]> > >> > >> Tested-by: Nipun Gupta <[email protected]> > >> > >>> Signed-off-by: Robin Murphy <[email protected]> > >>> --- > >>> > >>> Compile-tested only... > >>> > >>> Documentation/devicetree/bindings/iommu/arm,smmu.txt | 8 ++++++++ > >>> drivers/iommu/arm-smmu.c | 4 +++- > >>> 2 files changed, 11 insertions(+), 1 deletion(-) > >>> > >>> diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt > >>> b/Documentation/devicetree/bindings/iommu/arm,smmu.txt > >>> index e862d1485205..98f5cbe5fdb4 100644 > >>> --- a/Documentation/devicetree/bindings/iommu/arm,smmu.txt > >>> +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt > >>> @@ -60,6 +60,14 @@ conditions. > >>> aliases of secure registers have to be used during > >>> SMMU configuration. > >>> > >>> +- stream-match-mask : Specifies a fixed SMR mask value to combine with > >>> + the Stream ID value from every iommu-specifier. This > >>> + may be used instead of an "#iommu-cells" value of 2 > >>> + when there is no need for per-master SMR masks, but > >>> + it is still desired to mask some portion of every > >>> + Stream ID (e.g. for certain MMU-500 configurations > >>> + given globally unique external IDs). > >>> + > >>> ** Deprecated properties: > >>> > >>> - mmu-masters (deprecated in favour of the generic "iommus" binding) : > >>> diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c > >>> index 8f7281444551..f1abcb7dde36 100644 > >>> --- a/drivers/iommu/arm-smmu.c > >>> +++ b/drivers/iommu/arm-smmu.c > >>> @@ -1534,13 +1534,15 @@ static int arm_smmu_domain_set_attr(struct > >>> iommu_domain *domain, > >>> > >>> static int arm_smmu_of_xlate(struct device *dev, struct of_phandle_args > >> *args) > >>> { > >>> - u32 fwid = 0; > >>> + u32 mask, fwid = 0; > >>> > >>> if (args->args_count > 0) > >>> fwid |= (u16)args->args[0]; > >>> > >>> if (args->args_count > 1) > >>> fwid |= (u16)args->args[1] << SMR_MASK_SHIFT; > >>> + else if (!of_property_read_u32(args->np, "stream-match-mask", > >>> &mask)) > >>> + fwid |= (u16)mask << SMR_MASK_SHIFT; > >>> > >>> return iommu_fwspec_add_ids(dev, &fwid, 1); > >>> } > >>> -- > >>> 2.10.2.dirty > >>> > >>> _______________________________________________ > >>> iommu mailing list > >>> [email protected] > >>> https://lists.linuxfoundation.org/mailman/listinfo/iommu _______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
