Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/riscv/include/asm/dma-noncoherent.h
26471 views
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
*/
18
struct 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
24
extern struct riscv_nonstd_cache_ops noncoherent_cache_ops;
25
26
void riscv_noncoherent_register_cache_ops(const struct riscv_nonstd_cache_ops *ops);
27
28
#endif /* __ASM_DMA_NONCOHERENT_H */
29
30