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

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

Merge "msm: mdss: send frame done event for each pp_done isr"

parents a250b56e ad448448
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -928,7 +928,6 @@ static void mdss_mdp_cmd_pingpong_done(void *arg)
	struct mdss_mdp_cmd_ctx *ctx = ctl->intf_ctx[MASTER_CTX];
	struct mdss_mdp_vsync_handler *tmp;
	ktime_t vsync_time;
	u32 status;

	if (!ctx) {
		pr_err("%s: invalid ctx\n", __func__);
@@ -955,8 +954,6 @@ static void mdss_mdp_cmd_pingpong_done(void *arg)
			       atomic_read(&ctx->koff_cnt));
		if (mdss_mdp_cmd_do_notifier(ctx)) {
			atomic_inc(&ctx->pp_done_cnt);
			status = mdss_mdp_ctl_perf_get_transaction_status(ctl);
			if (status == 0)
			schedule_work(&ctx->pp_done_work);

			mdss_mdp_resource_control(ctl,
@@ -978,6 +975,7 @@ static void mdss_mdp_cmd_pingpong_done(void *arg)

static void pingpong_done_work(struct work_struct *work)
{
	u32 status;
	struct mdss_mdp_cmd_ctx *ctx =
		container_of(work, typeof(*ctx), pp_done_work);

@@ -985,6 +983,8 @@ static void pingpong_done_work(struct work_struct *work)
		while (atomic_add_unless(&ctx->pp_done_cnt, -1, 0))
			mdss_mdp_ctl_notify(ctx->ctl, MDP_NOTIFY_FRAME_DONE);

		status = mdss_mdp_ctl_perf_get_transaction_status(ctx->ctl);
		if (status == 0)
			mdss_mdp_ctl_perf_release_bw(ctx->ctl);
	}
}