summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSiddhartha Agrawal <agrawals@codeaurora.org>2015-09-02 14:52:48 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:45:29 -0700
commit3c115aaa2f9d9873f3cf299e52e72e998cab4b0d (patch)
tree2c6d3e3785a79ff060a2a5a1a8595eb6017f7e49 /drivers
parent4fe4816a089217c8f024adbcd369bfa007f6d1ee (diff)
msm: mdss: add support for DSI NULL packet insertion
For DSI6G version 1.4.0 and above, for command mode use cases, there is support in MDSS DSI to insert NULL packets automatically between lines of a frame or High Speed DMA command burst to avoid HS-LP-HS transitions in the middle of frame/DMA command transfer. Add support for this in DSI driver. Crs-Fixed: 880973 Change-Id: I468c2ea602d4c3efa0d8844c843840a15b631a3f Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org> Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi_host.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi_host.c b/drivers/video/fbdev/msm/mdss_dsi_host.c
index 9423cfbd38ce..ba19d8eadf31 100644
--- a/drivers/video/fbdev/msm/mdss_dsi_host.c
+++ b/drivers/video/fbdev/msm/mdss_dsi_host.c
@@ -1082,6 +1082,7 @@ static void mdss_dsi_mode_setup(struct mdss_panel_data *pdata)
struct mdss_panel_info *pinfo;
struct mipi_panel_info *mipi;
struct dsc_desc *dsc = NULL;
+ u32 data = 0;
u32 hbp, hfp, vbp, vfp, hspw, vspw, width, height;
u32 ystride, bpp, dst_bpp, byte_num;
u32 stream_ctrl, stream_total;
@@ -1176,6 +1177,14 @@ static void mdss_dsi_mode_setup(struct mdss_panel_data *pdata)
stream_total = height << 16 | width;
}
+ /* DSI_COMMAND_MODE_NULL_INSERTION_CTRL */
+ if (ctrl_pdata->shared_data->hw_rev >= MDSS_DSI_HW_REV_104) {
+ data = (mipi->vc << 1); /* Virtual channel ID */
+ data |= 0 << 16; /* Word count of the NULL packet */
+ data |= 0x1; /* Enable Null insertion */
+ MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x2b4, data);
+ }
+
/* DSI_COMMAND_MODE_MDP_STREAM_CTRL */
MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x60, stream_ctrl);
MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x58, stream_ctrl);