mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +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