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

Commit 61f16b84 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "drm/msm/sde: fix ESD check scheduling issue"

parents b7393e8e 0a5946ea
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -4281,13 +4281,15 @@ static void sde_crtc_enable(struct drm_crtc *crtc)
	struct sde_crtc_irq_info *node = NULL;
	struct drm_event event;
	u32 power_on;
	int ret;
	int ret, i;
	struct sde_crtc_state *cstate;

	if (!crtc || !crtc->dev || !crtc->dev->dev_private) {
		SDE_ERROR("invalid crtc\n");
		return;
	}
	priv = crtc->dev->dev_private;
	cstate = to_sde_crtc_state(crtc->state);

	if (!sde_kms_power_resource_is_enabled(crtc->dev)) {
		SDE_ERROR("power resource is not enabled\n");
@@ -4356,6 +4358,10 @@ static void sde_crtc_enable(struct drm_crtc *crtc)
		SDE_POWER_EVENT_POST_ENABLE | SDE_POWER_EVENT_POST_DISABLE |
		SDE_POWER_EVENT_PRE_DISABLE,
		sde_crtc_handle_power_event, crtc, sde_crtc->name);

	/* Enable ESD thread */
	for (i = 0; i < cstate->num_connectors; i++)
		sde_connector_schedule_status_work(cstate->connectors[i], true);
}

struct plane_state {
+0 −5
Original line number Diff line number Diff line
@@ -2412,7 +2412,6 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc)
	struct msm_compression_info *comp_info = NULL;
	struct drm_display_mode *cur_mode = NULL;
	struct msm_mode_info mode_info;
	struct drm_connector *drm_conn = NULL;

	if (!drm_enc) {
		SDE_ERROR("invalid encoder\n");
@@ -2503,10 +2502,6 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc)
		sde_enc->cur_master->ops.enable(sde_enc->cur_master);

	_sde_encoder_virt_enable_helper(drm_enc);

	/* Enable ESD thread */
	drm_conn = sde_enc->cur_master->connector;
	sde_connector_schedule_status_work(drm_conn, true);
}

static void sde_encoder_virt_disable(struct drm_encoder *drm_enc)