mirror of https://gitee.com/openkylin/linux.git
drm/i915/skl: Skip remaining dividers when deviation is 0
We can't improve a 0 deviation, so when we find such a divider, skip the remaining ones they won't be better. This short-circuit the search for 34 of the 373 test frequencies in the corresponding i-g-t test (tools/skl_compute_wrpll) v2: Place the short-circuiting code in skl_compute_wrpll() (Paulo) (I'm sure nobody will notice the spurious removal of a blank line) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Suggested-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
350405623f
commit
e7ad987832
|
@ -1149,7 +1149,6 @@ static void skl_wrpll_try_divider(struct skl_wrpll_context *ctx,
|
|||
ctx->dco_freq = dco_freq;
|
||||
ctx->p = divider;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void skl_wrpll_get_multipliers(unsigned int p,
|
||||
|
@ -1315,9 +1314,17 @@ skl_ddi_calculate_wrpll(int clock /* in Hz */,
|
|||
dco_central_freq[dco],
|
||||
dco_freq,
|
||||
p);
|
||||
/*
|
||||
* Skip the remaining dividers if we're sure to
|
||||
* have found the definitive divider, we can't
|
||||
* improve a 0 deviation.
|
||||
*/
|
||||
if (ctx.min_deviation == 0)
|
||||
goto skip_remaining_dividers;
|
||||
}
|
||||
}
|
||||
|
||||
skip_remaining_dividers:
|
||||
/*
|
||||
* If a solution is found with an even divider, prefer
|
||||
* this one.
|
||||
|
|
Loading…
Reference in New Issue