diff options
author | Keith Packard <keithp@keithp.com> | 2008-10-30 19:38:48 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-31 10:12:40 +0100 |
commit | 0839ccb8ac6a9e2d5e175a4ae9c82b5c574d510d (patch) | |
tree | c231d0492e4c03ae8d33f2101f21ff2928e56710 /drivers/gpu/drm/i915/i915_drv.h | |
parent | 9663f2e6a6cf3f82b06d8fb699b11b80f92553ba (diff) | |
download | linux-0839ccb8ac6a9e2d5e175a4ae9c82b5c574d510d.tar.gz linux-0839ccb8ac6a9e2d5e175a4ae9c82b5c574d510d.tar.bz2 linux-0839ccb8ac6a9e2d5e175a4ae9c82b5c574d510d.zip |
i915: use io-mapping interfaces instead of a variety of mapping kludges
Impact: optimize/clean-up the IO mapping implementation of the i915 DRM driver
Switch the i915 device aperture mapping to the io-mapping interface, taking
advantage of the cleaner API to extend it across all of the mapping uses,
including both pwrite and relocation updates.
This dramatically improves performance on 64-bit kernels which were using
the same slow path as 32-bit non-HIGHMEM kernels prior to this patch.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index f20ffe17df71..126b2f13258c 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -31,6 +31,7 @@ #define _I915_DRV_H_ #include "i915_reg.h" +#include <linux/io-mapping.h> /* General customization: */ @@ -246,6 +247,8 @@ typedef struct drm_i915_private { struct { struct drm_mm gtt_space; + struct io_mapping *gtt_mapping; + /** * List of objects currently involved in rendering from the * ringbuffer. |