[Intel-gfx] [PATCH] drm/i915: Kill legeacy AGP for gen3 kms
Ville Syrjälä
ville.syrjala at linux.intel.com
Thu Nov 14 00:20:48 CET 2013
On Wed, Nov 13, 2013 at 10:14:16PM +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.
>
> v2: Remove intel_agp_enabled since it's unused (Ville).
>
> 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>
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> drivers/char/agp/intel-agp.c | 5 -----
> drivers/gpu/drm/i915/i915_drv.c | 17 +----------------
> 2 files changed, 1 insertion(+), 21 deletions(-)
>
> diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
> index a426ee1f57a6..9ef0a48a5b28 100644
> --- a/drivers/char/agp/intel-agp.c
> +++ b/drivers/char/agp/intel-agp.c
> @@ -14,9 +14,6 @@
> #include "intel-agp.h"
> #include <drm/intel-gtt.h>
>
> -int intel_agp_enabled;
> -EXPORT_SYMBOL(intel_agp_enabled);
> -
> static int intel_fetch_size(void)
> {
> int i;
> @@ -814,8 +811,6 @@ static int agp_intel_probe(struct pci_dev *pdev,
> found_gmch:
> pci_set_drvdata(pdev, bridge);
> err = agp_add_bridge(bridge);
> - if (!err)
> - intel_agp_enabled = 1;
> return err;
> }
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 8f93c1c1a622..9200c5c47d46 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -155,11 +155,6 @@ MODULE_PARM_DESC(prefault_disable,
> "Disable page prefaulting for pread/pwrite/reloc (default:false). For developers only.");
>
> static struct drm_driver driver;
> -#if IS_ENABLED(CONFIG_AGP_INTEL)
> -extern int intel_agp_enabled;
> -#else
> -static int intel_agp_enabled = 1;
> -#endif
>
> static const struct intel_device_info intel_i830_info = {
> .gen = 2, .is_mobile = 1, .cursor_needs_physical = 1, .num_pipes = 2,
> @@ -829,17 +824,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);
>
> return drm_get_pci_dev(pdev, ent, &driver);
> }
> --
> 1.8.4.3
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list