[Intel-gfx] [PATCH] drm/i915: Ignore minimum lines for level 0 in skl_compute_plane_wm

Ville Syrjälä ville.syrjala at linux.intel.com
Tue Jan 30 15:16:33 UTC 2018


On Tue, Jan 30, 2018 at 04:05:20PM +0100, Maarten Lankhorst wrote:
> According to bspec, result_lines > 31 is only a maximum for latency
> level 1 through 7.
> 
> For level 0 the number of lines is ignored, so always write 0 there
> to prevent overflowing the 5 bits value.
> 
> This is required to make NV12 work.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_pm.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 26132fa6ebce..ed0ec0188962 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -4805,6 +4805,10 @@ static int skl_compute_plane_wm(const struct drm_i915_private *dev_priv,
>  			res_blocks = result_prev->plane_res_b;
>  	}
>  
> +	/* The number of lines are ignored for the level 0 watermark. */
> +	if (!level)
> +		res_lines = 0;
> +

Looks like we could just skip computing res_lines entirely.
But this should work too so

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>a

>  	if (res_blocks >= ddb_allocation || res_lines > 31) {
>  		result->plane_en = false;
>  
> -- 
> 2.15.1

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list