Message ID | 20230707095415.1449376-1-arnd@kernel.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp3146330vqx; Fri, 7 Jul 2023 02:56:37 -0700 (PDT) X-Google-Smtp-Source: APBJJlFiNbbXigbgZB+z3rZcKMvKIowTyXAr5FUrHYSxKQGSipxe1rnhO0BKjeK4iyzh6ps4f7UT X-Received: by 2002:a25:3405:0:b0:c68:b728:c1c4 with SMTP id b5-20020a253405000000b00c68b728c1c4mr4170472yba.54.1688723797608; Fri, 07 Jul 2023 02:56:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688723797; cv=none; d=google.com; s=arc-20160816; b=GF2HMhZGzSRxRXWT/rHQWI71roUEwPRW8mYECv53dmlkSlk0t0w8EUX1uZV1NOYC7I yTUFHJeNggYDM4zOs9w1NI7uZOFXRhbj3ebnnTNdEBGoL5/qqaioIq82Lqpf15IVz7A4 AjTV/EyDmv/B+9kBfqtm95uY4z+4x5Vn/ZjINNRfIdnmDTg9lNqR/Sl+vfeKzBZN6zmA 64hMBtTR8RzthOp7KV2VEhO5FeaSUU4VS/uBon72e7crSVfGjnlfU/knwqK6+6/BacB8 MJWK8I4zpomFlkfj4LRY8wykDVzwt5hJOeKjdU22pcYcX2HBNdSokCSpyrEB2nnQwBl+ 8F6Q== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=s34+bmLd6Wtf6KH2fzKBVTzBnXsBmY5Z/EiapVOWkyA=; fh=2pP/HtmYrAZvjke+kAbCj7+qgdrE6Jbhnn7ZAl8A1C0=; b=lNDCmev3Qz2czhoOFMv8RC7RkjUB1WTIWkYHk8K3SGJDDzOQGGvgI2Y+TuQmEYEKdF YKnYd++J7j12Wi7c6mFH1gcryoTuM7EW6kFJh/Mxk1IMHMXXmI6+UBtDiicFyxj4WVt7 RoFa1DzVrcVSkFIspHUgMmaB2Y0IvoMjp3sjTqI5wTxQ/r7xp6ke9MAcS2L7MZWJ06ic PTW0JBtw19CijRhJCE+rjzagVkaHK60j97sRftY+DSYu8Km6j2mnnYib8OwvCR+HMZxx grUhso7ZdsBIlIIggpaq1hJsHjaKu1TpAXYPxTd/nhMnfu3Kntfv87vSK8LNhFuieo5z HAwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=TUQoYVUL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e10-20020a63690a000000b0055b635c3f6fsi3336446pgc.458.2023.07.07.02.56.22; Fri, 07 Jul 2023 02:56:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=TUQoYVUL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232759AbjGGJyo (ORCPT <rfc822;hadasmailinglist@gmail.com> + 99 others); Fri, 7 Jul 2023 05:54:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32920 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232747AbjGGJyh (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Fri, 7 Jul 2023 05:54:37 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 13CFD170F; Fri, 7 Jul 2023 02:54:34 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 9DDE1618E5; Fri, 7 Jul 2023 09:54:33 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 981EDC433C7; Fri, 7 Jul 2023 09:54:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1688723673; bh=1hp9hq9V97MqQl6Xw7YC6xzz3b8dnvVS9EeMnxTUvnE=; h=From:To:Cc:Subject:Date:From; b=TUQoYVULMKXh34CP4GMBwL2aMTC68aEwFjb4ToiO/+Qzq2SxrW6gzRmUmVk2fcpFH Bioql9dPE6AooB8yzmlwm1/5GOklb1WnaixYCjsUszLm9k78NDsyPe21goIrea9oAQ IRmLCrCAXgy2PbfcBhFPNsyL4HA2H1gcSQPtL8A+FL6o0ufqkIYWkr2VxE1kAYKGED 9PQvCgVcvsSIeiKyxfGRGJx2GXPbPbnuZwSob2rNxkr+7erC5ONplrWMYZ2glqWZOW cNCDXz+ygEKZTdDDuhxYXbKgysoCSxYNoKk2t6egKT0K+70Ypy4PLpYxZQOGT+aiP7 tsQxY8Pa0rMwQ== From: Arnd Bergmann <arnd@kernel.org> To: Thomas Zimmermann <tzimmermann@suse.de> Cc: javierm@redhat.com, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, Russell King <linux@armlinux.org.uk>, dri-devel@lists.freedesktop.org, Ard Biesheuvel <ardb@kernel.org>, Helge Deller <deller@gmx.de>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, Guo Ren <guoren@kernel.org>, linux-riscv@lists.infradead.org, linux-csky@vger.kernel.org Subject: [PATCH 1/4] vgacon: rework Kconfig dependencies Date: Fri, 7 Jul 2023 11:52:23 +0200 Message-Id: <20230707095415.1449376-1-arnd@kernel.org> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770755244809110368?= X-GMAIL-MSGID: =?utf-8?q?1770755244809110368?= |
Series |
[1/4] vgacon: rework Kconfig dependencies
|
|
Commit Message
Arnd Bergmann
July 7, 2023, 9:52 a.m. UTC
From: Arnd Bergmann <arnd@arndb.de> The list of dependencies here is phrased as an opt-out, but this is missing a lot of architectures that don't actually support VGA consoles, and some of the entries are stale: - powerpc used to support VGA consoles in the old arch/ppc codebase, but the merged arch/powerpc never did - arm lists footbridge, integrator and netwinder, but netwinder is actually part of footbridge, and integrator does not appear to have an actual VGA hardware, or list it in its ATAG or DT. - mips has a few platforms (jazz, sibyte, and sni) that initialize screen_info, on everything else the console is selected but cannot actually work. - csky, hexgagon, loongarch, nios2, riscv and xtensa are not listed in the opt-out table and declare a screen_info to allow building vga_con, but this cannot work because the console is never selected. Replace this with an opt-in table that lists only the platforms that remain. This is effectively x86, plus a couple of historic workstation and server machines that reused parts of the x86 system architecture. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/video/console/Kconfig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Comments
Arnd Bergmann <arnd@kernel.org> writes: Hello Arnd, > From: Arnd Bergmann <arnd@arndb.de> > > The list of dependencies here is phrased as an opt-out, but this is missing > a lot of architectures that don't actually support VGA consoles, and some > of the entries are stale: > > - powerpc used to support VGA consoles in the old arch/ppc codebase, but > the merged arch/powerpc never did > > - arm lists footbridge, integrator and netwinder, but netwinder is actually > part of footbridge, and integrator does not appear to have an actual > VGA hardware, or list it in its ATAG or DT. > > - mips has a few platforms (jazz, sibyte, and sni) that initialize > screen_info, on everything else the console is selected but cannot > actually work. > > - csky, hexgagon, loongarch, nios2, riscv and xtensa are not listed > in the opt-out table and declare a screen_info to allow building > vga_con, but this cannot work because the console is never selected. > > Replace this with an opt-in table that lists only the platforms that > remain. This is effectively x86, plus a couple of historic workstation > and server machines that reused parts of the x86 system architecture. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- Both our explanation and changes look good to me. Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Hi, for the whole series: Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Best regards Thomas Am 07.07.23 um 11:52 schrieb Arnd Bergmann: > From: Arnd Bergmann <arnd@arndb.de> > > The list of dependencies here is phrased as an opt-out, but this is missing > a lot of architectures that don't actually support VGA consoles, and some > of the entries are stale: > > - powerpc used to support VGA consoles in the old arch/ppc codebase, but > the merged arch/powerpc never did > > - arm lists footbridge, integrator and netwinder, but netwinder is actually > part of footbridge, and integrator does not appear to have an actual > VGA hardware, or list it in its ATAG or DT. > > - mips has a few platforms (jazz, sibyte, and sni) that initialize > screen_info, on everything else the console is selected but cannot > actually work. > > - csky, hexgagon, loongarch, nios2, riscv and xtensa are not listed > in the opt-out table and declare a screen_info to allow building > vga_con, but this cannot work because the console is never selected. > > Replace this with an opt-in table that lists only the platforms that > remain. This is effectively x86, plus a couple of historic workstation > and server machines that reused parts of the x86 system architecture. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/video/console/Kconfig | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig > index a2a88d42edf0c..47c498defc211 100644 > --- a/drivers/video/console/Kconfig > +++ b/drivers/video/console/Kconfig > @@ -7,9 +7,9 @@ menu "Console display driver support" > > config VGA_CONSOLE > bool "VGA text console" if EXPERT || !X86 > - depends on !4xx && !PPC_8xx && !SPARC && !M68K && !PARISC && !SUPERH && \ > - (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \ > - !ARM64 && !ARC && !MICROBLAZE && !OPENRISC && !S390 && !UML > + depends on ALPHA || IA64 || X86 || \ > + (ARM && ARCH_FOOTBRIDGE) || \ > + (MIPS && (MIPS_MALTA || SIBYTE_BCM112X || SIBYTE_SB1250 || SIBYTE_BCM1x80 || SNI_RM)) > select APERTURE_HELPERS if (DRM || FB || VFIO_PCI_CORE) > default y > help -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Frankenstrasse 146, 90461 Nuernberg, Germany GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman HRB 36809 (AG Nuernberg)
ping! What's the status of this patchset? Am 07.07.23 um 11:52 schrieb Arnd Bergmann: > From: Arnd Bergmann <arnd@arndb.de> > > The list of dependencies here is phrased as an opt-out, but this is missing > a lot of architectures that don't actually support VGA consoles, and some > of the entries are stale: > > - powerpc used to support VGA consoles in the old arch/ppc codebase, but > the merged arch/powerpc never did > > - arm lists footbridge, integrator and netwinder, but netwinder is actually > part of footbridge, and integrator does not appear to have an actual > VGA hardware, or list it in its ATAG or DT. > > - mips has a few platforms (jazz, sibyte, and sni) that initialize > screen_info, on everything else the console is selected but cannot > actually work. > > - csky, hexgagon, loongarch, nios2, riscv and xtensa are not listed > in the opt-out table and declare a screen_info to allow building > vga_con, but this cannot work because the console is never selected. > > Replace this with an opt-in table that lists only the platforms that > remain. This is effectively x86, plus a couple of historic workstation > and server machines that reused parts of the x86 system architecture. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/video/console/Kconfig | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig > index a2a88d42edf0c..47c498defc211 100644 > --- a/drivers/video/console/Kconfig > +++ b/drivers/video/console/Kconfig > @@ -7,9 +7,9 @@ menu "Console display driver support" > > config VGA_CONSOLE > bool "VGA text console" if EXPERT || !X86 > - depends on !4xx && !PPC_8xx && !SPARC && !M68K && !PARISC && !SUPERH && \ > - (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \ > - !ARM64 && !ARC && !MICROBLAZE && !OPENRISC && !S390 && !UML > + depends on ALPHA || IA64 || X86 || \ > + (ARM && ARCH_FOOTBRIDGE) || \ > + (MIPS && (MIPS_MALTA || SIBYTE_BCM112X || SIBYTE_SB1250 || SIBYTE_BCM1x80 || SNI_RM)) > select APERTURE_HELPERS if (DRM || FB || VFIO_PCI_CORE) > default y > help -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Frankenstrasse 146, 90461 Nuernberg, Germany GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman HRB 36809 (AG Nuernberg)
On Fri, Jul 07, 2023 at 11:52:23AM +0200, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > The list of dependencies here is phrased as an opt-out, but this is missing > a lot of architectures that don't actually support VGA consoles, and some > of the entries are stale: > > - powerpc used to support VGA consoles in the old arch/ppc codebase, but > the merged arch/powerpc never did > > - arm lists footbridge, integrator and netwinder, but netwinder is actually > part of footbridge, and integrator does not appear to have an actual > VGA hardware, or list it in its ATAG or DT. Integrator/AP has PCI, and I have had PCI VGA cards plugged in to that hardware when I've had it. Provided any platform sets up PCI in a compatible way, and can run the VGA's BIOS to initialise the card, then vgacon is supportable.
On Tue, Aug 1, 2023, at 19:05, Russell King (Oracle) wrote: > On Fri, Jul 07, 2023 at 11:52:23AM +0200, Arnd Bergmann wrote: >> From: Arnd Bergmann <arnd@arndb.de> >> >> The list of dependencies here is phrased as an opt-out, but this is missing >> a lot of architectures that don't actually support VGA consoles, and some >> of the entries are stale: >> >> - powerpc used to support VGA consoles in the old arch/ppc codebase, but >> the merged arch/powerpc never did >> >> - arm lists footbridge, integrator and netwinder, but netwinder is actually >> part of footbridge, and integrator does not appear to have an actual >> VGA hardware, or list it in its ATAG or DT. > > Integrator/AP has PCI, and I have had PCI VGA cards plugged in to that > hardware when I've had it. I'm pretty sure it can no longer work and broke a while ago, so I would prefer to leave it out unless someone actually has a reason to use it and puts the work in to restore the support. From what I can tell, it's broken in at least three ways with the new PCI host driver: - the PCI memory space is identity mapped to its CPU physical address as of d3721efce22d1 ("ARM: dts: integratorap: Fix PCI windows"), which is generally better for compatibility with broken drivers that read the BAR directly, but it prevents memory mapped ISA-style devices including VGA text buffer. - vga_base is no longer set by the new PCI host driver, so any accesses to the text buffer just end up in user space memory at (__iomem*)0xb8000 - there is no DT binding for setting the global screen_info to whatever the boot firmware has initialized the VGA BIOS to, and the default 80x30 on Arm does not match the typical 80x25 text that would be set by the BIOS. > Provided any platform sets up PCI in a compatible way, and can run the > VGA's BIOS to initialise the card, then vgacon is supportable. It looks like only footbridge does at this point, all the other platforms would need to fix at least some of the three things I mentioned above, in particular plat-orion is the only thing setting vga_base but also has the identity map issue. My impression is that nobody has cared about vgacon on most Arm systems since it's harder to get working than fbcon with a native PCI driver (or the built-in pl110 on integrator) but also less useful. Arnd
diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig index a2a88d42edf0c..47c498defc211 100644 --- a/drivers/video/console/Kconfig +++ b/drivers/video/console/Kconfig @@ -7,9 +7,9 @@ menu "Console display driver support" config VGA_CONSOLE bool "VGA text console" if EXPERT || !X86 - depends on !4xx && !PPC_8xx && !SPARC && !M68K && !PARISC && !SUPERH && \ - (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \ - !ARM64 && !ARC && !MICROBLAZE && !OPENRISC && !S390 && !UML + depends on ALPHA || IA64 || X86 || \ + (ARM && ARCH_FOOTBRIDGE) || \ + (MIPS && (MIPS_MALTA || SIBYTE_BCM112X || SIBYTE_SB1250 || SIBYTE_BCM1x80 || SNI_RM)) select APERTURE_HELPERS if (DRM || FB || VFIO_PCI_CORE) default y help