Re: [Intel-gfx] [PATCH] drm/i915: Handle max_bpc==16

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2020-11-10 at 23:04 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> 
> 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 <jose.souza@xxxxxxxxx>


> 
> Cc: stable@xxxxxxxxxxxxxxx
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2632
> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> ---
>  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;
>  	}
>  
> 
> 
> 





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux