sync with OpenBSD -current
This commit is contained in:
parent
ed26f93d8c
commit
9fbd947ba3
36 changed files with 208 additions and 157 deletions
|
@ -2368,6 +2368,18 @@ static int intel_compute_min_cdclk(struct intel_cdclk_state *cdclk_state)
|
|||
for_each_pipe(dev_priv, pipe)
|
||||
min_cdclk = max(cdclk_state->min_cdclk[pipe], min_cdclk);
|
||||
|
||||
/*
|
||||
* Avoid glk_force_audio_cdclk() causing excessive screen
|
||||
* blinking when multiple pipes are active by making sure
|
||||
* CDCLK frequency is always high enough for audio. With a
|
||||
* single active pipe we can always change CDCLK frequency
|
||||
* by changing the cd2x divider (see glk_cdclk_table[]) and
|
||||
* thus a full modeset won't be needed then.
|
||||
*/
|
||||
if (IS_GEMINILAKE(dev_priv) && cdclk_state->active_pipes &&
|
||||
!is_power_of_2(cdclk_state->active_pipes))
|
||||
min_cdclk = max(2 * 96000, min_cdclk);
|
||||
|
||||
if (min_cdclk > dev_priv->display.cdclk.max_cdclk_freq) {
|
||||
drm_dbg_kms(&dev_priv->drm,
|
||||
"required cdclk (%d kHz) exceeds max (%d kHz)\n",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue