dev: gcdb: copy DSI dfps data into reserved fb memory
The data will be passed for kernel to retrieve DSI PLL codes to do
dynamic frame rate refresh.
Change-Id: I1906282b13091510122ca7e8495b141c09efd9cd
diff --git a/dev/gcdb/display/gcdb_display.c b/dev/gcdb/display/gcdb_display.c
index 1328653..fa268b1 100755
--- a/dev/gcdb/display/gcdb_display.c
+++ b/dev/gcdb/display/gcdb_display.c
@@ -199,6 +199,9 @@
ret = mdss_dsi_dfps_get_pll_codes(pinfo);
+ if (pinfo->dfps.dfps_fb_base)
+ memcpy(pinfo->dfps.dfps_fb_base, &pinfo->dfps,
+ sizeof(struct dfps_info));
dfps_done:
return ret;
}
@@ -449,6 +452,16 @@
panel.power_func = mdss_dsi_panel_power;
panel.pre_init_func = mdss_dsi_panel_pre_init;
panel.bl_func = mdss_dsi_bl_enable;
+ /*
+ * If dfps enabled, reserve fb memory to store pll
+ * codes and pass pll codes values to kernel.
+ */
+ if (panel.panel_info.dfps.panel_dfps.enabled) {
+ panel.panel_info.dfps.dfps_fb_base = base;
+ base += DFPS_PLL_CODES_SIZE;
+ dprintf(SPEW, "fb_base=0x%p!\n", base);
+ }
+
panel.fb.base = base;
panel.fb.width = panel.panel_info.xres;
panel.fb.height = panel.panel_info.yres;