UPSTREAM: drm: bridge: dw-hdmi: fix input format/encoding from plat_data
authorNeil Armstrong <narmstrong@baylibre.com>
Thu, 6 Apr 2017 09:34:04 +0000 (11:34 +0200)
committerZheng Yang <zhengyang@rock-chips.com>
Mon, 19 Jun 2017 10:25:22 +0000 (18:25 +0800)
commitc1b9659a8cbfb56b74245dc2c67bb5e93f597ae7
treeaac2a977dd30ddf1295f7c99c5a499fdc4fbde95
parentbcad7aa4e4efa4e79714210d2764ac2a1629c67b
UPSTREAM: drm: bridge: dw-hdmi: fix input format/encoding from plat_data

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.

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>
Fixes: def23aa7e982 ("drm: bridge: dw-hdmi: Switch to V4L bus format and encodings")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Archit Taneja <architt@codeaurora.org>
[narmstrong@baylibre.com: reworded commit message and added Fixes tag]
Link: http://patchwork.freedesktop.org/patch/msgid/1491471244-24989-1-git-send-email-narmstrong@baylibre.com
Change-Id: I1b6c08e3fe468c01fcd721fe4b4d6ec95c73528b
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
(cherry picked from commit e20c29aa722a90f3b8092b340362eabe488dbfc4)
drivers/gpu/drm/bridge/dw-hdmi.c