mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed()
Extract the glk audio w/a check into a small helper. We'll have other uses for this later. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250923171943.7319-6-ville.syrjala@linux.intel.com Reviewed-by: Mika Kahola <mika.kahola@intel.com>
This commit is contained in:
@@ -2831,6 +2831,14 @@ static int intel_crtc_compute_min_cdclk(const struct intel_crtc_state *crtc_stat
|
|||||||
return min_cdclk;
|
return min_cdclk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool glk_cdclk_audio_wa_needed(struct intel_display *display,
|
||||||
|
const struct intel_cdclk_state *cdclk_state)
|
||||||
|
{
|
||||||
|
return display->platform.geminilake &&
|
||||||
|
cdclk_state->active_pipes &&
|
||||||
|
!is_power_of_2(cdclk_state->active_pipes);
|
||||||
|
}
|
||||||
|
|
||||||
static int intel_compute_min_cdclk(struct intel_atomic_state *state)
|
static int intel_compute_min_cdclk(struct intel_atomic_state *state)
|
||||||
{
|
{
|
||||||
struct intel_display *display = to_intel_display(state);
|
struct intel_display *display = to_intel_display(state);
|
||||||
@@ -2887,8 +2895,7 @@ static int intel_compute_min_cdclk(struct intel_atomic_state *state)
|
|||||||
* by changing the cd2x divider (see glk_cdclk_table[]) and
|
* by changing the cd2x divider (see glk_cdclk_table[]) and
|
||||||
* thus a full modeset won't be needed then.
|
* thus a full modeset won't be needed then.
|
||||||
*/
|
*/
|
||||||
if (display->platform.geminilake && cdclk_state->active_pipes &&
|
if (glk_cdclk_audio_wa_needed(display, cdclk_state))
|
||||||
!is_power_of_2(cdclk_state->active_pipes))
|
|
||||||
min_cdclk = max(min_cdclk, 2 * 96000);
|
min_cdclk = max(min_cdclk, 2 * 96000);
|
||||||
|
|
||||||
if (min_cdclk > display->cdclk.max_cdclk_freq) {
|
if (min_cdclk > display->cdclk.max_cdclk_freq) {
|
||||||
|
|||||||
Reference in New Issue
Block a user