Linux PCI subsystem development
 help / color / mirror / Atom feed
From: "Mario Limonciello (AMD) (kernel.org)" <superm1@kernel.org>
To: Thomas Zimmermann <tzimmermann@suse.de>,
	mario.limonciello@amd.com, bhelgaas@google.com
Cc: "Eric Biggers" <ebiggers@kernel.org>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	linux-pci@vger.kernel.org
Subject: Re: [PATCH v3] PCI/VGA: Select SCREEN_INFO on X86
Date: Tue, 14 Oct 2025 17:02:04 -0500	[thread overview]
Message-ID: <2f857940-ae89-4459-b10e-25fadd722d5a@kernel.org> (raw)
In-Reply-To: <f05a530b-c5db-4db0-8458-1ba0443e4f2a@suse.de>



On 10/14/2025 3:24 AM, Thomas Zimmermann wrote:
> 
> 
> Am 14.10.25 um 00:08 schrieb Mario Limonciello (AMD):
>> commit 337bf13aa9dda ("PCI/VGA: Replace vga_is_firmware_default() with
>> a screen info check") introduced an implicit dependency upon SCREEN_INFO
>> by removing the open coded implementation.
>>
>> If a user didn't have CONFIG_SCREEN_INFO set vga_is_firmware_default()
>> would now return false.  SCREEN_INFO is only used on X86 so add add a
>> conditional select for SCREEN_INFO to ensure that the VGA arbiter works
>> as intended.
>>
>> Reported-by: Eric Biggers <ebiggers@kernel.org>
>> Closes: https://lore.kernel.org/linux-pci/20251012182302.GA3412@sol/
>> Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Fixes: 337bf13aa9dda ("PCI/VGA: Replace vga_is_firmware_default() with 
>> a screen info check")
>> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
>> Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
>> ---
>>   drivers/pci/Kconfig  | 1 +
>>   drivers/pci/vgaarb.c | 6 ++----
>>   2 files changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
>> index 7065a8e5f9b14..f94f5d384362e 100644
>> --- a/drivers/pci/Kconfig
>> +++ b/drivers/pci/Kconfig
>> @@ -306,6 +306,7 @@ config VGA_ARB
>>       bool "VGA Arbitration" if EXPERT
>>       default y
>>       depends on (PCI && !S390)
>> +    select SCREEN_INFO if X86
> 
> On x86 screen_info comes from [1]. On other systems it's at [2].
> 
> You can try selecting CONFIG_SYSFB instead, but that will likely run 
> into trouble with CONFIG_EFI=n.
> 
> [1] https://elixir.bootlin.com/linux/v6.17.1/source/arch/x86/kernel/ 
> setup.c#L214
> [2] https://elixir.bootlin.com/linux/v6.17.1/source/drivers/firmware/ 
> efi/efi-init.c#L63
> 
> I guess, the current patch should work for the use case. I'll keep in 
> mind to make the screen_info state easier to select.
> 

Yeah I noticed these when I was putting this together and when I 
compared the pre-337bf13aa9dda code I decided KISS is the better 
approach, especially to fix the 6.18 regression.

> Best regards
> Thomas
> 
>>       help
>>         Some "legacy" VGA devices implemented on PCI typically have 
>> the same
>>         hard-decoded addresses as they did on ISA. When multiple PCI 
>> devices
>> diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
>> index b58f94ee48916..436fa7f4c3873 100644
>> --- a/drivers/pci/vgaarb.c
>> +++ b/drivers/pci/vgaarb.c
>> @@ -556,10 +556,8 @@ EXPORT_SYMBOL(vga_put);
>>   static bool vga_is_firmware_default(struct pci_dev *pdev)
>>   {
>> -#ifdef CONFIG_SCREEN_INFO
>> -    struct screen_info *si = &screen_info;
>> -
>> -    return pdev == screen_info_pci_dev(si);
>> +#if defined CONFIG_X86
>> +    return pdev == screen_info_pci_dev(&screen_info);
>>   #else
>>       return false;
>>   #endif
> 


  reply	other threads:[~2025-10-14 22:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-13 22:08 [PATCH v3] PCI/VGA: Select SCREEN_INFO on X86 Mario Limonciello (AMD)
2025-10-14  6:50 ` Eric Biggers
2025-10-14  8:24 ` Thomas Zimmermann
2025-10-14 22:02   ` Mario Limonciello (AMD) (kernel.org) [this message]
2025-10-14 22:27 ` Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2f857940-ae89-4459-b10e-25fadd722d5a@kernel.org \
    --to=superm1@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=ebiggers@kernel.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox