nvdla: kmd: handle {RELEASE,ALLOC}_QUEUE ioctls

[1] This commit separates the allocation and deallocation
    of mission critical resources away from open() and close()
[2] It is achieved through introduction of NVDLA_IOCTL_{ALLOC,RELEASE}
    IOCTLs.
[3] nvdla_buffer_* APIs introduced to facilitate easier split.

Bug 200628173

Change-Id: I3fb07ecaff69c62ec5eb9e5bea39b07ae1624240
Signed-off-by: Arvind M <am@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2403689
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Anup Mahindre <amahindre@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Arvind M
2020-08-25 17:04:27 +05:30
committed by Laxman Dewangan
parent ca570376ea
commit 9eec5aea15
4 changed files with 142 additions and 16 deletions

View File

@@ -254,8 +254,12 @@ struct nvdla_status_notify {
_IOWR(NVHOST_NVDLA_IOCTL_MAGIC, 7, struct nvdla_get_q_status_args)
#define NVDLA_IOCTL_EMU_TASK_SUBMIT \
_IOWR(NVHOST_NVDLA_IOCTL_MAGIC, 8, struct nvdla_submit_args)
#define NVDLA_IOCTL_ALLOC_QUEUE \
_IO(NVHOST_NVDLA_IOCTL_MAGIC, 9)
#define NVDLA_IOCTL_RELEASE_QUEUE \
_IO(NVHOST_NVDLA_IOCTL_MAGIC, 10)
#define NVDLA_IOCTL_LAST \
_IOC_NR(NVDLA_IOCTL_EMU_TASK_SUBMIT)
_IOC_NR(NVDLA_IOCTL_RELEASE_QUEUE)
#define NVDLA_IOCTL_MAX_ARG_SIZE \
sizeof(struct nvdla_pin_unpin_args)