Bug 110799 - No Screen Updates on fbcon with PSR enabled on Thinkpad T450s (Broadwell), Linux 5.1.5
Summary: No Screen Updates on fbcon with PSR enabled on Thinkpad T450s (Broadwell), Li...
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Jose Roberto de Souza
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: Triaged
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-30 21:13 UTC by Thomas Rohwer
Modified: 2019-06-18 19:39 UTC (History)
4 users (show)

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


Attachments
state on fbcon (2.89 KB, text/plain)
2019-05-30 21:20 UTC, Thomas Rohwer
no flags Details
i915_capabilities (1.71 KB, text/plain)
2019-05-30 21:23 UTC, Thomas Rohwer
no flags Details
dmesg (45.86 KB, text/plain)
2019-05-30 21:27 UTC, Thomas Rohwer
no flags Details
proposed fix (2.55 KB, patch)
2019-06-14 17:15 UTC, Jose Roberto de Souza
no flags Details | Splinter Review

Description Thomas Rohwer 2019-05-30 21:13:09 UTC
I enabled PSR on my Thinkpad T450s (Broadwell) with Linux 5.1.5. This works fine under X, but I get no screen updates on the fbcon (typing etc. does show no change on screen, only switching to/back X makes the stuff visible).
Without PSR, the fbcon works fine.

I investigated a bit and identified this code in drm/i915/intel_psr.c
(printk added by me) to exit PSR on fbcon dirty calls:

  /* By definition flush = invalidate + flush */
  if (frontbuffer_bits) {
    /*
     * Display WA #0884: all
     * This documented WA for bxt can be safely applied
     * broadly so we can force HW tracking to exit PSR
     * instead of disabling and re-enabling.
     * Workaround tells us to write 0 to CUR_SURFLIVE_A,
     * but it makes more sense write to the current active
     * pipe.
     */
    printk(KERN_DEBUG "WA\n");
    I915_WRITE(CURSURFLIVE(dev_priv->psr.pipe), 0);
  }

The code is called for fbcon changes, but as stated, it does not seem to have
the effect of exiting PSR on my hardware.
Comment 1 Thomas Rohwer 2019-05-30 21:20:17 UTC
Created attachment 144387 [details]
state on fbcon


output of
chvt 1 ; cat /sys/kernel/debug/dri/0/state > state.txt ; chvt 8
Comment 2 Thomas Rohwer 2019-05-30 21:23:43 UTC
Created attachment 144388 [details]
i915_capabilities

/sys/kernel/debug/dri/0/i915_capabilities
Comment 3 Thomas Rohwer 2019-05-30 21:27:29 UTC
Created attachment 144389 [details]
dmesg

boot dmesg
Comment 4 Lakshmi 2019-05-31 07:05:19 UTC
@DK/Jose,
According to https://bugs.freedesktop.org/show_bug.cgi?id=108266#c2 PSR is not supported on BDW. Is it the same here?

Do you recommend anything here?
Comment 5 Jose Roberto de Souza 2019-06-14 17:15:59 UTC
Created attachment 144547 [details] [review]
proposed fix

As said we don't support PSR in broadwell but thanks to your investigation the fix is supposed to be easy, can you test this patch and let us know if it worked?
Comment 6 Thomas Rohwer 2019-06-15 00:27:24 UTC
Yes, this works (tested with 5.2.0-rc4 + patch).
Thanks.
Comment 7 Jose Roberto de Souza 2019-06-17 20:19:30 UTC
Thanks Thomas

Please give you Tested-by here: https://patchwork.freedesktop.org/series/62249/
Comment 8 Thomas Rohwer 2019-06-18 11:18:46 UTC
Hello Jose,

I am not sure, how to do that technically on the patchwork system (I can't edit the patch or add comments, even with an account).

Feel free to add

Tested-by: Thomas Rohwer <trohwer85@gmail.com>

Thanks for your work on this. I hope this will go into mainline.
Comment 9 Jose Roberto de Souza 2019-06-18 19:39:07 UTC
Thanks again for debugging Thomas, I just pushed the patch to dm-intel-next-queued, this fix will probably be shipped in Linux 5.4.


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.