aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@linaro.org>2013-08-22 17:04:13 +0800
committerZhangfei Gao <zhangfei.gao@linaro.org>2013-09-09 16:09:56 +0800
commitfdeee9b388361f55c94860ab8952062fb2cf9fcb (patch)
tree581d16f5ec7a1dcc835b1ca2ec7f02bc24f01c2d
parent80477a20fe39a559b0efb2a74f63a09150d21ec3 (diff)
fb: use busy loop to replace detecting phy
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)