Dell Inspiron 7580 hybrid laptop has issues with external monitors when on "performance" (dGPU) mode; the external screen will start blinking and dmesg has lots of:
[492.008927] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
[492.009818] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
I don't have full logs right now, but at least 4.20 is still affected. Everything newer would need a patched nvidia dkms and that hasn't been tried yet..
when it's running on iGPU everything is fine AIUI
The issue happens to WHL (Whiskey Lake)
00:02:0 VG compatible controller : Intel Corporation Device [8086:3ea0]
Could you disable NV modeset to reproduce issue again and dump i915 log. Thanks,
(In reply to Cooper Chiou from comment #2)
> Could you disable NV modeset to reproduce issue again and dump i915 log.
the issue is still reproducible after removing "nvidia-drm.modeset=1" from kernel parameter.
could you check the logs from the dell system shipped to you? Thank you.
I just received Bucky N5 device, but I can’t reproduce this external display blinking issue with Dell 2K monitor via DP and Sony FHD monitor via HDMI in NV Performance mode and no any FIFO underrun error either.
Please share more detail reproducing steps and record the symptom video to share.
Here is reproducing steps:
1. connect an external monitor via HDMI port
2. switch display mode to mirror mode
3. switch display mode to external only
4. switch display mode to internal only
5. switch display mode to extended mode
6. Go to 2
Also, please try to reproduce the error using drm-tip (https://cgit.freedesktop.org/drm-tip) and kernel parameters drm.debug=0x1e log_buf_len=4M, and if the problem persists attach the full dmesg from boot.
Canonical has identified this i915 patch which can't reproduce issue on kernel 4.20 by watermark/ddb fix but it's difficult to apply to kernel 4.15 since lots of commit dependence and conflicts.
commit ff43bc379e16c9195323cb88ac0c9f4d0613d07a (refs/bisect/bad)
Author: Ville Syrjälä <firstname.lastname@example.org>
Date: Tue Nov 27 18:59:00 2018 +0200
drm/i915: Move ddb/wm programming into plane update/disable hooks on skl+
On SKL+ the plane WM/BUF_CFG registers are a proper part of each
plane's register set. That means accessing them will cancel any
pending plane update, and we would need a PLANE_SURF register write
to arm the wm/ddb change as well.
I made a preliminary attempt at a backport. It is being tested by Canonical.
Any feedback from testing?
preliminary testing was fine, but wider testing will happen only once it's been merged to the OEM kernel
anyway, this bug can be closed since it's fixed upstream
Thanks for the feedback Timo. Closing this bug.