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

Commit 9db3a823 authored by Ingrid Gallardo's avatar Ingrid Gallardo Committed by Abhijith Desai
Browse files

msm: mdss: disable Client Driven Prefetch



Client Driven Prefetch is enabled by Default in HW
and SW whereas the recommended configuration is to
disable this feature.
This change makes sure that driver disables this
feature in msmcobalt and only enables the feature
for targets that need to keep it enabled.

Change-Id: I34c4feb0297838889cc2505eb3e08516165c5f2f
Signed-off-by: default avatarIngrid Gallardo <ingridg@codeaurora.org>
parent fb8a0143
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -414,6 +414,7 @@ struct mdss_data_type {
	u32 enable_gate;
	u32 enable_bw_release;
	u32 enable_rotator_bw_release;
	u32 enable_cdp;
	u32 serialize_wait4pp;
	u32 wait4autorefresh;
	u32 lines_before_active;
+4 −2
Original line number Diff line number Diff line
@@ -1867,7 +1867,8 @@ static void mdss_mdp_hw_rev_caps_init(struct mdss_data_type *mdata)
		mdata->pixel_ram_size = 50 * 1024;
		set_bit(MDSS_QOS_PER_PIPE_IB, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_OVERHEAD_FACTOR, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_CDP, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_CDP, mdata->mdss_qos_map); /* cdp supported */
		mdata->enable_cdp = true; /* enable cdp */
		set_bit(MDSS_QOS_OTLIM, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_PER_PIPE_LUT, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_SIMPLIFIED_PREFILL, mdata->mdss_qos_map);
@@ -1961,7 +1962,8 @@ static void mdss_mdp_hw_rev_caps_init(struct mdss_data_type *mdata)
		set_bit(MDSS_QOS_PER_PIPE_IB, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_TS_PREFILL, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_OVERHEAD_FACTOR, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_CDP, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_CDP, mdata->mdss_qos_map); /* cdp supported */
		mdata->enable_cdp = false; /* disable cdp */
		set_bit(MDSS_QOS_OTLIM, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_PER_PIPE_LUT, mdata->mdss_qos_map);
		set_bit(MDSS_QOS_SIMPLIFIED_PREFILL, mdata->mdss_qos_map);
+3 −2
Original line number Diff line number Diff line
@@ -2072,8 +2072,9 @@ static void mdss_mdp_set_pipe_cdp(struct mdss_mdp_pipe *pipe)
	u32 cdp_settings = 0x0;
	bool is_rotator = (pipe->mixer_left && pipe->mixer_left->rotator_mode);

	/* Disable CDP for rotator pipe in v1 */
	if (is_rotator && mdss_has_quirk(mdata, MDSS_QUIRK_ROTCDP))
	/* Disable CDP for rotator pipe or if not requested for the target */
	if (!mdata->enable_cdp || (is_rotator &&
			mdss_has_quirk(mdata, MDSS_QUIRK_ROTCDP)))
		goto exit;

	cdp_settings = MDSS_MDP_CDP_ENABLE;