[PATCH 00/12] clear up drm/agp initialization madness

Daniel Vetter daniel.vetter at ffwll.ch
Thu Jun 7 06:55:52 PDT 2012


Hi all,

With these patches there's no more /dev/agpgart fake agp interface for drm/i915,
at least not for snb and later.

The first 3 patches rework the drm core to move agp initialization into drivers.
A nice bonus is that these remove the mid-layer stench quite a bit from drm ...

The later patches from drm/i915 and the intel agp/gtt stuff so that drm/i915 can
directly initialize the gtt support code, without the useless fake agp setup
(which at least kms/gem doesn't need at all).

Note that thanks to some horrible piece of userspace code we can't disable drm
agp support for gen3. That piece of userspace code uses the legacy drm addmap
stuff to get at it's buffers, and that requires the fake agp driver to work.

Also, we can't disable the fake agp driver on other generations before snb,
because by the time we know that we're running with kms enabled and don't
actually need it it's too late.

Obviously this is only the first part, furture patches will move the gen6+ gtt
code into drm/i915 so that we can rip out all the duplication of chipset gen
information in intel-gtt.c, too. And prepare for some neat new features ;-)

Outside of drm/i915 stuff only tested on my i815 - for some odd reason my only
agp machine left dies on 3.5-rc1, so couldn't yet beat on it with a few other
oddball drivers. But imho the first 3 patches are fairly safe (compared to some
other drm dragon slaughtering I've attempted).

Comments, flames and reviews highly welcome. If possible I'd like to get the 3
drm patches at the beginning in early for 3.6 so that we can decently test it
(and have some time to pile more stuff on top of this in drm/i915 land).

Yours, Daniel

Daniel Vetter (12):
  drm: move drm_pci_agp_init into driver load functions
  drm: kill the REQUIRE_AGP driver flag
  drm: kill USE_AGP driver flag
  agp/intel-gtt: remove dead code
  drm/i915: stop using dev->agp->base
  agp/intel-gtt: don't require the agp bridge on setup
  drm/i915: only enable drm agp support when required
  drm/i915 + agp/intel-gtt: prep work for direct setup
  drm/i915: don't check intel_agp_enabled any more
  agp/intel-gtt: move gart base addres setup
  drm/i915: call intel_enable_gtt
  agp/intel-agp: remove snb+ host bridge pciids

 drivers/char/agp/intel-agp.c            |   16 +------
 drivers/char/agp/intel-agp.h            |    3 -
 drivers/char/agp/intel-gtt.c            |   73 ++++++++++++++++++++-----------
 drivers/gpu/drm/drm_pci.c               |    8 +---
 drivers/gpu/drm/drm_stub.c              |    8 ---
 drivers/gpu/drm/i810/i810_dma.c         |   11 +++++
 drivers/gpu/drm/i810/i810_drv.c         |    2 +-
 drivers/gpu/drm/i915/i915_dma.c         |   50 +++++++++++++++++----
 drivers/gpu/drm/i915/i915_drv.c         |    8 +---
 drivers/gpu/drm/i915/i915_drv.h         |    1 +
 drivers/gpu/drm/i915/i915_gem.c         |    5 ++-
 drivers/gpu/drm/i915/i915_gem_debug.c   |    3 +-
 drivers/gpu/drm/i915/intel_display.c    |    2 +-
 drivers/gpu/drm/i915/intel_fb.c         |    4 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c |    6 ++-
 drivers/gpu/drm/mga/mga_dma.c           |    4 ++
 drivers/gpu/drm/mga/mga_drv.c           |    2 +-
 drivers/gpu/drm/nouveau/nouveau_drv.c   |    2 +-
 drivers/gpu/drm/nouveau/nouveau_state.c |    4 ++
 drivers/gpu/drm/r128/r128_drv.c         |    8 +++-
 drivers/gpu/drm/radeon/radeon_cp.c      |    4 ++
 drivers/gpu/drm/radeon/radeon_drv.c     |    4 +-
 drivers/gpu/drm/radeon/radeon_kms.c     |    4 ++
 drivers/gpu/drm/savage/savage_bci.c     |    5 ++
 drivers/gpu/drm/savage/savage_drv.c     |    2 +-
 drivers/gpu/drm/sis/sis_drv.c           |    7 +++-
 drivers/gpu/drm/via/via_drv.c           |    2 +-
 drivers/gpu/drm/via/via_map.c           |    4 ++
 include/drm/drmP.h                      |   12 +----
 include/drm/intel-gtt.h                 |    8 +++
 30 files changed, 174 insertions(+), 98 deletions(-)

-- 
1.7.7.6



More information about the dri-devel mailing list