Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755580AbdDGIhS (ORCPT ); Fri, 7 Apr 2017 04:37:18 -0400 Received: from mail-wr0-f173.google.com ([209.85.128.173]:34895 "EHLO mail-wr0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752775AbdDGIhH (ORCPT ); Fri, 7 Apr 2017 04:37:07 -0400 Subject: Re: [PATCH] drm: bridge: dw-hdmi: fix input format/encoding from plat_data To: Archit Taneja , dri-devel@lists.freedesktop.org References: <1491471244-24989-1-git-send-email-narmstrong@baylibre.com> Cc: laurent.pinchart+renesas@ideasonboard.com, Jose.Abreu@synopsys.com, linux-kernel@vger.kernel.org, Dan Carpenter From: Neil Armstrong Organization: Baylibre Message-ID: <9eaf06f0-d054-9686-98dc-3458d10c9e74@baylibre.com> Date: Fri, 7 Apr 2017 10:37:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2830 Lines: 77 On 04/07/2017 10:32 AM, Archit Taneja wrote: > > > On 04/06/2017 03:04 PM, Neil Armstrong wrote: >> The plat_data->input_bus_format and plat_data->input_bus_encoding >> are unsigned long and are alsways >=0, but the value 0 was still > > s/alsways/always > >> considered as RGB888 like the default behaviour. > > Is RGB888 default behaviour for plat_data->input_bus_encoding too? > You might want to rephrase it as the "default color space", or > something along those lines. >> >> This patch changes the if test to > 0. > > The change technically makes the if statement check for a > non-zero value. Thanks, here is the rephrased commit message : The plat_data->input_bus_format and plat_data->input_bus_encoding are unsigned long and are always >=0, but the value 0 was still considered as RGB888 for input_bus_format and default color space for input_bus_encoding in the reworked code. This patch changes the if statement check for a non-zero value to either use the default input bus_format and/or bus_encoding for a zero value and the provided bus_format and/or bus_encoding for a non zero value. > > Reviewed-by: Archit Taneja > > Feel free to push to drm-misc after updating the commit message. > > Thanks, > Archit > >> >> Thanks to Dan Carpenter for his bug report at [1]. >> >> Tested on Amlogic P230 (with CSC enabled for YUV444 to RGB) and Rockchip >> RK3288 ACT8846 EVB Board (no CSC involved, direct RGB passthrough). >> >> [1] http://lkml.kernel.org/r/20170406052120.GA26578@mwanda >> >> Cc: Dan Carpenter >> Signed-off-by: Neil Armstrong >> --- >> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >> index 8b60503..100e1ee 100644 >> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >> @@ -1668,14 +1668,14 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode) >> hdmi->hdmi_data.video_mode.mpixelrepetitioninput = 0; >> >> /* TOFIX: Get input format from plat data or fallback to RGB888 */ >> - if (hdmi->plat_data->input_bus_format >= 0) >> + if (hdmi->plat_data->input_bus_format) >> hdmi->hdmi_data.enc_in_bus_format = >> hdmi->plat_data->input_bus_format; >> else >> hdmi->hdmi_data.enc_in_bus_format = MEDIA_BUS_FMT_RGB888_1X24; >> >> /* TOFIX: Get input encoding from plat data or fallback to none */ >> - if (hdmi->plat_data->input_bus_encoding >= 0) >> + if (hdmi->plat_data->input_bus_encoding) >> hdmi->hdmi_data.enc_in_encoding = >> hdmi->plat_data->input_bus_encoding; >> else >> >