User process can involve dealing with big buffer sizes, and also passing buffers from one compute context bank to other compute context bank for complex dsp algorithms. This patch adds support to fastrpc to make it a proper dmabuf exporter to avoid making copies of buffers.
Showing the changes to include/uapi/misc (1 of 2 files). Show all
Unified · Split
| @@ -5,6 +5,8 @@ · 4 unmodified lines | |||
| 5 | 5 | ||
| 6 | #include <linux/types.h> | 6 | #include <linux/types.h> |
| 7 | 7 | ||
| 8 | #define FASTRPC_IOCTL_ALLOC_DMA_BUFF _IOWR('R', 1, struct fastrpc_alloc_dma_buf) | ||
| 9 | #define FASTRPC_IOCTL_FREE_DMA_BUFF _IOWR('R', 2, __u32) | ||
| 8 | #define FASTRPC_IOCTL_INVOKE _IOWR('R', 3, struct fastrpc_invoke) | 10 | #define FASTRPC_IOCTL_INVOKE _IOWR('R', 3, struct fastrpc_invoke) |
| 9 | #define FASTRPC_IOCTL_INIT_ATTACH _IO('R', 4) | 11 | #define FASTRPC_IOCTL_INIT_ATTACH _IO('R', 4) |
| 10 | #define FASTRPC_IOCTL_INIT_CREATE _IOWR('R', 5, struct fastrpc_init_create) | 12 | #define FASTRPC_IOCTL_INIT_CREATE _IOWR('R', 5, struct fastrpc_init_create) |
| @@ -30,4 +32,10 @@ struct fastrpc_init_create { · 19 unmodified lines | |||
| 30 | __u64 file; /* pointer to elf file */ | 32 | __u64 file; /* pointer to elf file */ |
| 31 | }; | 33 | }; |
| 32 | 34 | ||
| 35 | struct fastrpc_alloc_dma_buf { | ||
| 36 | __s32 fd; /* fd */ | ||
| 37 | __u32 flags; /* flags to map with */ | ||
| 38 | __u64 size; /* size */ | ||
| 39 | }; | ||
| 40 | |||
| 33 | #endif /* __QCOM_FASTRPC_H__ */ | 41 | #endif /* __QCOM_FASTRPC_H__ */ |