diff options
author | Paulo Zanoni <paulo.r.zanoni@intel.com> | 2013-05-31 10:45:06 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-05-31 14:54:14 -0400 |
commit | cca32e9ad372172c808b93eebff536459ce37d85 (patch) | |
tree | 16e386436331a152ff35cb725462ab23c7c45c77 /drivers/gpu/drm/i915/i915_reg.h | |
parent | 801bcfffbb0721d7131e930f9a46103e539c43a4 (diff) |
drm/i915: properly set HSW WM_LP watermarks
We were previously only setting the WM_PIPE registers, now we are
setting the LP watermark registers. This should allow deeper PC
states, resulting in power savings.
We're only using 1/2 data buffer partitioning for now.
v2: Merge both hsw_compute_pri_wm_* functions (Ville)
v3: - Simplify hsw_compute_wm_results (Ville)
- Rebase due to changes on the previous patch
v4: Unconfuse wm_lp/level (Ville)
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_reg.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 19021bd8b030..e00422128a0a 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -3100,6 +3100,10 @@ | |||
3100 | #define WM3S_LP_IVB 0x45128 | 3100 | #define WM3S_LP_IVB 0x45128 |
3101 | #define WM1S_LP_EN (1<<31) | 3101 | #define WM1S_LP_EN (1<<31) |
3102 | 3102 | ||
3103 | #define HSW_WM_LP_VAL(lat, fbc, pri, cur) \ | ||
3104 | (WM3_LP_EN | ((lat) << WM1_LP_LATENCY_SHIFT) | \ | ||
3105 | ((fbc) << WM1_LP_FBC_SHIFT) | ((pri) << WM1_LP_SR_SHIFT) | (cur)) | ||
3106 | |||
3103 | /* Memory latency timer register */ | 3107 | /* Memory latency timer register */ |
3104 | #define MLTR_ILK 0x11222 | 3108 | #define MLTR_ILK 0x11222 |
3105 | #define MLTR_WM1_SHIFT 0 | 3109 | #define MLTR_WM1_SHIFT 0 |