[Intel-gfx] [PATCH 1/2] drm/i915: Bump skl+ max plane width to 5k for linear/x-tiled

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Wed Sep 18 14:09:13 UTC 2019


Op 05-09-2019 om 15:50 schreef Ville Syrjala:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> The officially validated plane width limit is 4k on skl+, however
> we already had people using 5k displays before we started to enforce
> the limit. Also it seems Windows allows 5k resolutions as well
> (though not sure if they do it with one plane or two).
>
> According to hw folks 5k should work with the possible
> exception of the following features:
> - Ytile (already limited to 4k)
> - FP16 (already limited to 4k)
> - render compression (already limited to 4k)
> - KVMR sprite and cursor (don't care)
> - horizontal panning (need to verify this)
> - pipe and plane scaling (need to verify this)
>
> So apart from last two items on that list we are already
> fine. We should really verify what happens with those last
> two items but I don't have a 5k display on hand atm so it'll
> have to wait.
>
> In the meantime let's just bump the limit back up to 5k since
> several users have already been using it without apparent issues.
> At least we'll be no worse off than we were prior to lowering
> the limits.
>
> Cc: Leho Kraav <leho at kraav.com>
> Cc: Sean Paul <sean at poorly.run>
> Cc: José Roberto de Souza <jose.souza at intel.com>
> Fixes: 372b9ffb5799 ("drm/i915: Fix skl+ max plane width")
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111501
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 06cf2171474d..4e63342ea597 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -3282,7 +3282,20 @@ static int skl_max_plane_width(const struct drm_framebuffer *fb,
>  	switch (fb->modifier) {
>  	case DRM_FORMAT_MOD_LINEAR:
>  	case I915_FORMAT_MOD_X_TILED:
> -		return 4096;
> +		/*
> +		 * Validated limit is 4k, but has 5k should
> +		 * work apart from the following features:
> +		 * - Ytile (already limited to 4k)
> +		 * - FP16 (already limited to 4k)
> +		 * - render compression (already limited to 4k)
> +		 * - KVMR sprite and cursor (don't care)
> +		 * - horizontal panning (TODO verify this)
> +		 * - pipe and plane scaling (TODO verify this)
> +		 */
> +		if (cpp == 8)
> +			return 4096;
> +		else
> +			return 5120;
>  	case I915_FORMAT_MOD_Y_TILED_CCS:
>  	case I915_FORMAT_MOD_Yf_TILED_CCS:
>  		/* FIXME AUX plane? */

Also r-b, forgot to add it in patch 2. :)

Patch 2 wil need some tweaking for bigjoiner, but should be ok otherwise.



More information about the Intel-gfx mailing list