[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