Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (C) 2023 Renesas Electronics Corp.
4 */
5
6#ifndef __ASM_DMA_NONCOHERENT_H
7#define __ASM_DMA_NONCOHERENT_H
8
9#include <linux/dma-direct.h>
10
11/*
12 * struct riscv_nonstd_cache_ops - Structure for non-standard CMO function pointers
13 *
14 * @wback: Function pointer for cache writeback
15 * @inv: Function pointer for invalidating cache
16 * @wback_inv: Function pointer for flushing the cache (writeback + invalidating)
17 */
18struct riscv_nonstd_cache_ops {
19 void (*wback)(phys_addr_t paddr, size_t size);
20 void (*inv)(phys_addr_t paddr, size_t size);
21 void (*wback_inv)(phys_addr_t paddr, size_t size);
22};
23
24extern struct riscv_nonstd_cache_ops noncoherent_cache_ops;
25
26void riscv_noncoherent_register_cache_ops(const struct riscv_nonstd_cache_ops *ops);
27
28#endif /* __ASM_DMA_NONCOHERENT_H */