drm/aperture: Convert drivers to aperture interfaces
Mass-convert all drivers from FB helpers to aperture interfaces. No functional changes besides checking for returned errno codes. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210412131043.5787-3-tzimmermann@suse.de
This commit is contained in:
parent
2916059147
commit
6848c291a5
19 changed files with 67 additions and 56 deletions
|
@ -23,6 +23,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <drm/amdgpu_drm.h>
|
#include <drm/amdgpu_drm.h>
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_gem.h>
|
#include <drm/drm_gem.h>
|
||||||
#include <drm/drm_vblank.h>
|
#include <drm/drm_vblank.h>
|
||||||
|
@ -1196,7 +1197,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get rid of things like offb */
|
/* Get rid of things like offb */
|
||||||
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "amdgpudrmfb");
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "amdgpudrmfb");
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include <linux/of_graph.h>
|
#include <linux/of_graph.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_ioctl.h>
|
#include <drm/drm_ioctl.h>
|
||||||
|
@ -94,9 +95,7 @@ static int armada_drm_bind(struct device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove early framebuffers */
|
/* Remove early framebuffers */
|
||||||
ret = drm_fb_helper_remove_conflicting_framebuffers(NULL,
|
ret = drm_aperture_remove_framebuffers(false, "armada-drm-fb");
|
||||||
"armada-drm-fb",
|
|
||||||
false);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(dev, "[" DRM_NAME ":%s] can't kick out simple-fb: %d\n",
|
dev_err(dev, "[" DRM_NAME ":%s] can't kick out simple-fb: %d\n",
|
||||||
__func__, ret);
|
__func__, ret);
|
||||||
|
|
|
@ -30,10 +30,10 @@
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_crtc_helper.h>
|
#include <drm/drm_crtc_helper.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_fb_helper.h>
|
|
||||||
#include <drm/drm_gem_vram_helper.h>
|
#include <drm/drm_gem_vram_helper.h>
|
||||||
#include <drm/drm_probe_helper.h>
|
#include <drm/drm_probe_helper.h>
|
||||||
|
|
||||||
|
@ -89,23 +89,18 @@ static const struct pci_device_id ast_pciidlist[] = {
|
||||||
|
|
||||||
MODULE_DEVICE_TABLE(pci, ast_pciidlist);
|
MODULE_DEVICE_TABLE(pci, ast_pciidlist);
|
||||||
|
|
||||||
static void ast_kick_out_firmware_fb(struct pci_dev *pdev)
|
static int ast_remove_conflicting_framebuffers(struct pci_dev *pdev)
|
||||||
{
|
{
|
||||||
struct apertures_struct *ap;
|
|
||||||
bool primary = false;
|
bool primary = false;
|
||||||
|
resource_size_t base, size;
|
||||||
|
|
||||||
ap = alloc_apertures(1);
|
base = pci_resource_start(pdev, 0);
|
||||||
if (!ap)
|
size = pci_resource_len(pdev, 0);
|
||||||
return;
|
|
||||||
|
|
||||||
ap->ranges[0].base = pci_resource_start(pdev, 0);
|
|
||||||
ap->ranges[0].size = pci_resource_len(pdev, 0);
|
|
||||||
|
|
||||||
#ifdef CONFIG_X86
|
#ifdef CONFIG_X86
|
||||||
primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
|
primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
|
||||||
#endif
|
#endif
|
||||||
drm_fb_helper_remove_conflicting_framebuffers(ap, "astdrmfb", primary);
|
|
||||||
kfree(ap);
|
return drm_aperture_remove_conflicting_framebuffers(base, size, primary, "astdrmfb");
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ast_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
static int ast_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
|
@ -114,7 +109,9 @@ static int ast_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
struct drm_device *dev;
|
struct drm_device *dev;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ast_kick_out_firmware_fb(pdev);
|
ret = ast_remove_conflicting_framebuffers(pdev);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
ret = pcim_enable_device(pdev);
|
ret = pcim_enable_device(pdev);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_managed.h>
|
#include <drm/drm_managed.h>
|
||||||
|
|
||||||
|
@ -109,7 +110,7 @@ static int bochs_pci_probe(struct pci_dev *pdev,
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "bochsdrmfb");
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "bochsdrmfb");
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_gem_framebuffer_helper.h>
|
#include <drm/drm_gem_framebuffer_helper.h>
|
||||||
|
@ -313,8 +314,7 @@ static int hibmc_pci_probe(struct pci_dev *pdev,
|
||||||
struct drm_device *dev;
|
struct drm_device *dev;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev,
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "hibmcdrmfb");
|
||||||
"hibmcdrmfb");
|
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include <linux/vt.h>
|
#include <linux/vt.h>
|
||||||
#include <acpi/video.h>
|
#include <acpi/video.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_ioctl.h>
|
#include <drm/drm_ioctl.h>
|
||||||
#include <drm/drm_irq.h>
|
#include <drm/drm_irq.h>
|
||||||
|
@ -557,7 +558,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_perf;
|
goto err_perf;
|
||||||
|
|
||||||
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "inteldrmfb");
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "inteldrmfb");
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_ggtt;
|
goto err_ggtt;
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/soc/amlogic/meson-canvas.h>
|
#include <linux/soc/amlogic/meson-canvas.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_fb_helper.h>
|
#include <drm/drm_fb_helper.h>
|
||||||
|
@ -156,23 +157,6 @@ static void meson_vpu_init(struct meson_drm *priv)
|
||||||
writel_relaxed(value, priv->io_base + _REG(VPU_WRARB_MODE_L2C1));
|
writel_relaxed(value, priv->io_base + _REG(VPU_WRARB_MODE_L2C1));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void meson_remove_framebuffers(void)
|
|
||||||
{
|
|
||||||
struct apertures_struct *ap;
|
|
||||||
|
|
||||||
ap = alloc_apertures(1);
|
|
||||||
if (!ap)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* The framebuffer can be located anywhere in RAM */
|
|
||||||
ap->ranges[0].base = 0;
|
|
||||||
ap->ranges[0].size = ~0;
|
|
||||||
|
|
||||||
drm_fb_helper_remove_conflicting_framebuffers(ap, "meson-drm-fb",
|
|
||||||
false);
|
|
||||||
kfree(ap);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct meson_drm_soc_attr {
|
struct meson_drm_soc_attr {
|
||||||
struct meson_drm_soc_limits limits;
|
struct meson_drm_soc_limits limits;
|
||||||
const struct soc_device_attribute *attrs;
|
const struct soc_device_attribute *attrs;
|
||||||
|
@ -297,8 +281,13 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove early framebuffers (ie. simplefb) */
|
/*
|
||||||
meson_remove_framebuffers();
|
* Remove early framebuffers (ie. simplefb). The framebuffer can be
|
||||||
|
* located anywhere in RAM
|
||||||
|
*/
|
||||||
|
ret = drm_aperture_remove_framebuffers(false, "meson-drm-fb");
|
||||||
|
if (ret)
|
||||||
|
goto free_drm;
|
||||||
|
|
||||||
ret = drmm_mode_config_init(drm);
|
ret = drmm_mode_config_init(drm);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/vmalloc.h>
|
#include <linux/vmalloc.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_file.h>
|
#include <drm/drm_file.h>
|
||||||
#include <drm/drm_ioctl.h>
|
#include <drm/drm_ioctl.h>
|
||||||
|
@ -341,7 +342,9 @@ mgag200_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
struct drm_device *dev;
|
struct drm_device *dev;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "mgag200drmfb");
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "mgag200drmfb");
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
ret = pcim_enable_device(pdev);
|
ret = pcim_enable_device(pdev);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
* Author: Rob Clark <robdclark@gmail.com>
|
* Author: Rob Clark <robdclark@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_crtc.h>
|
#include <drm/drm_crtc.h>
|
||||||
#include <drm/drm_fb_helper.h>
|
#include <drm/drm_fb_helper.h>
|
||||||
#include <drm/drm_fourcc.h>
|
#include <drm/drm_fourcc.h>
|
||||||
|
@ -168,7 +169,9 @@ struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* the fw fb could be anywhere in memory */
|
/* the fw fb could be anywhere in memory */
|
||||||
drm_fb_helper_remove_conflicting_framebuffers(NULL, "msm", false);
|
ret = drm_aperture_remove_framebuffers(false, "msm");
|
||||||
|
if (ret)
|
||||||
|
goto fini;
|
||||||
|
|
||||||
ret = drm_fb_helper_initial_config(helper, 32);
|
ret = drm_fb_helper_initial_config(helper, 32);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include <linux/vga_switcheroo.h>
|
#include <linux/vga_switcheroo.h>
|
||||||
#include <linux/mmu_notifier.h>
|
#include <linux/mmu_notifier.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_crtc_helper.h>
|
#include <drm/drm_crtc_helper.h>
|
||||||
#include <drm/drm_gem_ttm_helper.h>
|
#include <drm/drm_gem_ttm_helper.h>
|
||||||
#include <drm/drm_ioctl.h>
|
#include <drm/drm_ioctl.h>
|
||||||
|
@ -737,7 +738,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev,
|
||||||
nvkm_device_del(&device);
|
nvkm_device_del(&device);
|
||||||
|
|
||||||
/* Remove conflicting drivers (vesafb, efifb etc). */
|
/* Remove conflicting drivers (vesafb, efifb etc). */
|
||||||
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "nouveaufb");
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "nouveaufb");
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -29,11 +29,14 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "qxl_drv.h"
|
#include "qxl_drv.h"
|
||||||
|
|
||||||
#include <linux/console.h>
|
#include <linux/console.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
#include <linux/vgaarb.h>
|
||||||
|
|
||||||
#include <drm/drm.h>
|
#include <drm/drm.h>
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_file.h>
|
#include <drm/drm_file.h>
|
||||||
|
@ -93,7 +96,7 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "qxl");
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "qxl");
|
||||||
if (ret)
|
if (ret)
|
||||||
goto disable_pci;
|
goto disable_pci;
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@
|
||||||
#include <linux/mmu_notifier.h>
|
#include <linux/mmu_notifier.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_agpsupport.h>
|
#include <drm/drm_agpsupport.h>
|
||||||
#include <drm/drm_crtc_helper.h>
|
#include <drm/drm_crtc_helper.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
|
@ -330,7 +331,7 @@ static int radeon_pci_probe(struct pci_dev *pdev,
|
||||||
return -EPROBE_DEFER;
|
return -EPROBE_DEFER;
|
||||||
|
|
||||||
/* Get rid of things like offb */
|
/* Get rid of things like offb */
|
||||||
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "radeondrmfb");
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "radeondrmfb");
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
#include <linux/of_reserved_mem.h>
|
#include <linux/of_reserved_mem.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_fb_cma_helper.h>
|
#include <drm/drm_fb_cma_helper.h>
|
||||||
|
@ -99,7 +100,9 @@ static int sun4i_drv_bind(struct device *dev)
|
||||||
drm->irq_enabled = true;
|
drm->irq_enabled = true;
|
||||||
|
|
||||||
/* Remove early framebuffers (ie. simplefb) */
|
/* Remove early framebuffers (ie. simplefb) */
|
||||||
drm_fb_helper_remove_conflicting_framebuffers(NULL, "sun4i-drm-fb", false);
|
ret = drm_aperture_remove_framebuffers(false, "sun4i-drm-fb");
|
||||||
|
if (ret)
|
||||||
|
goto cleanup_mode_config;
|
||||||
|
|
||||||
sun4i_framebuffer_init(drm);
|
sun4i_framebuffer_init(drm);
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic.h>
|
#include <drm/drm_atomic.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_debugfs.h>
|
#include <drm/drm_debugfs.h>
|
||||||
|
@ -1198,8 +1199,7 @@ static int host1x_drm_probe(struct host1x_device *dev)
|
||||||
|
|
||||||
drm_mode_config_reset(drm);
|
drm_mode_config_reset(drm);
|
||||||
|
|
||||||
err = drm_fb_helper_remove_conflicting_framebuffers(NULL, "tegradrmfb",
|
err = drm_aperture_remove_framebuffers(false, "tegradrmfb");
|
||||||
false);
|
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto hub;
|
goto hub;
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <video/cirrus.h>
|
#include <video/cirrus.h>
|
||||||
#include <video/vga.h>
|
#include <video/vga.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_atomic_state_helper.h>
|
#include <drm/drm_atomic_state_helper.h>
|
||||||
#include <drm/drm_connector.h>
|
#include <drm/drm_connector.h>
|
||||||
|
@ -549,7 +550,7 @@ static int cirrus_pci_probe(struct pci_dev *pdev,
|
||||||
struct cirrus_device *cirrus;
|
struct cirrus_device *cirrus;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "cirrusdrmfb");
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "cirrusdrmfb");
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/vt_kern.h>
|
#include <linux/vt_kern.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_crtc_helper.h>
|
#include <drm/drm_crtc_helper.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_fb_helper.h>
|
#include <drm/drm_fb_helper.h>
|
||||||
|
@ -42,7 +43,7 @@ static int vbox_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
if (!vbox_check_supported(VBE_DISPI_ID_HGSMI))
|
if (!vbox_check_supported(VBE_DISPI_ID_HGSMI))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "vboxvideodrmfb");
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "vboxvideodrmfb");
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/pm_runtime.h>
|
#include <linux/pm_runtime.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_fb_cma_helper.h>
|
#include <drm/drm_fb_cma_helper.h>
|
||||||
|
@ -266,7 +267,9 @@ static int vc4_drm_bind(struct device *dev)
|
||||||
if (ret)
|
if (ret)
|
||||||
goto unbind_all;
|
goto unbind_all;
|
||||||
|
|
||||||
drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false);
|
ret = drm_aperture_remove_framebuffers(false, "vc4drmfb");
|
||||||
|
if (ret)
|
||||||
|
goto unbind_all;
|
||||||
|
|
||||||
ret = vc4_kms_load(drm);
|
ret = vc4_kms_load(drm);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
|
||||||
#include <drm/drm.h>
|
#include <drm/drm.h>
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_file.h>
|
#include <drm/drm_file.h>
|
||||||
|
@ -50,13 +51,16 @@ static int virtio_gpu_pci_quirk(struct drm_device *dev, struct virtio_device *vd
|
||||||
const char *pname = dev_name(&pdev->dev);
|
const char *pname = dev_name(&pdev->dev);
|
||||||
bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA;
|
bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA;
|
||||||
char unique[20];
|
char unique[20];
|
||||||
|
int ret;
|
||||||
|
|
||||||
DRM_INFO("pci: %s detected at %s\n",
|
DRM_INFO("pci: %s detected at %s\n",
|
||||||
vga ? "virtio-vga" : "virtio-gpu-pci",
|
vga ? "virtio-vga" : "virtio-gpu-pci",
|
||||||
pname);
|
pname);
|
||||||
if (vga)
|
if (vga) {
|
||||||
drm_fb_helper_remove_conflicting_pci_framebuffers(pdev,
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "virtiodrmfb");
|
||||||
"virtiodrmfb");
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Normally the drm_dev_set_unique() call is done by core DRM.
|
* Normally the drm_dev_set_unique() call is done by core DRM.
|
||||||
|
|
|
@ -31,8 +31,8 @@
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/mem_encrypt.h>
|
#include <linux/mem_encrypt.h>
|
||||||
|
|
||||||
|
#include <drm/drm_aperture.h>
|
||||||
#include <drm/drm_drv.h>
|
#include <drm/drm_drv.h>
|
||||||
#include <drm/drm_fb_helper.h>
|
|
||||||
#include <drm/drm_ioctl.h>
|
#include <drm/drm_ioctl.h>
|
||||||
#include <drm/drm_sysfs.h>
|
#include <drm/drm_sysfs.h>
|
||||||
#include <drm/ttm/ttm_bo_driver.h>
|
#include <drm/ttm/ttm_bo_driver.h>
|
||||||
|
@ -1491,7 +1491,7 @@ static int vmw_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
struct vmw_private *vmw;
|
struct vmw_private *vmw;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "svgadrmfb");
|
ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "svgadrmfb");
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue