Re: [PATCH v2] drm/virtio: Add suppport for non-native buffer formats

From: Christian Zigotzky
Date: Sat Nov 25 2023 - 07:39:02 EST


On 25 November 2023 at 01:22 pm, Christian Zigotzky wrote:
On 25 November 2023 at 12:09 pm, John Paul Adrian Glaubitz wrote:
On Sat, 2023-11-25 at 11:06 +0100, Christian Zigotzky wrote:
Could you please revert the v2 patch because of the issue with the
virtio-mouse-pci cursor? I will try to use the v1 patch for the RC3 of
kernel 6.7.
I don't understand why the v2 patch should yield any different results as
the only change compared to v1 is the fixed patch subject. There are no
functional differences, I just diffed the patches against each other:

--- geert-patch-v1.patch        2023-11-25 12:09:19.122936658 +0100
+++ geert-patch-v2.patch        2023-11-25 12:09:36.313039085 +0100
@@ -34,6 +34,9 @@
  Suggested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
  Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  ---
+v2:
+  - Fix truncated one-line summary.
+---
   drivers/gpu/drm/virtio/virtgpu_display.c | 11 +++++++++--
   drivers/gpu/drm/virtio/virtgpu_plane.c   |  6 ++++--
   2 files changed, 13 insertions(+), 4 deletions(-)

Adrian

Hi Adrian,

Thank you for the hint. I think you are right. I use the following patch.

--- a/drivers/gpu/drm/drm_client.c    2023-11-13 01:19:07.000000000 +0100
+++ b/drivers/gpu/drm/drm_client.c    2023-11-14 09:45:44.964199272 +0100
@@ -400,6 +400,16 @@ static int drm_client_buffer_addfb(struc

     fb_req.width = width;
     fb_req.height = height;
+           if (client->dev->mode_config.quirk_addfb_prefer_host_byte_order) {
+               if (format == DRM_FORMAT_XRGB8888)
+                       format = DRM_FORMAT_HOST_XRGB8888;
+               if (format == DRM_FORMAT_ARGB8888)
+                       format = DRM_FORMAT_HOST_ARGB8888;
+               if (format == DRM_FORMAT_RGB565)
+                       format = DRM_FORMAT_HOST_RGB565;
+               if (format == DRM_FORMAT_XRGB1555)
+                       format = DRM_FORMAT_HOST_XRGB1555;
+        }
     fb_req.pixel_format = format;
     fb_req.handles[0] = handle;
     fb_req.pitches[0] = buffer->pitch;

This patch solved the issue.

Christian
This was the first solution and it works without any problems.

Christian