Commit 482b1c7d authored by Thomas Zimmermann's avatar Thomas Zimmermann

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: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220718072322.8927-10-tzimmermann@suse.de
parent 4652905f
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/vgaarb.h> #include <linux/vgaarb.h>
#include <video/vga.h>
/** /**
* DOC: overview * DOC: overview
* *
...@@ -300,6 +302,16 @@ int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t si ...@@ -300,6 +302,16 @@ int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t si
*/ */
sysfb_disable(); 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) #if IS_REACHABLE(CONFIG_FB)
a = alloc_apertures(1); a = alloc_apertures(1);
if (!a) if (!a)
...@@ -315,8 +327,6 @@ int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t si ...@@ -315,8 +327,6 @@ int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t si
return ret; return ret;
#endif #endif
aperture_detach_devices(base, size);
return 0; return 0;
} }
EXPORT_SYMBOL(aperture_remove_conflicting_devices); EXPORT_SYMBOL(aperture_remove_conflicting_devices);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment