diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2014-03-07 11:32:10 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-04-09 08:43:09 -0400 |
commit | fe392efdae2982243e3a560b8f41c8e4c89b5d51 (patch) | |
tree | 2b01f4c10eebad1bc9e606d0d014a0846b7ad520 /drivers/gpu | |
parent | 2a44b76bb5a1f520371432825c91fa46c63bde84 (diff) |
drm/i915: Skip watermark merging for inactive pipes
Even though the inactive pipes should have their watermarks set to all 0
with enable=true, we can possibly shave off a few cycles by completely
skipping the merge procedure for inactive pipes.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 855c01b2b0c1..c0c0390dd52a 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c | |||
@@ -2206,8 +2206,11 @@ static void ilk_merge_wm_level(struct drm_device *dev, | |||
2206 | const struct intel_crtc *intel_crtc; | 2206 | const struct intel_crtc *intel_crtc; |
2207 | 2207 | ||
2208 | list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, base.head) { | 2208 | list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, base.head) { |
2209 | const struct intel_wm_level *wm = | 2209 | const struct intel_pipe_wm *active = &intel_crtc->wm.active; |
2210 | &intel_crtc->wm.active.wm[level]; | 2210 | const struct intel_wm_level *wm = &active->wm[level]; |
2211 | |||
2212 | if (!active->pipe_enabled) | ||
2213 | continue; | ||
2211 | 2214 | ||
2212 | if (!wm->enable) | 2215 | if (!wm->enable) |
2213 | return; | 2216 | return; |