Bug 96916 - [HSW] Screen flashes with PSR enabled
Summary: [HSW] Screen flashes with PSR enabled
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
: 98583 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-07-13 14:08 UTC by nine
Modified: 2017-08-09 18:52 UTC (History)
3 users (show)

See Also:
i915 platform: HSW
i915 features: display/PSR


Attachments
dmesg output (195.34 KB, text/plain)
2016-07-13 14:08 UTC, nine
no flags Details
Results of kms_psr_sink_crc tests (43.98 KB, text/plain)
2016-07-14 17:52 UTC, nine
no flags Details
Results of kms_frontbuffer_tracking tests (156.61 KB, text/plain)
2016-07-14 17:52 UTC, nine
no flags Details

Description nine 2016-07-13 14:08:14 UTC
Created attachment 125054 [details]
dmesg output

Since commit 9b58e352b463f2f096d699d47b1c4c57879b617f which enables PSR by default on Haswell, my external screen flashes as long as the system is docked and idle. Moving the mouse or compiling a kernel keeps the screen readable. When it flashes it looks like it takes a single line of output and fills the screen with this line. The issue goes away by adding i915.enable_psr=0 or  i915.enable_psr=2 to the kernel command line.

System Information
        Manufacturer: LENOVO
        Product Name: 20ANCTO1WW
        Version: ThinkPad T440p

Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz

Running openSUSE 13.2 and KDE.

> cat /sys/kernel/debug/dri/0/i915_edp_psr_status^
i915_edp_psr_status 
Sink_Support: yes
Source_OK: yes
Enabled: yes
Active: yes
Busy frontbuffer bits: 0x000
Re-enable work scheduled: no
Main link in standby mode: yes
HW Enabled & Active bit: yes
Performance_Counter: 76716

Attaching dmesg output.
Comment 1 David Weinehall 2016-07-14 13:09:36 UTC
Thanks for a good bug report. I know it's a lot to ask, but could you test whether connecting the display directly to the laptop (rather than through a docking station) makes a difference?

Also, could you try drm-intel-nightly? I realise it's a bit of a hassle, but there have been quite a lot of patches related to PSR (and to MST, which might be how your display is connected via the docking station) merged since the 4.6 kernel.
Comment 2 nine 2016-07-14 17:51:23 UTC
Sorry, forgot to mention that I did in fact test with yesterday's drm-intel-nightly before posting the bug report. Commit 9561f5c5e1918cfaeb2a39f90eed046730ae7399 to be precise.

Trying with the display directly connected to the laptop using a DP cable I get more or less the same results. Instead of screen flashes the screen goes completely blank though. It does come back when I move the mouse or run some compilation.

I'm also going to attach the results of the kms_psr_sink_crc kms_frontbuffer_tracking tests as was indicated by the Enable PSR commit. Took a while to find that "kms_psr_frontbuffer_tracking" as written in the commit message is not the correct name ;)

Please tell me where else I can dig to get you needed information.

Btw. the external display is a HP ZR24w
Comment 3 nine 2016-07-14 17:52:07 UTC
Created attachment 125073 [details]
Results of kms_psr_sink_crc tests
Comment 4 nine 2016-07-14 17:52:36 UTC
Created attachment 125074 [details]
Results of kms_frontbuffer_tracking tests
Comment 5 David Weinehall 2016-09-29 11:38:36 UTC
I've now tested this on a ThinkPad Yoga (I don't have access to any ThinkPad T440p) with a Core i5-4200U (HD Graphics 4400), and a HP ZR24w display connected via the mini-HDMI connector on that laptop.

With PSR enabled (/sys/module/i915/parameters/enable_psr == 1) and drm-intel-nightly from 28th of September I cannot reproduce this. I am *not* using the xserver-xorg-video-intel driver, my setup is using the xorg modesetting driver.

That's the only difference I can think of (except that I'm not using the except same laptop model, obviously).

I've tested setting the external display as a secondary display, and as a mirror, both worked as they should.

Before testing I ran powertop --auto-tune (to ensure that nothing blocks power management).
Comment 6 Jari Tahvanainen 2017-01-23 09:08:37 UTC
removing regression-keyword due to failure to be visible with parameter change on kernel. PSR is disabled on HSW by default at this point.
Comment 7 Elizabeth 2017-07-26 19:13:11 UTC
*** Bug 98583 has been marked as a duplicate of this bug. ***
Comment 8 Elizabeth 2017-07-26 19:19:04 UTC
Hello Nine,
Is this still reproducible on latest kernels? 
A lot of changes have been made since 4.7, could you try last drm-tip and check if the problem persist?
Thanks.
Comment 9 nine 2017-08-07 11:40:17 UTC
Sorry for the late reply.
On Saturday's drm-tip (4.13.0-rc3-6.g3a35823-default+) the issue is gone. Of course that's to be expected as PSR seems to be disabled by default:

> cat /sys/kernel/debug/dri/0/i915_edp_psr_status
Sink_Support: yes
Source_OK: no
Enabled: no
Active: no
Busy frontbuffer bits: 0x000
Re-enable work scheduled: no
Main link in standby mode: no
HW Enabled & Active bit: no
Performance_Counter: 0
Comment 10 Elizabeth 2017-08-09 18:51:49 UTC
(In reply to nine from comment #9)
> Sorry for the late reply.
> On Saturday's drm-tip (4.13.0-rc3-6.g3a35823-default+) the issue is gone. Of
> course that's to be expected as PSR seems to be disabled by default:
> 
> > cat /sys/kernel/debug/dri/0/i915_edp_psr_status
> Sink_Support: yes
> Source_OK: no
> Enabled: no
> Active: no
> Busy frontbuffer bits: 0x000
> Re-enable work scheduled: no
> Main link in standby mode: no
> HW Enabled & Active bit: no
> Performance_Counter: 0
Thanks for the updated. The bet is that now is detecting correctly that is a HSW. Then I'm proceeding to close this bug. If problem arise again please file a new bug with HW /SW information and logs. Thanks again.


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.