summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorSiddhartha Agrawal <agrawals@codeaurora.org>2015-08-28 13:46:28 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:45:29 -0700
commitd84d76e2e31fa3f44bb1af5288973fc5e6a1e9ab (patch)
treed9d090c634d18b49df3aac575843e7dcabcf9e68 /drivers/video/fbdev
parent3c115aaa2f9d9873f3cf299e52e72e998cab4b0d (diff)
msm: mdss: add support to featurize NULL packet insertion
For DSI6G v1.4.0 and above, DSI controller has support to insert NULL packets in the middle of pixel data or DMA packets to avoid HS-LP-HS transitions. Add support to featurize this based on DT property. Crs-Fixed: 880973 Change-Id: I36acfe6d27a1d750a5af12c3d136df473abb4598 Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org> Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi.c3
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi.h1
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi_host.c3
3 files changed, 6 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi.c b/drivers/video/fbdev/msm/mdss_dsi.c
index 4c2d80e487bb..fab11f03aecb 100644
--- a/drivers/video/fbdev/msm/mdss_dsi.c
+++ b/drivers/video/fbdev/msm/mdss_dsi.c
@@ -3166,6 +3166,9 @@ static int mdss_dsi_parse_ctrl_params(struct platform_device *ctrl_pdev,
struct mdss_panel_info *pinfo = &(ctrl_pdata->panel_data.panel_info);
const char *data;
+ ctrl_pdata->null_insert_enabled = of_property_read_bool(
+ ctrl_pdev->dev.of_node, "qcom,null-insertion-enabled");
+
data = of_get_property(ctrl_pdev->dev.of_node,
"qcom,platform-strength-ctrl", &len);
if (!data) {
diff --git a/drivers/video/fbdev/msm/mdss_dsi.h b/drivers/video/fbdev/msm/mdss_dsi.h
index a7f759d73485..d547bf45a891 100644
--- a/drivers/video/fbdev/msm/mdss_dsi.h
+++ b/drivers/video/fbdev/msm/mdss_dsi.h
@@ -459,6 +459,7 @@ struct mdss_dsi_ctrl_pdata {
struct regulator *ibb; /* vreg handle */
struct mutex clk_lane_mutex;
+ bool null_insert_enabled;
bool ulps;
bool core_power;
bool mmss_clamp;
diff --git a/drivers/video/fbdev/msm/mdss_dsi_host.c b/drivers/video/fbdev/msm/mdss_dsi_host.c
index ba19d8eadf31..c7d625645673 100644
--- a/drivers/video/fbdev/msm/mdss_dsi_host.c
+++ b/drivers/video/fbdev/msm/mdss_dsi_host.c
@@ -1178,7 +1178,8 @@ static void mdss_dsi_mode_setup(struct mdss_panel_data *pdata)
}
/* DSI_COMMAND_MODE_NULL_INSERTION_CTRL */
- if (ctrl_pdata->shared_data->hw_rev >= MDSS_DSI_HW_REV_104) {
+ if ((ctrl_pdata->shared_data->hw_rev >= MDSS_DSI_HW_REV_104)
+ && ctrl_pdata->null_insert_enabled) {
data = (mipi->vc << 1); /* Virtual channel ID */
data |= 0 << 16; /* Word count of the NULL packet */
data |= 0x1; /* Enable Null insertion */