Re: [PATCH 5/6] iommu/arm-smmu: support buggy implementations with invalidate-on-map

Will Deacon
2014-11-13T09:48:26Z

On Wed, Nov 12, 2014 at 06:58:17PM +0000, Mitchel Humpherys wrote:
> On Wed, Nov 12 2014 at 10:26:43 AM, Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> wrote:
> > On Wed, Aug 13, 2014 at 01:51:38AM +0100, Mitchel Humpherys wrote:
> >> Add a workaround for some buggy hardware that requires a TLB invalidate
> >> operation to occur at map time. Activate the feature with the
> >> qcom,smmu-invalidate-on-map boolean DT property.
> >
> > I'm digging up an old thread here, but I've been working on a new page-table
> > allocator for the SMMU and looked into implementing this workaround for you
> > in there. When I do the TLBI on map after installing the new PTE, can I just
> > invalidate the range mapped by that PTE, or does it need to be a full TLBI?
>
> I'm not totally sure on the history of the hardware errata but I believe
> it's just the range mapped by that pte. We use SMMU_CBn_TLBIVA in the
> our smmu driver.
>
> However, let's actually just drop this... It's looking like the targets
> we have that will use the arm-smmu driver thankfully won't need this
> workaround. Thanks for keeping this in mind though :)

Ha, damn, then I don't have a user of the shiny new quirks field I added!
I don't think I'll go as far as removing it altogether though...

Cheers,

Will