summaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorAjay Nandakumar <anandakumarm@nvidia.com>2017-10-25 09:45:18 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-11-14 07:58:30 -0500
commit127bacd08922e10f17d2e805bfd1c4c6b93c3a1b (patch)
tree777611e09b2690bc52197175a42f87f0bcda95a4 /include/uapi
parent762641dbc8616ead46c63d946879b0463dceeaf9 (diff)
video: tegra: pva: vpu function table
Adding functionality to expose the function table to the userspace. Also adding functionality to expose the function table along with its id. JIRA PVA-144 Change-Id: I930545e06e3954f22c95b5734ed5e13eeef67af3 Signed-off-by: Ajay Nandakumar <anandakumarm@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1585418 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/nvhost_pva_ioctl.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/include/uapi/linux/nvhost_pva_ioctl.h b/include/uapi/linux/nvhost_pva_ioctl.h
index 18588cefe..233b9eca5 100644
--- a/include/uapi/linux/nvhost_pva_ioctl.h
+++ b/include/uapi/linux/nvhost_pva_ioctl.h
@@ -276,6 +276,25 @@ struct pva_ioctl_queue_attr {
276 __u32 val; 276 __u32 val;
277}; 277};
278 278
279/**
280 * struct pva_ioctl_vpu_func_table - ioctl vpu function table entries
281 *
282 * @addr: Userspace address space to which the function table needs to be copied
283 * @entries: The number of entries in the vpu table
284 * @size: Size of the user buffer passed/ Size of the function table
285 *
286 * This ioctl is used to fetch the VPU function table available on a PVA, which
287 * is copied to user space buffer starting at "addr" with size "size". Once the
288 * function table is copied the the number of entries is updated along with the
289 * size of the vpu function table.
290 *
291 */
292struct pva_ioctl_vpu_func_table {
293 __u64 addr;
294 __u32 entries;
295 __u32 size;
296};
297
279#define PVA_IOCTL_CHARACTERISTICS \ 298#define PVA_IOCTL_CHARACTERISTICS \
280 _IOWR(NVHOST_PVA_IOCTL_MAGIC, 1, struct pva_characteristics_req) 299 _IOWR(NVHOST_PVA_IOCTL_MAGIC, 1, struct pva_characteristics_req)
281#define PVA_IOCTL_PIN \ 300#define PVA_IOCTL_PIN \
@@ -286,9 +305,11 @@ struct pva_ioctl_queue_attr {
286 _IOW(NVHOST_PVA_IOCTL_MAGIC, 4, struct pva_ioctl_submit_args) 305 _IOW(NVHOST_PVA_IOCTL_MAGIC, 4, struct pva_ioctl_submit_args)
287#define PVA_IOCTL_SET_QUEUE_ATTRIBUTES \ 306#define PVA_IOCTL_SET_QUEUE_ATTRIBUTES \
288 _IOW(NVHOST_PVA_IOCTL_MAGIC, 5, struct pva_ioctl_queue_attr) 307 _IOW(NVHOST_PVA_IOCTL_MAGIC, 5, struct pva_ioctl_queue_attr)
308#define PVA_IOCTL_COPY_VPU_FUNCTION_TABLE \
309 _IOWR(NVHOST_PVA_IOCTL_MAGIC, 6, struct pva_ioctl_vpu_func_table)
289 310
290 311
291#define NVHOST_PVA_IOCTL_LAST _IOC_NR(PVA_IOCTL_SET_QUEUE_ATTRIBUTES) 312#define NVHOST_PVA_IOCTL_LAST _IOC_NR(PVA_IOCTL_COPY_VPU_FUNCTION_TABLE)
292#define NVHOST_PVA_IOCTL_MAX_ARG_SIZE sizeof(struct pva_characteristics_req) 313#define NVHOST_PVA_IOCTL_MAX_ARG_SIZE sizeof(struct pva_characteristics_req)
293 314
294#endif /* __LINUX_NVHOST_PVA_IOCTL_H */ 315#endif /* __LINUX_NVHOST_PVA_IOCTL_H */