On Tue, 2020-11-10 at 23:04 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <[email protected]>
> 
> EDID can declare the maximum supported bpc up to 16,
> and apparently there are displays that do so. Currently
> we assume 12 bpc is tha max. Fix the assumption and
> toss in a MISSING_CASE() for any other value we don't
> expect to see.
> 
> This fixes modesets with a display with EDID max bpc > 12.
> Previously any modeset would just silently fail on platforms
> that didn't otherwise limit this via the max_bpc property.
> In particular we don't add the max_bpc property to HDMI
> ports on gmch platforms, and thus we would see the raw
> max_bpc coming from the EDID.
> 
> I suppose we could already adjust this to also allow 16bpc,
> but seeing as no current platform supports that there is
> little point.

Reviewed-by: José Roberto de Souza <[email protected]>


> 
> Cc: [email protected]
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2632
> Signed-off-by: Ville Syrjälä <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
> b/drivers/gpu/drm/i915/display/intel_display.c
> index 2729c852c668..2a6eb1ca9c8e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -13060,10 +13060,11 @@ compute_sink_pipe_bpp(const struct 
> drm_connector_state *conn_state,
>       case 10 ... 11:
>               bpp = 10 * 3;
>               break;
> -     case 12:
> +     case 12 ... 16:
>               bpp = 12 * 3;
>               break;
>       default:
> +             MISSING_CASE(conn_state->max_bpc);
>               return -EINVAL;
>       }
>  
> 
> 
> 

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to