[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