iommu/io-pgtable-fast: cache clean the last level ptes
While preparing page tables for fastmap, last level ptes are not being cache cleaned. Fix this. Change-Id: I97f894b52484d0d223b15090b94c186bba9af734 Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
This commit is contained in:
parent
2e87440c3e
commit
847210ab6b
1 changed files with 5 additions and 0 deletions
|
@ -426,11 +426,16 @@ av8l_fast_prepopulate_pgtables(struct av8l_fast_io_pgtable *data,
|
|||
for (j = pmd_index(pud), pmd = pud; pmd < pud_next(pud, end);
|
||||
++j, pmd = pmd_next(pmd, end)) {
|
||||
av8l_fast_iopte pte, *pudp;
|
||||
void *addr;
|
||||
|
||||
page = alloc_page(GFP_KERNEL | __GFP_ZERO);
|
||||
if (!page)
|
||||
goto err_free_pages;
|
||||
pages[pg++] = page;
|
||||
|
||||
addr = page_address(page);
|
||||
dmac_clean_range(addr, addr + SZ_4K);
|
||||
|
||||
pte = page_to_phys(page) | AV8L_FAST_PTE_TYPE_TABLE;
|
||||
pudp = data->puds[i] + j;
|
||||
*pudp = pte;
|
||||
|
|
Loading…
Add table
Reference in a new issue