io_uring: punt final io_ring_ctx wait-and-free to workqueue
[linux/fpc-iii.git] / include / uapi / misc / fastrpc.h
blob07de2b7aac85f9eadd4cc905d607a3d0ab25185f
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 #ifndef __QCOM_FASTRPC_H__
4 #define __QCOM_FASTRPC_H__
6 #include <linux/types.h>
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)
10 #define FASTRPC_IOCTL_INVOKE _IOWR('R', 3, struct fastrpc_invoke)
11 #define FASTRPC_IOCTL_INIT_ATTACH _IO('R', 4)
12 #define FASTRPC_IOCTL_INIT_CREATE _IOWR('R', 5, struct fastrpc_init_create)
13 #define FASTRPC_IOCTL_MMAP _IOWR('R', 6, struct fastrpc_req_mmap)
14 #define FASTRPC_IOCTL_MUNMAP _IOWR('R', 7, struct fastrpc_req_munmap)
16 struct fastrpc_invoke_args {
17 __u64 ptr;
18 __u64 length;
19 __s32 fd;
20 __u32 reserved;
23 struct fastrpc_invoke {
24 __u32 handle;
25 __u32 sc;
26 __u64 args;
29 struct fastrpc_init_create {
30 __u32 filelen; /* elf file length */
31 __s32 filefd; /* fd for the file */
32 __u32 attrs;
33 __u32 siglen;
34 __u64 file; /* pointer to elf file */
37 struct fastrpc_alloc_dma_buf {
38 __s32 fd; /* fd */
39 __u32 flags; /* flags to map with */
40 __u64 size; /* size */
43 struct fastrpc_req_mmap {
44 __s32 fd;
45 __u32 flags; /* flags for dsp to map with */
46 __u64 vaddrin; /* optional virtual address */
47 __u64 size; /* size */
48 __u64 vaddrout; /* dsp virtual address */
51 struct fastrpc_req_munmap {
52 __u64 vaddrout; /* address to unmap */
53 __u64 size; /* size */
56 #endif /* __QCOM_FASTRPC_H__ */