diff options
Diffstat (limited to 'arch/arm/mm/dma-mapping.c')
| -rw-r--r-- | arch/arm/mm/dma-mapping.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index 1351edc0b26..13fa536d82e 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -464,6 +464,11 @@ static void dma_cache_maint_page(struct page *page, unsigned long offset,  				vaddr += offset;  				op(vaddr, len, dir);  				kunmap_high(page); +			} else if (cache_is_vipt()) { +				pte_t saved_pte; +				vaddr = kmap_high_l1_vipt(page, &saved_pte); +				op(vaddr + offset, len, dir); +				kunmap_high_l1_vipt(page, saved_pte);  			}  		} else {  			vaddr = page_address(page) + offset; | 
