aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-4.19/950-0704-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0704-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch')
-rw-r--r--target/linux/bcm27xx/patches-4.19/950-0704-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0704-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch b/target/linux/bcm27xx/patches-4.19/950-0704-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch
new file mode 100644
index 0000000000..adb14fb710
--- /dev/null
+++ b/target/linux/bcm27xx/patches-4.19/950-0704-bcm2708_fb-Fix-layout-of-struct-vc4_display_settings.patch
@@ -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;