disp: msm: dsi: handle invalid and dummy panel IDs from DTSI

For Demura continuous splash hand-off, the DTB must already have
a definition for a demura panel ID. This is necessary
as ABL currently only updates this node and will not add it in
if missing.

Introduce special handling to identify a panel ID of 0 as a dummy
node, and set all invalid cases to the panel id ~0x0.

Change-Id: I70315c1b32cce9bcd2f6142515f2355a489d470b
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
此提交包含在:
Christopher Braga
2020-08-28 15:51:40 -04:00
提交者 Gopikrishnaiah Anandan
父節點 dc1af2c9d5
當前提交 d2511cbe2f

查看文件

@@ -622,7 +622,7 @@ static void dsi_display_parse_demura_data(struct dsi_display *display)
{ {
int rc = 0; int rc = 0;
display->panel_id = 0; display->panel_id = ~0x0;
if (display->fw) { if (display->fw) {
DSI_INFO("FW definition unsupported for Demura panel data\n"); DSI_INFO("FW definition unsupported for Demura panel data\n");
return; return;
@@ -630,10 +630,14 @@ static void dsi_display_parse_demura_data(struct dsi_display *display)
rc = of_property_read_u64(display->pdev->dev.of_node, rc = of_property_read_u64(display->pdev->dev.of_node,
"qcom,demura-panel-id", &display->panel_id); "qcom,demura-panel-id", &display->panel_id);
if (rc) if (rc) {
DSI_INFO("No panel ID is present for this display\n"); DSI_INFO("No panel ID is present for this display\n");
else } else if (!display->panel_id) {
DSI_INFO("Dummy panel ID node present for this display\n");
display->panel_id = ~0x0;
} else {
DSI_INFO("panel id found: %lx\n", display->panel_id); DSI_INFO("panel id found: %lx\n", display->panel_id);
}
} }
static void dsi_display_parse_te_data(struct dsi_display *display) static void dsi_display_parse_te_data(struct dsi_display *display)