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..aa6c6416fa 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_FLAG_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..f12869376c 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_FLAG_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_FLAG_RESOURCE_UUID_ENABLED))
#define virtio_gpu_hostmem_enabled(_cfg) \
(_cfg.hostmem > 0)
--
2.46.1
Hi Michael, Alex, Any of you could take this in the next virtio-related PR? thanks On Mon, Oct 7, 2024 at 11:01 AM 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..aa6c6416fa 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_FLAG_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..f12869376c 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_FLAG_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_FLAG_RESOURCE_UUID_ENABLED)) > #define virtio_gpu_hostmem_enabled(_cfg) \ > (_cfg.hostmem > 0) > > -- > 2.46.1 > > > -- Marc-André Lureau
On Thu, Nov 07, 2024 at 05:09:28PM +0400, Marc-André Lureau wrote: > Hi Michael, Alex, > > Any of you could take this in the next virtio-related PR? > > thanks Sorry, we are past soft freeze. So not unless this is a bugfix.
On Mon, 07 Oct 2024 10:00, 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..aa6c6416fa 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_FLAG_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..f12869376c 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_FLAG_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_FLAG_RESOURCE_UUID_ENABLED)) > #define virtio_gpu_hostmem_enabled(_cfg) \ > (_cfg.hostmem > 0) > >-- >2.46.1 > > Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Hi On Mon, Oct 7, 2024 at 11:00 AM 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> Reviewed-by: Marc-André Lureau <marcandre.lureau@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..aa6c6416fa 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_FLAG_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..f12869376c 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_FLAG_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_FLAG_RESOURCE_UUID_ENABLED)) > #define virtio_gpu_hostmem_enabled(_cfg) \ > (_cfg.hostmem > 0) > > -- > 2.46.1 >
© 2016 - 2024 Red Hat, Inc.