mirror of
https://github.com/torvalds/linux.git
synced 2025-11-04 18:49:34 +02:00
PCI/VGA: Replace vga_is_firmware_default() with a screen info check
vga_is_firmware_default() checks firmware resources to find the owner framebuffer resources to find the firmware PCI device. This is an open coded implementation of screen_info_pci_dev(). Switch to using screen_info_pci_dev() instead. Acked-by: Bjorn Helgaas <bhelgaas@google.com> Suggested-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://lore.kernel.org/r/20250811162606.587759-3-superm1@kernel.org Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
This commit is contained in:
parent
6e490dea61
commit
337bf13aa9
1 changed files with 5 additions and 26 deletions
|
|
@ -556,34 +556,13 @@ EXPORT_SYMBOL(vga_put);
|
|||
|
||||
static bool vga_is_firmware_default(struct pci_dev *pdev)
|
||||
{
|
||||
#if defined(CONFIG_X86)
|
||||
u64 base = screen_info.lfb_base;
|
||||
u64 size = screen_info.lfb_size;
|
||||
struct resource *r;
|
||||
u64 limit;
|
||||
#ifdef CONFIG_SCREEN_INFO
|
||||
struct screen_info *si = &screen_info;
|
||||
|
||||
/* Select the device owning the boot framebuffer if there is one */
|
||||
|
||||
if (screen_info.capabilities & VIDEO_CAPABILITY_64BIT_BASE)
|
||||
base |= (u64)screen_info.ext_lfb_base << 32;
|
||||
|
||||
limit = base + size;
|
||||
|
||||
/* Does firmware framebuffer belong to us? */
|
||||
pci_dev_for_each_resource(pdev, r) {
|
||||
if (resource_type(r) != IORESOURCE_MEM)
|
||||
continue;
|
||||
|
||||
if (!r->start || !r->end)
|
||||
continue;
|
||||
|
||||
if (base < r->start || limit >= r->end)
|
||||
continue;
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
return pdev == screen_info_pci_dev(si);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
static bool vga_arb_integrated_gpu(struct device *dev)
|
||||
|
|
|
|||
Loading…
Reference in a new issue