Merge "disp: msm: dsi: Add support for secondary display using firmware approach"

This commit is contained in:
qctecmdr
2020-10-15 21:39:04 -07:00
committed by Gerrit - the friendly Code Review server

View File

@@ -5090,7 +5090,7 @@ static int _dsi_display_dev_init(struct dsi_display *display)
return -EINVAL;
}
if (!display->panel_node)
if (!display->panel_node && !display->fw)
return 0;
mutex_lock(&display->display_lock);
@@ -5395,7 +5395,7 @@ static int dsi_display_bind(struct device *dev,
drm, display);
return -EINVAL;
}
if (!display->panel_node)
if (!display->panel_node && !display->fw)
return 0;
if (!display->fw)
@@ -5705,7 +5705,13 @@ static void dsi_display_firmware_display(const struct firmware *fw,
fw->size);
display->fw = fw;
display->name = "dsi_firmware_display";
if (!strcmp(display->display_type, "primary"))
display->name = "dsi_firmware_display";
else if (!strcmp(display->display_type, "secondary"))
display->name = "dsi_firmware_display_secondary";
} else {
DSI_INFO("no firmware available, fallback to device node\n");
}
@@ -5796,10 +5802,17 @@ int dsi_display_dev_probe(struct platform_device *pdev)
if (!boot_disp->boot_disp_en &&
IS_ENABLED(CONFIG_DSI_PARSER) &&
!display->trusted_vm_env) {
firm_req = !request_firmware_nowait(
THIS_MODULE, 1, "dsi_prop",
&pdev->dev, GFP_KERNEL, display,
dsi_display_firmware_display);
if (!strcmp(display->display_type, "primary"))
firm_req = !request_firmware_nowait(
THIS_MODULE, 1, "dsi_prop",
&pdev->dev, GFP_KERNEL, display,
dsi_display_firmware_display);
else if (!strcmp(display->display_type, "secondary"))
firm_req = !request_firmware_nowait(
THIS_MODULE, 1, "dsi_prop_sec",
&pdev->dev, GFP_KERNEL, display,
dsi_display_firmware_display);
}
if (!firm_req) {