1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef __RGA_MMU_INFO_H__ 3*4882a593Smuzhiyun #define __RGA_MMU_INFO_H__ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include "rga2.h" 6*4882a593Smuzhiyun #include "RGA2_API.h" 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef MIN 9*4882a593Smuzhiyun #define MIN(X, Y) ((X)<(Y)?(X):(Y)) 10*4882a593Smuzhiyun #endif 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #ifndef MAX 13*4882a593Smuzhiyun #define MAX(X, Y) ((X)>(Y)?(X):(Y)) 14*4882a593Smuzhiyun #endif 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun extern struct rga2_drvdata_t *rga2_drvdata; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun enum { 19*4882a593Smuzhiyun MMU_MAP_CLEAN = 1 << 0, 20*4882a593Smuzhiyun MMU_MAP_INVALID = 1 << 1, 21*4882a593Smuzhiyun MMU_MAP_MASK = 0x03, 22*4882a593Smuzhiyun MMU_UNMAP_CLEAN = 1 << 2, 23*4882a593Smuzhiyun MMU_UNMAP_INVALID = 1 << 3, 24*4882a593Smuzhiyun MMU_UNMAP_MASK = 0x0c, 25*4882a593Smuzhiyun }; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun int rga2_set_mmu_info(struct rga2_reg *reg, struct rga2_req *req); 28*4882a593Smuzhiyun void rga2_dma_flush_range(void *pstart, void *pend); 29*4882a593Smuzhiyun dma_addr_t rga2_dma_flush_page(struct page *page, int map); 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun int rga2_get_dma_info(struct rga2_reg *reg, struct rga2_req *req); 32*4882a593Smuzhiyun void rga2_put_dma_info(struct rga2_reg *reg); 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun #endif 35*4882a593Smuzhiyun 36