summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2019-06-21 15:13:14 +0200
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>2019-06-21 15:13:14 +0200
commitb6b1d5119297abc881128bb05f4d2611bf28e7a9 (patch)
treeff52b6d0ecb231c19bbde4d65be8191840a5d984 /drivers
parent813e34adeefbd4a8ee0d3003db79f1a3b97dfe17 (diff)
downloadlinux-b6b1d5119297abc881128bb05f4d2611bf28e7a9.tar.gz
linux-b6b1d5119297abc881128bb05f4d2611bf28e7a9.tar.bz2
linux-b6b1d5119297abc881128bb05f4d2611bf28e7a9.zip
efifb: BGRT: Add check for new BGRT status field rotation bits
Starting with ACPI 6.2 bits 1 and 2 of the BGRT status field are no longer reserved. These bits are now used to indicate if the image needs to be rotated before being displayed. The efifb code does not support rotating the image before copying it to the screen. This commit adds a check for these new bits and if they are set leaves the fb contents as is instead of trying to use the un-rotated BGRT image. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Peter Jones <pjones@redhat.com> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/fbdev/efifb.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c
index 9f39f0c360e0..dfa8dd47d19d 100644
--- a/drivers/video/fbdev/efifb.c
+++ b/drivers/video/fbdev/efifb.c
@@ -169,6 +169,11 @@ static void efifb_show_boot_graphics(struct fb_info *info)
return;
}
+ if (bgrt_tab.status & 0x06) {
+ pr_info("efifb: BGRT rotation bits set, not showing boot graphics\n");
+ return;
+ }
+
/* Avoid flashing the logo if we're going to print std probe messages */
if (console_loglevel > CONSOLE_LOGLEVEL_QUIET)
return;