brcm2708: update to latest patches from RPi Foundation
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.19 / 950-0706-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0706-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch b/target/linux/brcm2708/patches-4.19/950-0706-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch
new file mode 100644 (file)
index 0000000..adb14fb
--- /dev/null
@@ -0,0 +1,34 @@
+From c6be127c2f4d5f75c60d3778594093ff51593a6e Mon Sep 17 00:00:00 2001
+From: Michael Brown <mbrown@fensystems.co.uk>
+Date: Sun, 22 Sep 2019 21:51:29 +0100
+Subject: [PATCH] bcm2708_fb: Fix layout of struct
+ vc4_display_settings_t
+
+The display parameters returned by the VC4 firmware in response to the
+RPI_FIRMWARE_FRAMEBUFFER_GET_DISPLAY_SETTINGS tag do not match the
+layout of struct vc4_display_settings_t: the colour depth and row
+pitch are erroneously swapped in the kernel definition.  This can
+trigger a kernel warning from pixel_to_pat(), such as:
+
+  pixel_to_pat(): unsupported pixelformat 7296
+
+Fix by adjusting the layout of struct vc4_display_settings_t to match
+the layout as used by the VC4 firmware.
+
+Signed-off-by: Michael Brown <mbrown@fensystems.co.uk>
+---
+ drivers/video/fbdev/bcm2708_fb.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/video/fbdev/bcm2708_fb.c
++++ b/drivers/video/fbdev/bcm2708_fb.c
+@@ -89,8 +89,8 @@ struct vc4_display_settings_t {
+       u32 display_num;
+       u32 width;
+       u32 height;
+-      u32 pitch;
+       u32 depth;
++      u32 pitch;
+       u32 virtual_width;
+       u32 virtual_height;
+       u32 virtual_width_offset;