forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-31 f70575805708cabdedea7498aaa3f710fde4d920
kernel/drivers/gpu/drm/etnaviv/etnaviv_cmdbuf.h
....@@ -8,15 +8,15 @@
88
99 #include <linux/types.h>
1010
11
-struct etnaviv_gpu;
11
+struct device;
12
+struct etnaviv_iommu_context;
13
+struct etnaviv_vram_mapping;
1214 struct etnaviv_cmdbuf_suballoc;
1315 struct etnaviv_perfmon_request;
1416
1517 struct etnaviv_cmdbuf {
1618 /* suballocator this cmdbuf is allocated from */
1719 struct etnaviv_cmdbuf_suballoc *suballoc;
18
- /* user context key, must be unique between all active users */
19
- struct etnaviv_file_private *ctx;
2020 /* cmdbuf properties */
2121 int suballoc_offset;
2222 void *vaddr;
....@@ -25,15 +25,22 @@
2525 };
2626
2727 struct etnaviv_cmdbuf_suballoc *
28
-etnaviv_cmdbuf_suballoc_new(struct etnaviv_gpu * gpu);
28
+etnaviv_cmdbuf_suballoc_new(struct device *dev);
2929 void etnaviv_cmdbuf_suballoc_destroy(struct etnaviv_cmdbuf_suballoc *suballoc);
30
+int etnaviv_cmdbuf_suballoc_map(struct etnaviv_cmdbuf_suballoc *suballoc,
31
+ struct etnaviv_iommu_context *context,
32
+ struct etnaviv_vram_mapping *mapping,
33
+ u32 memory_base);
34
+void etnaviv_cmdbuf_suballoc_unmap(struct etnaviv_iommu_context *context,
35
+ struct etnaviv_vram_mapping *mapping);
3036
3137
3238 int etnaviv_cmdbuf_init(struct etnaviv_cmdbuf_suballoc *suballoc,
3339 struct etnaviv_cmdbuf *cmdbuf, u32 size);
3440 void etnaviv_cmdbuf_free(struct etnaviv_cmdbuf *cmdbuf);
3541
36
-u32 etnaviv_cmdbuf_get_va(struct etnaviv_cmdbuf *buf);
42
+u32 etnaviv_cmdbuf_get_va(struct etnaviv_cmdbuf *buf,
43
+ struct etnaviv_vram_mapping *mapping);
3744 dma_addr_t etnaviv_cmdbuf_get_pa(struct etnaviv_cmdbuf *buf);
3845
3946 #endif /* __ETNAVIV_CMDBUF_H__ */