| /Linux-v5.4/drivers/gpu/drm/virtio/ |
| D | virtgpu_kms.c | 35 struct virtio_gpu_device *vgdev = in virtio_gpu_config_changed_work_func() local 41 virtio_cread(vgdev->vdev, struct virtio_gpu_config, in virtio_gpu_config_changed_work_func() 44 if (vgdev->has_edid) in virtio_gpu_config_changed_work_func() 45 virtio_gpu_cmd_get_edids(vgdev); in virtio_gpu_config_changed_work_func() 46 virtio_gpu_cmd_get_display_info(vgdev); in virtio_gpu_config_changed_work_func() 47 drm_helper_hpd_irq_event(vgdev->ddev); in virtio_gpu_config_changed_work_func() 50 virtio_cwrite(vgdev->vdev, struct virtio_gpu_config, in virtio_gpu_config_changed_work_func() 54 static int virtio_gpu_context_create(struct virtio_gpu_device *vgdev, in virtio_gpu_context_create() argument 57 int handle = ida_alloc(&vgdev->ctx_id_ida, GFP_KERNEL); in virtio_gpu_context_create() 62 virtio_gpu_cmd_context_create(vgdev, handle, nlen, name); in virtio_gpu_context_create() [all …]
|
| D | virtgpu_vq.c | 46 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_ctrl_ack() local 48 schedule_work(&vgdev->ctrlq.dequeue_work); in virtio_gpu_ctrl_ack() 54 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_cursor_ack() local 56 schedule_work(&vgdev->cursorq.dequeue_work); in virtio_gpu_cursor_ack() 59 int virtio_gpu_alloc_vbufs(struct virtio_gpu_device *vgdev) in virtio_gpu_alloc_vbufs() argument 61 vgdev->vbufs = kmem_cache_create("virtio-gpu-vbufs", in virtio_gpu_alloc_vbufs() 65 if (!vgdev->vbufs) in virtio_gpu_alloc_vbufs() 70 void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev) in virtio_gpu_free_vbufs() argument 72 kmem_cache_destroy(vgdev->vbufs); in virtio_gpu_free_vbufs() 73 vgdev->vbufs = NULL; in virtio_gpu_free_vbufs() [all …]
|
| D | virtgpu_drv.h | 90 typedef void (*virtio_gpu_resp_cb)(struct virtio_gpu_device *vgdev, 232 int virtio_gpu_gem_init(struct virtio_gpu_device *vgdev); 233 void virtio_gpu_gem_fini(struct virtio_gpu_device *vgdev); 255 int virtio_gpu_alloc_vbufs(struct virtio_gpu_device *vgdev); 256 void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev); 257 void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev, 261 void virtio_gpu_cmd_unref_resource(struct virtio_gpu_device *vgdev, 263 void virtio_gpu_cmd_transfer_to_host_2d(struct virtio_gpu_device *vgdev, 269 void virtio_gpu_cmd_resource_flush(struct virtio_gpu_device *vgdev, 273 void virtio_gpu_cmd_set_scanout(struct virtio_gpu_device *vgdev, [all …]
|
| D | virtgpu_ttm.c | 45 struct virtio_gpu_device *vgdev; in virtio_gpu_get_vgdev() local 48 vgdev = container_of(mman, struct virtio_gpu_device, mman); in virtio_gpu_get_vgdev() 49 return vgdev; in virtio_gpu_get_vgdev() 55 struct virtio_gpu_device *vgdev; in virtio_gpu_mmap() local 59 vgdev = file_priv->minor->dev->dev_private; in virtio_gpu_mmap() 60 if (vgdev == NULL) { in virtio_gpu_mmap() 65 r = ttm_bo_mmap(filp, vma, &vgdev->mman.bdev); in virtio_gpu_mmap() 200 struct virtio_gpu_device *vgdev = in virtio_gpu_ttm_tt_bind() local 203 virtio_gpu_object_attach(vgdev, gtt->obj, NULL); in virtio_gpu_ttm_tt_bind() 211 struct virtio_gpu_device *vgdev = in virtio_gpu_ttm_tt_unbind() local [all …]
|
| D | virtgpu_display.c | 85 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_crtc_mode_set_nofb() local 88 virtio_gpu_cmd_set_scanout(vgdev, output->index, 0, in virtio_gpu_crtc_mode_set_nofb() 105 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_crtc_atomic_disable() local 108 virtio_gpu_cmd_set_scanout(vgdev, output->index, 0, 0, 0, 0, 0); in virtio_gpu_crtc_atomic_disable() 250 static int vgdev_output_init(struct virtio_gpu_device *vgdev, int index) in vgdev_output_init() argument 252 struct drm_device *dev = vgdev->ddev; in vgdev_output_init() 253 struct virtio_gpu_output *output = vgdev->outputs + index; in vgdev_output_init() 266 primary = virtio_gpu_plane_init(vgdev, DRM_PLANE_TYPE_PRIMARY, index); in vgdev_output_init() 269 cursor = virtio_gpu_plane_init(vgdev, DRM_PLANE_TYPE_CURSOR, index); in vgdev_output_init() 279 if (vgdev->has_edid) in vgdev_output_init() [all …]
|
| D | virtgpu_ioctl.c | 51 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_map_ioctl() local 54 return virtio_gpu_mode_dumb_mmap(file_priv, vgdev->ddev, in virtio_gpu_map_ioctl() 108 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_execbuffer_ioctl() local 125 if (vgdev->has_virgl_3d == false) in virtio_gpu_execbuffer_ioctl() 146 if (!dma_fence_match_context(in_fence, vgdev->fence_drv.context)) in virtio_gpu_execbuffer_ioctl() 206 out_fence = virtio_gpu_fence_alloc(vgdev); in virtio_gpu_execbuffer_ioctl() 224 virtio_gpu_cmd_submit(vgdev, buf, exbuf->size, in virtio_gpu_execbuffer_ioctl() 253 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_getparam_ioctl() local 259 value = vgdev->has_virgl_3d == true ? 1 : 0; in virtio_gpu_getparam_ioctl() 276 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_resource_create_ioctl() local [all …]
|
| D | virtgpu_object.c | 30 static int virtio_gpu_resource_id_get(struct virtio_gpu_device *vgdev, in virtio_gpu_resource_id_get() argument 34 int handle = ida_alloc(&vgdev->resource_ida, GFP_KERNEL); in virtio_gpu_resource_id_get() 53 static void virtio_gpu_resource_id_put(struct virtio_gpu_device *vgdev, uint32_t id) in virtio_gpu_resource_id_put() argument 56 ida_free(&vgdev->resource_ida, id - 1); in virtio_gpu_resource_id_put() 63 struct virtio_gpu_device *vgdev; in virtio_gpu_ttm_bo_destroy() local 66 vgdev = (struct virtio_gpu_device *)bo->gem_base.dev->dev_private; in virtio_gpu_ttm_bo_destroy() 69 virtio_gpu_cmd_unref_resource(vgdev, bo->hw_res_handle); in virtio_gpu_ttm_bo_destroy() 75 virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); in virtio_gpu_ttm_bo_destroy() 95 int virtio_gpu_object_create(struct virtio_gpu_device *vgdev, in virtio_gpu_object_create() argument 106 acc_size = ttm_bo_dma_acc_size(&vgdev->mman.bdev, params->size, in virtio_gpu_object_create() [all …]
|
| D | virtgpu_debugfs.c | 46 struct virtio_gpu_device *vgdev = node->minor->dev->dev_private; in virtio_gpu_features() local 48 virtio_add_bool(m, "virgl", vgdev->has_virgl_3d); in virtio_gpu_features() 49 virtio_add_bool(m, "edid", vgdev->has_edid); in virtio_gpu_features() 50 virtio_add_int(m, "cap sets", vgdev->num_capsets); in virtio_gpu_features() 51 virtio_add_int(m, "scanouts", vgdev->num_scanouts); in virtio_gpu_features() 59 struct virtio_gpu_device *vgdev = node->minor->dev->dev_private; in virtio_gpu_debugfs_irq_info() local 62 (u64)atomic64_read(&vgdev->fence_drv.last_seq), in virtio_gpu_debugfs_irq_info() 63 vgdev->fence_drv.sync_seq); in virtio_gpu_debugfs_irq_info()
|
| D | virtgpu_fence.c | 69 struct virtio_gpu_fence *virtio_gpu_fence_alloc(struct virtio_gpu_device *vgdev) in virtio_gpu_fence_alloc() argument 71 struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; in virtio_gpu_fence_alloc() 88 void virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev, in virtio_gpu_fence_emit() argument 92 struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; in virtio_gpu_fence_emit() 107 void virtio_gpu_fence_event_process(struct virtio_gpu_device *vgdev, in virtio_gpu_fence_event_process() argument 110 struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; in virtio_gpu_fence_event_process() 115 atomic64_set(&vgdev->fence_drv.last_seq, last_seq); in virtio_gpu_fence_event_process()
|
| D | virtgpu_gem.c | 44 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_alloc_object() local 48 ret = virtio_gpu_object_create(vgdev, params, &obj, fence); in virtio_gpu_alloc_object() 137 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtio_gpu_gem_object_open() local 142 if (!vgdev->has_virgl_3d) in virtio_gpu_gem_object_open() 149 virtio_gpu_cmd_context_attach_resource(vgdev, vfpriv->ctx_id, in virtio_gpu_gem_object_open() 158 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtio_gpu_gem_object_close() local 163 if (!vgdev->has_virgl_3d) in virtio_gpu_gem_object_close() 170 virtio_gpu_cmd_context_detach_resource(vgdev, vfpriv->ctx_id, in virtio_gpu_gem_object_close()
|
| D | virtgpu_plane.c | 94 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_primary_plane_update() local 113 (vgdev, bo, 0, in virtio_gpu_primary_plane_update() 130 virtio_gpu_cmd_set_scanout(vgdev, output->index, handle, in virtio_gpu_primary_plane_update() 136 virtio_gpu_cmd_resource_flush(vgdev, handle, in virtio_gpu_primary_plane_update() 147 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_cursor_prepare_fb() local 157 vgfb->fence = virtio_gpu_fence_alloc(vgdev); in virtio_gpu_cursor_prepare_fb() 184 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_cursor_plane_update() local 209 (vgdev, bo, 0, in virtio_gpu_cursor_plane_update() 251 virtio_gpu_cursor_ping(vgdev, output); in virtio_gpu_cursor_plane_update() 266 struct drm_plane *virtio_gpu_plane_init(struct virtio_gpu_device *vgdev, in virtio_gpu_plane_init() argument [all …]
|
| D | virtgpu_drv.c | 147 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_config_changed() local 149 schedule_work(&vgdev->config_changed_work); in virtio_gpu_config_changed()
|