Commit 407b50f3 authored by Damien Lespiau's avatar Damien Lespiau Committed by Daniel Vetter
Browse files

drm/i915/skl: Move all the WM compute functions in one place



The DDB allocation code managed to split in two the compute functions.

Bring back skl_compute_transition_wm() and skl_compute_linetime_wm()
with their little friends.

Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent b99f58da
Loading
Loading
Loading
Loading
+22 −22
Original line number Diff line number Diff line
@@ -3217,28 +3217,6 @@ static uint32_t skl_wm_method2(uint32_t pixel_rate, uint32_t pipe_htotal,
	return ret;
}

static void skl_compute_transition_wm(struct drm_crtc *crtc,
				  struct skl_pipe_wm_parameters *params,
				  struct skl_pipe_wm *pipe_wm)
{
	/*
	 * For now it is suggested to use the LP0 wm val of corresponding
	 * plane as transition wm val. This is done while computing results.
	 */
	if (!params->active)
		return;
}

static uint32_t
skl_compute_linetime_wm(struct drm_crtc *crtc, struct skl_pipe_wm_parameters *p)
{
	if (!intel_crtc_active(crtc))
		return 0;

	return DIV_ROUND_UP(8 * p->pipe_htotal * 1000, p->pixel_rate);

}

static bool skl_ddb_allocation_changed(const struct skl_ddb_allocation *new_ddb,
				       const struct intel_crtc *intel_crtc)
{
@@ -3384,6 +3362,28 @@ static void skl_compute_wm_level(const struct drm_i915_private *dev_priv,
						 &result->cursor_res_l);
}

static uint32_t
skl_compute_linetime_wm(struct drm_crtc *crtc, struct skl_pipe_wm_parameters *p)
{
	if (!intel_crtc_active(crtc))
		return 0;

	return DIV_ROUND_UP(8 * p->pipe_htotal * 1000, p->pixel_rate);

}

static void skl_compute_transition_wm(struct drm_crtc *crtc,
				      struct skl_pipe_wm_parameters *params,
				      struct skl_pipe_wm *pipe_wm)
{
	/*
	 * For now it is suggested to use the LP0 wm val of corresponding
	 * plane as transition wm val.
	 */
	if (!params->active)
		return;
}

static void skl_compute_pipe_wm(struct drm_crtc *crtc,
				struct skl_ddb_allocation *ddb,
				struct skl_pipe_wm_parameters *params,