Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 71fff20f authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Daniel Vetter
Browse files

drm/i915: Kill fbc_enable from hsw_lp_wm_results



We don't need to store the FBC WM enabled status in each watermark
level. We anyway have to reduce it down to a single boolean, so just
delay checking the FBC WM limit until we're computing the final
value.

Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 6f5ddd17
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -2182,7 +2182,6 @@ struct hsw_wm_maximums {

struct hsw_lp_wm_result {
	bool enable;
	bool fbc_enable;
	uint32_t pri_val;
	uint32_t spr_val;
	uint32_t cur_val;
@@ -2324,13 +2323,6 @@ static bool hsw_compute_lp_wm(struct drm_i915_private *dev_priv,
	result->fbc_val = max3(res[0].fbc_val, res[1].fbc_val, res[2].fbc_val);
	result->enable = true;

	if (result->fbc_val > max->fbc) {
		result->fbc_enable = false;
		result->fbc_val = 0;
	} else {
		result->fbc_enable = true;
	}

	if (!result->enable)
		return false;

@@ -2575,9 +2567,9 @@ static void hsw_compute_wm_results(struct drm_device *dev,
	 * a WM level. */
	results->enable_fbc_wm = true;
	for (level = 1; level <= max_level; level++) {
		if (!lp_results[level - 1].fbc_enable) {
		if (!lp_results[level - 1].fbc_val > lp_maximums->fbc) {
			results->enable_fbc_wm = false;
			break;
			lp_results[level - 1].fbc_val = 0;
		}
	}