Lines Matching refs:args

74 	struct drm_pvr_ioctl_create_bo_args *args = raw_args;
88 if (args->_padding_c != 0) {
101 if (args->size > SIZE_MAX || args->size == 0 || args->flags &
102 ~DRM_PVR_BO_FLAGS_MASK || args->size & (PVR_DEVICE_PAGE_SIZE - 1)) {
107 sanitized_size = (size_t)args->size;
113 pvr_obj = pvr_gem_object_create(pvr_dev, sanitized_size, args->flags);
119 /* This function will not modify &args->handle unless it succeeds. */
120 err = pvr_gem_object_into_handle(pvr_obj, pvr_file, &args->handle);
166 struct drm_pvr_ioctl_get_bo_mmap_offset_args *args = raw_args;
177 if (args->_padding_4 != 0) {
188 pvr_obj = pvr_gem_object_from_handle(pvr_file, args->handle);
212 args->offset = drm_vma_node_offset_addr(&gem_obj->vma_node);
340 * @args: [IN] Device query arguments containing a pointer to a userspace
354 struct drm_pvr_ioctl_dev_query_args *args)
359 if (!args->pointer) {
360 args->size = sizeof(struct drm_pvr_dev_query_gpu_info);
368 err = PVR_UOBJ_SET(args->pointer, args->size, gpu_info);
372 if (args->size > sizeof(gpu_info))
373 args->size = sizeof(gpu_info);
380 * @args: [IN] Device query arguments containing a pointer to a userspace
394 struct drm_pvr_ioctl_dev_query_args *args)
399 if (!args->pointer) {
400 args->size = sizeof(struct drm_pvr_dev_query_runtime_info);
416 err = PVR_UOBJ_SET(args->pointer, args->size, runtime_info);
420 if (args->size > sizeof(runtime_info))
421 args->size = sizeof(runtime_info);
430 * @args: [IN] Device query arguments containing a pointer to a userspace
443 * * -%EINVAL if args contained non-zero reserved fields, or
450 struct drm_pvr_ioctl_dev_query_args *args)
473 if (!args->pointer) {
474 args->size = sizeof(struct drm_pvr_dev_query_quirks);
478 err = PVR_UOBJ_GET(query, args->size, args->pointer);
511 err = PVR_UOBJ_SET(args->pointer, args->size, query);
515 args->size = sizeof(query);
524 * @args: [IN] Device query arguments containing a pointer to a userspace
537 * * -%EINVAL if args contained non-zero reserved fields, or
544 struct drm_pvr_ioctl_dev_query_args *args)
561 if (!args->pointer) {
562 args->size = sizeof(struct drm_pvr_dev_query_enhancements);
566 err = PVR_UOBJ_GET(query, args->size, args->pointer);
592 err = PVR_UOBJ_SET(args->pointer, args->size, query);
596 args->size = sizeof(query);
613 * * 0 on success or when fetching the size with args->pointer == NULL, or
625 struct drm_pvr_ioctl_dev_query_args *args = raw_args;
632 switch ((enum drm_pvr_dev_query)args->type) {
634 ret = pvr_dev_query_gpu_info_get(pvr_dev, args);
638 ret = pvr_dev_query_runtime_info_get(pvr_dev, args);
642 ret = pvr_dev_query_quirks_get(pvr_dev, args);
646 ret = pvr_dev_query_enhancements_get(pvr_dev, args);
650 ret = pvr_heap_info_get(pvr_dev, args);
654 ret = pvr_static_data_areas_get(pvr_dev, args);
682 struct drm_pvr_ioctl_create_context_args *args = raw_args;
690 ret = pvr_context_create(pvr_file, args);
714 struct drm_pvr_ioctl_destroy_context_args *args = raw_args;
717 if (args->_padding_4)
720 return pvr_context_destroy(pvr_file, args->handle);
740 struct drm_pvr_ioctl_create_free_list_args *args = raw_args;
749 free_list = pvr_free_list_create(pvr_file, args);
757 &args->handle,
794 struct drm_pvr_ioctl_destroy_free_list_args *args = raw_args;
798 if (args->_padding_4)
801 free_list = xa_erase(&pvr_file->free_list_handles, args->handle);
826 struct drm_pvr_ioctl_create_hwrt_dataset_args *args = raw_args;
835 hwrt = pvr_hwrt_dataset_create(pvr_file, args);
843 &args->handle,
880 struct drm_pvr_ioctl_destroy_hwrt_dataset_args *args = raw_args;
884 if (args->_padding_4)
887 hwrt = xa_erase(&pvr_file->hwrt_handles, args->handle);
912 struct drm_pvr_ioctl_create_vm_context_args *args = raw_args;
921 if (args->_padding_4) {
934 &args->handle,
971 struct drm_pvr_ioctl_destroy_vm_context_args *args = raw_args;
975 if (args->_padding_4)
978 vm_ctx = xa_erase(&pvr_file->vm_ctx_handles, args->handle);
1014 struct drm_pvr_ioctl_vm_map_args *args = raw_args;
1028 /* Initial validation of args. */
1029 if (args->_padding_14) {
1034 if (args->flags != 0 ||
1035 check_add_overflow(args->offset, args->size, &offset_plus_size) ||
1036 !pvr_find_heap_containing(pvr_dev, args->device_addr, args->size)) {
1041 vm_ctx = pvr_vm_context_lookup(pvr_file, args->vm_context_handle);
1047 pvr_obj = pvr_gem_object_from_handle(pvr_file, args->handle);
1056 * Validate offset and size args. The alignment of these will be
1060 if (args->offset >= pvr_obj_size || offset_plus_size > pvr_obj_size) {
1065 err = pvr_vm_map(vm_ctx, pvr_obj, args->offset,
1066 args->device_addr, args->size);
1108 struct drm_pvr_ioctl_vm_unmap_args *args = raw_args;
1113 /* Initial validation of args. */
1114 if (args->_padding_4)
1117 vm_ctx = pvr_vm_context_lookup(pvr_file, args->vm_context_handle);
1121 err = pvr_vm_unmap(vm_ctx, args->device_addr, args->size);
1145 struct drm_pvr_ioctl_submit_jobs_args *args = raw_args;
1154 err = pvr_submit_jobs(pvr_dev, pvr_file, args);