diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-09-10 18:28:06 -0400 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-09-10 22:46:07 -0400 |
commit | 8082400327d8d2ca54254b593644942bed0edd25 (patch) | |
tree | 43a32ac4e56e985341e2109d2c4d545d3d6df6cb /drivers/gpu/drm/i915/intel_drv.h | |
parent | 06324194eee97a51b5f172270df49ec39192d6cc (diff) |
drm/i915: framebuffer compression for pre-GM45
This patch adds framebuffer compression (good for about ~0.5W power
savings in the best case) support for pre-GM45 chips. GM45+ have a new,
more flexible FBC scheme that will be added in a separate patch.
FBC can't always be enabled: the compressed buffer must be physically
contiguous and reside in stolen space. So if you have a large display
and a small amount of stolen memory, you may not be able to take
advantage of FBC. In some cases, a BIOS setting controls how much
stolen space is available. Increasing this to 8 or 16M can help.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index b9e47f1e1cc0..7478196390b4 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/i2c.h> | 28 | #include <linux/i2c.h> |
29 | #include <linux/i2c-id.h> | 29 | #include <linux/i2c-id.h> |
30 | #include <linux/i2c-algo-bit.h> | 30 | #include <linux/i2c-algo-bit.h> |
31 | #include "i915_drv.h" | ||
31 | #include "drm_crtc.h" | 32 | #include "drm_crtc.h" |
32 | 33 | ||
33 | #include "drm_crtc_helper.h" | 34 | #include "drm_crtc_helper.h" |
@@ -110,8 +111,8 @@ struct intel_output { | |||
110 | 111 | ||
111 | struct intel_crtc { | 112 | struct intel_crtc { |
112 | struct drm_crtc base; | 113 | struct drm_crtc base; |
113 | int pipe; | 114 | enum pipe pipe; |
114 | int plane; | 115 | enum plane plane; |
115 | struct drm_gem_object *cursor_bo; | 116 | struct drm_gem_object *cursor_bo; |
116 | uint32_t cursor_addr; | 117 | uint32_t cursor_addr; |
117 | u8 lut_r[256], lut_g[256], lut_b[256]; | 118 | u8 lut_r[256], lut_g[256], lut_b[256]; |