Bug 83497

Summary: [BDW IPS] Pipe A FIFO underrun errors with a 4k display
Product: DRI Reporter: Timo Aaltonen <tjaalton>
Component: DRM/IntelAssignee: Ville Syrjala <ville.syrjala>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: hawara, intel-gfx-bugs, james.ausmus, joe.konno, yk
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
[PATCH] drm/i915: Don't enable IPS when pixel rate exceeds 95% of cdclk none

Description Timo Aaltonen 2014-09-04 13:39:49 UTC
There's a laptop with a builtin 4k display which suffers from flickering display when opening the Unity dash, this is accompanied with fifo underrun errors in dmesg. It might take a number of attempts to reproduce.

this has been tested with 3.16 and earlier
Comment 1 Damien Lespiau 2014-09-04 22:41:02 UTC
Huuum, a bit of a shot in the dark, but what happens if you boot with i915.enable_ips=0. There's a known corruption case with IPS when dotclock > 95% cdclock (which can happen here as you have an eDP 4k display, so IPS should be running)

I wouldn't expect an underrun here given the description of the IPS problem we have, but it's an easy thing to try.
Comment 2 Timo Aaltonen 2014-09-05 05:35:45 UTC
yep, disabling IPS works around it
Comment 3 Jani Nikula 2014-09-05 07:24:01 UTC
(In reply to comment #1)
> There's a known corruption case with IPS when dotclock >
> 95% cdclock (which can happen here as you have an eDP 4k display, so IPS
> should be running)

Bspec says, "Do not enable IPS when the pipe pixel rate is greater than 95% of the CDCLK frequency." IOW, IPS should *not* be running in this case. I presume the missing check should be added to hsw_compute_ips_config().
Comment 4 Yang Kun (YK) 2014-09-05 15:42:55 UTC
this issue is blocking us from shipping. bumping the importance to high+critical . please let me know if this is not appropriate.

thanks
-YK
Comment 5 Ville Syrjala 2014-09-05 16:28:22 UTC
Created attachment 105813 [details] [review]
[PATCH] drm/i915: Don't enable IPS when pixel rate exceeds 95% of cdclk

This patch should implement the appropriate logic to disable IPS when the pixel rate is too high. Please test and report back.
Comment 6 Jani Nikula 2014-09-08 07:44:03 UTC
(In reply to comment #5)
> Created attachment 105813 [details] [review] [review]
> [PATCH] drm/i915: Don't enable IPS when pixel rate exceeds 95% of cdclk
> 
> This patch should implement the appropriate logic to disable IPS when the
> pixel rate is too high. Please test and report back.

Ville, care to post the patch on the ml? Or waiting for tested-by first?
Comment 7 Timo Aaltonen 2014-09-08 07:48:32 UTC
I'll get some results tomorrow, thanks!
Comment 8 Timo Aaltonen 2014-09-11 10:39:26 UTC
the patch fixed the issue, thanks
Comment 10 Jani Nikula 2014-09-15 07:22:51 UTC
commit b698837d6ff579e3d5080d10fd544c408a2b0f29
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Fri Sep 12 17:01:57 2014 +0300

    drm/i915: Don't enable IPS when pixel rate exceeds 95% of cdclk
Comment 11 Jani Nikula 2014-09-18 11:54:51 UTC
Reopen, because the fix regressed and I had to drop it.

http://mid.gmane.org/CA+gsUGTyAkga0D8HsVgrp+4dK5dsCvye8NiTrUCV_zjXqQzbpA@mail.gmail.com
Comment 12 Ville Syrjala 2014-10-03 13:44:34 UTC
I had a few moments of boredom and ended up wroting a bit more code to fix this.

git://gitorious.org/vsyrjala/linux.git bdw_ips_vs_cdclk

Please test again to make sure I didn't fumble anything.
Comment 13 Timo Aaltonen 2014-11-21 07:25:18 UTC
good news, the patches worked
Comment 14 Jani Nikula 2014-11-21 08:32:04 UTC
There's an 18 patch series leading to the fix on the intel-gfx list now:
http://mid.gmane.org/1416235432-16603-1-git-send-email-ville.syrjala@linux.intel.com

Ville, please update the branch on gitorious for Timo to test. Thanks.
Comment 15 Rodrigo Vivi 2015-01-21 23:11:35 UTC
What happened here? Were these patches ever merged and issue fixed?
Comment 16 Jani Nikula 2015-01-22 07:24:43 UTC
(In reply to Rodrigo Vivi from comment #15)
> What happened here? Were these patches ever merged and issue fixed?

They were not merged I'm afraid. Lots of changes, no proper review. :(

The silver lining is that there's recent and renewed interest in the cdclk frequency change, with someone tasked to do the job, so perhaps we'll see progress in this front:

http://mid.gmane.org/0E453B799E337542AA1CE4FBF7118D8B4F74A2A3@BGSMSX102.gar.corp.intel.com
Comment 17 Jani Nikula 2015-06-04 13:27:19 UTC
Fixed by

commit 184e4c49484501f3061ae9b267af818c6894fea9
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Wed Jun 3 15:45:11 2015 +0300

    drm/i915: Don't enable IPS when pixel rate exceeds 95%

in drm-intel-nightly. Thanks for the report, please reopen if the problem persists with that.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.