linux/include/uapi/misc/fastrpc.h
<<
>>
Prefs
   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#define FASTRPC_IOCTL_INIT_ATTACH_SNS   _IO('R', 8)
  16
  17struct fastrpc_invoke_args {
  18        __u64 ptr;
  19        __u64 length;
  20        __s32 fd;
  21        __u32 reserved;
  22};
  23
  24struct fastrpc_invoke {
  25        __u32 handle;
  26        __u32 sc;
  27        __u64 args;
  28};
  29
  30struct fastrpc_init_create {
  31        __u32 filelen;  /* elf file length */
  32        __s32 filefd;   /* fd for the file */
  33        __u32 attrs;
  34        __u32 siglen;
  35        __u64 file;     /* pointer to elf file */
  36};
  37
  38struct fastrpc_alloc_dma_buf {
  39        __s32 fd;       /* fd */
  40        __u32 flags;    /* flags to map with */
  41        __u64 size;     /* size */
  42};
  43
  44struct fastrpc_req_mmap {
  45        __s32 fd;
  46        __u32 flags;    /* flags for dsp to map with */
  47        __u64 vaddrin;  /* optional virtual address */
  48        __u64 size;     /* size */
  49        __u64 vaddrout; /* dsp virtual address */
  50};
  51
  52struct fastrpc_req_munmap {
  53        __u64 vaddrout; /* address to unmap */
  54        __u64 size;     /* size */
  55};
  56
  57#endif /* __QCOM_FASTRPC_H__ */
  58