From: Ville Syrjälä <ville.syrj...@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 <airl...@redhat.com>
Cc: Gerd Hoffmann <kra...@redhat.com>
Cc: Dmitry Osipenko <dmitry.osipe...@collabora.com>
Cc: Gurchetan Singh <gurchetansi...@chromium.org>
Cc: Chia-I Wu <olva...@gmail.com>
Cc: virtualizat...@lists.linux.dev
Signed-off-by: Ville Syrjälä <ville.syrj...@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);
-- 
2.49.0

Reply via email to