aboutsummaryrefslogtreecommitdiff
path: root/board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch
diff options
context:
space:
mode:
Diffstat (limited to 'board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch')
-rw-r--r--board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch b/board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch
new file mode 100644
index 0000000000..4ef074a6c8
--- /dev/null
+++ b/board/chromebook/elm/patches/linux/0004-drm-bridge-ps8640-Print-an-error-if-VDO-control-fail.patch
@@ -0,0 +1,58 @@
+From 4897262a71cbf55d726d9174f5f646897dc13704 Mon Sep 17 00:00:00 2001
+From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+Date: Wed, 26 Aug 2020 10:15:25 +0200
+Subject: [PATCH 4/5] drm/bridge: ps8640: Print an error if VDO control fails
+
+Print an error message inside ps8640_bridge_vdo_control() function when
+it fails so we can simplify a bit the callers, they will only need to
+check the error code.
+
+Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
+Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
+---
+ drivers/gpu/drm/bridge/parade-ps8640.c | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
+index ce3e8b2da8c9..9f7b7a9c53c5 100644
+--- a/drivers/gpu/drm/bridge/parade-ps8640.c
++++ b/drivers/gpu/drm/bridge/parade-ps8640.c
+@@ -82,8 +82,11 @@ static int ps8640_bridge_vdo_control(struct ps8640 *ps_bridge,
+ ret = i2c_smbus_write_i2c_block_data(client, PAGE3_SET_ADD,
+ sizeof(vdo_ctrl_buf),
+ vdo_ctrl_buf);
+- if (ret < 0)
++ if (ret < 0) {
++ DRM_ERROR("failed to %sable VDO: %d\n",
++ ctrl == ENABLE ? "en" : "dis", ret);
+ return ret;
++ }
+
+ return 0;
+ }
+@@ -150,10 +153,8 @@ static void ps8640_pre_enable(struct drm_bridge *bridge)
+ }
+
+ ret = ps8640_bridge_vdo_control(ps_bridge, ENABLE);
+- if (ret) {
+- DRM_ERROR("failed to enable VDO: %d\n", ret);
++ if (ret)
+ goto err_regulators_disable;
+- }
+
+ /* Switch access edp panel's edid through i2c */
+ ret = i2c_smbus_write_byte_data(client, PAGE2_I2C_BYPASS,
+@@ -175,9 +176,7 @@ static void ps8640_post_disable(struct drm_bridge *bridge)
+ struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
+ int ret;
+
+- ret = ps8640_bridge_vdo_control(ps_bridge, DISABLE);
+- if (ret < 0)
+- DRM_ERROR("failed to disable VDO: %d\n", ret);
++ ps8640_bridge_vdo_control(ps_bridge, DISABLE);
+
+ gpiod_set_value(ps_bridge->gpio_reset, 1);
+ gpiod_set_value(ps_bridge->gpio_powerdown, 1);
+--
+2.25.1
+