mbox series

[0/1,SRU,Focal] Intermittent display blackouts on event

Message ID 20200429025528.236678-1-acelan.kao@canonical.com
Headers show
Series Intermittent display blackouts on event | expand

Message

AceLan Kao April 29, 2020, 2:55 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1875254

[Impact]
When audio device enters runpm D3(idle for 7 seconds) and then wakes it up
to make a sound, it flicks the screen.
This behavior could be observed while plug/remove AC cable or USB disk,
or open a terminal and press backsapce key.

[Fix]
This issue could be fixed by this commit, it fixes the flicker during
boot-time, but it also fixes the flicker during rumtime wakeup.
1ee48a61aa57 drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only

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.

[Test]
Verified on Dell XPS 13 9300

[Regression Potential]
Low, it fixes below commit which contains in ubuntu kernel and should have
been applied on ubuntu kernel, too.
Fixes: f6ec9483091f ("drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms")

Kai Vehmanen (1):
  drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only

 drivers/gpu/drm/i915/display/intel_audio.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

You-Sheng Yang April 29, 2020, 3:27 a.m. UTC | #1
This affects also:

Groovy: 802cf455226c (clean apply)
Eoan: 128a27cef42a (clean apply)
OEM-OSP1-B: b9fc3db3ffa2 (need backport)

On 2020-04-29 10:55, AceLan Kao wrote:
> BugLink: https://bugs.launchpad.net/bugs/1875254
> 
> [Impact]
> When audio device enters runpm D3(idle for 7 seconds) and then wakes it up
> to make a sound, it flicks the screen.
> This behavior could be observed while plug/remove AC cable or USB disk,
> or open a terminal and press backsapce key.
> 
> [Fix]
> This issue could be fixed by this commit, it fixes the flicker during
> boot-time, but it also fixes the flicker during rumtime wakeup.
> 1ee48a61aa57 drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only
> 
> 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.
> 
> [Test]
> Verified on Dell XPS 13 9300
> 
> [Regression Potential]
> Low, it fixes below commit which contains in ubuntu kernel and should have
> been applied on ubuntu kernel, too.
> Fixes: f6ec9483091f ("drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms")
> 
> Kai Vehmanen (1):
>   drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only
> 
>  drivers/gpu/drm/i915/display/intel_audio.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
Stefan Bader May 6, 2020, 9:30 a.m. UTC | #2
On 29.04.20 04:55, AceLan Kao wrote:
> BugLink: https://bugs.launchpad.net/bugs/1875254
> 
> [Impact]
> When audio device enters runpm D3(idle for 7 seconds) and then wakes it up
> to make a sound, it flicks the screen.
> This behavior could be observed while plug/remove AC cable or USB disk,
> or open a terminal and press backsapce key.
> 
> [Fix]
> This issue could be fixed by this commit, it fixes the flicker during
> boot-time, but it also fixes the flicker during rumtime wakeup.
> 1ee48a61aa57 drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only
> 
> 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.
> 
> [Test]
> Verified on Dell XPS 13 9300
> 
> [Regression Potential]
> Low, it fixes below commit which contains in ubuntu kernel and should have
> been applied on ubuntu kernel, too.
> Fixes: f6ec9483091f ("drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms")
> 
> Kai Vehmanen (1):
>   drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only
> 
>  drivers/gpu/drm/i915/display/intel_audio.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
There is an Eoan patch as well. They appear sensible to me.

Acked-by: Stefan Bader <stefan.bader@canonical.com>
Kleber Sacilotto de Souza May 7, 2020, 8:11 a.m. UTC | #3
On 29.04.20 04:55, AceLan Kao wrote:
> BugLink: https://bugs.launchpad.net/bugs/1875254
> 
> [Impact]
> When audio device enters runpm D3(idle for 7 seconds) and then wakes it up
> to make a sound, it flicks the screen.
> This behavior could be observed while plug/remove AC cable or USB disk,
> or open a terminal and press backsapce key.
> 
> [Fix]
> This issue could be fixed by this commit, it fixes the flicker during
> boot-time, but it also fixes the flicker during rumtime wakeup.
> 1ee48a61aa57 drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only
> 
> 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.
> 
> [Test]
> Verified on Dell XPS 13 9300
> 
> [Regression Potential]
> Low, it fixes below commit which contains in ubuntu kernel and should have
> been applied on ubuntu kernel, too.
> Fixes: f6ec9483091f ("drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms")
> 
> Kai Vehmanen (1):
>   drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only
> 
>  drivers/gpu/drm/i915/display/intel_audio.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 

Applied to eoan/linux and focal/linux.

Thanks,
Kleber