hw/display/vhost-user-gpu.c | 4 ++++ hw/display/virtio-gpu-base.c | 3 +++ include/hw/virtio/virtio-gpu.h | 3 +++ 3 files changed, 10 insertions(+)
Add the VIRTIO_GPU_F_RESOURCE_UUID feature to enable the assignment
of resources UUIDs for export to other virtio devices.
Signed-off-by: Dorinda Bassey <dbassey@redhat.com>
---
hw/display/vhost-user-gpu.c | 4 ++++
hw/display/virtio-gpu-base.c | 3 +++
include/hw/virtio/virtio-gpu.h | 3 +++
3 files changed, 10 insertions(+)
diff --git a/hw/display/vhost-user-gpu.c b/hw/display/vhost-user-gpu.c
index 14548f1a57..053cfd9cff 100644
--- a/hw/display/vhost-user-gpu.c
+++ b/hw/display/vhost-user-gpu.c
@@ -631,6 +631,10 @@ vhost_user_gpu_device_realize(DeviceState *qdev, Error **errp)
error_report("EDID requested but the backend doesn't support it.");
g->parent_obj.conf.flags &= ~(1 << VIRTIO_GPU_FLAG_EDID_ENABLED);
}
+ if (virtio_has_feature(g->vhost->dev.features,
+ VIRTIO_GPU_F_RESOURCE_UUID)) {
+ g->parent_obj.conf.flags |= 1 << VIRTIO_GPU_F_RESOURCE_UUID_ENABLED;
+ }
if (!virtio_gpu_base_device_realize(qdev, NULL, NULL, errp)) {
return;
diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c
index 4fc7ef8896..7827536ac4 100644
--- a/hw/display/virtio-gpu-base.c
+++ b/hw/display/virtio-gpu-base.c
@@ -235,6 +235,9 @@ virtio_gpu_base_get_features(VirtIODevice *vdev, uint64_t features,
if (virtio_gpu_context_init_enabled(g->conf)) {
features |= (1 << VIRTIO_GPU_F_CONTEXT_INIT);
}
+ if (virtio_gpu_resource_uuid_enabled(g->conf)) {
+ features |= (1 << VIRTIO_GPU_F_RESOURCE_UUID);
+ }
return features;
}
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 7a59379f5a..15e193bb6d 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -99,6 +99,7 @@ enum virtio_gpu_base_conf_flags {
VIRTIO_GPU_FLAG_BLOB_ENABLED,
VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED,
VIRTIO_GPU_FLAG_RUTABAGA_ENABLED,
+ VIRTIO_GPU_F_RESOURCE_UUID_ENABLED,
};
#define virtio_gpu_virgl_enabled(_cfg) \
@@ -115,6 +116,8 @@ enum virtio_gpu_base_conf_flags {
(_cfg.flags & (1 << VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED))
#define virtio_gpu_rutabaga_enabled(_cfg) \
(_cfg.flags & (1 << VIRTIO_GPU_FLAG_RUTABAGA_ENABLED))
+#define virtio_gpu_resource_uuid_enabled(_cfg) \
+ (_cfg.flags & (1 << VIRTIO_GPU_F_RESOURCE_UUID_ENABLED))
#define virtio_gpu_hostmem_enabled(_cfg) \
(_cfg.hostmem > 0)
--
2.46.1
Hello Dorinda, On Fri, 04 Oct 2024 19:41, Dorinda Bassey <dbassey@redhat.com> wrote: >Add the VIRTIO_GPU_F_RESOURCE_UUID feature to enable the assignment >of resources UUIDs for export to other virtio devices. > >Signed-off-by: Dorinda Bassey <dbassey@redhat.com> >--- > hw/display/vhost-user-gpu.c | 4 ++++ > hw/display/virtio-gpu-base.c | 3 +++ > include/hw/virtio/virtio-gpu.h | 3 +++ > 3 files changed, 10 insertions(+) > >diff --git a/hw/display/vhost-user-gpu.c b/hw/display/vhost-user-gpu.c >index 14548f1a57..053cfd9cff 100644 >--- a/hw/display/vhost-user-gpu.c >+++ b/hw/display/vhost-user-gpu.c >@@ -631,6 +631,10 @@ vhost_user_gpu_device_realize(DeviceState *qdev, Error **errp) > error_report("EDID requested but the backend doesn't support it."); > g->parent_obj.conf.flags &= ~(1 << VIRTIO_GPU_FLAG_EDID_ENABLED); > } >+ if (virtio_has_feature(g->vhost->dev.features, >+ VIRTIO_GPU_F_RESOURCE_UUID)) { >+ g->parent_obj.conf.flags |= 1 << VIRTIO_GPU_F_RESOURCE_UUID_ENABLED; >+ } > > if (!virtio_gpu_base_device_realize(qdev, NULL, NULL, errp)) { > return; >diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c >index 4fc7ef8896..7827536ac4 100644 >--- a/hw/display/virtio-gpu-base.c >+++ b/hw/display/virtio-gpu-base.c >@@ -235,6 +235,9 @@ virtio_gpu_base_get_features(VirtIODevice *vdev, uint64_t features, > if (virtio_gpu_context_init_enabled(g->conf)) { > features |= (1 << VIRTIO_GPU_F_CONTEXT_INIT); > } >+ if (virtio_gpu_resource_uuid_enabled(g->conf)) { >+ features |= (1 << VIRTIO_GPU_F_RESOURCE_UUID); >+ } > > return features; > } >diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h >index 7a59379f5a..15e193bb6d 100644 >--- a/include/hw/virtio/virtio-gpu.h >+++ b/include/hw/virtio/virtio-gpu.h >@@ -99,6 +99,7 @@ enum virtio_gpu_base_conf_flags { > VIRTIO_GPU_FLAG_BLOB_ENABLED, > VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED, > VIRTIO_GPU_FLAG_RUTABAGA_ENABLED, >+ VIRTIO_GPU_F_RESOURCE_UUID_ENABLED, s/F_/FLAG_/ > }; > > #define virtio_gpu_virgl_enabled(_cfg) \ >@@ -115,6 +116,8 @@ enum virtio_gpu_base_conf_flags { > (_cfg.flags & (1 << VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED)) > #define virtio_gpu_rutabaga_enabled(_cfg) \ > (_cfg.flags & (1 << VIRTIO_GPU_FLAG_RUTABAGA_ENABLED)) >+#define virtio_gpu_resource_uuid_enabled(_cfg) \ >+ (_cfg.flags & (1 << VIRTIO_GPU_F_RESOURCE_UUID_ENABLED)) > #define virtio_gpu_hostmem_enabled(_cfg) \ > (_cfg.hostmem > 0) > >-- >2.46.1 > >
Hi Manos, Thanks, for spotting that! On Sat, Oct 5, 2024 at 7:43 AM Manos Pitsidianakis < manos.pitsidianakis@linaro.org> wrote: > Hello Dorinda, > > On Fri, 04 Oct 2024 19:41, Dorinda Bassey <dbassey@redhat.com> wrote: > >Add the VIRTIO_GPU_F_RESOURCE_UUID feature to enable the assignment > >of resources UUIDs for export to other virtio devices. > > > >Signed-off-by: Dorinda Bassey <dbassey@redhat.com> > >--- > > hw/display/vhost-user-gpu.c | 4 ++++ > > hw/display/virtio-gpu-base.c | 3 +++ > > include/hw/virtio/virtio-gpu.h | 3 +++ > > 3 files changed, 10 insertions(+) > > > >diff --git a/hw/display/vhost-user-gpu.c b/hw/display/vhost-user-gpu.c > >index 14548f1a57..053cfd9cff 100644 > >--- a/hw/display/vhost-user-gpu.c > >+++ b/hw/display/vhost-user-gpu.c > >@@ -631,6 +631,10 @@ vhost_user_gpu_device_realize(DeviceState *qdev, > Error **errp) > > error_report("EDID requested but the backend doesn't support > it."); > > g->parent_obj.conf.flags &= ~(1 << VIRTIO_GPU_FLAG_EDID_ENABLED); > > } > >+ if (virtio_has_feature(g->vhost->dev.features, > >+ VIRTIO_GPU_F_RESOURCE_UUID)) { > >+ g->parent_obj.conf.flags |= 1 << > VIRTIO_GPU_F_RESOURCE_UUID_ENABLED; > >+ } > > > > if (!virtio_gpu_base_device_realize(qdev, NULL, NULL, errp)) { > > return; > >diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c > >index 4fc7ef8896..7827536ac4 100644 > >--- a/hw/display/virtio-gpu-base.c > >+++ b/hw/display/virtio-gpu-base.c > >@@ -235,6 +235,9 @@ virtio_gpu_base_get_features(VirtIODevice *vdev, > uint64_t features, > > if (virtio_gpu_context_init_enabled(g->conf)) { > > features |= (1 << VIRTIO_GPU_F_CONTEXT_INIT); > > } > >+ if (virtio_gpu_resource_uuid_enabled(g->conf)) { > >+ features |= (1 << VIRTIO_GPU_F_RESOURCE_UUID); > >+ } > > > > return features; > > } > >diff --git a/include/hw/virtio/virtio-gpu.h > b/include/hw/virtio/virtio-gpu.h > >index 7a59379f5a..15e193bb6d 100644 > >--- a/include/hw/virtio/virtio-gpu.h > >+++ b/include/hw/virtio/virtio-gpu.h > >@@ -99,6 +99,7 @@ enum virtio_gpu_base_conf_flags { > > VIRTIO_GPU_FLAG_BLOB_ENABLED, > > VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED, > > VIRTIO_GPU_FLAG_RUTABAGA_ENABLED, > >+ VIRTIO_GPU_F_RESOURCE_UUID_ENABLED, > > > s/F_/FLAG_/ > > > > }; > > > > #define virtio_gpu_virgl_enabled(_cfg) \ > >@@ -115,6 +116,8 @@ enum virtio_gpu_base_conf_flags { > > (_cfg.flags & (1 << VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED)) > > #define virtio_gpu_rutabaga_enabled(_cfg) \ > > (_cfg.flags & (1 << VIRTIO_GPU_FLAG_RUTABAGA_ENABLED)) > >+#define virtio_gpu_resource_uuid_enabled(_cfg) \ > >+ (_cfg.flags & (1 << VIRTIO_GPU_F_RESOURCE_UUID_ENABLED)) > > #define virtio_gpu_hostmem_enabled(_cfg) \ > > (_cfg.hostmem > 0) > > > >-- > >2.46.1 > > > > > >
© 2016 - 2024 Red Hat, Inc.