Message ID | 1491471244-24989-1-git-send-email-narmstrong@baylibre.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 04/06/2017 11:34 AM, 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 > considered as RGB888 like the default behaviour. > > This patch changes the if test to > 0. > > 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 Forgot... Fixes: def23aa7e982 ("drm: bridge: dw-hdmi: Switch to V4L bus format and encodings") > > Cc: Dan Carpenter <dan.carpenter@oracle.com> > Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> > --- > 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 >
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. Reviewed-by: Archit Taneja <architt@codeaurora.org> 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 <dan.carpenter@oracle.com> > Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> > --- > 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 >
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 <architt@codeaurora.org> > > 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 <dan.carpenter@oracle.com> >> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> >> --- >> 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 >> >
On 04/07/2017 10:37 AM, Neil Armstrong wrote: > 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 <architt@codeaurora.org> >> >> 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 <dan.carpenter@oracle.com> >>> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> >>> --- >>> 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 >>> >> > Applied to drm-misc-next Thanks, Neil
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
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 considered as RGB888 like the default behaviour. This patch changes the if test to > 0. 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 <dan.carpenter@oracle.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)