diff options
author | Dave Airlie <airlied@redhat.com> | 2022-06-24 10:29:53 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2022-06-24 12:07:07 +1000 |
commit | 0936de1e96d6cbcd3d0ede8f31b1c3e6570dad2e (patch) | |
tree | 18a118445b0b63ea94556897f9b6c3696458e794 /drivers/gpu/drm/drm_aperture.c | |
parent | 0a2af0bd6e48775646dea5f3524a52a74afae7e0 (diff) | |
parent | 009a3a52791f31c57d755a73f6bc66fbdd8bd76c (diff) |
Merge tag 'drm-misc-next-2022-06-23' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for v5.20:
UAPI Changes:
* media: Add various RGB666 and RGB888 format constants
Cross-subsystem Changes:
* media: Documentation
Core Changes:
* aperture: Fix segfault during hot-unplug
* dp: Support waiting for HDP signal, plus driver updates;
Port-validation fixes
* fbcon: Improve scrolling performance; Sanitize input
* Clean up <drm/drm_crtc.h>
Driver Changes:
* amdgpu: Cleanups
* bridge: Add support for i.MX8qxp and i.MX8qm; anx7625: DPI fixes;
tc358775: Fix clock settings; ti-sn65dsi83: Allow GPIO to sleep
* panel: Set orientation from panel, plus driver updates
* Several small cleanups
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/YrQeAAVvQ6jxu2dl@linux-uq9g
Diffstat (limited to 'drivers/gpu/drm/drm_aperture.c')
-rw-r--r-- | drivers/gpu/drm/drm_aperture.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/drivers/gpu/drm/drm_aperture.c b/drivers/gpu/drm/drm_aperture.c index 74bd4a76b253..059fd71424f6 100644 --- a/drivers/gpu/drm/drm_aperture.c +++ b/drivers/gpu/drm/drm_aperture.c @@ -329,7 +329,20 @@ int drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, const struct drm_driver *req_driver) { resource_size_t base, size; - int bar, ret = 0; + int bar, ret; + + /* + * WARNING: Apparently we must kick fbdev drivers before vgacon, + * otherwise the vga fbdev driver falls over. + */ +#if IS_REACHABLE(CONFIG_FB) + ret = remove_conflicting_pci_framebuffers(pdev, req_driver->name); + if (ret) + return ret; +#endif + ret = vga_remove_vgacon(pdev); + if (ret) + return ret; for (bar = 0; bar < PCI_STD_NUM_BARS; ++bar) { if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM)) @@ -339,15 +352,6 @@ int drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, drm_aperture_detach_drivers(base, size); } - /* - * WARNING: Apparently we must kick fbdev drivers before vgacon, - * otherwise the vga fbdev driver falls over. - */ -#if IS_REACHABLE(CONFIG_FB) - ret = remove_conflicting_pci_framebuffers(pdev, req_driver->name); -#endif - if (ret == 0) - ret = vga_remove_vgacon(pdev); - return ret; + return 0; } EXPORT_SYMBOL(drm_aperture_remove_conflicting_pci_framebuffers); |