From 8cfe3a4ed8e41b92a1d4be13fe0082b08e468f6c Mon Sep 17 00:00:00 2001 From: Guochun Huang Date: Wed, 15 Jun 2022 12:53:16 +0000 Subject: [PATCH] drm/rockchip: dsi2: fix DSI_VID_TX_CFG configuration errors Change-Id: Ibc7483323fc50985eb2542af3ab4193b7c7ad04e Signed-off-by: Guochun Huang --- .../gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c | 25 +++++++------------ 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c index e3b0bc7ff53b..2c088373e32d 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c @@ -378,17 +378,24 @@ static void dw_mipi_dsi2_set_vid_mode(struct dw_mipi_dsi2 *dsi2) u32 val = 0, mode; int ret; + if (dsi2->mode_flags & MIPI_DSI_MODE_VIDEO_HFP) + val |= BLK_HFP_HS_EN; + + if (dsi2->mode_flags & MIPI_DSI_MODE_VIDEO_HBP) + val |= BLK_HBP_HS_EN; + + if (dsi2->mode_flags & MIPI_DSI_MODE_VIDEO_HSA) + val |= BLK_HSA_HS_EN; + if (dsi2->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) val |= VID_MODE_TYPE_BURST; else if (dsi2->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) val |= VID_MODE_TYPE_NON_BURST_SYNC_PULSES; - else val |= VID_MODE_TYPE_NON_BURST_SYNC_EVENTS; regmap_write(dsi2->regmap, DSI2_DSI_VID_TX_CFG, val); - regmap_write(dsi2->regmap, DSI2_MODE_CTRL, VIDEO_MODE); ret = regmap_read_poll_timeout(dsi2->regmap, DSI2_MODE_STATUS, mode, mode & VIDEO_MODE, @@ -673,20 +680,6 @@ static void dw_mipi_dsi2_tx_option_set(struct dw_mipi_dsi2 *dsi2) if (dsi2->scrambling_en) regmap_write(dsi2->regmap, DSI2_DSI_SCRAMBLING_CFG, SCRAMBLING_EN); - - val = 0; - if (dsi2->mode_flags & MIPI_DSI_MODE_VIDEO_HFP) - val |= BLK_HFP_HS_EN; - - if (dsi2->mode_flags & MIPI_DSI_MODE_VIDEO_HBP) - val |= BLK_HBP_HS_EN; - - if (dsi2->mode_flags & MIPI_DSI_MODE_VIDEO_HSA) - val |= BLK_HSA_HS_EN; - - regmap_write(dsi2->regmap, DSI2_DSI_VID_TX_CFG, val); - - /* configure the maximum return packet size that periphera can send */ } static void dw_mipi_dsi2_ipi_color_coding_cfg(struct dw_mipi_dsi2 *dsi2)