xref: /OK3568_Linux_fs/kernel/drivers/video/rockchip/rga2/rga2_mmu_info.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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