From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [Intel-gfx] [PATCH 07/12] drm/i915: only enable drm agp support when required Date: Tue, 12 Jun 2012 14:58:25 +0300 Message-ID: <87ehpkpwri.fsf@intel.com> References: <1339077364-21032-1-git-send-email-daniel.vetter@ffwll.ch> <1339077364-21032-8-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1339077364-21032-8-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Intel Graphics Development , DRI Development Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org On Thu, 07 Jun 2012, Daniel Vetter wrote: > 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 > --- > 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; > + } You need to goto free_priv in the above error paths. Should there be a deinit of drm_pci_agp_init() if something goes wrong afterwards? BR, Jani. > + } > + > if (i915_get_bridge_dev(dev)) { > ret = -EIO; > goto free_priv; > -- > 1.7.7.6 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx