[PATCH 2/3] drm/i915: Kill legeacy AGP for gen3 kms

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Nov 13 11:00:44 PST 2013


On Mon, Nov 11, 2013 at 09:35:18AM +0100, Daniel Vetter wrote:
> Thus far we've tried to carefully work around the fact that old
> userspace relied on the AGP-backed legacy buffer mapping ioctls for a
> bit too long. But it's really horribly, and now some new users for it
> started to show up again:
> 
> http://www.mail-archive.com/mesa-dev@lists.freedesktop.org/msg45547.html
> 
> This uses drmAgpSize to figure out the GTT size, which is both the
> wrong thing to inquire and also might force us to keep this crap
> around for another few years.
> 
> So I want to stop this particular zombie from raising ever again. Now
> it's only been 4 years since XvMC was fixed for gen3, so a bit early
> by the usual rules. But since Linus explicitly said that an ABI
> breakage only counts if someone actually observes it I want to tempt
> fate an accelarate the demise of AGP.
> 
> We probably need to wait 2-3 kernel releases with this shipping until
> we go on a killing spree code-wise.
> 
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Cc: Dave Airlie <airlied at gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/i915/i915_drv.c | 12 +-----------
>  1 file changed, 1 insertion(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index d7c922051c89..93a8e0316bd0 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -797,17 +797,7 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  	if (PCI_FUNC(pdev->devfn))
>  		return -ENODEV;
>  
> -	/* We've managed to ship a kms-enabled ddx that shipped with an XvMC
> -	 * implementation for gen3 (and only gen3) that used legacy drm maps
> -	 * (gasp!) to share buffers between X and the client. Hence we need to
> -	 * keep around the fake agp stuff for gen3, even when kms is enabled. */
> -	if (intel_info->gen != 3) {
> -		driver.driver_features &=
> -			~(DRIVER_USE_AGP | DRIVER_REQUIRE_AGP);
> -	} else if (!intel_agp_enabled) {
> -		DRM_ERROR("drm/i915 can't work without intel_agp module!\n");
> -		return -ENODEV;
> -	}
> +	driver.driver_features &= ~(DRIVER_USE_AGP | DRIVER_REQUIRE_AGP);

Nothing else uses intel_agp_enabled, so it could be killed entirely.

>  
>  	return drm_get_pci_dev(pdev, ent, &driver);
>  }
> -- 
> 1.8.4.rc3

-- 
Ville Syrjälä
Intel OTC


More information about the dri-devel mailing list