If a region has been mapped sparsely (such as on page faults), the user has to keep track of what was mapped or not in order to avoid warnings when unmapping the entire region. Remove the WARN on empty PTEs to allow unmapping sparsely mapped regions.
Cc: Will Deacon <w...@kernel.org> Cc: Robin Murphy <robin.mur...@arm.com> Cc: Joerg Roedel <j...@8bytes.org> Cc: linux-arm-ker...@lists.infradead.org Cc: iommu@lists.linux-foundation.org Signed-off-by: Rob Herring <r...@kernel.org> --- This is needed for large (up to 1GB AIUI) scratch buffers on panfrost which are mapped on demand on GPU page faults and can be unmapped on memory pressure. Alternatively, I'd need to have a bitmap of mapped pages to track what is mapped or not. Dropping the WARN seems like a much simpler solution. This will need to go thru the DRM tree once I've gotten the panfrost side finished, but wanted some early feedback. Rob drivers/iommu/io-pgtable-arm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iommu/io-pgtable-arm.c b/drivers/iommu/io-pgtable-arm.c index 4e21efbc4459..43971638a5aa 100644 --- a/drivers/iommu/io-pgtable-arm.c +++ b/drivers/iommu/io-pgtable-arm.c @@ -611,7 +611,7 @@ static size_t __arm_lpae_unmap(struct arm_lpae_io_pgtable *data, ptep += ARM_LPAE_LVL_IDX(iova, lvl, data); pte = READ_ONCE(*ptep); - if (WARN_ON(!pte)) + if (!pte) return 0; /* If the size matches this level, we're in the right place */ -- 2.20.1 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu