Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5d477c6 authored by Tharun Raj Soma's avatar Tharun Raj Soma
Browse files

drm/msm/dsi-staging: add lp11-init support for DRM DSI driver



Some panels have requirement to toggle the reset gpio pin
before sending panel init command. This change provides support
to parse this lp11-init property from panel dtsi file. When there
is power off, lp11-init logic is disabled so that panel off
sequence is not changed.

Change-Id: I1f01b65010a00cba593f94c71dcab134cb1dd758
Signed-off-by: default avatarTharun Raj Soma <tsoma@codeaurora.org>
parent c091c7a8
Loading
Loading
Loading
Loading
+8 −15
Original line number Diff line number Diff line
@@ -1771,6 +1771,9 @@ static int dsi_panel_parse_misc_features(struct dsi_panel *panel,

	panel->sync_broadcast_en = of_property_read_bool(of_node,
			"qcom,cmd-sync-wait-broadcast");

	panel->lp11_init = of_property_read_bool(of_node,
			"qcom,mdss-dsi-lp11-init");
	return 0;
}

@@ -3746,14 +3749,6 @@ int dsi_panel_unprepare(struct dsi_panel *panel)
		goto error;
	}

	if (panel->lp11_init) {
		rc = dsi_panel_power_off(panel);
		if (rc) {
			pr_err("[%s] panel power_Off failed, rc=%d\n",
			       panel->name, rc);
			goto error;
		}
	}
error:
	mutex_unlock(&panel->panel_lock);
	return rc;
@@ -3773,14 +3768,12 @@ int dsi_panel_post_unprepare(struct dsi_panel *panel)

	mutex_lock(&panel->panel_lock);

	if (!panel->lp11_init) {
	rc = dsi_panel_power_off(panel);
	if (rc) {
		pr_err("[%s] panel power_Off failed, rc=%d\n",
		       panel->name, rc);
		goto error;
	}
	}
error:
	mutex_unlock(&panel->panel_lock);
	return rc;