target: 8994: add hdmi cmdline support
Add hdmi cmdline string to support hdmi primary in kernel using
faseboot oem.
Change-Id: If7befee24ed211b8b6ec4122b246b3aed89b3a46
diff --git a/target/msm8994/target_display.c b/target/msm8994/target_display.c
index c347d9f..2b33fd1 100644
--- a/target/msm8994/target_display.c
+++ b/target/msm8994/target_display.c
@@ -434,8 +434,28 @@
bool target_display_panel_node(char *panel_name, char *pbuf, uint16_t buf_size)
{
- return gcdb_display_cmdline_arg(panel_name, pbuf, buf_size);
+ int prefix_string_len = strlen(DISPLAY_CMDLINE_PREFIX);
+ bool ret = true;
+ panel_name += strspn(panel_name, " ");
+
+ if (!strcmp(panel_name, HDMI_PANEL_NAME)) {
+ if (buf_size < (prefix_string_len + LK_OVERRIDE_PANEL_LEN +
+ strlen(HDMI_CONTROLLER_STRING))) {
+ dprintf(CRITICAL, "command line argument is greater than buffer size\n");
+ return false;
+ }
+
+ strlcpy(pbuf, DISPLAY_CMDLINE_PREFIX, buf_size);
+ buf_size -= prefix_string_len;
+ strlcat(pbuf, LK_OVERRIDE_PANEL, buf_size);
+ buf_size -= LK_OVERRIDE_PANEL_LEN;
+ strlcat(pbuf, HDMI_CONTROLLER_STRING, buf_size);
+ } else {
+ ret = gcdb_display_cmdline_arg(panel_name, pbuf, buf_size);
+ }
+
+ return ret;
}
void target_display_init(const char *panel_name)
@@ -452,6 +472,8 @@
dprintf(INFO, "Selected panel: %s\nSkip panel configuration\n",
panel_name);
return;
+ } else if (!strcmp(panel_name, HDMI_PANEL_NAME)) {
+ return;
}
if (gcdb_display_init(panel_name, MDP_REV_50, (void *)MIPI_FB_ADDR)) {