Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp715599pxm; Fri, 25 Feb 2022 18:07:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJwiXcy1Rsft+PdWT9oA1r2CuNA2FYUA4eaCt+rnsjn54p+g+Lkzfa9imo5flBFov/tTRJ4C X-Received: by 2002:a17:902:ac96:b0:14f:c5f2:3bf1 with SMTP id h22-20020a170902ac9600b0014fc5f23bf1mr10234528plr.126.1645841259792; Fri, 25 Feb 2022 18:07:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645841259; cv=none; d=google.com; s=arc-20160816; b=QqbjILoiwJ5x/UxFG0B66hq2DiFM2msoljSgdPYecgL/MFKdqNeh5eTaW3QJLn7dKU jj3IlfjBO2oKg/rKbZmghA5qs3l4/5rYRuBa1avNwoEjXIUJMJFvFBcO/teD+WqVAV6c ZB8mzGPRN4Sd3BfJvg+u9Uf9H72Ejrefh1wgFkUMmzEJxiMyqz8oINdpCiI6aLT45pdI /m7zVI0eIL47+3zmLePH8cVYgGoDWxRU1hGDrsN4395aOn7Jep1qwa0c1ionbHQ/yDVF oaBcvKNQRBUQGLyrbQJ2AyJZmGPB9aQe9WpH4lcEshnyZIepLtp1pHx2EYsM7tUh1ciw Rq9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=GwSV9X9cBAL7jKPsCDtGJI+oXYu/I6gPphK0UyD/Has=; b=Tg9gX7JnN/UO2B1WOEbNnATfr1BDeJ91h3HOE3gPd8ldb6vB2kQaqVYnflrGlxfmIb dpk3SpbYdRbIlvlgXYlf8D1cHMeUIvTBuuqx2NF9sck3tejela58yMPjcfavMSbQVibx Qo2Bh1zje2ltVeO7UvIWDCTf1E+c5EpVtUTVBvoQHtK2DVblUxag8wCeQR9Vd2COJaGQ vyYIqzlzIsQKzm9ZApxVuIK3CGuvgrKX0PovXjoxzPothZEbH9qM92Kyksm+PmwBAzjX C1b+kIHewD1An4/Oe13Bu8m/uVTvg39PC+PoXv9mVjtHCRlGvIzbUIIwB7/Qmj4ou7nS 2beQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=m1uc5nS2; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id 133-20020a63038b000000b0035e8656cbfesi3380103pgd.218.2022.02.25.18.07.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Feb 2022 18:07:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=m1uc5nS2; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 061561CD9D5; Fri, 25 Feb 2022 17:45:52 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237793AbiBYUwW (ORCPT + 99 others); Fri, 25 Feb 2022 15:52:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237742AbiBYUwN (ORCPT ); Fri, 25 Feb 2022 15:52:13 -0500 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1C38A218CCB; Fri, 25 Feb 2022 12:51:40 -0800 (PST) Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out2.suse.de (Postfix) with ESMTP id 1A74B1F386; Fri, 25 Feb 2022 20:51:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1645822299; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GwSV9X9cBAL7jKPsCDtGJI+oXYu/I6gPphK0UyD/Has=; b=m1uc5nS25JuKFCqOvCHavPwuu+t5jJyl73fSytjg24NcyCXacu9e2XLnmQgvMAaUC6gQZo TzyUA8hq/E5thj5TvF24f5GqNYwfVPHUg/K60CIBV2j9V4+RLKZv+5u2fgKzmrqFg3GOA2 tJG327HYtXOma6xvhudueQzLPp69a9E= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1645822299; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GwSV9X9cBAL7jKPsCDtGJI+oXYu/I6gPphK0UyD/Has=; b=YTrlcG7ONp1HOlLCNbnGGjhp3zvZ6EY56aaFhcO32THvCp/NGL4dFrPGWZaf60TmFUm3J5 U49E1X2P9AkInlDA== Received: from kitsune.suse.cz (kitsune.suse.cz [10.100.12.127]) by relay2.suse.de (Postfix) with ESMTP id D6B6BA3B8B; Fri, 25 Feb 2022 20:51:38 +0000 (UTC) From: Michal Suchanek To: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, Thomas Zimmermann , Javier Martinez Canillas Cc: Michal Suchanek , Borislav Petkov , Thomas Gleixner , Ingo Molnar , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Martin Mares , Helge Deller , Ard Biesheuvel , Bjorn Andersson , Sudeep Holla , Greg Kroah-Hartman , Krzysztof Kozlowski , Arnd Bergmann , Geert Uytterhoeven , Cristian Marussi , Andy Shevchenko , David Herrmann , linux-kernel@vger.kernel.org, linux-video@atrey.karlin.mff.cuni.cz, linux-efi@vger.kernel.org, Borislav Petkov Subject: [PATCH v4 2/3] sysfb: Enable boot time VESA graphic mode selection Date: Fri, 25 Feb 2022 21:51:34 +0100 Message-Id: <948c39940a4e99f5b43bdbcbe537faae71a43e1d.1645822213.git.msuchanek@suse.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <1f13e6f2-a87c-83ac-7119-8632c8c8ac8e@redhat.com> References: <1f13e6f2-a87c-83ac-7119-8632c8c8ac8e@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since switch to simplefb/simpledrm VESA graphic mode selection with vga= kernel parameter is no longer available with legacy BIOS. The x86 realmode boot code enables the VESA graphic modes when option FB_BOOT_VESA_SUPPORT is enabled. This option is selected by vesafb but not simplefb/simpledrm. To enable use of VESA modes with simplefb in legacy BIOS boot mode drop dependency of BOOT_VESA_SUPPORT on FB, also drop the FB_ prefix. Select the option from sysfb rather than the drivers that depend on it. The BOOT_VESA_SUPPORT is not specific to framebuffer but rather to x86 platform, move it from fbdev to x86 Kconfig. Fixes: e3263ab389a7 ("x86: provide platform-devices for boot-framebuffers") Signed-off-by: Michal Suchanek Acked-by: Borislav Petkov --- v2: Select BOOT_VESA_SUPPORT from simplefb rather than simpledrm. The simpledrm driver uses the firmware provided video modes only indirectly through simplefb, and both can be enabled independently. v3: Move BOOT_VESA_SUPPORT from fbdev to x86 v4: Select BOOT_VESA_SUPPORT from sysfb rather than individial sysfb based drivers. --- arch/x86/Kconfig | 6 ++++++ arch/x86/boot/video-vesa.c | 4 ++-- drivers/firmware/Kconfig | 1 + drivers/video/fbdev/Kconfig | 12 ++---------- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 9f5bd41bf660..cceb1aab0486 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -942,6 +942,12 @@ config GART_IOMMU If unsure, say Y. +config BOOT_VESA_SUPPORT + bool + help + If true, at least one selected framebuffer driver can take advantage + of VESA video modes set at an early boot stage via the vga= parameter. + config MAXSMP bool "Enable Maximum number of SMP Processors and NUMA Nodes" depends on X86_64 && SMP && DEBUG_KERNEL diff --git a/arch/x86/boot/video-vesa.c b/arch/x86/boot/video-vesa.c index 7e185977a984..c2c6d35e3a43 100644 --- a/arch/x86/boot/video-vesa.c +++ b/arch/x86/boot/video-vesa.c @@ -83,7 +83,7 @@ static int vesa_probe(void) (vminfo.memory_layout == 4 || vminfo.memory_layout == 6) && vminfo.memory_planes == 1) { -#ifdef CONFIG_FB_BOOT_VESA_SUPPORT +#ifdef CONFIG_BOOT_VESA_SUPPORT /* Graphics mode, color, linear frame buffer supported. Only register the mode if if framebuffer is configured, however, @@ -121,7 +121,7 @@ static int vesa_set_mode(struct mode_info *mode) if ((vminfo.mode_attr & 0x15) == 0x05) { /* It's a supported text mode */ is_graphic = 0; -#ifdef CONFIG_FB_BOOT_VESA_SUPPORT +#ifdef CONFIG_BOOT_VESA_SUPPORT } else if ((vminfo.mode_attr & 0x99) == 0x99) { /* It's a graphics mode with linear frame buffer */ is_graphic = 1; diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index 5265eca74ba1..be42ae6f079e 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -218,6 +218,7 @@ config QCOM_SCM_DOWNLOAD_MODE_DEFAULT config SYSFB bool + select BOOT_VESA_SUPPORT config SYSFB_SIMPLEFB bool "Mark VGA/VBE/EFI FB as generic system framebuffer" diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index 907c305caf27..0e25434a71e1 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -66,13 +66,6 @@ config FB_DDC select I2C_ALGOBIT select I2C -config FB_BOOT_VESA_SUPPORT - bool - depends on FB - help - If true, at least one selected framebuffer driver can take advantage - of VESA video modes set at an early boot stage via the vga= parameter. - config FB_CFB_FILLRECT tristate depends on FB @@ -627,7 +620,6 @@ config FB_VESA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT - select FB_BOOT_VESA_SUPPORT select SYSFB help This is the frame buffer device driver for generic VESA 2.0 @@ -1053,7 +1045,7 @@ config FB_INTEL select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT - select FB_BOOT_VESA_SUPPORT if FB_INTEL = y + select BOOT_VESA_SUPPORT if FB_INTEL = y depends on !DRM_I915 help This driver supports the on-board graphics built in to the Intel @@ -1380,7 +1372,7 @@ config FB_SIS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT - select FB_BOOT_VESA_SUPPORT if FB_SIS = y + select BOOT_VESA_SUPPORT if FB_SIS = y select FB_SIS_300 if !FB_SIS_315 help This is the frame buffer device driver for the SiS 300, 315, 330 -- 2.34.1