mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-10 20:48:12 +00:00
drm/i915/ips: Eliminate the cdclk_state stuff from hsw_ips_compute_config()
Reorganize the IPS CDCLK handling such that the computed CDCLK frequency will always satisfy the IPS requirements. The only exceptional case is if IPS would push the CDCLK above the platform max, but in that case we can simply disable IPS. To make this 100% race free we must move the enable_ips modparam check out from the min CDCLK computation path so that there is no chance of hsw_min_cdclk() and hsw_ips_compute_config() observing a different enable_ips value during the same commit. This allows us to completely remove the cdclk_state stuff from the IPS code. We only ever have to compare the IPS min CDCLK against the platform max CDCLK. Thus we eliminate any ordering requirements between intel_cdclk_atomic_check() and hsw_ips_compute_config(). Additionally we reduce the three copies of the code doing the 95% calculation into just one. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20251013201236.30084-5-ville.syrjala@linux.intel.com Reviewed-by: Mika Kahola <mika.kahola@intel.com>
This commit is contained in:
parent
1c67c43669
commit
45bcbfe637
1 changed files with 27 additions and 32 deletions
Loading…
Add table
Add a link
Reference in a new issue