ADL: Screen flick with PSR2 enabled
- System architecture: x86_64
- Kernel version: 6.2.0-rc3+ (drm-tip: 2023y-01m-10d-02h-16m-57s UTC integration manifest)
- Linux distribution: Ubuntu 22.04
- Machine or mother board model (use dmidecode if needed) dmidecode.txt
- Display connector: eDP
- Full dmesg: dmesg.txt
A similar issue was discussed before #5077 (closed)
Set i915.disable_psr=0
or i915.enable_psr2_sel_fetch=0
can fix the flicker issue.
Video: IMG_4023
- Show closed items
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Suresh added Community platform: ADL_P labels
added Community platform: ADL_P labels
- ReporterEdited by Suresh
- Reporter
@andy.chi There is a similar fix just merged weeks ago, are you able to check if that help ? https://patchwork.freedesktop.org/patch/513653/?series=111420&rev=2
- Developer
@neowong-taiwan , I think 2023y-01m-10d-02h-16m-57s is recent enough to have that patch. Still makes sense to ensure it is there.
@andy.chi , could you please apply following patch on top of drm-tip:
https://patchwork.freedesktop.org/series/112867/
Then boot-up and reproduce those flicks and check if there are some errors:
$ sudo cat /sys/kernel/debug/dri/0/i915_edp_psr_error_status
Thank you in advance.
Hi @neowong-taiwan @jhogande , checked the code base, https://patchwork.freedesktop.org/patch/513653/?series=111420&rev=2 was included. Below is the status of psr_error.
$ cat i915_edp_psr_error_status PSR RFB storage error
- Andy Chi closed
closed
- Andy Chi reopened
reopened
- Developer
@andy.chi , thank you very much. It seems this panel doesn't report errors properly. Psr2 should have been disabled automatically when the error is detected. Also this RFB storage error is often indicating issue on panel side. Can you please try out having this parameter in your kernel command line:
i915.psr_safest_params=1
@jhogande Applied
i915.psr_safest_params=1
in kernel command line. Below is the psr error status. I can still observe screen flick, is it expected?$ cat i915_edp_psr_error_status PSR RFB storage error $ cat i915_edp_psr_status Sink support: yes [0x03] PSR mode: PSR2 enabled Source PSR ctl: enabled [0x80000299] Source PSR status: DEEP_SLEEP [0x80000100] Busy frontbuffer bits: 0x00000000 Frame: PSR2 SU blocks: 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 PSR2 selective fetch: enabled
And dmesg. dmesg.txt
- Developer
@andy.chi , thank you for your response. I wouldn't say it's expected. This was just an experiment to see if it has any impact on your problem.
- Developer
@andy.chi , panel is expected to report that error and based on that report our driver would disable psr2. Now it seems panel detects it, but doesn't report it -> psr2 is kept enabled.
Collapse replies - Reporter
That imply driver may need some fix to disable PSR2 when seeing such error ? Is there anyone can give a help on this case ? thanks
- Jani Nikula added feature: display/PSR label
added feature: display/PSR label
@jhogande what if we use
psr_get_status_and_error_status()
inintel_psr_{pre,post}_plane_update()
to detect errors and disable PSR2? Does reading DPCD constantly have noticeable overhead?- Developer
@khfeng , I've been thinking something similar. I think intel_psr_*_plane_update would be too expensive though.
Can you please try out recent patch from me? :
https://patchwork.freedesktop.org/series/114217/
Can you also attach edid of your panel here? You can read it by:
sudo cat /sys/class/drm/card0-eDP-1/edid > edid.bin
You might need to adjust numbers depending on your setup.
Collapse replies Issue remains with the patch.
Somehow I can't attach file here, here's the output of
edid-decode
:edid-decode (hex): 00 ff ff ff ff ff ff 00 4d 10 51 15 00 00 00 00 24 1f 01 04 b5 1d 12 78 0b 6e 60 a9 52 49 a1 26 0d 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 72 e7 00 a0 f0 60 45 90 30 20 36 00 20 b4 10 00 00 18 00 00 00 fd 00 30 3c 94 94 3b 01 0a 20 20 20 20 20 20 00 00 00 fe 00 47 35 39 4a 38 14 4c 51 31 33 34 52 31 00 00 00 00 00 02 41 03 32 01 12 00 00 0b 41 0a 20 20 01 a0 02 03 0f 00 e3 05 80 00 e6 06 05 01 66 66 26 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 ---------------- Block 0, Base EDID: EDID Structure Version & Revision: 1.4 Vendor & Product Identification: Manufacturer: SHP Model: 5457 Made in: week 36 of 2021 Basic Display Parameters & Features: Digital display Bits per primary color channel: 10 DisplayPort interface Maximum image size: 29 cm x 18 cm Gamma: 2.20 Supported color formats: RGB 4:4:4, YCrCb 4:4:4 First detailed timing includes the native pixel format and preferred refresh rate Display is continuous frequency Color Characteristics: Red : 0.6611, 0.3222 Green: 0.2880, 0.6308 Blue : 0.1494, 0.0527 White: 0.3125, 0.3281 Established Timings I & II: none Standard Timings: none Detailed Timing Descriptors: DTD 1: 3840x2400 59.994 Hz 8:5 148.125 kHz 592.500 MHz (288 mm x 180 mm) Hfront 48 Hsync 32 Hback 80 Hpol N Vfront 3 Vsync 6 Vback 60 Vpol N Display Range Limits: Monitor ranges (Bare Limits): 48-60 Hz V, 148-148 kHz H, max dotclock 590 MHz Alphanumeric Data String: 'G59J8' Manufacturer-Specified Display Descriptor (0x00): 00 00 00 02 41 03 32 01 12 00 00 0b 41 0a 20 20 '....A.2.....A. ' Extension blocks: 1 Checksum: 0xa0 ---------------- Block 1, CTA-861 Extension Block: Revision: 3 Native detailed modes: 0 Colorimetry Data Block: BT2020RGB HDR Static Metadata Data Block: Electro optical transfer functions: Traditional gamma - SDR luminance range SMPTE ST2084 Supported static metadata descriptors: Static metadata type 1 Desired content max luminance: 102 (455.515 cd/m^2) Desired content max frame-average luminance: 102 (455.515 cd/m^2) Desired content min luminance: 38 (0.101 cd/m^2) Checksum: 0xa0
- Developer
@khfeng , can you please provide contents of following sysfs interfaces:
/sys/devices/pci0000:00/0000:00:02.0/device /sys/devices/pci0000:00/0000:00:02.0/subsystem_vendor /sys/devices/pci0000:00/0000:00:02.0/subsystem_device
Edited by Jouni Högander @jhogande Here's the output:
/sys/devices/pci0000:00/0000:00:02.0/device -> 0x46a6 /sys/devices/pci0000:00/0000:00:02.0/subsystem_vendor -> 0x1028 /sys/devices/pci0000:00/0000:00:02.0/subsystem_device -> 0x0af3

- Developer
Thank you. I've sent patches applying PSR2 disable quirk for this. Can you please check/test:
https://patchwork.freedesktop.org/series/114400/
Do you happen to know if this model always has same the panel model? I'm a bit concerned possibility we are unnecessarily disabling PSR2 on system having functional support for PSR2.
Addition to this can you still test with patch https://patchwork.freedesktop.org/series/114217/ +
i915.psr_safest_params=1
in kernel command line? The platform can equip with many different panels, so the quirk will affect other working PSR2 panels.
Flickering can't be observed with
https://patchwork.freedesktop.org/series/114217/ + i915.psr_safest_params=1
.@jhogande What's the next step based on the test result?
- Developer
I'm really sorry @khfeng for missing your response.
It seems we need to add some more margin into IO wake and fast wake times calculation. I made internal query on this hopefully I get quick response. While waiting for that could you please test out with following patch:
https://patchwork.freedesktop.org/series/115706/
Add drm.debug=0x1f log_buf_len=2M into your command line and provide dmesg containing added debug prints here.
The issue is solved with the patch. dmesg
Feel free to add
Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
to the patch.- Developer
Thank you for testing it.
Could you please still try out if these patches from @vsyrjala solve the issue ? :
- Developer
@khfeng these patches from @vsyrjala are now merged :
https://patchwork.freedesktop.org/series/115810/
Could you please test with latest drm-tip?
@jhogande The issue is fixed in latest drm-tip. Thanks for the work!
- Developer
@andy.chi / @khfeng: I hope you are doing fine.
I'm sorry to bother you with this: By any chance you could test if decreasing fast wake sync pulse count from 24 to 18 is ok for the setup where you reported this issue? Here is the patch that can be applied on top of current drm-tip:
https://patchwork.freedesktop.org/patch/539622/?series=118412&rev=2
I would really appreciate your help here. Thank You in advance.
- Developer
@andy.chi , thank you very much!
- Developer
- Jouni Högander closed
closed