platform: msm_shared: Replace hard-coded FB Base Address
MDP3 DMA source address (MDP_DMA_P_BUF_ADDR) was always set
to macro MIPI_FB_ADDR. This causes issues like shifted image
if the base address of display changes at run-time. Use
fb->base variable as input to DMA_P source to avoid this issue.
Change-Id: I6bad572dfc4c11ef1f894a46b9742f02f4da4104
diff --git a/platform/msm_shared/mdp3.c b/platform/msm_shared/mdp3.c
index 1014b45..8c59bae 100644
--- a/platform/msm_shared/mdp3.c
+++ b/platform/msm_shared/mdp3.c
@@ -125,7 +125,7 @@
writel(0x00000000, MDP_DMA_P_OUT_XY);
writel(pinfo->yres << 16 | pinfo->xres, MDP_DMA_P_SIZE);
- writel(MIPI_FB_ADDR, MDP_DMA_P_BUF_ADDR);
+ writel((uint32_t)fb->base, MDP_DMA_P_BUF_ADDR);
writel(pinfo->xres * ystride, MDP_DMA_P_BUF_Y_STRIDE);
writel(hsync_period << 16 | lcdc->h_pulse_width, \
MDP_DSI_VIDEO_HSYNC_CTL);
@@ -189,7 +189,7 @@
writel(pack_pattern << 8 | 0x3f | (0 << 25)| (1 << 19) | (1 << 7) , MDP_DMA_P_CONFIG); // rgb888
writel(0x00000000, MDP_DMA_P_OUT_XY);
writel(pinfo->yres << 16 | pinfo->xres, MDP_DMA_P_SIZE);
- writel(MIPI_FB_ADDR, MDP_DMA_P_BUF_ADDR);
+ writel((uint32_t)fb->base, MDP_DMA_P_BUF_ADDR);
writel(pinfo->xres * ystride, MDP_DMA_P_BUF_Y_STRIDE);