Comment 24 for bug 1875254

Revision history for this message
AceLan Kao (acelankao) wrote :

Okay, I built another older version of the kernel for testing.
https://people.canonical.com/~acelan/bugs/lp1875254/
BTW, 5.4.0-28 is just released today, maybe you could install that new kernel and then try the test kernel to make sure you have a working kernel installed.

The test kernel on my XPS 13(2020) fixed the same issue as you described and doesn't introduce any regression. The patch applied on top of 5.4.0-21/5.4.0-26 is below commit which also could be found in the directory with the test kernel.

From 6a3916dc7d3dab9a7f41e3619532f928dc19a954 Mon Sep 17 00:00:00 2001
From: Kai Vehmanen <email address hidden>
Date: Tue, 31 Dec 2019 16:00:07 +0200
Subject: [PATCH] drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK
 only

Revert changes done in commit f6ec9483091f ("drm/i915: extend audio
CDCLK>=2*BCLK constraint to more platforms"). Audio drivers
communicate with i915 over HDA bus multiple times during system
boot-up and each of these transactions result in matching
get_power/put_power calls to i915, and depending on the platform,
a modeset change causing visible flicker.

GLK is the only platform with minimum CDCLK significantly lower
than BCLK, and thus for GLK setting a higher CDCLK is mandatory.

For other platforms, minimum CDCLK is close but below 2*BCLK
(e.g. on ICL, CDCLK=176.4kHz with BCLK=96kHz). Spec-wise the constraint
should be set, but in practise no communication errors have been
reported and the downside if set is the flicker observed at boot-time.

Revert to old behaviour until better mechanism to manage
probe-time clocks is available.

The full CDCLK>=2*BCLK constraint is still enforced at pipe
enable time in intel_crtc_compute_min_cdclk().

Bugzilla: https://gitlab.freedesktop.org/drm/intel/issues/913
Fixes: f6ec9483091f ("drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms")
Signed-off-by: Kai Vehmanen <email address hidden>
Reviewed-by: Matt Roper <email address hidden>
Signed-off-by: Matt Roper <email address hidden>
Link: https://patchwork<email address hidden>
(bacported from commit 1ee48a61aa57dbdbc3cd2808d8b28df40d938e44)
Signed-off-by: AceLan Kao <email address hidden>