Hi Neil!
Dne ponedeljek, 02. marec 2020 ob 10:26:09 CET je Neil Armstrong napisal(a):
Hi Jernej,
On 29/02/2020 17:30, Jernej Skrabec wrote:
Currently, is_color_space_conversion() compares not only color spaces but also formats. For example, function would return true if YCbCr 4:4:4 and YCbCr 4:2:2 would be set. Obviously in that case color spaces are the same.
Fix that by comparing if both values represent RGB color space.
Fixes: b21f4b658df8 ("drm: imx: imx-hdmi: move imx-hdmi to bridge/dw_hdmi") Signed-off-by: Jernej Skrabec jernej.skrabec@siol.net
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 24965e53d351..9d7bfb1cb213 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -956,7 +956,8 @@ static void hdmi_video_sample(struct dw_hdmi *hdmi)
static int is_color_space_conversion(struct dw_hdmi *hdmi) {
- return hdmi->hdmi_data.enc_in_bus_format !=
hdmi->hdmi_data.enc_out_bus_format; + return hdmi_bus_fmt_is_rgb(hdmi->hdmi_data.enc_in_bus_format) !=
hdmi_bus_fmt_is_rgb(hdmi-
hdmi_data.enc_out_bus_format);
}
static int is_color_space_decimation(struct dw_hdmi *hdmi)
I think in this case you should also fix the CEC enablement to:
you mean CSC, right?
if (is_color_space_conversion(hdmi) || is_color_space_decimation(hdmi))
in dw_hdmi_enable_video_path() otherwise CSC won't be enabled and will be bypassed in decimation case only.
Missed that one. I'll fix in v2.
Best regards, Jernej