Home
last modified time | relevance | path

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

/netbsd-src/sys/external/bsd/drm2/dist/drm/virtio/
H A Dvirtgpu_kms.c40 struct virtio_gpu_device *vgdev = in virtio_gpu_config_changed_work_func() local
46 virtio_cread(vgdev->vdev, struct virtio_gpu_config, 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 drm_helper_hpd_irq_event(vgdev->ddev); in virtio_gpu_config_changed_work_func()
55 virtio_cwrite(vgdev->vdev, struct virtio_gpu_config, in virtio_gpu_config_changed_work_func()
59 static int virtio_gpu_context_create(struct virtio_gpu_device *vgdev, in virtio_gpu_context_create() argument
62 int handle = ida_alloc(&vgdev->ctx_id_ida, GFP_KERNEL); in virtio_gpu_context_create()
67 virtio_gpu_cmd_context_create(vgdev, handle, nlen, name); in virtio_gpu_context_create()
[all …]
H A Dvirtgpu_vq.c62 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_ctrl_ack() local
64 schedule_work(&vgdev->ctrlq.dequeue_work); in virtio_gpu_ctrl_ack()
70 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_cursor_ack() local
72 schedule_work(&vgdev->cursorq.dequeue_work); in virtio_gpu_cursor_ack()
75 int virtio_gpu_alloc_vbufs(struct virtio_gpu_device *vgdev) in virtio_gpu_alloc_vbufs() argument
77 vgdev->vbufs = kmem_cache_create("virtio-gpu-vbufs", in virtio_gpu_alloc_vbufs()
81 if (!vgdev->vbufs) in virtio_gpu_alloc_vbufs()
86 void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev) in virtio_gpu_free_vbufs() argument
88 kmem_cache_destroy(vgdev->vbufs); in virtio_gpu_free_vbufs()
89 vgdev->vbufs = NULL; in virtio_gpu_free_vbufs()
[all …]
H A Dvirtgpu_drv.h92 typedef void (*virtio_gpu_resp_cb)(struct virtio_gpu_device *vgdev,
226 int virtio_gpu_gem_init(struct virtio_gpu_device *vgdev);
227 void virtio_gpu_gem_fini(struct virtio_gpu_device *vgdev);
254 void virtio_gpu_array_put_free_delayed(struct virtio_gpu_device *vgdev,
259 int virtio_gpu_alloc_vbufs(struct virtio_gpu_device *vgdev);
260 void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev);
261 void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev,
266 void virtio_gpu_cmd_unref_resource(struct virtio_gpu_device *vgdev,
268 void virtio_gpu_cmd_transfer_to_host_2d(struct virtio_gpu_device *vgdev,
274 void virtio_gpu_cmd_resource_flush(struct virtio_gpu_device *vgdev,
[all …]
H A Dvirtgpu_ioctl.c44 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_map_ioctl() local
47 return virtio_gpu_mode_dumb_mmap(file_priv, vgdev->ddev, in virtio_gpu_map_ioctl()
62 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_execbuffer_ioctl() local
74 if (vgdev->has_virgl_3d == false) in virtio_gpu_execbuffer_ioctl()
95 if (!dma_fence_match_context(in_fence, vgdev->fence_drv.context)) in virtio_gpu_execbuffer_ioctl()
146 out_fence = virtio_gpu_fence_alloc(vgdev); in virtio_gpu_execbuffer_ioctl()
164 virtio_gpu_cmd_submit(vgdev, buf, exbuf->size, in virtio_gpu_execbuffer_ioctl()
187 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_getparam_ioctl() local
193 value = vgdev->has_virgl_3d == true ? 1 : 0; in virtio_gpu_getparam_ioctl()
210 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_resource_create_ioctl() local
[all …]
H A Dvirtgpu_display.c93 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_crtc_mode_set_nofb() local
96 virtio_gpu_cmd_set_scanout(vgdev, output->index, 0, in virtio_gpu_crtc_mode_set_nofb()
113 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_crtc_atomic_disable() local
116 virtio_gpu_cmd_set_scanout(vgdev, output->index, 0, 0, 0, 0, 0); in virtio_gpu_crtc_atomic_disable()
258 static int vgdev_output_init(struct virtio_gpu_device *vgdev, int index) in vgdev_output_init() argument
260 struct drm_device *dev = vgdev->ddev; in vgdev_output_init()
261 struct virtio_gpu_output *output = vgdev->outputs + index; in vgdev_output_init()
274 primary = virtio_gpu_plane_init(vgdev, DRM_PLANE_TYPE_PRIMARY, index); in vgdev_output_init()
277 cursor = virtio_gpu_plane_init(vgdev, DRM_PLANE_TYPE_CURSOR, index); in vgdev_output_init()
287 if (vgdev->has_edid) in vgdev_output_init()
[all …]
H A Dvirtgpu_object.c38 static int virtio_gpu_resource_id_get(struct virtio_gpu_device *vgdev, in virtio_gpu_resource_id_get() argument
54 int handle = ida_alloc(&vgdev->resource_ida, GFP_KERNEL); in virtio_gpu_resource_id_get()
62 static void virtio_gpu_resource_id_put(struct virtio_gpu_device *vgdev, uint32_t id) in virtio_gpu_resource_id_put() argument
65 ida_free(&vgdev->resource_ida, id - 1); in virtio_gpu_resource_id_put()
72 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_free_object() local
75 virtio_gpu_object_detach(vgdev, bo); in virtio_gpu_free_object()
77 virtio_gpu_cmd_unref_resource(vgdev, bo->hw_res_handle); in virtio_gpu_free_object()
78 virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); in virtio_gpu_free_object()
110 int virtio_gpu_object_create(struct virtio_gpu_device *vgdev, in virtio_gpu_object_create() argument
123 shmem_obj = drm_gem_shmem_create(vgdev->ddev, params->size); in virtio_gpu_object_create()
[all …]
H A Dvirtgpu_gem.c42 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_gem_create() local
47 ret = virtio_gpu_object_create(vgdev, params, &obj, NULL); in virtio_gpu_gem_create()
117 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtio_gpu_gem_object_open() local
121 if (!vgdev->has_virgl_3d) in virtio_gpu_gem_object_open()
129 virtio_gpu_cmd_context_attach_resource(vgdev, vfpriv->ctx_id, in virtio_gpu_gem_object_open()
137 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtio_gpu_gem_object_close() local
141 if (!vgdev->has_virgl_3d) in virtio_gpu_gem_object_close()
149 virtio_gpu_cmd_context_detach_resource(vgdev, vfpriv->ctx_id, in virtio_gpu_gem_object_close()
246 void virtio_gpu_array_put_free_delayed(struct virtio_gpu_device *vgdev, in virtio_gpu_array_put_free_delayed() argument
249 spin_lock(&vgdev->obj_free_lock); in virtio_gpu_array_put_free_delayed()
[all …]
H A Dvirtgpu_debugfs.c51 struct virtio_gpu_device *vgdev = node->minor->dev->dev_private; in virtio_gpu_features() local
53 virtio_add_bool(m, "virgl", vgdev->has_virgl_3d); in virtio_gpu_features()
54 virtio_add_bool(m, "edid", vgdev->has_edid); in virtio_gpu_features()
55 virtio_add_int(m, "cap sets", vgdev->num_capsets); in virtio_gpu_features()
56 virtio_add_int(m, "scanouts", vgdev->num_scanouts); in virtio_gpu_features()
64 struct virtio_gpu_device *vgdev = node->minor->dev->dev_private; in virtio_gpu_debugfs_irq_info() local
67 (u64)atomic64_read(&vgdev->fence_drv.last_seq), in virtio_gpu_debugfs_irq_info()
68 vgdev->fence_drv.sync_seq); in virtio_gpu_debugfs_irq_info()
H A Dvirtgpu_plane.c111 static void virtio_gpu_update_dumb_bo(struct virtio_gpu_device *vgdev, in virtio_gpu_update_dumb_bo() argument
130 virtio_gpu_cmd_transfer_to_host_2d(vgdev, off, w, h, x, y, in virtio_gpu_update_dumb_bo()
138 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_primary_plane_update() local
152 virtio_gpu_cmd_set_scanout(vgdev, output->index, 0, in virtio_gpu_primary_plane_update()
162 virtio_gpu_disable_notify(vgdev); in virtio_gpu_primary_plane_update()
166 virtio_gpu_update_dumb_bo(vgdev, plane->state, &rect); in virtio_gpu_primary_plane_update()
181 virtio_gpu_cmd_set_scanout(vgdev, output->index, in virtio_gpu_primary_plane_update()
189 virtio_gpu_cmd_resource_flush(vgdev, bo->hw_res_handle, in virtio_gpu_primary_plane_update()
195 virtio_gpu_enable_notify(vgdev); in virtio_gpu_primary_plane_update()
202 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_cursor_prepare_fb() local
[all …]
H A Dvirtgpu_fence.c81 struct virtio_gpu_fence *virtio_gpu_fence_alloc(struct virtio_gpu_device *vgdev) in virtio_gpu_fence_alloc() argument
83 struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; in virtio_gpu_fence_alloc()
100 void virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev, in virtio_gpu_fence_emit() argument
104 struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; in virtio_gpu_fence_emit()
119 void virtio_gpu_fence_event_process(struct virtio_gpu_device *vgdev, in virtio_gpu_fence_event_process() argument
122 struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; in virtio_gpu_fence_event_process()
127 atomic64_set(&vgdev->fence_drv.last_seq, last_seq); in virtio_gpu_fence_event_process()
H A Dvirtgpu_drv.c151 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_config_changed() local
153 schedule_work(&vgdev->config_changed_work); in virtio_gpu_config_changed()