mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
drm/virtio: Create Dumb BOs as guest Blobs (v3)
If support for Blob resources is available, then dumb BOs created by the driver can be considered as guest Blobs. v2: Don't skip transfer and flush commands as part of plane update as the device may have created a shared mapping. (Gerd) v3: Don't create dumb BOs as Guest blobs if Virgl is enabled. (Gurchetan) Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> Acked-by: Gurchetan Singh <gurchetansingh@chromium.org> Link: http://patchwork.freedesktop.org/patch/msgid/20210413052614.2486768-1-vivek.kasireddy@intel.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
2b173d7fc2
commit
3389082bb9
2 changed files with 11 additions and 0 deletions
|
@ -64,6 +64,7 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
|
|||
{
|
||||
struct drm_gem_object *gobj;
|
||||
struct virtio_gpu_object_params params = { 0 };
|
||||
struct virtio_gpu_device *vgdev = dev->dev_private;
|
||||
int ret;
|
||||
uint32_t pitch;
|
||||
|
||||
|
@ -79,6 +80,13 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
|
|||
params.height = args->height;
|
||||
params.size = args->size;
|
||||
params.dumb = true;
|
||||
|
||||
if (vgdev->has_resource_blob && !vgdev->has_virgl_3d) {
|
||||
params.blob_mem = VIRTGPU_BLOB_MEM_GUEST;
|
||||
params.blob_flags = VIRTGPU_BLOB_FLAG_USE_SHAREABLE;
|
||||
params.blob = true;
|
||||
}
|
||||
|
||||
ret = virtio_gpu_gem_create(file_priv, dev, ¶ms, &gobj,
|
||||
&args->handle);
|
||||
if (ret)
|
||||
|
|
|
@ -254,6 +254,9 @@ int virtio_gpu_object_create(struct virtio_gpu_device *vgdev,
|
|||
}
|
||||
|
||||
if (params->blob) {
|
||||
if (params->blob_mem == VIRTGPU_BLOB_MEM_GUEST)
|
||||
bo->guest_blob = true;
|
||||
|
||||
virtio_gpu_cmd_resource_create_blob(vgdev, bo, params,
|
||||
ents, nents);
|
||||
} else if (params->virgl) {
|
||||
|
|
Loading…
Add table
Reference in a new issue