Lines Matching refs:pvr_dev
77 struct pvr_device *pvr_dev = to_pvr_device(drm_dev); in pvr_ioctl_create_bo() local
115 pvr_obj = pvr_gem_object_create(pvr_dev, sanitized_size, args->flags); in pvr_ioctl_create_bo()
232 rogue_get_common_store_partition_space_size(struct pvr_device *pvr_dev) in rogue_get_common_store_partition_space_size() argument
238 PVR_FEATURE_VALUE(pvr_dev, tile_size_x, &tile_size_x); in rogue_get_common_store_partition_space_size()
239 PVR_FEATURE_VALUE(pvr_dev, tile_size_y, &tile_size_y); in rogue_get_common_store_partition_space_size()
240 PVR_FEATURE_VALUE(pvr_dev, max_partitions, &max_partitions); in rogue_get_common_store_partition_space_size()
245 PVR_FEATURE_VALUE(pvr_dev, usc_min_output_registers_per_pix, in rogue_get_common_store_partition_space_size()
256 rogue_get_common_store_alloc_region_size(struct pvr_device *pvr_dev) in rogue_get_common_store_alloc_region_size() argument
261 PVR_FEATURE_VALUE(pvr_dev, common_store_size_in_dwords, &common_store_size_in_dwords); in rogue_get_common_store_alloc_region_size()
264 rogue_get_common_store_partition_space_size(pvr_dev); in rogue_get_common_store_alloc_region_size()
266 if (PVR_HAS_QUIRK(pvr_dev, 44079)) { in rogue_get_common_store_alloc_region_size()
276 rogue_get_num_phantoms(struct pvr_device *pvr_dev) in rogue_get_num_phantoms() argument
280 PVR_FEATURE_VALUE(pvr_dev, num_clusters, &num_clusters); in rogue_get_num_phantoms()
286 rogue_get_max_coeffs(struct pvr_device *pvr_dev) in rogue_get_max_coeffs() argument
291 u32 num_phantoms = rogue_get_num_phantoms(pvr_dev); in rogue_get_max_coeffs()
295 PVR_FEATURE_VALUE(pvr_dev, isp_max_tiles_in_flight, &tiles_in_flight); in rogue_get_max_coeffs()
303 if (PVR_HAS_QUIRK(pvr_dev, 48492) && !PVR_HAS_FEATURE(pvr_dev, compute_overlap)) in rogue_get_max_coeffs()
306 if (PVR_HAS_ENHANCEMENT(pvr_dev, 38748)) in rogue_get_max_coeffs()
309 if (PVR_HAS_ENHANCEMENT(pvr_dev, 38020)) in rogue_get_max_coeffs()
312 return rogue_get_common_store_alloc_region_size(pvr_dev) + pending_allocation_coeff_regs - in rogue_get_max_coeffs()
318 rogue_get_cdm_max_local_mem_size_regs(struct pvr_device *pvr_dev) in rogue_get_cdm_max_local_mem_size_regs() argument
320 u32 available_coeffs_in_dwords = rogue_get_max_coeffs(pvr_dev); in rogue_get_cdm_max_local_mem_size_regs()
322 if (PVR_HAS_QUIRK(pvr_dev, 48492) && PVR_HAS_FEATURE(pvr_dev, roguexe) && in rogue_get_cdm_max_local_mem_size_regs()
323 !PVR_HAS_FEATURE(pvr_dev, compute_overlap)) { in rogue_get_cdm_max_local_mem_size_regs()
355 pvr_dev_query_gpu_info_get(struct pvr_device *pvr_dev, in pvr_dev_query_gpu_info_get() argument
367 pvr_gpu_id_to_packed_bvnc(&pvr_dev->gpu_id); in pvr_dev_query_gpu_info_get()
368 gpu_info.num_phantoms = rogue_get_num_phantoms(pvr_dev); in pvr_dev_query_gpu_info_get()
395 pvr_dev_query_runtime_info_get(struct pvr_device *pvr_dev, in pvr_dev_query_runtime_info_get() argument
407 pvr_get_free_list_min_pages(pvr_dev); in pvr_dev_query_runtime_info_get()
411 rogue_get_common_store_alloc_region_size(pvr_dev); in pvr_dev_query_runtime_info_get()
413 rogue_get_common_store_partition_space_size(pvr_dev); in pvr_dev_query_runtime_info_get()
414 runtime_info.max_coeffs = rogue_get_max_coeffs(pvr_dev); in pvr_dev_query_runtime_info_get()
416 rogue_get_cdm_max_local_mem_size_regs(pvr_dev); in pvr_dev_query_runtime_info_get()
451 pvr_dev_query_quirks_get(struct pvr_device *pvr_dev, in pvr_dev_query_quirks_get() argument
488 if (pvr_device_has_uapi_quirk(pvr_dev, umd_quirks_musthave[i])) { in pvr_dev_query_quirks_get()
495 if (pvr_device_has_uapi_quirk(pvr_dev, umd_quirks[i])) in pvr_dev_query_quirks_get()
545 pvr_dev_query_enhancements_get(struct pvr_device *pvr_dev, in pvr_dev_query_enhancements_get() argument
578 if (pvr_device_has_uapi_enhancement(pvr_dev, umd_enhancements[i])) in pvr_dev_query_enhancements_get()
626 struct pvr_device *pvr_dev = to_pvr_device(drm_dev); in pvr_ioctl_dev_query() local
636 ret = pvr_dev_query_gpu_info_get(pvr_dev, args); in pvr_ioctl_dev_query()
640 ret = pvr_dev_query_runtime_info_get(pvr_dev, args); in pvr_ioctl_dev_query()
644 ret = pvr_dev_query_quirks_get(pvr_dev, args); in pvr_ioctl_dev_query()
648 ret = pvr_dev_query_enhancements_get(pvr_dev, args); in pvr_ioctl_dev_query()
652 ret = pvr_heap_info_get(pvr_dev, args); in pvr_ioctl_dev_query()
656 ret = pvr_static_data_areas_get(pvr_dev, args); in pvr_ioctl_dev_query()
928 vm_ctx = pvr_vm_create_context(pvr_file->pvr_dev, true); in pvr_ioctl_create_vm_context()
1015 struct pvr_device *pvr_dev = to_pvr_device(drm_dev); in pvr_ioctl_vm_map() local
1038 !pvr_find_heap_containing(pvr_dev, args->device_addr, args->size)) { in pvr_ioctl_vm_map()
1148 struct pvr_device *pvr_dev = to_pvr_device(drm_dev); in pvr_ioctl_submit_jobs() local
1156 err = pvr_submit_jobs(pvr_dev, pvr_file, args); in pvr_ioctl_submit_jobs()
1312 struct pvr_device *pvr_dev = to_pvr_device(drm_dev); in pvr_drm_driver_open() local
1329 pvr_file->pvr_dev = pvr_dev; in pvr_drm_driver_open()
1402 struct pvr_device *pvr_dev; in pvr_probe() local
1406 pvr_dev = devm_drm_dev_alloc(&plat_dev->dev, &pvr_drm_driver, in pvr_probe()
1408 if (IS_ERR(pvr_dev)) in pvr_probe()
1409 return PTR_ERR(pvr_dev); in pvr_probe()
1411 drm_dev = &pvr_dev->base; in pvr_probe()
1415 err = pvr_power_domains_init(pvr_dev); in pvr_probe()
1419 init_rwsem(&pvr_dev->reset_sem); in pvr_probe()
1421 pvr_context_device_init(pvr_dev); in pvr_probe()
1423 err = pvr_queue_device_init(pvr_dev); in pvr_probe()
1432 pvr_watchdog_init(pvr_dev); in pvr_probe()
1434 err = pvr_device_init(pvr_dev); in pvr_probe()
1442 xa_init_flags(&pvr_dev->free_list_ids, XA_FLAGS_ALLOC1); in pvr_probe()
1443 xa_init_flags(&pvr_dev->job_ids, XA_FLAGS_ALLOC1); in pvr_probe()
1448 pvr_device_fini(pvr_dev); in pvr_probe()
1451 pvr_watchdog_fini(pvr_dev); in pvr_probe()
1453 pvr_queue_device_fini(pvr_dev); in pvr_probe()
1456 pvr_context_device_fini(pvr_dev); in pvr_probe()
1458 pvr_power_domains_fini(pvr_dev); in pvr_probe()
1466 struct pvr_device *pvr_dev = to_pvr_device(drm_dev); in pvr_remove() local
1468 WARN_ON(!xa_empty(&pvr_dev->job_ids)); in pvr_remove()
1469 WARN_ON(!xa_empty(&pvr_dev->free_list_ids)); in pvr_remove()
1471 xa_destroy(&pvr_dev->job_ids); in pvr_remove()
1472 xa_destroy(&pvr_dev->free_list_ids); in pvr_remove()
1475 pvr_device_fini(pvr_dev); in pvr_remove()
1477 pvr_watchdog_fini(pvr_dev); in pvr_remove()
1478 pvr_queue_device_fini(pvr_dev); in pvr_remove()
1479 pvr_context_device_fini(pvr_dev); in pvr_remove()
1480 pvr_power_domains_fini(pvr_dev); in pvr_remove()