summaryrefslogtreecommitdiffstats
path: root/drivers/video/fbdev/efifb.c
diff options
context:
space:
mode:
authorCohen, Eugene <eugene@hp.com>2017-04-04 17:27:43 +0200
committerIngo Molnar <mingo@kernel.org>2017-04-05 09:20:18 +0200
commit540f4c0e894f7e46a66dfa424b16424cbdc12c38 (patch)
treec1227ef889c55b9287731e5a4d473d15b196f58e /drivers/video/fbdev/efifb.c
parentMerge tag 'gpio-v4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/lin... (diff)
downloadlinux-540f4c0e894f7e46a66dfa424b16424cbdc12c38.tar.xz
linux-540f4c0e894f7e46a66dfa424b16424cbdc12c38.zip
efi/libstub: Skip GOP with PIXEL_BLT_ONLY format
The UEFI Specification permits Graphics Output Protocol (GOP) instances without direct framebuffer access. This is indicated in the Mode structure with a PixelFormat enumeration value of PIXEL_BLT_ONLY. Given that the kernel does not know how to drive a Blt() only framebuffer (which is only permitted before ExitBootServices() anyway), we should disregard such framebuffers when looking for a GOP instance that is suitable for use as the boot console. So modify the EFI GOP initialization to not use a PIXEL_BLT_ONLY instance, preventing attempts later in boot to use an invalid screen_info.lfb_base address. Signed-off-by: Eugene Cohen <eugene@hp.com> [ Moved the Blt() only check into the loop and clarified that Blt() only GOPs are unusable by the kernel. ] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: <stable@vger.kernel.org> # v4.7+ Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Matt Fleming <matt@codeblueprint.co.uk> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: leif.lindholm@linaro.org Cc: linux-efi@vger.kernel.org Cc: lorenzo.pieralisi@arm.com Fixes: 9822504c1fa5 ("efifb: Enable the efi-framebuffer platform driver ...") Link: http://lkml.kernel.org/r/20170404152744.26687-2-ard.biesheuvel@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/video/fbdev/efifb.c')
0 files changed, 0 insertions, 0 deletions