Commit b380ca3c authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Daniel Vetter

drm/i915: Refactor wm_lp to level calculation

On HSW the LP1,LP2,LP3 levels are either 1,2,3 or 1,3,4. We make the
conversion from LPn to to the level at one point current. Later we're
going to do it in a few places, so move it to a separate function.
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent a5db6b62
...@@ -2705,6 +2705,12 @@ static void ilk_wm_merge(struct drm_device *dev, ...@@ -2705,6 +2705,12 @@ static void ilk_wm_merge(struct drm_device *dev,
} }
} }
static int ilk_wm_lp_to_level(int wm_lp, const struct intel_pipe_wm *pipe_wm)
{
/* LP1,LP2,LP3 levels are either 1,2,3 or 1,3,4 */
return wm_lp + (wm_lp >= 2 && pipe_wm->wm[4].enable);
}
static void hsw_compute_wm_results(struct drm_device *dev, static void hsw_compute_wm_results(struct drm_device *dev,
const struct intel_pipe_wm *merged, const struct intel_pipe_wm *merged,
struct hsw_wm_values *results) struct hsw_wm_values *results)
...@@ -2718,7 +2724,7 @@ static void hsw_compute_wm_results(struct drm_device *dev, ...@@ -2718,7 +2724,7 @@ static void hsw_compute_wm_results(struct drm_device *dev,
for (wm_lp = 1; wm_lp <= 3; wm_lp++) { for (wm_lp = 1; wm_lp <= 3; wm_lp++) {
const struct intel_wm_level *r; const struct intel_wm_level *r;
level = wm_lp + (wm_lp >= 2 && merged->wm[4].enable); level = ilk_wm_lp_to_level(wm_lp, merged);
r = &merged->wm[level]; r = &merged->wm[level];
if (!r->enable) if (!r->enable)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment