--- zzzz-none-000/linux-4.9.276/arch/mips/mm/cache.c 2021-07-20 14:21:16.000000000 +0000 +++ falcon-5530-750/linux-4.9.276/arch/mips/mm/cache.c 2023-04-05 08:19:00.000000000 +0000 @@ -63,6 +63,8 @@ void (*_dma_cache_inv)(unsigned long start, unsigned long size); EXPORT_SYMBOL(_dma_cache_wback_inv); +EXPORT_SYMBOL(_dma_cache_wback); +EXPORT_SYMBOL(_dma_cache_inv); #endif /* CONFIG_DMA_NONCOHERENT || CONFIG_DMA_MAYBE_COHERENT */ @@ -115,6 +117,13 @@ { unsigned long addr = (unsigned long) page_address(page); + if (PageHighMem(page)) { + addr = (unsigned long)kmap_atomic(page); + flush_data_cache_page(addr); + __kunmap_atomic((void *)addr); + return; + } + if (pages_do_alias(addr, vmaddr)) { if (page_mapcount(page) && !Page_dcache_dirty(page)) { void *kaddr;