dev: gcdb: add support for specifying panel name during init
Display initialization now takes a panel name as input. Add support
in GCDB to propagate the panel name to the oem panel selection code.
Change-Id: I634507f870c752ee4a55cfdd148788c6c4b1070e
diff --git a/dev/gcdb/display/gcdb_display.c b/dev/gcdb/display/gcdb_display.c
index 52a6ae7..4a15406 100755
--- a/dev/gcdb/display/gcdb_display.c
+++ b/dev/gcdb/display/gcdb_display.c
@@ -257,11 +257,11 @@
memcpy(dsi_video_mode_phy_db.laneCfg, panel_lane_config, LANE_SIZE);
}
-int gcdb_display_init(uint32_t rev, void *base)
+int gcdb_display_init(const char *panel_name, uint32_t rev, void *base)
{
int ret = NO_ERROR;
- if (!oem_panel_select(&panelstruct, &(panel.panel_info),
+ if (!oem_panel_select(panel_name, &panelstruct, &(panel.panel_info),
&dsi_video_mode_phy_db)) {
dprintf(CRITICAL, "Target panel init not found!\n");
ret = ERR_NOT_SUPPORTED;
diff --git a/dev/gcdb/display/gcdb_display.h b/dev/gcdb/display/gcdb_display.h
index 6259896..b2fb974 100755
--- a/dev/gcdb/display/gcdb_display.h
+++ b/dev/gcdb/display/gcdb_display.h
@@ -58,7 +58,7 @@
struct msm_panel_info *pinfo);
int target_ldo_ctrl(uint8_t enable);
-int gcdb_display_init(uint32_t rev, void *base);
+int gcdb_display_init(const char *panel_name, uint32_t rev, void *base);
void gcdb_display_shutdown();
#endif /*_GCDB_DISPLAY_H_ */
diff --git a/target/apq8084/oem_panel.c b/target/apq8084/oem_panel.c
index eeae271..3b487c6 100644
--- a/target/apq8084/oem_panel.c
+++ b/target/apq8084/oem_panel.c
@@ -153,7 +153,7 @@
return ret;
}
-bool oem_panel_select(struct panel_struct *panelstruct,
+bool oem_panel_select(const char *panel_name, struct panel_struct *panelstruct,
struct msm_panel_info *pinfo,
struct mdss_dsi_phy_ctrl *phy_db)
{
diff --git a/target/apq8084/target_display.c b/target/apq8084/target_display.c
index 1441324..fd6f766 100755
--- a/target/apq8084/target_display.c
+++ b/target/apq8084/target_display.c
@@ -245,7 +245,7 @@
void target_display_init(const char *panel_name)
{
uint32_t ret = 0;
- ret = gcdb_display_init(MDP_REV_50, MIPI_FB_ADDR);
+ ret = gcdb_display_init(panel_name, MDP_REV_50, MIPI_FB_ADDR);
if (ret) {
msm_display_off();
}
diff --git a/target/msm8226/oem_panel.c b/target/msm8226/oem_panel.c
index f23aded..5b5cc21 100755
--- a/target/msm8226/oem_panel.c
+++ b/target/msm8226/oem_panel.c
@@ -306,7 +306,7 @@
static uint32_t auto_pan_loop = 0;
-bool oem_panel_select(struct panel_struct *panelstruct,
+bool oem_panel_select(const char *panel_name, struct panel_struct *panelstruct,
struct msm_panel_info *pinfo,
struct mdss_dsi_phy_ctrl *phy_db)
{
diff --git a/target/msm8226/target_display.c b/target/msm8226/target_display.c
index 60ad23b..2e608c8 100755
--- a/target/msm8226/target_display.c
+++ b/target/msm8226/target_display.c
@@ -347,7 +347,7 @@
uint32_t ret = 0;
do {
- ret = gcdb_display_init(MDP_REV_50, MIPI_FB_ADDR);
+ ret = gcdb_display_init(panel_name, MDP_REV_50, MIPI_FB_ADDR);
if (!ret || ret == ERR_NOT_SUPPORTED) {
break;
} else {
diff --git a/target/msm8610/oem_panel.c b/target/msm8610/oem_panel.c
index 8ea0a5e..e1fad7c 100644
--- a/target/msm8610/oem_panel.c
+++ b/target/msm8610/oem_panel.c
@@ -221,7 +221,7 @@
return true;
}
-bool oem_panel_select(struct panel_struct *panelstruct,
+bool oem_panel_select(const char *panel_name, struct panel_struct *panelstruct,
struct msm_panel_info *pinfo,
struct mdss_dsi_phy_ctrl *phy_db)
{
diff --git a/target/msm8610/target_display.c b/target/msm8610/target_display.c
index ffd7c4f..4b963b8 100755
--- a/target/msm8610/target_display.c
+++ b/target/msm8610/target_display.c
@@ -164,7 +164,7 @@
void target_display_init(const char *panel_name)
{
- gcdb_display_init(MDP_REV_304, MIPI_FB_ADDR);
+ gcdb_display_init(panel_name, MDP_REV_304, MIPI_FB_ADDR);
}
void target_display_shutdown(void)
diff --git a/target/msm8974/oem_panel.c b/target/msm8974/oem_panel.c
index 0bda609..1634cd4 100755
--- a/target/msm8974/oem_panel.c
+++ b/target/msm8974/oem_panel.c
@@ -232,7 +232,7 @@
static uint32_t auto_pan_loop = 0;
-bool oem_panel_select(struct panel_struct *panelstruct,
+bool oem_panel_select(const char *panel_name, struct panel_struct *panelstruct,
struct msm_panel_info *pinfo,
struct mdss_dsi_phy_ctrl *phy_db)
{
diff --git a/target/msm8974/target_display.c b/target/msm8974/target_display.c
index 8a21e98..270a300 100755
--- a/target/msm8974/target_display.c
+++ b/target/msm8974/target_display.c
@@ -353,7 +353,8 @@
break;
default:
do {
- ret = gcdb_display_init(MDP_REV_50, MIPI_FB_ADDR);
+ ret = gcdb_display_init(panel_name, MDP_REV_50,
+ MIPI_FB_ADDR);
if (!ret || ret == ERR_NOT_SUPPORTED) {
break;
} else {