Message ID | 20250410163218.15130-18-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm: Eliminate redundant drm_format_info lookups | expand |
On 4/10/25 19:32, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Plumb the format info from .fb_create() all the way to > drm_helper_mode_fill_fb_struct() to avoid the redundant > lookup. > > Cc: David Airlie <airlied@redhat.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Dmitry Osipenko <dmitry.osipenko@collabora.com> > Cc: Gurchetan Singh <gurchetansingh@chromium.org> > Cc: Chia-I Wu <olvaffe@gmail.com> > Cc: virtualization@lists.linux.dev > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/virtio/virtgpu_display.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c > index 93763b91bab5..e5805ca646c7 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_display.c > +++ b/drivers/gpu/drm/virtio/virtgpu_display.c > @@ -66,6 +66,7 @@ static const struct drm_framebuffer_funcs virtio_gpu_fb_funcs = { > static int > virtio_gpu_framebuffer_init(struct drm_device *dev, > struct virtio_gpu_framebuffer *vgfb, > + const struct drm_format_info *info, > const struct drm_mode_fb_cmd2 *mode_cmd, > struct drm_gem_object *obj) > { > @@ -73,7 +74,7 @@ virtio_gpu_framebuffer_init(struct drm_device *dev, > > vgfb->base.obj[0] = obj; > > - drm_helper_mode_fill_fb_struct(dev, &vgfb->base, NULL, mode_cmd); > + drm_helper_mode_fill_fb_struct(dev, &vgfb->base, info, mode_cmd); > > ret = drm_framebuffer_init(dev, &vgfb->base, &virtio_gpu_fb_funcs); > if (ret) { > @@ -315,7 +316,7 @@ virtio_gpu_user_framebuffer_create(struct drm_device *dev, > return ERR_PTR(-ENOMEM); > } > > - ret = virtio_gpu_framebuffer_init(dev, virtio_gpu_fb, mode_cmd, obj); > + ret = virtio_gpu_framebuffer_init(dev, virtio_gpu_fb, info, mode_cmd, obj); > if (ret) { > kfree(virtio_gpu_fb); > drm_gem_object_put(obj); Acked-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c index 93763b91bab5..e5805ca646c7 100644 --- a/drivers/gpu/drm/virtio/virtgpu_display.c +++ b/drivers/gpu/drm/virtio/virtgpu_display.c @@ -66,6 +66,7 @@ static const struct drm_framebuffer_funcs virtio_gpu_fb_funcs = { static int virtio_gpu_framebuffer_init(struct drm_device *dev, struct virtio_gpu_framebuffer *vgfb, + const struct drm_format_info *info, const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object *obj) { @@ -73,7 +74,7 @@ virtio_gpu_framebuffer_init(struct drm_device *dev, vgfb->base.obj[0] = obj; - drm_helper_mode_fill_fb_struct(dev, &vgfb->base, NULL, mode_cmd); + drm_helper_mode_fill_fb_struct(dev, &vgfb->base, info, mode_cmd); ret = drm_framebuffer_init(dev, &vgfb->base, &virtio_gpu_fb_funcs); if (ret) { @@ -315,7 +316,7 @@ virtio_gpu_user_framebuffer_create(struct drm_device *dev, return ERR_PTR(-ENOMEM); } - ret = virtio_gpu_framebuffer_init(dev, virtio_gpu_fb, mode_cmd, obj); + ret = virtio_gpu_framebuffer_init(dev, virtio_gpu_fb, info, mode_cmd, obj); if (ret) { kfree(virtio_gpu_fb); drm_gem_object_put(obj);