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

Commit 29126c8f authored by Kyle Yan's avatar Kyle Yan Committed by Gerrit - the friendly Code Review server
Browse files

Merge "drm/msm: enable/disable sde during driver open and close" into msm-4.8

parents 56549370 0e19a5d0
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -535,6 +535,14 @@ static int msm_open(struct drm_device *dev, struct drm_file *file)

	file->driver_priv = ctx;

	if (dev && dev->dev_private) {
		struct msm_drm_private *priv = dev->dev_private;
		struct msm_kms *kms;

		kms = priv->kms;
		if (kms && kms->funcs && kms->funcs->postopen)
			kms->funcs->postopen(kms, file);
	}
	return 0;
}

+1 −0
Original line number Diff line number Diff line
@@ -77,6 +77,7 @@ struct msm_kms_funcs {
			struct drm_encoder *encoder,
			struct drm_encoder *slave_encoder,
			bool is_cmd_mode);
	void (*postopen)(struct msm_kms *kms, struct drm_file *file);
	/* cleanup: */
	void (*destroy)(struct msm_kms *kms);
};
+9 −1
Original line number Diff line number Diff line
@@ -320,8 +320,16 @@ static long sde_round_pixclk(struct msm_kms *kms, unsigned long rate,
	return rate;
}

static void sde_postopen(struct msm_kms *kms, struct drm_file *file)
{
	if (kms)
		sde_enable(to_sde_kms(kms));
}

static void sde_preclose(struct msm_kms *kms, struct drm_file *file)
{
	if (kms)
		sde_disable(to_sde_kms(kms));
}

static void sde_destroy(struct msm_kms *kms)
@@ -350,6 +358,7 @@ static const struct msm_kms_funcs kms_funcs = {
	.check_modified_format = sde_format_check_modified_format,
	.get_format      = sde_get_msm_format,
	.round_pixclk    = sde_round_pixclk,
	.postopen        = sde_postopen,
	.preclose        = sde_preclose,
	.destroy         = sde_destroy,
};
@@ -658,7 +667,6 @@ struct msm_kms *sde_kms_init(struct drm_device *dev)
	 */

	clk_set_rate(sde_kms->src_clk, DEFAULT_MDP_SRC_CLK);
	sde_enable(sde_kms);
	sde_kms->hw_res.res_table = res_table;

	/*