Lines Matching refs:vdev

39 	struct ivpu_device *vdev = file_priv->vdev;  in ivpu_ms_start_ioctl()  local
49 ret = ivpu_rpm_get(vdev); in ivpu_ms_start_ioctl()
56 ivpu_dbg(vdev, IOCTL, "Instance already exists (mask %#llx)\n", in ivpu_ms_start_ioctl()
70 ret = ivpu_jsm_metric_streamer_info(vdev, ms->mask, 0, 0, &sample_size, NULL); in ivpu_ms_start_ioctl()
76 if (buf_size > ivpu_hw_range_size(&vdev->hw->ranges.global)) { in ivpu_ms_start_ioctl()
77 ivpu_dbg(vdev, IOCTL, "Requested MS buffer size %llu exceeds range size %llu\n", in ivpu_ms_start_ioctl()
78 buf_size, ivpu_hw_range_size(&vdev->hw->ranges.global)); in ivpu_ms_start_ioctl()
83 ms->bo = ivpu_bo_create_global(vdev, buf_size, DRM_IVPU_BO_CACHED | DRM_IVPU_BO_MAPPABLE); in ivpu_ms_start_ioctl()
85 ivpu_dbg(vdev, IOCTL, "Failed to allocate MS buffer (size %llu)\n", buf_size); in ivpu_ms_start_ioctl()
96 ret = ivpu_jsm_metric_streamer_start(vdev, ms->mask, args->sampling_period_ns, in ivpu_ms_start_ioctl()
113 ivpu_rpm_put(vdev); in ivpu_ms_start_ioctl()
137 copy_samples_to_user(struct ivpu_device *vdev, struct ivpu_ms_instance *ms, in copy_samples_to_user() argument
152 ret = ivpu_jsm_metric_streamer_update(vdev, ms->mask, ms->inactive_buff_vpu_addr, in copy_samples_to_user()
170 struct ivpu_device *vdev = file_priv->vdev; in ivpu_ms_get_data_ioctl() local
178 ret = ivpu_rpm_get(vdev); in ivpu_ms_get_data_ioctl()
186 ivpu_dbg(vdev, IOCTL, "Instance doesn't exist for mask: %#llx\n", in ivpu_ms_get_data_ioctl()
193 ret = ivpu_jsm_metric_streamer_update(vdev, ms->mask, 0, 0, &bytes_written); in ivpu_ms_get_data_ioctl()
205 ret = copy_samples_to_user(vdev, ms, u64_to_user_ptr(args->buffer_ptr), in ivpu_ms_get_data_ioctl()
210 ivpu_rpm_put(vdev); in ivpu_ms_get_data_ioctl()
219 ivpu_jsm_metric_streamer_stop(file_priv->vdev, ms->mask); in free_instance()
228 struct ivpu_device *vdev = file_priv->vdev; in ivpu_ms_stop_ioctl() local
235 ret = ivpu_rpm_get(vdev); in ivpu_ms_stop_ioctl()
247 ivpu_rpm_put(vdev); in ivpu_ms_stop_ioctl()
258 file_priv->ms_info_bo = ivpu_bo_create_global(file_priv->vdev, MS_INFO_BUFFER_SIZE, in get_ms_info_bo()
267 struct ivpu_device *vdev = file_priv->vdev; in ivpu_ms_get_info_ioctl() local
276 return ivpu_jsm_metric_streamer_info(vdev, args->metric_group_mask, in ivpu_ms_get_info_ioctl()
289 ret = ivpu_jsm_metric_streamer_info(vdev, args->metric_group_mask, bo->vpu_addr, in ivpu_ms_get_info_ioctl()
295 ivpu_warn_ratelimited(vdev, "MS info overflow: %#llx > %#zx\n", in ivpu_ms_get_info_ioctl()
319 struct ivpu_device *vdev = file_priv->vdev; in ivpu_ms_cleanup() local
321 pm_runtime_get_sync(vdev->drm.dev); in ivpu_ms_cleanup()
335 pm_runtime_put_autosuspend(vdev->drm.dev); in ivpu_ms_cleanup()
338 void ivpu_ms_cleanup_all(struct ivpu_device *vdev) in ivpu_ms_cleanup_all() argument
343 mutex_lock(&vdev->context_list_lock); in ivpu_ms_cleanup_all()
345 xa_for_each(&vdev->context_xa, ctx_id, file_priv) in ivpu_ms_cleanup_all()
348 mutex_unlock(&vdev->context_list_lock); in ivpu_ms_cleanup_all()