at v5.9 1.4 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 3#ifndef __QCOM_FASTRPC_H__ 4#define __QCOM_FASTRPC_H__ 5 6#include <linux/types.h> 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) 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) 15 16struct fastrpc_invoke_args { 17 __u64 ptr; 18 __u64 length; 19 __s32 fd; 20 __u32 reserved; 21}; 22 23struct fastrpc_invoke { 24 __u32 handle; 25 __u32 sc; 26 __u64 args; 27}; 28 29struct 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 */ 35}; 36 37struct fastrpc_alloc_dma_buf { 38 __s32 fd; /* fd */ 39 __u32 flags; /* flags to map with */ 40 __u64 size; /* size */ 41}; 42 43struct 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 */ 49}; 50 51struct fastrpc_req_munmap { 52 __u64 vaddrout; /* address to unmap */ 53 __u64 size; /* size */ 54}; 55 56#endif /* __QCOM_FASTRPC_H__ */