From f58cc02df978f2ecec086951a004cd870df019b3 Mon Sep 17 00:00:00 2001 From: Wyon Bi Date: Tue, 30 Apr 2019 17:13:04 +0800 Subject: [PATCH] drm/rockchip: dsi: Increase gen_rd_cmd_busy timeout When a read command is issued in video mode, gen_rd_cmd_busy timeout delay needs to be increased to one frame. Change-Id: Ic8070431c3d365f40da5f4758e578cece231e669 Signed-off-by: Wyon Bi --- drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c index d0bceda3df92..261f78a5af49 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c @@ -847,12 +847,14 @@ static int dw_mipi_dsi_read_from_fifo(struct dw_mipi_dsi *dsi, const struct mipi_dsi_msg *msg) { u8 *payload = msg->rx_buf; + unsigned int vrefresh = drm_mode_vrefresh(&dsi->mode); u16 length; u32 val; int ret; ret = regmap_read_poll_timeout(dsi->regmap, DSI_CMD_PKT_STATUS, - val, !(val & GEN_RD_CMD_BUSY), 50, 5000); + val, !(val & GEN_RD_CMD_BUSY), + 0, DIV_ROUND_UP(1000000, vrefresh)); if (ret) { dev_err(dsi->dev, "entire response isn't stored in the FIFO\n"); return ret;