| /linux/drivers/gpu/drm/virtio/ |
| H A D | virtgpu_kms.c | 38 struct virtio_gpu_device *vgdev = in virtio_gpu_config_changed_work_func() local 44 virtio_cread_le(vgdev->vdev, struct virtio_gpu_config, in virtio_gpu_config_changed_work_func() 47 if (vgdev->num_scanouts) { in virtio_gpu_config_changed_work_func() 48 if (vgdev->has_edid) in virtio_gpu_config_changed_work_func() 49 virtio_gpu_cmd_get_edids(vgdev); in virtio_gpu_config_changed_work_func() 50 virtio_gpu_cmd_get_display_info(vgdev); in virtio_gpu_config_changed_work_func() 51 virtio_gpu_notify(vgdev); in virtio_gpu_config_changed_work_func() 52 drm_helper_hpd_irq_event(vgdev->ddev); in virtio_gpu_config_changed_work_func() 56 virtio_cwrite_le(vgdev->vdev, struct virtio_gpu_config, in virtio_gpu_config_changed_work_func() 68 static void virtio_gpu_get_capsets(struct virtio_gpu_device *vgdev, in virtio_gpu_get_capsets() argument 124 struct virtio_gpu_device *vgdev; virtio_gpu_init() local 271 virtio_gpu_cleanup_cap_cache(struct virtio_gpu_device * vgdev) virtio_gpu_cleanup_cap_cache() argument 283 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_deinit() local 295 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_release() local 310 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_driver_open() local 338 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_driver_postclose() local [all...] |
| H A D | virtgpu_vq.c | 60 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 D | virtgpu_ioctl.c | 42 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 in virtio_gpu_getparam_ioctl() 132 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_resource_create_ioctl() local 227 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_transfer_from_host_ioctl() local 282 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_transfer_to_host_ioctl() local 371 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_get_caps_ioctl() local 439 verify_blob(struct virtio_gpu_device * vgdev,struct virtio_gpu_fpriv * vfpriv,struct virtio_gpu_object_params * params,struct drm_virtgpu_resource_create_blob * rc_blob,bool * guest_blob,bool * host3d_blob) verify_blob() argument 506 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_resource_create_blob_ioctl() local 582 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_context_init_ioctl() local [all...] |
| H A D | virtgpu_object.c | 36 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_cleanup_object() local 70 virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); in virtio_gpu_cleanup_object() 76 spin_lock(&vgdev->host_visible_lock); in virtio_gpu_cleanup_object() 80 spin_unlock(&vgdev->host_visible_lock); in virtio_gpu_cleanup_object() 94 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_free_object() local 97 virtio_gpu_cmd_unref_resource(vgdev, bo); in virtio_gpu_free_object() [all …]
|
| H A D | virtgpu_drv.h | 133 typedef void (*virtio_gpu_resp_cb)(struct virtio_gpu_device *vgdev, 328 void virtio_gpu_array_put_free_delayed(struct virtio_gpu_device *vgdev, 333 int virtio_gpu_alloc_vbufs(struct virtio_gpu_device *vgdev); 334 void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev); 335 void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev, 340 void virtio_gpu_cmd_unref_resource(struct virtio_gpu_device *vgdev, 342 int virtio_gpu_panic_cmd_transfer_to_host_2d(struct virtio_gpu_device *vgdev, 347 void virtio_gpu_cmd_transfer_to_host_2d(struct virtio_gpu_device *vgdev, 353 void virtio_gpu_panic_cmd_resource_flush(struct virtio_gpu_device *vgdev, 357 void virtio_gpu_cmd_resource_flush(struct virtio_gpu_device *vgdev, [all...] |
| H A D | virtgpu_gem.c | 37 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 D | virtgpu_display.c | 94 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_PRIMAR in vgdev_output_init() 359 virtio_gpu_modeset_init(struct virtio_gpu_device * vgdev) virtio_gpu_modeset_init() argument 392 virtio_gpu_modeset_fini(struct virtio_gpu_device * vgdev) virtio_gpu_modeset_fini() argument [all...] |
| H A D | virtgpu_vram.c | 11 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtio_gpu_vram_free() 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() 23 virtio_gpu_cmd_unref_resource(vgdev, bo); in virtio_gpu_vram_free() 24 virtio_gpu_notify(vgdev); in virtio_gpu_vram_free() 38 struct virtio_gpu_device *vgdev = obj->dev->dev_private; in virtio_gpu_vram_mmap() 50 virtio_gpu_notify(vgdev); in virtio_gpu_vram_mmap() 52 wait_event(vgdev->resp_wq, vram->map_state != STATE_INITIALIZING); in virtio_gpu_vram_mmap() 83 struct virtio_gpu_device *vgdev in virtio_gpu_vram_map_dma_buf() 9 struct virtio_gpu_device *vgdev = obj->dev->dev_private; virtio_gpu_vram_free() local 36 struct virtio_gpu_device *vgdev = obj->dev->dev_private; virtio_gpu_vram_mmap() local 76 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; virtio_gpu_vram_map_dma_buf() local 149 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; virtio_gpu_vram_map() local 188 virtio_gpu_vram_create(struct virtio_gpu_device * vgdev,struct virtio_gpu_object_params * params,struct virtio_gpu_object ** bo_ptr) virtio_gpu_vram_create() argument [all...] |
| H A D | virtgpu_plane.c | 134 static int virtio_gpu_panic_update_dumb_bo(struct virtio_gpu_device *vgdev, in virtio_gpu_panic_update_dumb_bo() argument 153 return virtio_gpu_panic_cmd_transfer_to_host_2d(vgdev, off, w, h, x, y, in virtio_gpu_panic_update_dumb_bo() 157 static void virtio_gpu_update_dumb_bo(struct virtio_gpu_device *vgdev, in virtio_gpu_update_dumb_bo() argument 176 virtio_gpu_cmd_transfer_to_host_2d(vgdev, off, w, h, x, y, in virtio_gpu_update_dumb_bo() 186 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_panic_resource_flush() local 193 virtio_gpu_panic_cmd_resource_flush(vgdev, bo->hw_res_handle, x, y, in virtio_gpu_panic_resource_flush() 195 virtio_gpu_panic_notify(vgdev); in virtio_gpu_panic_resource_flush() 203 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_resource_flush() local 222 virtio_gpu_cmd_resource_flush(vgdev, bo->hw_res_handle, x, y, in virtio_gpu_resource_flush() 225 virtio_gpu_notify(vgdev); in virtio_gpu_resource_flush() 241 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_primary_plane_update() local 315 struct virtio_gpu_device *vgdev = plane->dev->dev_private; virtio_gpu_prepare_imported_obj() local 353 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_plane_prepare_fb() local 434 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_cursor_plane_update() local 543 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_panic_flush() local 582 virtio_gpu_plane_init(struct virtio_gpu_device * vgdev,enum drm_plane_type type,int index) virtio_gpu_plane_init() argument [all...] |
| H A D | virtgpu_fence.c | 58 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 D | virtgpu_submit.c | 39 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); 376 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_init_submit() 393 out_fence = virtio_gpu_fence_alloc(vgdev, fence_ctx, ring_idx); in virtio_gpu_init_submit() 410 submit->vgdev = vgdev; in virtio_gpu_init_submit() 478 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_execbuffer_ioctl() 480 u64 fence_ctx = vgdev->fence_drv.context; in virtio_gpu_execbuffer_ioctl() 486 if (!vgdev in virtio_gpu_execbuffer_ioctl() 374 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_init_submit() local 476 struct virtio_gpu_device *vgdev = dev->dev_private; virtio_gpu_execbuffer_ioctl() local [all...] |