Re: [PATCH AUTOSEL for 4.9 36/56] drm/i915: Fix the level 0 max_wm hack on VLV/CHV

From: Ville Syrjälä
Date: Wed Nov 15 2017 - 06:08:20 EST


On Wed, Nov 15, 2017 at 02:45:43AM +0000, alexander.levin@xxxxxxxxxxx wrote:
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
>
> [ Upstream commit 1be4d3793d5a93daddcd9be657c429b38ad750a3 ]
>
> The watermark should never exceed the FIFO size, so we need to
> check against the current FIFO size instead of the theoretical
> maximum when we clamp the level 0 watermark.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> Link: http://patchwork.freedesktop.org/patch/msgid/1480354637-14209-4-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>
> Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx>

Why are these patches being proposed for stable? They're not straight up
fixes for known issues, and there's always a chance that something will
break. Who is doing the qa on this?

> ---
> drivers/gpu/drm/i915/intel_pm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index ad5649259e6a..12bc608833cf 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -1129,13 +1129,13 @@ static void vlv_compute_wm(struct intel_crtc *crtc)
> /* normal watermarks */
> for (level = 0; level < wm_state->num_levels; level++) {
> int wm = vlv_compute_wm_level(plane, crtc, state, level);
> - int max_wm = plane->base.type == DRM_PLANE_TYPE_CURSOR ? 63 : 511;
> + int max_wm = plane->wm.fifo_size;
>
> /* hack */
> if (WARN_ON(level == 0 && wm > max_wm))
> wm = max_wm;
>
> - if (wm > plane->wm.fifo_size)
> + if (wm > max_wm)
> break;
>
> switch (plane->base.type) {
> --
> 2.11.0

--
Ville Syrjälä
Intel OTC