diff options
| author | Ajay Nandakumar <anandakumarm@nvidia.com> | 2017-10-25 09:45:18 -0400 |
|---|---|---|
| committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-11-14 07:58:30 -0500 |
| commit | 127bacd08922e10f17d2e805bfd1c4c6b93c3a1b (patch) | |
| tree | 777611e09b2690bc52197175a42f87f0bcda95a4 /include/uapi | |
| parent | 762641dbc8616ead46c63d946879b0463dceeaf9 (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.h | 23 |
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 | */ | ||
| 292 | struct 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 */ |
