]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - arch/riscv/mm/cacheflush.c
Merge remote-tracking branches 'asoc/topic/cs35l32', 'asoc/topic/cs35l34', 'asoc...
[mirror_ubuntu-jammy-kernel.git] / arch / riscv / mm / cacheflush.c
1 /*
2 * Copyright (C) 2017 SiFive
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation, version 2.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14 #include <asm/pgtable.h>
15 #include <asm/cacheflush.h>
16
17 void flush_icache_pte(pte_t pte)
18 {
19 struct page *page = pte_page(pte);
20
21 if (!test_and_set_bit(PG_dcache_clean, &page->flags))
22 flush_icache_all();
23 }