Merge "disp: msm: dsi: Add support for secondary display using firmware approach"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
6edad6b0ad
@@ -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) {
|
||||
|
Reference in New Issue
Block a user