xref: /OK3568_Linux_fs/external/linux-rga/samples/utils/allocator/include/dma_alloc.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * Copyright (C) 2022 Rockchip Electronics Co., Ltd.
3  * Authors:
4  *  Cerf Yu <cerf.yu@rock-chips.com>
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
19 #ifndef __RGA_SAMPLES_ALLOCATOR_DMA_ALLOC_H__
20 #define __RGA_SAMPLES_ALLOCATOR_DMA_ALLOC_H__
21 
22 #define DMA_HEAP_UNCACHE_PATH           "/dev/dma_heap/system-uncached"
23 #define DMA_HEAP_PATH                   "/dev/dma_heap/system"
24 #define DMA_HEAP_DMA32_UNCACHE_PATCH    "/dev/dma_heap/system-uncached-dma32"
25 #define DMA_HEAP_DMA32_PATCH            "/dev/dma_heap/system-dma32"
26 #define CMA_HEAP_UNCACHE_PATH           "/dev/dma_heap/cma-uncached"
27 #define RV1106_CMA_HEAP_PATH	        "/dev/rk_dma_heap/rk-dma-heap-cma"
28 
29 int dma_sync_device_to_cpu(int fd);
30 int dma_sync_cpu_to_device(int fd);
31 
32 int dma_buf_alloc(const char *path, size_t size, int *fd, void **va);
33 void dma_buf_free(size_t size, int *fd, void *va);
34 
35 #endif /* #ifndef __RGA_SAMPLES_ALLOCATOR_DMA_ALLOC_H__ */
36