Path: blob/master/arch/riscv/include/asm/dma-noncoherent.h
26471 views
/* SPDX-License-Identifier: GPL-2.0-only */1/*2* Copyright (C) 2023 Renesas Electronics Corp.3*/45#ifndef __ASM_DMA_NONCOHERENT_H6#define __ASM_DMA_NONCOHERENT_H78#include <linux/dma-direct.h>910/*11* struct riscv_nonstd_cache_ops - Structure for non-standard CMO function pointers12*13* @wback: Function pointer for cache writeback14* @inv: Function pointer for invalidating cache15* @wback_inv: Function pointer for flushing the cache (writeback + invalidating)16*/17struct riscv_nonstd_cache_ops {18void (*wback)(phys_addr_t paddr, size_t size);19void (*inv)(phys_addr_t paddr, size_t size);20void (*wback_inv)(phys_addr_t paddr, size_t size);21};2223extern struct riscv_nonstd_cache_ops noncoherent_cache_ops;2425void riscv_noncoherent_register_cache_ops(const struct riscv_nonstd_cache_ops *ops);2627#endif /* __ASM_DMA_NONCOHERENT_H */282930