mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
misc: fastrpc: add mmap/unmap support
Support the allocation/deallocation of buffers mapped to the DSP. When the memory mapped to the DSP at process creation is not enough, the fastrpc library can extend it at runtime. This avoids having to do large preallocations by default. Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org> Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20191009144123.24583-2-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
689e3557a2
commit
2419e55e53
2 changed files with 196 additions and 0 deletions
|
@ -10,6 +10,8 @@
|
|||
#define FASTRPC_IOCTL_INVOKE _IOWR('R', 3, struct fastrpc_invoke)
|
||||
#define FASTRPC_IOCTL_INIT_ATTACH _IO('R', 4)
|
||||
#define FASTRPC_IOCTL_INIT_CREATE _IOWR('R', 5, struct fastrpc_init_create)
|
||||
#define FASTRPC_IOCTL_MMAP _IOWR('R', 6, struct fastrpc_req_mmap)
|
||||
#define FASTRPC_IOCTL_MUNMAP _IOWR('R', 7, struct fastrpc_req_munmap)
|
||||
|
||||
struct fastrpc_invoke_args {
|
||||
__u64 ptr;
|
||||
|
@ -38,4 +40,17 @@ struct fastrpc_alloc_dma_buf {
|
|||
__u64 size; /* size */
|
||||
};
|
||||
|
||||
struct fastrpc_req_mmap {
|
||||
__s32 fd;
|
||||
__u32 flags; /* flags for dsp to map with */
|
||||
__u64 vaddrin; /* optional virtual address */
|
||||
__u64 size; /* size */
|
||||
__u64 vaddrout; /* dsp virtual address */
|
||||
};
|
||||
|
||||
struct fastrpc_req_munmap {
|
||||
__u64 vaddrout; /* address to unmap */
|
||||
__u64 size; /* size */
|
||||
};
|
||||
|
||||
#endif /* __QCOM_FASTRPC_H__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue