[PATCH 07/12] drm/i915: only enable drm agp support when required
Daniel Vetter
daniel.vetter at ffwll.ch
Thu Jun 7 06:55:59 PDT 2012
We need it for all things ums (which essentially only means up to
gen5) and to support b0rked XvMC userspace on gen3.
Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
---
drivers/gpu/drm/i915/i915_dma.c | 21 ++++++++++++---------
1 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index e4203df..0ab5d3d 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1422,15 +1422,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
int ret = 0, mmio_bar;
uint32_t aperture_size;
- ret = drm_pci_agp_init(dev);
- if (ret)
- return ret;
-
- if (!dev->agp) {
- DRM_ERROR("Cannot initialize the agpgart module.\n");
- return -EINVAL;
- }
-
info = (struct intel_device_info *) flags;
/* Refuse to load on gen6+ without kms enabled. */
@@ -1453,6 +1444,18 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
dev_priv->dev = dev;
dev_priv->info = info;
+ if (!drm_core_check_feature(dev, DRIVER_MODESET) ||
+ IS_GEN3(dev)) {
+ ret = drm_pci_agp_init(dev);
+ if (ret)
+ return ret;
+
+ if (!dev->agp) {
+ DRM_ERROR("Cannot initialize the agpgart module.\n");
+ return -EINVAL;
+ }
+ }
+
if (i915_get_bridge_dev(dev)) {
ret = -EIO;
goto free_priv;
--
1.7.7.6
More information about the dri-devel
mailing list