[PATCH v3 7/7] drm/mediatek: mtk_dsi: Reset the dsi0 hardware
Enric Balletbo i Serra
enric.balletbo at collabora.com
Wed Aug 25 03:26:32 PDT 2021
Reset dsi0 HW to default when power on. This prevents to have different
settingis between the bootloader and the kernel.
As not all Mediatek boards have the reset consumer configured in their
board description, also is not needed on all of them, the reset is optional,
so the change is compatible with all boards.
Cc: Jitao Shi <jitao.shi at mediatek.com>
Suggested-by: Chun-Kuang Hu <chunkuang.hu at kernel.org>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo at collabora.com>
Acked-by: Chun-Kuang Hu <chunkuang.hu at kernel.org>
Reviewed-by: Matthias Brugger <matthias.bgg at gmail.com>
---
Changes in v3:
- Fix typo in the commit description
drivers/gpu/drm/mediatek/mtk_dsi.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index ae403c67cbd9..d8b81e2ab841 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -11,6 +11,7 @@
#include <linux/of_platform.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
+#include <linux/reset.h>
#include <video/mipi_display.h>
#include <video/videomode.h>
@@ -980,8 +981,10 @@ static int mtk_dsi_bind(struct device *dev, struct device *master, void *data)
struct mtk_dsi *dsi = dev_get_drvdata(dev);
ret = mtk_dsi_encoder_init(drm, dsi);
+ if (ret)
+ return ret;
- return ret;
+ return device_reset_optional(dev);
}
static void mtk_dsi_unbind(struct device *dev, struct device *master,
--
2.30.2
More information about the linux-arm-kernel
mailing list