aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@linaro.org>2013-08-22 17:04:13 +0800
committerHaojian Zhuang <haojian.zhuang@linaro.org>2013-08-22 17:04:13 +0800
commitb121b6c12839298d557544387d6d7843e17a7932 (patch)
tree0764d0d4973d30a621b724b9d1b21c984d352a94
parent098c1cfef2050654a43b88de13f4446020b60316 (diff)
fb: use busy loop to replace detecting phytracking-hilt-fb-fix-0822
In some boards, system fails on detecting dsi command status. So use busy loop as workaround. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
-rw-r--r--drivers/video/hisilicon/hi3620_dsi.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/video/hisilicon/hi3620_dsi.c b/drivers/video/hisilicon/hi3620_dsi.c
index f945a7a417fa..e7140d2accb2 100644
--- a/drivers/video/hisilicon/hi3620_dsi.c
+++ b/drivers/video/hisilicon/hi3620_dsi.c
@@ -446,12 +446,20 @@ static int recv_generic_pkt(void __iomem *base, u8 *val, int len)
static void wait_phy_ready(void __iomem *base)
{
+#if 0
unsigned int status;
do {
cpu_relax();
status = readl_relaxed(base + DSI_PHY_STATUS);
} while (!(status & DSI_PHY_STOP_STATE0_LANE));
+#else
+ /*
+ * In some board, it always loop as dead.
+ * So use delay as workaround.
+ */
+ msleep(5);
+#endif
}
int set_packet(struct device *dev, u8 *cmd, int nr_payload)