mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 04:38:03 +00:00
video/aperture: Remove conflicting VGA devices, if any
On the primary graphics adapter, a driver might conflict with a VGA driver that controls the VGA framebuffer I/O range. Remove the VGA driver from the aperture helpers. Until now, this case has been hendled by fbdev, but it should work even with fbdev disabled. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220718072322.8927-10-tzimmermann@suse.de
This commit is contained in:
parent
4652905f4e
commit
482b1c7d47
@ -12,6 +12,8 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/vgaarb.h>
|
||||
|
||||
#include <video/vga.h>
|
||||
|
||||
/**
|
||||
* DOC: overview
|
||||
*
|
||||
@ -300,6 +302,16 @@ int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t si
|
||||
*/
|
||||
sysfb_disable();
|
||||
|
||||
aperture_detach_devices(base, size);
|
||||
|
||||
/*
|
||||
* If this is the primary adapter, there could be a VGA device
|
||||
* that consumes the VGA framebuffer I/O range. Remove this device
|
||||
* as well.
|
||||
*/
|
||||
if (primary)
|
||||
aperture_detach_devices(VGA_FB_PHYS_BASE, VGA_FB_PHYS_SIZE);
|
||||
|
||||
#if IS_REACHABLE(CONFIG_FB)
|
||||
a = alloc_apertures(1);
|
||||
if (!a)
|
||||
@ -315,8 +327,6 @@ int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t si
|
||||
return ret;
|
||||
#endif
|
||||
|
||||
aperture_detach_devices(base, size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(aperture_remove_conflicting_devices);
|
||||
|
Loading…
Reference in New Issue
Block a user