Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b620fb49 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "iommu/io-pgtable-fast: invalidate TLBs on unmap"

parents 4303a6f9 9591d38b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -259,16 +259,17 @@ void av8l_fast_unmap_public(av8l_fast_iopte *ptep, size_t size)
	__av8l_fast_unmap(ptep, size, true);
}

/* upper layer must take care of TLB invalidation */
static size_t av8l_fast_unmap(struct io_pgtable_ops *ops, unsigned long iova,
			      size_t size)
{
	struct av8l_fast_io_pgtable *data = iof_pgtable_ops_to_data(ops);
	struct io_pgtable *iop = &data->iop;
	av8l_fast_iopte *ptep = iopte_pmd_offset(data->pmds, data->base, iova);
	unsigned long nptes = size >> AV8L_FAST_PAGE_SHIFT;

	__av8l_fast_unmap(ptep, size, false);
	dmac_clean_range(ptep, ptep + nptes);
	iop->cfg.tlb->tlb_flush_all(iop->cookie);

	return size;
}