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

Commit 4520e44d authored by Ray Zhang's avatar Ray Zhang Committed by Gerrit - the friendly Code Review server
Browse files

msm: mdss: add fudge factor for command mode panel



In case of command mode, we have to take account of
bus inefficiency, otherwise some performance drops
could be hit. Set 2x ratio for 8939 and keep 1x
ratio as default for other targets.

CRs-fixed: 719913
Signed-off-by: default avatarRay Zhang <rayz@codeaurora.org>
Change-Id: I5dd5e69172e743b928182220a9588de9f454ca4e
parent 483bf1ef
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -385,6 +385,8 @@ Fudge Factors: Fudge factors are used to boost demand for
				values when the overlap bandwidth is the
				predominant value compared to prefill bandwidth
				value.
- qcom,mdss-ib-factor-cmd:	This fudge factor is applied to calculated ib
				values in case of command mode.
- qcom,mdss-clk-factor:		This fudge factor is applied to calculated mdp
				clk rate in default conditions.

+2 −1
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@
		/* Fudge factors */
		qcom,mdss-ab-factor = <1 1>;		/* 1 times    */
		qcom,mdss-ib-factor = <2 1>;		/* 2 times    */
		qcom,mdss-ib-factor-cmd = <10 6>;	/* 1.6 times */
		qcom,mdss-clk-factor = <105 100>;	/* 1.05 times */
		qcom,max-bandwidth-low-kbps = <2000000>;
		qcom,max-bandwidth-high-kbps = <2000000>;
+1 −0
Original line number Diff line number Diff line
@@ -185,6 +185,7 @@ struct mdss_data_type {
	struct mdss_fudge_factor ab_factor;
	struct mdss_fudge_factor ib_factor;
	struct mdss_fudge_factor ib_factor_overlap;
	struct mdss_fudge_factor ib_factor_cmd;
	struct mdss_fudge_factor clk_factor;

	u32 disable_prefill;
+3 −0
Original line number Diff line number Diff line
@@ -585,6 +585,9 @@ static int mdss_debugfs_perf_init(struct mdss_debug_data *mdd,
	debugfs_create_file("ib_factor_overlap", 0644, mdd->perf,
		&mdata->ib_factor_overlap, &mdss_factor_fops);

	debugfs_create_file("ib_factor_cmd", 0644, mdd->perf,
		&mdata->ib_factor_cmd, &mdss_factor_fops);

	debugfs_create_file("clk_factor", 0644, mdd->perf,
		&mdata->clk_factor, &mdss_factor_fops);

+10 −0
Original line number Diff line number Diff line
@@ -2655,6 +2655,16 @@ static int mdss_mdp_parse_dt_misc(struct platform_device *pdev)
	mdss_mdp_parse_dt_fudge_factors(pdev, "qcom,mdss-ib-factor-overlap",
		&mdata->ib_factor_overlap);

	/*
	 * 1x factor on ib_factor_cmd as default value. This value is
	 * experimentally determined and should be tuned in device
	 * tree
	 */
	mdata->ib_factor_cmd.numer = 1;
	mdata->ib_factor_cmd.denom = 1;
	mdss_mdp_parse_dt_fudge_factors(pdev, "qcom,mdss-ib-factor-cmd",
		&mdata->ib_factor_cmd);

	mdata->clk_factor.numer = 1;
	mdata->clk_factor.denom = 1;
	mdss_mdp_parse_dt_fudge_factors(pdev, "qcom,mdss-clk-factor",
Loading