Home
last modified time | relevance | path

Searched refs:vgdev (Results 1 – 12 of 12) sorted by relevance

/linux/drivers/gpu/drm/virtio/
H A Dvirtgpu_kms.c39 struct virtio_gpu_device *vgdev = in virtio_gpu_config_changed_work_func() local
45 virtio_cread_le(vgdev->vdev, struct virtio_gpu_config, in virtio_gpu_config_changed_work_func()
48 if (vgdev->num_scanouts) { in virtio_gpu_config_changed_work_func()
49 if (vgdev->has_edid) in virtio_gpu_config_changed_work_func()
50 virtio_gpu_cmd_get_edids(vgdev); in virtio_gpu_config_changed_work_func()
51 virtio_gpu_cmd_get_display_info(vgdev); in virtio_gpu_config_changed_work_func()
52 virtio_gpu_notify(vgdev); in virtio_gpu_config_changed_work_func()
53 wait_event_timeout(vgdev->resp_wq, in virtio_gpu_config_changed_work_func()
54 !vgdev->display_info_pending, in virtio_gpu_config_changed_work_func()
56 drm_kms_helper_hotplug_event(vgdev->ddev); in virtio_gpu_config_changed_work_func()
[all …]
H A Dvirtgpu_vq.c60 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_ctrl_ack() local
62 schedule_work(&vgdev->ctrlq.dequeue_work); in virtio_gpu_ctrl_ack()
68 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_cursor_ack() local
70 schedule_work(&vgdev->cursorq.dequeue_work); in virtio_gpu_cursor_ack()
73 int virtio_gpu_alloc_vbufs(struct virtio_gpu_device *vgdev) in virtio_gpu_alloc_vbufs() argument
75 vgdev->vbufs = kmem_cache_create("virtio-gpu-vbufs", in virtio_gpu_alloc_vbufs()
79 if (!vgdev->vbufs) in virtio_gpu_alloc_vbufs()
84 void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev) in virtio_gpu_free_vbufs() argument
86 kmem_cache_destroy(vgdev->vbufs); in virtio_gpu_free_vbufs()
87 vgdev->vbufs = NULL; in virtio_gpu_free_vbufs()
[all …]
H A Dvirtgpu_object.c36 int virtio_gpu_resource_id_get(struct virtio_gpu_device *vgdev, uint32_t *resid) in virtio_gpu_resource_id_get() argument
51 int handle = ida_alloc(&vgdev->resource_ida, GFP_KERNEL); in virtio_gpu_resource_id_get()
60 static void virtio_gpu_resource_id_put(struct virtio_gpu_device *vgdev, uint32_t id) in virtio_gpu_resource_id_put() argument
63 ida_free(&vgdev->resource_ida, id - 1); in virtio_gpu_resource_id_put()
68 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_remove_from_restore_list() local
70 mutex_lock(&vgdev->obj_restore_lock); in virtio_gpu_remove_from_restore_list()
72 mutex_unlock(&vgdev->obj_restore_lock); in virtio_gpu_remove_from_restore_list()
77 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_cleanup_object() local
79 virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); in virtio_gpu_cleanup_object()
85 spin_lock(&vgdev->host_visible_lock); in virtio_gpu_cleanup_object()
[all …]
H A Dvirtgpu_ioctl.c42 static void virtio_gpu_create_context_locked(struct virtio_gpu_device *vgdev, in virtio_gpu_create_context_locked() argument
46 virtio_gpu_cmd_context_create(vgdev, vfpriv->ctx_id, in virtio_gpu_create_context_locked()
54 virtio_gpu_cmd_context_create(vgdev, vfpriv->ctx_id, in virtio_gpu_create_context_locked()
64 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_create_context() local
71 virtio_gpu_create_context_locked(vgdev, vfpriv); in virtio_gpu_create_context()
80 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_map_ioctl() local
83 return drm_gem_dumb_map_offset(file, vgdev->ddev, in virtio_gpu_map_ioctl()
91 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_getparam_ioctl() local
97 value = vgdev->has_virgl_3d ? 1 : 0; in virtio_gpu_getparam_ioctl()
103 value = vgdev->has_resource_blob ? 1 : 0; in virtio_gpu_getparam_ioctl()
[all …]
H A Dvirtgpu_drv.h159 typedef void (*virtio_gpu_resp_cb)(struct virtio_gpu_device *vgdev,
341 int virtio_gpu_find_vqs(struct virtio_gpu_device *vgdev);
364 void virtio_gpu_array_put_free_delayed(struct virtio_gpu_device *vgdev,
369 int virtio_gpu_alloc_vbufs(struct virtio_gpu_device *vgdev);
370 void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev);
371 void virtio_gpu_reclaim_vbufs(struct virtio_gpu_device *vgdev);
372 void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev,
377 void virtio_gpu_cmd_unref_resource(struct virtio_gpu_device *vgdev,
380 int virtio_gpu_panic_cmd_transfer_to_host_2d(struct virtio_gpu_device *vgdev,
385 void virtio_gpu_cmd_transfer_to_host_2d(struct virtio_gpu_device *vgdev,
[all …]
H A Dvirtgpu_display.c94 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_crtc_mode_set_nofb() local
97 virtio_gpu_cmd_set_scanout(vgdev, output->index, 0, in virtio_gpu_crtc_mode_set_nofb()
100 virtio_gpu_notify(vgdev); in virtio_gpu_crtc_mode_set_nofb()
113 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_crtc_atomic_disable() local
118 virtio_gpu_cmd_set_scanout(vgdev, output->index, 0, 0, 0, 0, 0); in virtio_gpu_crtc_atomic_disable()
119 virtio_gpu_notify(vgdev); in virtio_gpu_crtc_atomic_disable()
274 static int vgdev_output_init(struct virtio_gpu_device *vgdev, int index) in vgdev_output_init() argument
276 struct drm_device *dev = vgdev->ddev; in vgdev_output_init()
277 struct virtio_gpu_output *output = vgdev->outputs + index; in vgdev_output_init()
291 primary = virtio_gpu_plane_init(vgdev, DRM_PLANE_TYPE_PRIMARY, index); in vgdev_output_init()
[all …]
H A Dvirtgpu_gem.c37 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_gem_create() local
42 ret = virtio_gpu_object_create(vgdev, params, &obj, NULL); in virtio_gpu_gem_create()
67 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_mode_dumb_create() local
84 if (vgdev->has_resource_blob && !vgdev->has_virgl_3d) { in virtio_gpu_mode_dumb_create()
105 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtio_gpu_gem_object_open() local
109 if (!vgdev->has_virgl_3d) in virtio_gpu_gem_object_open()
115 if (!vgdev->has_context_init) in virtio_gpu_gem_object_open()
124 virtio_gpu_cmd_context_attach_resource(vgdev, vfpriv->ctx_id, objs); in virtio_gpu_gem_object_open()
128 virtio_gpu_notify(vgdev); in virtio_gpu_gem_object_open()
135 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtio_gpu_gem_object_close() local
[all …]
H A Dvirtgpu_vram.c11 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtio_gpu_vram_free() local
16 spin_lock(&vgdev->host_visible_lock); in virtio_gpu_vram_free()
18 spin_unlock(&vgdev->host_visible_lock); in virtio_gpu_vram_free()
21 virtio_gpu_cmd_unmap(vgdev, bo); in virtio_gpu_vram_free()
24 virtio_gpu_cmd_unref_resource(vgdev, bo, false); in virtio_gpu_vram_free()
25 virtio_gpu_notify(vgdev); in virtio_gpu_vram_free()
39 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtio_gpu_vram_mmap() local
51 virtio_gpu_notify(vgdev); in virtio_gpu_vram_mmap()
53 wait_event(vgdev->resp_wq, vram->map_state != STATE_INITIALIZING); in virtio_gpu_vram_mmap()
84 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_vram_map_dma_buf() local
[all …]
H A Dvirtgpu_plane.c135 static int virtio_gpu_panic_update_dumb_bo(struct virtio_gpu_device *vgdev, in virtio_gpu_panic_update_dumb_bo() argument
154 return virtio_gpu_panic_cmd_transfer_to_host_2d(vgdev, off, w, h, x, y, in virtio_gpu_panic_update_dumb_bo()
158 static void virtio_gpu_update_dumb_bo(struct virtio_gpu_device *vgdev, in virtio_gpu_update_dumb_bo() argument
177 virtio_gpu_cmd_transfer_to_host_2d(vgdev, off, w, h, x, y, in virtio_gpu_update_dumb_bo()
187 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_panic_resource_flush() local
194 virtio_gpu_panic_cmd_resource_flush(vgdev, bo->hw_res_handle, x, y, in virtio_gpu_panic_resource_flush()
196 virtio_gpu_panic_notify(vgdev); in virtio_gpu_panic_resource_flush()
204 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_resource_flush() local
223 virtio_gpu_cmd_resource_flush(vgdev, bo->hw_res_handle, x, y, in virtio_gpu_resource_flush()
226 virtio_gpu_notify(vgdev); in virtio_gpu_resource_flush()
[all …]
H A Dvirtgpu_prime.c38 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtgpu_virtio_get_uuid() local
40 wait_event(vgdev->resp_wq, bo->uuid_state != STATE_INITIALIZING); in virtgpu_virtio_get_uuid()
92 int virtio_gpu_resource_assign_uuid(struct virtio_gpu_device *vgdev, in virtio_gpu_resource_assign_uuid() argument
103 return virtio_gpu_cmd_resource_assign_uuid(vgdev, objs); in virtio_gpu_resource_assign_uuid()
111 struct virtio_gpu_device *vgdev = dev->dev_private; in virtgpu_gem_prime_export() local
118 if (vgdev->has_resource_assign_uuid) { in virtgpu_gem_prime_export()
119 ret = virtio_gpu_resource_assign_uuid(vgdev, bo); in virtgpu_gem_prime_export()
123 virtio_gpu_notify(vgdev); in virtgpu_gem_prime_export()
205 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtgpu_dma_buf_free_obj() local
221 virtio_gpu_cmd_unref_resource(vgdev, bo, false); in virtgpu_dma_buf_free_obj()
[all …]
H A Dvirtgpu_fence.c58 struct virtio_gpu_fence *virtio_gpu_fence_alloc(struct virtio_gpu_device *vgdev, in virtio_gpu_fence_alloc() argument
63 struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; in virtio_gpu_fence_alloc()
84 void virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev, in virtio_gpu_fence_emit() argument
88 struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; in virtio_gpu_fence_emit()
110 void virtio_gpu_fence_event_process(struct virtio_gpu_device *vgdev, in virtio_gpu_fence_event_process() argument
113 struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; in virtio_gpu_fence_event_process()
118 atomic64_set(&vgdev->fence_drv.last_fence_id, fence_id); in virtio_gpu_fence_event_process()
139 drm_send_event(vgdev->ddev, &curr->e->base); in virtio_gpu_fence_event_process()
149 drm_send_event(vgdev->ddev, &signaled->e->base); in virtio_gpu_fence_event_process()
H A Dvirtgpu_submit.c39 struct virtio_gpu_device *vgdev; member
355 virtio_gpu_cmd_submit(submit->vgdev, submit->buf, submit->exbuf->size, in virtio_gpu_submit()
358 virtio_gpu_notify(submit->vgdev); in virtio_gpu_submit()
376 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_init_submit() local
393 out_fence = virtio_gpu_fence_alloc(vgdev, fence_ctx, ring_idx); in virtio_gpu_init_submit()
413 submit->vgdev = vgdev; in virtio_gpu_init_submit()
481 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_execbuffer_ioctl() local
483 u64 fence_ctx = vgdev->fence_drv.context; in virtio_gpu_execbuffer_ioctl()
489 if (!vgdev->has_virgl_3d) in virtio_gpu_execbuffer_ioctl()