vgdev 46 drivers/gpu/drm/virtio/virtgpu_debugfs.c struct virtio_gpu_device *vgdev = node->minor->dev->dev_private; vgdev 48 drivers/gpu/drm/virtio/virtgpu_debugfs.c virtio_add_bool(m, "virgl", vgdev->has_virgl_3d); vgdev 49 drivers/gpu/drm/virtio/virtgpu_debugfs.c virtio_add_bool(m, "edid", vgdev->has_edid); vgdev 50 drivers/gpu/drm/virtio/virtgpu_debugfs.c virtio_add_int(m, "cap sets", vgdev->num_capsets); vgdev 51 drivers/gpu/drm/virtio/virtgpu_debugfs.c virtio_add_int(m, "scanouts", vgdev->num_scanouts); vgdev 59 drivers/gpu/drm/virtio/virtgpu_debugfs.c struct virtio_gpu_device *vgdev = node->minor->dev->dev_private; vgdev 62 drivers/gpu/drm/virtio/virtgpu_debugfs.c (u64)atomic64_read(&vgdev->fence_drv.last_seq), vgdev 63 drivers/gpu/drm/virtio/virtgpu_debugfs.c vgdev->fence_drv.sync_seq); vgdev 85 drivers/gpu/drm/virtio/virtgpu_display.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 88 drivers/gpu/drm/virtio/virtgpu_display.c virtio_gpu_cmd_set_scanout(vgdev, output->index, 0, vgdev 105 drivers/gpu/drm/virtio/virtgpu_display.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 108 drivers/gpu/drm/virtio/virtgpu_display.c virtio_gpu_cmd_set_scanout(vgdev, output->index, 0, 0, 0, 0, 0); vgdev 250 drivers/gpu/drm/virtio/virtgpu_display.c static int vgdev_output_init(struct virtio_gpu_device *vgdev, int index) vgdev 252 drivers/gpu/drm/virtio/virtgpu_display.c struct drm_device *dev = vgdev->ddev; vgdev 253 drivers/gpu/drm/virtio/virtgpu_display.c struct virtio_gpu_output *output = vgdev->outputs + index; vgdev 266 drivers/gpu/drm/virtio/virtgpu_display.c primary = virtio_gpu_plane_init(vgdev, DRM_PLANE_TYPE_PRIMARY, index); vgdev 269 drivers/gpu/drm/virtio/virtgpu_display.c cursor = virtio_gpu_plane_init(vgdev, DRM_PLANE_TYPE_CURSOR, index); vgdev 279 drivers/gpu/drm/virtio/virtgpu_display.c if (vgdev->has_edid) vgdev 348 drivers/gpu/drm/virtio/virtgpu_display.c void virtio_gpu_modeset_init(struct virtio_gpu_device *vgdev) vgdev 352 drivers/gpu/drm/virtio/virtgpu_display.c drm_mode_config_init(vgdev->ddev); vgdev 353 drivers/gpu/drm/virtio/virtgpu_display.c vgdev->ddev->mode_config.quirk_addfb_prefer_host_byte_order = true; vgdev 354 drivers/gpu/drm/virtio/virtgpu_display.c vgdev->ddev->mode_config.funcs = &virtio_gpu_mode_funcs; vgdev 355 drivers/gpu/drm/virtio/virtgpu_display.c vgdev->ddev->mode_config.helper_private = &virtio_mode_config_helpers; vgdev 358 drivers/gpu/drm/virtio/virtgpu_display.c vgdev->ddev->mode_config.min_width = XRES_MIN; vgdev 359 drivers/gpu/drm/virtio/virtgpu_display.c vgdev->ddev->mode_config.min_height = YRES_MIN; vgdev 360 drivers/gpu/drm/virtio/virtgpu_display.c vgdev->ddev->mode_config.max_width = XRES_MAX; vgdev 361 drivers/gpu/drm/virtio/virtgpu_display.c vgdev->ddev->mode_config.max_height = YRES_MAX; vgdev 363 drivers/gpu/drm/virtio/virtgpu_display.c for (i = 0 ; i < vgdev->num_scanouts; ++i) vgdev 364 drivers/gpu/drm/virtio/virtgpu_display.c vgdev_output_init(vgdev, i); vgdev 366 drivers/gpu/drm/virtio/virtgpu_display.c drm_mode_config_reset(vgdev->ddev); vgdev 369 drivers/gpu/drm/virtio/virtgpu_display.c void virtio_gpu_modeset_fini(struct virtio_gpu_device *vgdev) vgdev 373 drivers/gpu/drm/virtio/virtgpu_display.c for (i = 0 ; i < vgdev->num_scanouts; ++i) vgdev 374 drivers/gpu/drm/virtio/virtgpu_display.c kfree(vgdev->outputs[i].edid); vgdev 375 drivers/gpu/drm/virtio/virtgpu_display.c drm_atomic_helper_shutdown(vgdev->ddev); vgdev 376 drivers/gpu/drm/virtio/virtgpu_display.c drm_mode_config_cleanup(vgdev->ddev); vgdev 147 drivers/gpu/drm/virtio/virtgpu_drv.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 149 drivers/gpu/drm/virtio/virtgpu_drv.c schedule_work(&vgdev->config_changed_work); vgdev 90 drivers/gpu/drm/virtio/virtgpu_drv.h typedef void (*virtio_gpu_resp_cb)(struct virtio_gpu_device *vgdev, vgdev 232 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_gem_init(struct virtio_gpu_device *vgdev); vgdev 233 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_gem_fini(struct virtio_gpu_device *vgdev); vgdev 255 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_alloc_vbufs(struct virtio_gpu_device *vgdev); vgdev 256 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev); vgdev 257 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev, vgdev 261 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_unref_resource(struct virtio_gpu_device *vgdev, vgdev 263 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_transfer_to_host_2d(struct virtio_gpu_device *vgdev, vgdev 269 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_resource_flush(struct virtio_gpu_device *vgdev, vgdev 273 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_set_scanout(struct virtio_gpu_device *vgdev, vgdev 277 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev, vgdev 280 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_object_detach(struct virtio_gpu_device *vgdev, vgdev 282 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_attach_status_page(struct virtio_gpu_device *vgdev); vgdev 283 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_detach_status_page(struct virtio_gpu_device *vgdev); vgdev 284 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cursor_ping(struct virtio_gpu_device *vgdev, vgdev 286 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_cmd_get_display_info(struct virtio_gpu_device *vgdev); vgdev 287 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_cmd_get_capset_info(struct virtio_gpu_device *vgdev, int idx); vgdev 288 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_cmd_get_capset(struct virtio_gpu_device *vgdev, vgdev 291 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_cmd_get_edids(struct virtio_gpu_device *vgdev); vgdev 292 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_context_create(struct virtio_gpu_device *vgdev, uint32_t id, vgdev 294 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_context_destroy(struct virtio_gpu_device *vgdev, vgdev 296 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_context_attach_resource(struct virtio_gpu_device *vgdev, vgdev 299 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_context_detach_resource(struct virtio_gpu_device *vgdev, vgdev 302 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_submit(struct virtio_gpu_device *vgdev, vgdev 305 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_transfer_from_host_3d(struct virtio_gpu_device *vgdev, vgdev 310 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_cmd_transfer_to_host_3d(struct virtio_gpu_device *vgdev, vgdev 317 drivers/gpu/drm/virtio/virtgpu_drv.h virtio_gpu_cmd_resource_create_3d(struct virtio_gpu_device *vgdev, vgdev 333 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_modeset_init(struct virtio_gpu_device *vgdev); vgdev 334 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_modeset_fini(struct virtio_gpu_device *vgdev); vgdev 338 drivers/gpu/drm/virtio/virtgpu_drv.h struct drm_plane *virtio_gpu_plane_init(struct virtio_gpu_device *vgdev, vgdev 343 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_ttm_init(struct virtio_gpu_device *vgdev); vgdev 344 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_ttm_fini(struct virtio_gpu_device *vgdev); vgdev 350 drivers/gpu/drm/virtio/virtgpu_drv.h struct virtio_gpu_device *vgdev); vgdev 351 drivers/gpu/drm/virtio/virtgpu_drv.h void virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev, vgdev 358 drivers/gpu/drm/virtio/virtgpu_drv.h int virtio_gpu_object_create(struct virtio_gpu_device *vgdev, vgdev 69 drivers/gpu/drm/virtio/virtgpu_fence.c struct virtio_gpu_fence *virtio_gpu_fence_alloc(struct virtio_gpu_device *vgdev) vgdev 71 drivers/gpu/drm/virtio/virtgpu_fence.c struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; vgdev 88 drivers/gpu/drm/virtio/virtgpu_fence.c void virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev, vgdev 92 drivers/gpu/drm/virtio/virtgpu_fence.c struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; vgdev 107 drivers/gpu/drm/virtio/virtgpu_fence.c void virtio_gpu_fence_event_process(struct virtio_gpu_device *vgdev, vgdev 110 drivers/gpu/drm/virtio/virtgpu_fence.c struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; vgdev 115 drivers/gpu/drm/virtio/virtgpu_fence.c atomic64_set(&vgdev->fence_drv.last_seq, last_seq); vgdev 44 drivers/gpu/drm/virtio/virtgpu_gem.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 48 drivers/gpu/drm/virtio/virtgpu_gem.c ret = virtio_gpu_object_create(vgdev, params, &obj, fence); vgdev 137 drivers/gpu/drm/virtio/virtgpu_gem.c struct virtio_gpu_device *vgdev = obj->dev->dev_private; vgdev 142 drivers/gpu/drm/virtio/virtgpu_gem.c if (!vgdev->has_virgl_3d) vgdev 149 drivers/gpu/drm/virtio/virtgpu_gem.c virtio_gpu_cmd_context_attach_resource(vgdev, vfpriv->ctx_id, vgdev 158 drivers/gpu/drm/virtio/virtgpu_gem.c struct virtio_gpu_device *vgdev = obj->dev->dev_private; vgdev 163 drivers/gpu/drm/virtio/virtgpu_gem.c if (!vgdev->has_virgl_3d) vgdev 170 drivers/gpu/drm/virtio/virtgpu_gem.c virtio_gpu_cmd_context_detach_resource(vgdev, vfpriv->ctx_id, vgdev 51 drivers/gpu/drm/virtio/virtgpu_ioctl.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 54 drivers/gpu/drm/virtio/virtgpu_ioctl.c return virtio_gpu_mode_dumb_mmap(file_priv, vgdev->ddev, vgdev 108 drivers/gpu/drm/virtio/virtgpu_ioctl.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 125 drivers/gpu/drm/virtio/virtgpu_ioctl.c if (vgdev->has_virgl_3d == false) vgdev 146 drivers/gpu/drm/virtio/virtgpu_ioctl.c if (!dma_fence_match_context(in_fence, vgdev->fence_drv.context)) vgdev 206 drivers/gpu/drm/virtio/virtgpu_ioctl.c out_fence = virtio_gpu_fence_alloc(vgdev); vgdev 224 drivers/gpu/drm/virtio/virtgpu_ioctl.c virtio_gpu_cmd_submit(vgdev, buf, exbuf->size, vgdev 253 drivers/gpu/drm/virtio/virtgpu_ioctl.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 259 drivers/gpu/drm/virtio/virtgpu_ioctl.c value = vgdev->has_virgl_3d == true ? 1 : 0; vgdev 276 drivers/gpu/drm/virtio/virtgpu_ioctl.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 285 drivers/gpu/drm/virtio/virtgpu_ioctl.c if (vgdev->has_virgl_3d == false) { vgdev 302 drivers/gpu/drm/virtio/virtgpu_ioctl.c if (vgdev->has_virgl_3d) { vgdev 316 drivers/gpu/drm/virtio/virtgpu_ioctl.c fence = virtio_gpu_fence_alloc(vgdev); vgdev 360 drivers/gpu/drm/virtio/virtgpu_ioctl.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 371 drivers/gpu/drm/virtio/virtgpu_ioctl.c if (vgdev->has_virgl_3d == false) vgdev 390 drivers/gpu/drm/virtio/virtgpu_ioctl.c fence = virtio_gpu_fence_alloc(vgdev); vgdev 396 drivers/gpu/drm/virtio/virtgpu_ioctl.c (vgdev, qobj->hw_res_handle, vgdev 413 drivers/gpu/drm/virtio/virtgpu_ioctl.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 439 drivers/gpu/drm/virtio/virtgpu_ioctl.c if (!vgdev->has_virgl_3d) { vgdev 441 drivers/gpu/drm/virtio/virtgpu_ioctl.c (vgdev, qobj, offset, vgdev 444 drivers/gpu/drm/virtio/virtgpu_ioctl.c fence = virtio_gpu_fence_alloc(vgdev); vgdev 450 drivers/gpu/drm/virtio/virtgpu_ioctl.c (vgdev, qobj, vgdev 491 drivers/gpu/drm/virtio/virtgpu_ioctl.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 500 drivers/gpu/drm/virtio/virtgpu_ioctl.c if (vgdev->num_capsets == 0) vgdev 507 drivers/gpu/drm/virtio/virtgpu_ioctl.c spin_lock(&vgdev->display_info_lock); vgdev 508 drivers/gpu/drm/virtio/virtgpu_ioctl.c for (i = 0; i < vgdev->num_capsets; i++) { vgdev 509 drivers/gpu/drm/virtio/virtgpu_ioctl.c if (vgdev->capsets[i].id == args->cap_set_id) { vgdev 510 drivers/gpu/drm/virtio/virtgpu_ioctl.c if (vgdev->capsets[i].max_version >= args->cap_set_ver) { vgdev 518 drivers/gpu/drm/virtio/virtgpu_ioctl.c spin_unlock(&vgdev->display_info_lock); vgdev 522 drivers/gpu/drm/virtio/virtgpu_ioctl.c host_caps_size = vgdev->capsets[found_valid].max_size; vgdev 526 drivers/gpu/drm/virtio/virtgpu_ioctl.c list_for_each_entry(cache_ent, &vgdev->cap_cache, head) { vgdev 529 drivers/gpu/drm/virtio/virtgpu_ioctl.c spin_unlock(&vgdev->display_info_lock); vgdev 533 drivers/gpu/drm/virtio/virtgpu_ioctl.c spin_unlock(&vgdev->display_info_lock); vgdev 536 drivers/gpu/drm/virtio/virtgpu_ioctl.c virtio_gpu_cmd_get_capset(vgdev, found_valid, args->cap_set_ver, vgdev 540 drivers/gpu/drm/virtio/virtgpu_ioctl.c ret = wait_event_timeout(vgdev->resp_wq, vgdev 35 drivers/gpu/drm/virtio/virtgpu_kms.c struct virtio_gpu_device *vgdev = vgdev 41 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_cread(vgdev->vdev, struct virtio_gpu_config, vgdev 44 drivers/gpu/drm/virtio/virtgpu_kms.c if (vgdev->has_edid) vgdev 45 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_cmd_get_edids(vgdev); vgdev 46 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_cmd_get_display_info(vgdev); vgdev 47 drivers/gpu/drm/virtio/virtgpu_kms.c drm_helper_hpd_irq_event(vgdev->ddev); vgdev 50 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_cwrite(vgdev->vdev, struct virtio_gpu_config, vgdev 54 drivers/gpu/drm/virtio/virtgpu_kms.c static int virtio_gpu_context_create(struct virtio_gpu_device *vgdev, vgdev 57 drivers/gpu/drm/virtio/virtgpu_kms.c int handle = ida_alloc(&vgdev->ctx_id_ida, GFP_KERNEL); vgdev 62 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_cmd_context_create(vgdev, handle, nlen, name); vgdev 66 drivers/gpu/drm/virtio/virtgpu_kms.c static void virtio_gpu_context_destroy(struct virtio_gpu_device *vgdev, vgdev 69 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_cmd_context_destroy(vgdev, ctx_id); vgdev 70 drivers/gpu/drm/virtio/virtgpu_kms.c ida_free(&vgdev->ctx_id_ida, ctx_id - 1); vgdev 81 drivers/gpu/drm/virtio/virtgpu_kms.c static void virtio_gpu_get_capsets(struct virtio_gpu_device *vgdev, vgdev 86 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->capsets = kcalloc(num_capsets, vgdev 89 drivers/gpu/drm/virtio/virtgpu_kms.c if (!vgdev->capsets) { vgdev 94 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_cmd_get_capset_info(vgdev, i); vgdev 95 drivers/gpu/drm/virtio/virtgpu_kms.c ret = wait_event_timeout(vgdev->resp_wq, vgdev 96 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->capsets[i].id > 0, 5 * HZ); vgdev 99 drivers/gpu/drm/virtio/virtgpu_kms.c kfree(vgdev->capsets); vgdev 100 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->capsets = NULL; vgdev 104 drivers/gpu/drm/virtio/virtgpu_kms.c i, vgdev->capsets[i].id, vgdev 105 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->capsets[i].max_version, vgdev 106 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->capsets[i].max_size); vgdev 108 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->num_capsets = num_capsets; vgdev 118 drivers/gpu/drm/virtio/virtgpu_kms.c struct virtio_gpu_device *vgdev; vgdev 127 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev = kzalloc(sizeof(struct virtio_gpu_device), GFP_KERNEL); vgdev 128 drivers/gpu/drm/virtio/virtgpu_kms.c if (!vgdev) vgdev 131 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->ddev = dev; vgdev 132 drivers/gpu/drm/virtio/virtgpu_kms.c dev->dev_private = vgdev; vgdev 133 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->vdev = dev_to_virtio(dev->dev); vgdev 134 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->dev = dev->dev; vgdev 136 drivers/gpu/drm/virtio/virtgpu_kms.c spin_lock_init(&vgdev->display_info_lock); vgdev 137 drivers/gpu/drm/virtio/virtgpu_kms.c ida_init(&vgdev->ctx_id_ida); vgdev 138 drivers/gpu/drm/virtio/virtgpu_kms.c ida_init(&vgdev->resource_ida); vgdev 139 drivers/gpu/drm/virtio/virtgpu_kms.c init_waitqueue_head(&vgdev->resp_wq); vgdev 140 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_init_vq(&vgdev->ctrlq, virtio_gpu_dequeue_ctrl_func); vgdev 141 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_init_vq(&vgdev->cursorq, virtio_gpu_dequeue_cursor_func); vgdev 143 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->fence_drv.context = dma_fence_context_alloc(1); vgdev 144 drivers/gpu/drm/virtio/virtgpu_kms.c spin_lock_init(&vgdev->fence_drv.lock); vgdev 145 drivers/gpu/drm/virtio/virtgpu_kms.c INIT_LIST_HEAD(&vgdev->fence_drv.fences); vgdev 146 drivers/gpu/drm/virtio/virtgpu_kms.c INIT_LIST_HEAD(&vgdev->cap_cache); vgdev 147 drivers/gpu/drm/virtio/virtgpu_kms.c INIT_WORK(&vgdev->config_changed_work, vgdev 151 drivers/gpu/drm/virtio/virtgpu_kms.c if (virtio_has_feature(vgdev->vdev, VIRTIO_GPU_F_VIRGL)) vgdev 152 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->has_virgl_3d = true; vgdev 154 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->has_virgl_3d ? "enabled" : "not supported by host"); vgdev 158 drivers/gpu/drm/virtio/virtgpu_kms.c if (virtio_has_feature(vgdev->vdev, VIRTIO_GPU_F_EDID)) { vgdev 159 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->has_edid = true; vgdev 163 drivers/gpu/drm/virtio/virtgpu_kms.c ret = virtio_find_vqs(vgdev->vdev, 2, vqs, callbacks, names, NULL); vgdev 168 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->ctrlq.vq = vqs[0]; vgdev 169 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->cursorq.vq = vqs[1]; vgdev 170 drivers/gpu/drm/virtio/virtgpu_kms.c ret = virtio_gpu_alloc_vbufs(vgdev); vgdev 176 drivers/gpu/drm/virtio/virtgpu_kms.c ret = virtio_gpu_ttm_init(vgdev); vgdev 183 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_cread(vgdev->vdev, struct virtio_gpu_config, vgdev 185 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->num_scanouts = min_t(uint32_t, num_scanouts, vgdev 187 drivers/gpu/drm/virtio/virtgpu_kms.c if (!vgdev->num_scanouts) { vgdev 194 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_cread(vgdev->vdev, struct virtio_gpu_config, vgdev 198 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_modeset_init(vgdev); vgdev 200 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_device_ready(vgdev->vdev); vgdev 201 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->vqs_ready = true; vgdev 204 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_get_capsets(vgdev, num_capsets); vgdev 205 drivers/gpu/drm/virtio/virtgpu_kms.c if (vgdev->has_edid) vgdev 206 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_cmd_get_edids(vgdev); vgdev 207 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_cmd_get_display_info(vgdev); vgdev 208 drivers/gpu/drm/virtio/virtgpu_kms.c wait_event_timeout(vgdev->resp_wq, !vgdev->display_info_pending, vgdev 213 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_ttm_fini(vgdev); vgdev 215 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_free_vbufs(vgdev); vgdev 217 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->vdev->config->del_vqs(vgdev->vdev); vgdev 219 drivers/gpu/drm/virtio/virtgpu_kms.c kfree(vgdev); vgdev 223 drivers/gpu/drm/virtio/virtgpu_kms.c static void virtio_gpu_cleanup_cap_cache(struct virtio_gpu_device *vgdev) vgdev 227 drivers/gpu/drm/virtio/virtgpu_kms.c list_for_each_entry_safe(cache_ent, tmp, &vgdev->cap_cache, head) { vgdev 235 drivers/gpu/drm/virtio/virtgpu_kms.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 237 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->vqs_ready = false; vgdev 238 drivers/gpu/drm/virtio/virtgpu_kms.c flush_work(&vgdev->ctrlq.dequeue_work); vgdev 239 drivers/gpu/drm/virtio/virtgpu_kms.c flush_work(&vgdev->cursorq.dequeue_work); vgdev 240 drivers/gpu/drm/virtio/virtgpu_kms.c flush_work(&vgdev->config_changed_work); vgdev 241 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->vdev->config->reset(vgdev->vdev); vgdev 242 drivers/gpu/drm/virtio/virtgpu_kms.c vgdev->vdev->config->del_vqs(vgdev->vdev); vgdev 244 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_modeset_fini(vgdev); vgdev 245 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_ttm_fini(vgdev); vgdev 246 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_free_vbufs(vgdev); vgdev 247 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_cleanup_cap_cache(vgdev); vgdev 248 drivers/gpu/drm/virtio/virtgpu_kms.c kfree(vgdev->capsets); vgdev 249 drivers/gpu/drm/virtio/virtgpu_kms.c kfree(vgdev); vgdev 254 drivers/gpu/drm/virtio/virtgpu_kms.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 260 drivers/gpu/drm/virtio/virtgpu_kms.c if (!vgdev->has_virgl_3d) vgdev 269 drivers/gpu/drm/virtio/virtgpu_kms.c id = virtio_gpu_context_create(vgdev, strlen(dbgname), dbgname); vgdev 282 drivers/gpu/drm/virtio/virtgpu_kms.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 285 drivers/gpu/drm/virtio/virtgpu_kms.c if (!vgdev->has_virgl_3d) vgdev 290 drivers/gpu/drm/virtio/virtgpu_kms.c virtio_gpu_context_destroy(vgdev, vfpriv->ctx_id); vgdev 35 drivers/gpu/drm/virtio/virtgpu_object.c static int virtio_gpu_resource_id_get(struct virtio_gpu_device *vgdev, vgdev 51 drivers/gpu/drm/virtio/virtgpu_object.c int handle = ida_alloc(&vgdev->resource_ida, GFP_KERNEL); vgdev 59 drivers/gpu/drm/virtio/virtgpu_object.c static void virtio_gpu_resource_id_put(struct virtio_gpu_device *vgdev, uint32_t id) vgdev 62 drivers/gpu/drm/virtio/virtgpu_object.c ida_free(&vgdev->resource_ida, id - 1); vgdev 69 drivers/gpu/drm/virtio/virtgpu_object.c struct virtio_gpu_device *vgdev; vgdev 72 drivers/gpu/drm/virtio/virtgpu_object.c vgdev = (struct virtio_gpu_device *)bo->gem_base.dev->dev_private; vgdev 75 drivers/gpu/drm/virtio/virtgpu_object.c virtio_gpu_cmd_unref_resource(vgdev, bo->hw_res_handle); vgdev 81 drivers/gpu/drm/virtio/virtgpu_object.c virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); vgdev 101 drivers/gpu/drm/virtio/virtgpu_object.c int virtio_gpu_object_create(struct virtio_gpu_device *vgdev, vgdev 112 drivers/gpu/drm/virtio/virtgpu_object.c acc_size = ttm_bo_dma_acc_size(&vgdev->mman.bdev, params->size, vgdev 118 drivers/gpu/drm/virtio/virtgpu_object.c ret = virtio_gpu_resource_id_get(vgdev, &bo->hw_res_handle); vgdev 124 drivers/gpu/drm/virtio/virtgpu_object.c ret = drm_gem_object_init(vgdev->ddev, &bo->gem_base, params->size); vgdev 126 drivers/gpu/drm/virtio/virtgpu_object.c virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); vgdev 133 drivers/gpu/drm/virtio/virtgpu_object.c virtio_gpu_cmd_resource_create_3d(vgdev, bo, params, fence); vgdev 135 drivers/gpu/drm/virtio/virtgpu_object.c virtio_gpu_cmd_create_resource(vgdev, bo, params, fence); vgdev 139 drivers/gpu/drm/virtio/virtgpu_object.c ret = ttm_bo_init(&vgdev->mman.bdev, &bo->tbo, params->size, vgdev 148 drivers/gpu/drm/virtio/virtgpu_object.c struct virtio_gpu_fence_driver *drv = &vgdev->fence_drv; vgdev 94 drivers/gpu/drm/virtio/virtgpu_plane.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 113 drivers/gpu/drm/virtio/virtgpu_plane.c (vgdev, bo, 0, vgdev 130 drivers/gpu/drm/virtio/virtgpu_plane.c virtio_gpu_cmd_set_scanout(vgdev, output->index, handle, vgdev 136 drivers/gpu/drm/virtio/virtgpu_plane.c virtio_gpu_cmd_resource_flush(vgdev, handle, vgdev 147 drivers/gpu/drm/virtio/virtgpu_plane.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 157 drivers/gpu/drm/virtio/virtgpu_plane.c vgfb->fence = virtio_gpu_fence_alloc(vgdev); vgdev 184 drivers/gpu/drm/virtio/virtgpu_plane.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 209 drivers/gpu/drm/virtio/virtgpu_plane.c (vgdev, bo, 0, vgdev 251 drivers/gpu/drm/virtio/virtgpu_plane.c virtio_gpu_cursor_ping(vgdev, output); vgdev 266 drivers/gpu/drm/virtio/virtgpu_plane.c struct drm_plane *virtio_gpu_plane_init(struct virtio_gpu_device *vgdev, vgdev 270 drivers/gpu/drm/virtio/virtgpu_plane.c struct drm_device *dev = vgdev->ddev; vgdev 45 drivers/gpu/drm/virtio/virtgpu_ttm.c struct virtio_gpu_device *vgdev; vgdev 48 drivers/gpu/drm/virtio/virtgpu_ttm.c vgdev = container_of(mman, struct virtio_gpu_device, mman); vgdev 49 drivers/gpu/drm/virtio/virtgpu_ttm.c return vgdev; vgdev 55 drivers/gpu/drm/virtio/virtgpu_ttm.c struct virtio_gpu_device *vgdev; vgdev 59 drivers/gpu/drm/virtio/virtgpu_ttm.c vgdev = file_priv->minor->dev->dev_private; vgdev 60 drivers/gpu/drm/virtio/virtgpu_ttm.c if (vgdev == NULL) { vgdev 65 drivers/gpu/drm/virtio/virtgpu_ttm.c r = ttm_bo_mmap(filp, vma, &vgdev->mman.bdev); vgdev 200 drivers/gpu/drm/virtio/virtgpu_ttm.c struct virtio_gpu_device *vgdev = vgdev 203 drivers/gpu/drm/virtio/virtgpu_ttm.c virtio_gpu_object_attach(vgdev, gtt->obj, NULL); vgdev 211 drivers/gpu/drm/virtio/virtgpu_ttm.c struct virtio_gpu_device *vgdev = vgdev 214 drivers/gpu/drm/virtio/virtgpu_ttm.c virtio_gpu_object_detach(vgdev, gtt->obj); vgdev 236 drivers/gpu/drm/virtio/virtgpu_ttm.c struct virtio_gpu_device *vgdev; vgdev 239 drivers/gpu/drm/virtio/virtgpu_ttm.c vgdev = virtio_gpu_get_vgdev(bo->bdev); vgdev 274 drivers/gpu/drm/virtio/virtgpu_ttm.c int virtio_gpu_ttm_init(struct virtio_gpu_device *vgdev) vgdev 279 drivers/gpu/drm/virtio/virtgpu_ttm.c r = ttm_bo_device_init(&vgdev->mman.bdev, vgdev 281 drivers/gpu/drm/virtio/virtgpu_ttm.c vgdev->ddev->anon_inode->i_mapping, vgdev 288 drivers/gpu/drm/virtio/virtgpu_ttm.c r = ttm_bo_init_mm(&vgdev->mman.bdev, TTM_PL_TT, 0); vgdev 296 drivers/gpu/drm/virtio/virtgpu_ttm.c ttm_bo_device_release(&vgdev->mman.bdev); vgdev 301 drivers/gpu/drm/virtio/virtgpu_ttm.c void virtio_gpu_ttm_fini(struct virtio_gpu_device *vgdev) vgdev 303 drivers/gpu/drm/virtio/virtgpu_ttm.c ttm_bo_device_release(&vgdev->mman.bdev); vgdev 46 drivers/gpu/drm/virtio/virtgpu_vq.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 48 drivers/gpu/drm/virtio/virtgpu_vq.c schedule_work(&vgdev->ctrlq.dequeue_work); vgdev 54 drivers/gpu/drm/virtio/virtgpu_vq.c struct virtio_gpu_device *vgdev = dev->dev_private; vgdev 56 drivers/gpu/drm/virtio/virtgpu_vq.c schedule_work(&vgdev->cursorq.dequeue_work); vgdev 59 drivers/gpu/drm/virtio/virtgpu_vq.c int virtio_gpu_alloc_vbufs(struct virtio_gpu_device *vgdev) vgdev 61 drivers/gpu/drm/virtio/virtgpu_vq.c vgdev->vbufs = kmem_cache_create("virtio-gpu-vbufs", vgdev 65 drivers/gpu/drm/virtio/virtgpu_vq.c if (!vgdev->vbufs) vgdev 70 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev) vgdev 72 drivers/gpu/drm/virtio/virtgpu_vq.c kmem_cache_destroy(vgdev->vbufs); vgdev 73 drivers/gpu/drm/virtio/virtgpu_vq.c vgdev->vbufs = NULL; vgdev 77 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_get_vbuf(struct virtio_gpu_device *vgdev, vgdev 83 drivers/gpu/drm/virtio/virtgpu_vq.c vbuf = kmem_cache_zalloc(vgdev->vbufs, GFP_KERNEL); vgdev 101 drivers/gpu/drm/virtio/virtgpu_vq.c static void *virtio_gpu_alloc_cmd(struct virtio_gpu_device *vgdev, vgdev 107 drivers/gpu/drm/virtio/virtgpu_vq.c vbuf = virtio_gpu_get_vbuf(vgdev, size, vgdev 119 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_alloc_cursor(struct virtio_gpu_device *vgdev, vgdev 125 drivers/gpu/drm/virtio/virtgpu_vq.c (vgdev, sizeof(struct virtio_gpu_update_cursor), vgdev 135 drivers/gpu/drm/virtio/virtgpu_vq.c static void *virtio_gpu_alloc_cmd_resp(struct virtio_gpu_device *vgdev, vgdev 143 drivers/gpu/drm/virtio/virtgpu_vq.c vbuf = virtio_gpu_get_vbuf(vgdev, cmd_size, vgdev 153 drivers/gpu/drm/virtio/virtgpu_vq.c static void free_vbuf(struct virtio_gpu_device *vgdev, vgdev 159 drivers/gpu/drm/virtio/virtgpu_vq.c kmem_cache_free(vgdev->vbufs, vbuf); vgdev 178 drivers/gpu/drm/virtio/virtgpu_vq.c struct virtio_gpu_device *vgdev = vgdev 187 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->ctrlq.qlock); vgdev 189 drivers/gpu/drm/virtio/virtgpu_vq.c virtqueue_disable_cb(vgdev->ctrlq.vq); vgdev 190 drivers/gpu/drm/virtio/virtgpu_vq.c reclaim_vbufs(vgdev->ctrlq.vq, &reclaim_list); vgdev 192 drivers/gpu/drm/virtio/virtgpu_vq.c } while (!virtqueue_enable_cb(vgdev->ctrlq.vq)); vgdev 193 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->ctrlq.qlock); vgdev 198 drivers/gpu/drm/virtio/virtgpu_vq.c trace_virtio_gpu_cmd_response(vgdev->ctrlq.vq, resp); vgdev 221 drivers/gpu/drm/virtio/virtgpu_vq.c entry->resp_cb(vgdev, entry); vgdev 224 drivers/gpu/drm/virtio/virtgpu_vq.c free_vbuf(vgdev, entry); vgdev 226 drivers/gpu/drm/virtio/virtgpu_vq.c wake_up(&vgdev->ctrlq.ack_queue); vgdev 229 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_fence_event_process(vgdev, fence_id); vgdev 234 drivers/gpu/drm/virtio/virtgpu_vq.c struct virtio_gpu_device *vgdev = vgdev 241 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->cursorq.qlock); vgdev 243 drivers/gpu/drm/virtio/virtgpu_vq.c virtqueue_disable_cb(vgdev->cursorq.vq); vgdev 244 drivers/gpu/drm/virtio/virtgpu_vq.c reclaim_vbufs(vgdev->cursorq.vq, &reclaim_list); vgdev 245 drivers/gpu/drm/virtio/virtgpu_vq.c } while (!virtqueue_enable_cb(vgdev->cursorq.vq)); vgdev 246 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->cursorq.qlock); vgdev 250 drivers/gpu/drm/virtio/virtgpu_vq.c free_vbuf(vgdev, entry); vgdev 252 drivers/gpu/drm/virtio/virtgpu_vq.c wake_up(&vgdev->cursorq.ack_queue); vgdev 255 drivers/gpu/drm/virtio/virtgpu_vq.c static int virtio_gpu_queue_ctrl_buffer_locked(struct virtio_gpu_device *vgdev, vgdev 257 drivers/gpu/drm/virtio/virtgpu_vq.c __releases(&vgdev->ctrlq.qlock) vgdev 258 drivers/gpu/drm/virtio/virtgpu_vq.c __acquires(&vgdev->ctrlq.qlock) vgdev 260 drivers/gpu/drm/virtio/virtgpu_vq.c struct virtqueue *vq = vgdev->ctrlq.vq; vgdev 265 drivers/gpu/drm/virtio/virtgpu_vq.c if (!vgdev->vqs_ready) vgdev 287 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->ctrlq.qlock); vgdev 288 drivers/gpu/drm/virtio/virtgpu_vq.c wait_event(vgdev->ctrlq.ack_queue, vq->num_free >= outcnt + incnt); vgdev 289 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->ctrlq.qlock); vgdev 303 drivers/gpu/drm/virtio/virtgpu_vq.c static int virtio_gpu_queue_ctrl_buffer(struct virtio_gpu_device *vgdev, vgdev 308 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->ctrlq.qlock); vgdev 309 drivers/gpu/drm/virtio/virtgpu_vq.c rc = virtio_gpu_queue_ctrl_buffer_locked(vgdev, vbuf); vgdev 310 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->ctrlq.qlock); vgdev 314 drivers/gpu/drm/virtio/virtgpu_vq.c static int virtio_gpu_queue_fenced_ctrl_buffer(struct virtio_gpu_device *vgdev, vgdev 319 drivers/gpu/drm/virtio/virtgpu_vq.c struct virtqueue *vq = vgdev->ctrlq.vq; vgdev 323 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->ctrlq.qlock); vgdev 334 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->ctrlq.qlock); vgdev 335 drivers/gpu/drm/virtio/virtgpu_vq.c wait_event(vgdev->ctrlq.ack_queue, vq->num_free >= 3); vgdev 340 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_fence_emit(vgdev, hdr, fence); vgdev 341 drivers/gpu/drm/virtio/virtgpu_vq.c rc = virtio_gpu_queue_ctrl_buffer_locked(vgdev, vbuf); vgdev 342 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->ctrlq.qlock); vgdev 346 drivers/gpu/drm/virtio/virtgpu_vq.c static int virtio_gpu_queue_cursor(struct virtio_gpu_device *vgdev, vgdev 349 drivers/gpu/drm/virtio/virtgpu_vq.c struct virtqueue *vq = vgdev->cursorq.vq; vgdev 354 drivers/gpu/drm/virtio/virtgpu_vq.c if (!vgdev->vqs_ready) vgdev 361 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->cursorq.qlock); vgdev 365 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->cursorq.qlock); vgdev 366 drivers/gpu/drm/virtio/virtgpu_vq.c wait_event(vgdev->cursorq.ack_queue, vq->num_free >= outcnt); vgdev 367 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->cursorq.qlock); vgdev 376 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->cursorq.qlock); vgdev 388 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev, vgdev 396 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 405 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); vgdev 409 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_unref_resource(struct virtio_gpu_device *vgdev, vgdev 415 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 421 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 424 drivers/gpu/drm/virtio/virtgpu_vq.c static void virtio_gpu_cmd_resource_inval_backing(struct virtio_gpu_device *vgdev, vgdev 431 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 437 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); vgdev 440 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_set_scanout(struct virtio_gpu_device *vgdev, vgdev 448 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 459 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 462 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_resource_flush(struct virtio_gpu_device *vgdev, vgdev 470 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 480 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 483 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_transfer_to_host_2d(struct virtio_gpu_device *vgdev, vgdev 492 drivers/gpu/drm/virtio/virtgpu_vq.c bool use_dma_api = !virtio_has_iommu_quirk(vgdev->vdev); vgdev 495 drivers/gpu/drm/virtio/virtgpu_vq.c dma_sync_sg_for_device(vgdev->vdev->dev.parent, vgdev 499 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 510 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); vgdev 514 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_cmd_resource_attach_backing(struct virtio_gpu_device *vgdev, vgdev 523 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 533 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); vgdev 536 drivers/gpu/drm/virtio/virtgpu_vq.c static void virtio_gpu_cmd_get_display_info_cb(struct virtio_gpu_device *vgdev, vgdev 543 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->display_info_lock); vgdev 544 drivers/gpu/drm/virtio/virtgpu_vq.c for (i = 0; i < vgdev->num_scanouts; i++) { vgdev 545 drivers/gpu/drm/virtio/virtgpu_vq.c vgdev->outputs[i].info = resp->pmodes[i]; vgdev 557 drivers/gpu/drm/virtio/virtgpu_vq.c vgdev->display_info_pending = false; vgdev 558 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->display_info_lock); vgdev 559 drivers/gpu/drm/virtio/virtgpu_vq.c wake_up(&vgdev->resp_wq); vgdev 561 drivers/gpu/drm/virtio/virtgpu_vq.c if (!drm_helper_hpd_irq_event(vgdev->ddev)) vgdev 562 drivers/gpu/drm/virtio/virtgpu_vq.c drm_kms_helper_hotplug_event(vgdev->ddev); vgdev 565 drivers/gpu/drm/virtio/virtgpu_vq.c static void virtio_gpu_cmd_get_capset_info_cb(struct virtio_gpu_device *vgdev, vgdev 574 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->display_info_lock); vgdev 575 drivers/gpu/drm/virtio/virtgpu_vq.c vgdev->capsets[i].id = le32_to_cpu(resp->capset_id); vgdev 576 drivers/gpu/drm/virtio/virtgpu_vq.c vgdev->capsets[i].max_version = le32_to_cpu(resp->capset_max_version); vgdev 577 drivers/gpu/drm/virtio/virtgpu_vq.c vgdev->capsets[i].max_size = le32_to_cpu(resp->capset_max_size); vgdev 578 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->display_info_lock); vgdev 579 drivers/gpu/drm/virtio/virtgpu_vq.c wake_up(&vgdev->resp_wq); vgdev 582 drivers/gpu/drm/virtio/virtgpu_vq.c static void virtio_gpu_cmd_capset_cb(struct virtio_gpu_device *vgdev, vgdev 591 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->display_info_lock); vgdev 592 drivers/gpu/drm/virtio/virtgpu_vq.c list_for_each_entry(cache_ent, &vgdev->cap_cache, head) { vgdev 603 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->display_info_lock); vgdev 604 drivers/gpu/drm/virtio/virtgpu_vq.c wake_up_all(&vgdev->resp_wq); vgdev 619 drivers/gpu/drm/virtio/virtgpu_vq.c static void virtio_gpu_cmd_get_edid_cb(struct virtio_gpu_device *vgdev, vgdev 630 drivers/gpu/drm/virtio/virtgpu_vq.c if (scanout >= vgdev->num_scanouts) vgdev 632 drivers/gpu/drm/virtio/virtgpu_vq.c output = vgdev->outputs + scanout; vgdev 637 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->display_info_lock); vgdev 640 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->display_info_lock); vgdev 643 drivers/gpu/drm/virtio/virtgpu_vq.c wake_up(&vgdev->resp_wq); vgdev 646 drivers/gpu/drm/virtio/virtgpu_vq.c int virtio_gpu_cmd_get_display_info(struct virtio_gpu_device *vgdev) vgdev 658 drivers/gpu/drm/virtio/virtgpu_vq.c (vgdev, &virtio_gpu_cmd_get_display_info_cb, &vbuf, vgdev 663 drivers/gpu/drm/virtio/virtgpu_vq.c vgdev->display_info_pending = true; vgdev 665 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 669 drivers/gpu/drm/virtio/virtgpu_vq.c int virtio_gpu_cmd_get_capset_info(struct virtio_gpu_device *vgdev, int idx) vgdev 681 drivers/gpu/drm/virtio/virtgpu_vq.c (vgdev, &virtio_gpu_cmd_get_capset_info_cb, &vbuf, vgdev 688 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 692 drivers/gpu/drm/virtio/virtgpu_vq.c int virtio_gpu_cmd_get_capset(struct virtio_gpu_device *vgdev, vgdev 705 drivers/gpu/drm/virtio/virtgpu_vq.c if (idx >= vgdev->num_capsets) vgdev 708 drivers/gpu/drm/virtio/virtgpu_vq.c if (version > vgdev->capsets[idx].max_version) vgdev 715 drivers/gpu/drm/virtio/virtgpu_vq.c max_size = vgdev->capsets[idx].max_size; vgdev 731 drivers/gpu/drm/virtio/virtgpu_vq.c cache_ent->id = vgdev->capsets[idx].id; vgdev 734 drivers/gpu/drm/virtio/virtgpu_vq.c spin_lock(&vgdev->display_info_lock); vgdev 736 drivers/gpu/drm/virtio/virtgpu_vq.c list_for_each_entry(search_ent, &vgdev->cap_cache, head) { vgdev 737 drivers/gpu/drm/virtio/virtgpu_vq.c if (search_ent->id == vgdev->capsets[idx].id && vgdev 744 drivers/gpu/drm/virtio/virtgpu_vq.c list_add_tail(&cache_ent->head, &vgdev->cap_cache); vgdev 745 drivers/gpu/drm/virtio/virtgpu_vq.c spin_unlock(&vgdev->display_info_lock); vgdev 756 drivers/gpu/drm/virtio/virtgpu_vq.c (vgdev, &virtio_gpu_cmd_capset_cb, &vbuf, sizeof(*cmd_p), vgdev 760 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p->capset_id = cpu_to_le32(vgdev->capsets[idx].id); vgdev 763 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 768 drivers/gpu/drm/virtio/virtgpu_vq.c int virtio_gpu_cmd_get_edids(struct virtio_gpu_device *vgdev) vgdev 775 drivers/gpu/drm/virtio/virtgpu_vq.c if (WARN_ON(!vgdev->has_edid)) vgdev 778 drivers/gpu/drm/virtio/virtgpu_vq.c for (scanout = 0; scanout < vgdev->num_scanouts; scanout++) { vgdev 785 drivers/gpu/drm/virtio/virtgpu_vq.c (vgdev, &virtio_gpu_cmd_get_edid_cb, &vbuf, vgdev 790 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 796 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_context_create(struct virtio_gpu_device *vgdev, uint32_t id, vgdev 802 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 810 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 813 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_context_destroy(struct virtio_gpu_device *vgdev, vgdev 819 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 824 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 827 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_context_attach_resource(struct virtio_gpu_device *vgdev, vgdev 834 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 840 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 844 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_context_detach_resource(struct virtio_gpu_device *vgdev, vgdev 851 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 857 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_ctrl_buffer(vgdev, vbuf); vgdev 861 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_cmd_resource_create_3d(struct virtio_gpu_device *vgdev, vgdev 869 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 886 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); vgdev 890 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_transfer_to_host_3d(struct virtio_gpu_device *vgdev, vgdev 899 drivers/gpu/drm/virtio/virtgpu_vq.c bool use_dma_api = !virtio_has_iommu_quirk(vgdev->vdev); vgdev 902 drivers/gpu/drm/virtio/virtgpu_vq.c dma_sync_sg_for_device(vgdev->vdev->dev.parent, vgdev 906 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 916 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); vgdev 919 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_transfer_from_host_3d(struct virtio_gpu_device *vgdev, vgdev 928 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 938 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); vgdev 941 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cmd_submit(struct virtio_gpu_device *vgdev, vgdev 948 drivers/gpu/drm/virtio/virtgpu_vq.c cmd_p = virtio_gpu_alloc_cmd(vgdev, &vbuf, sizeof(*cmd_p)); vgdev 958 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, &cmd_p->hdr, fence); vgdev 961 drivers/gpu/drm/virtio/virtgpu_vq.c int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev, vgdev 965 drivers/gpu/drm/virtio/virtgpu_vq.c bool use_dma_api = !virtio_has_iommu_quirk(vgdev->vdev); vgdev 976 drivers/gpu/drm/virtio/virtgpu_vq.c ret = virtio_gpu_object_get_sg_table(vgdev, obj); vgdev 982 drivers/gpu/drm/virtio/virtgpu_vq.c obj->mapped = dma_map_sg(vgdev->vdev->dev.parent, vgdev 1006 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_cmd_resource_attach_backing(vgdev, obj->hw_res_handle, vgdev 1012 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_object_detach(struct virtio_gpu_device *vgdev, vgdev 1015 drivers/gpu/drm/virtio/virtgpu_vq.c bool use_dma_api = !virtio_has_iommu_quirk(vgdev->vdev); vgdev 1018 drivers/gpu/drm/virtio/virtgpu_vq.c struct virtio_gpu_fence *fence = virtio_gpu_fence_alloc(vgdev); vgdev 1020 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_cmd_resource_inval_backing(vgdev, obj->hw_res_handle, fence); vgdev 1025 drivers/gpu/drm/virtio/virtgpu_vq.c dma_unmap_sg(vgdev->vdev->dev.parent, vgdev 1030 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_cmd_resource_inval_backing(vgdev, obj->hw_res_handle, NULL); vgdev 1034 drivers/gpu/drm/virtio/virtgpu_vq.c void virtio_gpu_cursor_ping(struct virtio_gpu_device *vgdev, vgdev 1041 drivers/gpu/drm/virtio/virtgpu_vq.c cur_p = virtio_gpu_alloc_cursor(vgdev, &vbuf); vgdev 1043 drivers/gpu/drm/virtio/virtgpu_vq.c virtio_gpu_queue_cursor(vgdev, vbuf);