Thread (1 message) 1 message, 1 author, 2014-11-13

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

From: Will Deacon <hidden>
Date: 2014-11-13 09:48:26
Also in: linux-devicetree, linux-iommu

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 [off-list ref] wrote:
quoted
On Wed, Aug 13, 2014 at 01:51:38AM +0100, Mitchel Humpherys wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help