diff options
author | Haojian Zhuang <haojian.zhuang@linaro.org> | 2013-08-22 17:04:13 +0800 |
---|---|---|
committer | Haojian Zhuang <haojian.zhuang@linaro.org> | 2013-08-22 17:04:13 +0800 |
commit | b121b6c12839298d557544387d6d7843e17a7932 (patch) | |
tree | 0764d0d4973d30a621b724b9d1b21c984d352a94 | |
parent | 098c1cfef2050654a43b88de13f4446020b60316 (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.c | 8 |
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) |