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

Commit c38e7004 authored by Ingrid Gallardo's avatar Ingrid Gallardo Committed by Ujwal Patel
Browse files

msm: mdss: add xlog for dynamic fps



Add xlog entries to debug dynamic fps.

Change-Id: I1ba1c9ed6d746d26d77b2805d6c812a1986b60e9
Signed-off-by: default avatarIngrid Gallardo <ingridg@codeaurora.org>
parent 0d96e425
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1584,7 +1584,10 @@ static void __mdss_dsi_update_video_mode_total(struct mdss_panel_data *pdata,

	if (ctrl_pdata->shared_data->timing_db_mode)
		MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x1e4, 0x1);

	ctrl_pdata->panel_data.panel_info.mipi.frame_rate = new_fps;
	MDSS_XLOG(current_dsi_v_total, new_dsi_v_total, new_fps,
		ctrl_pdata->shared_data->timing_db_mode);

}

+1 −1
Original line number Diff line number Diff line
@@ -4594,7 +4594,7 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg,
			sctl_flush_bits);
		sctl->flush_bits = 0;
	}
	MDSS_XLOG(ctl_flush_bits, sctl_flush_bits);
	MDSS_XLOG(ctl->intf_num, ctl_flush_bits, sctl_flush_bits);
	wmb();
	ctl->flush_reg_data = ctl_flush_bits;
	ctl->flush_bits = 0;
+16 −0
Original line number Diff line number Diff line
@@ -245,6 +245,9 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl,
	vsync_period = p->vsync_pulse_width + p->v_back_porch +
			p->height + p->v_front_porch;

	MDSS_XLOG(p->vsync_pulse_width, p->v_back_porch,
			p->height, p->v_front_porch);

	display_v_start = ((p->vsync_pulse_width + p->v_back_porch) *
			hsync_period) + p->hsync_skew;
	display_v_end = ((vsync_period - p->v_front_porch) * hsync_period) +
@@ -328,6 +331,7 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl,
	mdp_video_write(ctx, MDSS_MDP_REG_INTF_HSYNC_SKEW, p->hsync_skew);
	mdp_video_write(ctx, MDSS_MDP_REG_INTF_POLARITY_CTL, polarity_ctl);
	mdp_video_write(ctx, MDSS_MDP_REG_INTF_FRAME_LINE_COUNT_EN, 0x3);
	MDSS_XLOG(hsync_period, vsync_period);

	/*
	 * If CDM is present Interface should have destination
@@ -743,6 +747,7 @@ static int mdss_mdp_video_timegen_update(struct mdss_mdp_video_ctx *ctx,
	mdp_video_write(ctx, MDSS_MDP_REG_INTF_DISPLAY_V_START_F0,
						display_v_start);
	mdp_video_write(ctx, MDSS_MDP_REG_INTF_DISPLAY_V_END_F0, display_v_end);
	MDSS_XLOG(ctx->intf_num, hsync_ctl, vsync_period, hsync_period);

	return 0;
}
@@ -804,6 +809,8 @@ static int mdss_mdp_video_vfp_fps_update(struct mdss_mdp_video_ctx *ctx,
		mdp_video_write(ctx, MDSS_MDP_REG_INTF_VSYNC_PERIOD_F0,
			new_vsync_period_f0 & 0x7fffff);
	}
	MDSS_XLOG(ctx->intf_num, current_vsync_period_f0,
		hsync_period, vsync_period, new_vsync_period_f0);

	return 0;
}
@@ -881,6 +888,7 @@ static void mdss_mdp_video_timegen_flush(struct mdss_mdp_ctl *ctl,
{
	u32 ctl_flush;
	struct mdss_data_type *mdata;

	mdata = ctl->mdata;
	ctl_flush = (BIT(31) >> (ctl->intf_num - MDSS_MDP_INTF0));
	if (sctx) {
@@ -892,6 +900,7 @@ static void mdss_mdp_video_timegen_flush(struct mdss_mdp_ctl *ctl,
					(sctx->intf_num - MDSS_MDP_INTF0));
	}
	mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, ctl_flush);
	MDSS_XLOG(ctl->intf_num, sctx?sctx->intf_num:0xf00, ctl_flush);
}

/**
@@ -952,6 +961,8 @@ static int mdss_mdp_video_config_fps(struct mdss_mdp_ctl *ctl, int new_fps)

	pr_debug("ctl:%d dfps_update:%d fps:%d\n",
		ctl->num, pdata->panel_info.dfps_update, new_fps);
	MDSS_XLOG(ctl->num, pdata->panel_info.dfps_update,
		new_fps, XLOG_FUNC_ENTRY);

	if (pdata->panel_info.dfps_update
			!= DFPS_SUSPEND_RESUME_MODE) {
@@ -1064,6 +1075,7 @@ exit_dfps:
	}

end:
	MDSS_XLOG(ctl->num, new_fps, XLOG_FUNC_EXIT);
	mutex_unlock(&ctl->offlock);
	return rc;
}
@@ -1251,6 +1263,7 @@ static void mdss_mdp_fetch_end_config(struct mdss_mdp_video_ctx *ctx,

	mdp_video_write(ctx, MDSS_MDP_REG_INTF_VBLANK_END_CONF, fetch_stop);
	mdp_video_write(ctx, MDSS_MDP_REG_INTF_CONFIG, vblank_end_enable);
	MDSS_XLOG(ctx->intf_num, fetch_stop, vblank_end_enable);
}

static void mdss_mdp_fetch_start_config(struct mdss_mdp_video_ctx *ctx,
@@ -1287,6 +1300,7 @@ static void mdss_mdp_fetch_start_config(struct mdss_mdp_video_ctx *ctx,

	mdp_video_write(ctx, MDSS_MDP_REG_INTF_PROG_FETCH_START, fetch_start);
	mdp_video_write(ctx, MDSS_MDP_REG_INTF_CONFIG, fetch_enable);
	MDSS_XLOG(ctx->intf_num, fetch_enable, fetch_start);
}

static inline bool mdss_mdp_video_need_pixel_drop(u32 vic)
@@ -1361,6 +1375,8 @@ static void mdss_mdp_handoff_programmable_fetch(struct mdss_mdp_ctl *ctl,
			((fetch_start_handoff - 1)/h_total_handoff);
		pr_debug("programmable fetch lines %d start:%d\n",
			pinfo->prg_fet, fetch_start_handoff);
		MDSS_XLOG(pinfo->prg_fet, fetch_start_handoff,
			h_total_handoff, v_total_handoff);
	}
}

+1 −0
Original line number Diff line number Diff line
@@ -789,6 +789,7 @@ static int mdss_mdp_writeback_display(struct mdss_mdp_ctl *ctl, void *arg)
	flush_bits |= BIT(16); /* WB */
	mdp_wb_write(ctx, MDSS_MDP_REG_WB_DST_ADDR_SW_STATUS, ctl->is_secure);
	mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, flush_bits);
	MDSS_XLOG(ctl->intf_num, flush_bits);

	reinit_completion(&ctx->wb_comp);
	mdss_mdp_irq_enable(ctx->intr_type, ctx->intf_num);
+3 −0
Original line number Diff line number Diff line
@@ -2703,6 +2703,7 @@ static ssize_t dynamic_fps_sysfs_wta_dfps(struct device *dev,
	}

	pdata->panel_info.new_fps = dfps;
	MDSS_XLOG(dfps);
	mutex_unlock(&mdp5_data->dfps_lock);
	return count;
} /* dynamic_fps_sysfs_wta_dfps */
@@ -3159,6 +3160,7 @@ int mdss_mdp_cursor_flush(struct msm_fb_data_type *mfd,
	mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_ON);

	mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, flush_bits);
	MDSS_XLOG(ctl->intf_num, flush_bits);
	if ((!ctl->split_flush_en) && pipe->mixer_right) {
		sctl = mdss_mdp_get_split_ctl(ctl);
		if (!sctl) {
@@ -3166,6 +3168,7 @@ int mdss_mdp_cursor_flush(struct msm_fb_data_type *mfd,
			return -ENODEV;
		}
		mdss_mdp_ctl_write(sctl, MDSS_MDP_REG_CTL_FLUSH, flush_bits);
		MDSS_XLOG(sctl->intf_num, flush_bits);
	}

	mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_OFF);