Linux Audio

Check our new training course

Loading...
v5.4
 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
14struct fastrpc_invoke_args {
15	__u64 ptr;
16	__u64 length;
17	__s32 fd;
18	__u32 reserved;
19};
20
21struct fastrpc_invoke {
22	__u32 handle;
23	__u32 sc;
24	__u64 args;
25};
26
27struct fastrpc_init_create {
28	__u32 filelen;	/* elf file length */
29	__s32 filefd;	/* fd for the file */
30	__u32 attrs;
31	__u32 siglen;
32	__u64 file;	/* pointer to elf file */
33};
34
35struct fastrpc_alloc_dma_buf {
36	__s32 fd;	/* fd */
37	__u32 flags;	/* flags to map with */
 
 
 
 
 
 
 
 
 
 
 
 
 
38	__u64 size;	/* size */
39};
40
41#endif /* __QCOM_FASTRPC_H__ */
v5.9
 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__ */