diff mbox series

[v17,5/6] drm/bridge: dw-hdmi: add YCBCR formats only if CSC is available

Message ID d5801eb7733a616df30fef1d192e88ad147afc1c.1649262368.git.hns@goldelico.com (mailing list archive)
State New, archived
Headers show
Series MIPS: JZ4780 and CI20 HDMI | expand

Commit Message

H. Nikolaus Schaller April 6, 2022, 4:26 p.m. UTC
otherwise they will produce a black HDMI screen.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Neil Armstrong April 7, 2022, 8:29 a.m. UTC | #1
On 06/04/2022 18:26, H. Nikolaus Schaller wrote:
> otherwise they will produce a black HDMI screen.
> 
> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
> ---
>   drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> index b5a665c5e406e..ec40dd8865065 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> @@ -2628,10 +2628,12 @@ static u32 *dw_hdmi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
>   		output_fmts[i++] = MEDIA_BUS_FMT_RGB101010_1X30;
>   	}
>   
> -	if (hdmi->sink_is_hdmi && info->color_formats & DRM_COLOR_FORMAT_YCBCR422)
> +	if (hdmi->csc_available && hdmi->sink_is_hdmi &&
> +	    (info->color_formats & DRM_COLOR_FORMAT_YCBCR422))
>   		output_fmts[i++] = MEDIA_BUS_FMT_UYVY8_1X16;
>   
> -	if (hdmi->sink_is_hdmi && info->color_formats & DRM_COLOR_FORMAT_YCBCR444)
> +	if (hdmi->csc_available && hdmi->sink_is_hdmi &&
> +	    (info->color_formats & DRM_COLOR_FORMAT_YCBCR444))
>   		output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24;
>   
>   	/* Default 8bit RGB fallback */

This patch shouldn't be needed anymore with proper filtering in patch 1.

Neil
H. Nikolaus Schaller April 7, 2022, 11:15 a.m. UTC | #2
> Am 07.04.2022 um 10:29 schrieb Neil Armstrong <narmstrong@baylibre.com>:
> 
> On 06/04/2022 18:26, H. Nikolaus Schaller wrote:
>> otherwise they will produce a black HDMI screen.
>> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
>> ---
>>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
>> index b5a665c5e406e..ec40dd8865065 100644
>> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
>> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
>> @@ -2628,10 +2628,12 @@ static u32 *dw_hdmi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
>>  		output_fmts[i++] = MEDIA_BUS_FMT_RGB101010_1X30;
>>  	}
>>  -	if (hdmi->sink_is_hdmi && info->color_formats & DRM_COLOR_FORMAT_YCBCR422)
>> +	if (hdmi->csc_available && hdmi->sink_is_hdmi &&
>> +	    (info->color_formats & DRM_COLOR_FORMAT_YCBCR422))
>>  		output_fmts[i++] = MEDIA_BUS_FMT_UYVY8_1X16;
>>  -	if (hdmi->sink_is_hdmi && info->color_formats & DRM_COLOR_FORMAT_YCBCR444)
>> +	if (hdmi->csc_available && hdmi->sink_is_hdmi &&
>> +	    (info->color_formats & DRM_COLOR_FORMAT_YCBCR444))
>>  		output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24;
>>    	/* Default 8bit RGB fallback */
> 
> This patch shouldn't be needed anymore with proper filtering in patch 1.

It can indeed be removed as well.

BR and thanks,
Nikolaus
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index b5a665c5e406e..ec40dd8865065 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -2628,10 +2628,12 @@  static u32 *dw_hdmi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
 		output_fmts[i++] = MEDIA_BUS_FMT_RGB101010_1X30;
 	}
 
-	if (hdmi->sink_is_hdmi && info->color_formats & DRM_COLOR_FORMAT_YCBCR422)
+	if (hdmi->csc_available && hdmi->sink_is_hdmi &&
+	    (info->color_formats & DRM_COLOR_FORMAT_YCBCR422))
 		output_fmts[i++] = MEDIA_BUS_FMT_UYVY8_1X16;
 
-	if (hdmi->sink_is_hdmi && info->color_formats & DRM_COLOR_FORMAT_YCBCR444)
+	if (hdmi->csc_available && hdmi->sink_is_hdmi &&
+	    (info->color_formats & DRM_COLOR_FORMAT_YCBCR444))
 		output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24;
 
 	/* Default 8bit RGB fallback */