summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatenda Chipeperekwa <tatendac@codeaurora.org>2016-03-23 11:34:48 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-04-06 10:24:27 -0700
commit9fa1034a5a21036006c2daea5b151ec9741a7440 (patch)
tree5d4afb8dc27114a3fbd0a738d0e5b5a0345563f1
parentaed4865b21a8394b397b3d9001e59247ec003295 (diff)
platform: msm_shared: add dual pipe configuration for 4K modes
Add dual pipe configuration for 4K HDMI modes with a width exceeding the maximum width supported by a single display pipe. Change-Id: I2f9a2b5182f4f2ff5e8cd9ac7d55590a3eb56cbf
-rw-r--r--platform/msm_shared/mdss_hdmi.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/platform/msm_shared/mdss_hdmi.c b/platform/msm_shared/mdss_hdmi.c
index 19015665..b6276646 100644
--- a/platform/msm_shared/mdss_hdmi.c
+++ b/platform/msm_shared/mdss_hdmi.c
@@ -175,6 +175,7 @@ enum edid_data_block_type {
#define HDMI_VFRMT_END 127
#define HDMI_VSDB_3D_EVF_DATA_OFFSET(vsd) \
(!((vsd)[8] & BIT(7)) ? 9 : (!((vsd)[8] & BIT(6)) ? 11 : 13))
+#define MSM_MDP_MAX_PIPE_WIDTH 2560
static uint8_t mdss_hdmi_video_formats[HDMI_VFRMT_COUNT];
static uint8_t mdss_hdmi_mode_count;
@@ -1012,7 +1013,15 @@ static void mdss_hdmi_panel_init(struct msm_panel_info *pinfo)
pinfo->lcdc.hsync_skew = 0;
pinfo->lcdc.xres_pad = 0;
pinfo->lcdc.yres_pad = 0;
- pinfo->lcdc.dual_pipe = 0;
+
+ /* Add dual pipe configuration for resultions greater than
+ * MSM_MDP_MAX_PIPE_WIDTH.
+ */
+ if (pinfo->xres > MSM_MDP_MAX_PIPE_WIDTH) {
+ pinfo->lcdc.dual_pipe = 1;
+ pinfo->lm_split[0] = pinfo->xres / 2;
+ pinfo->lm_split[1] = pinfo->xres - pinfo->lm_split[0];
+ }
}
static uint8_t mdss_hdmi_cable_status(void)