Bug 105870 - drm:intel_pipe_update_end *ERROR* Atomic update failure on pipe B
Summary: drm:intel_pipe_update_end *ERROR* Atomic update failure on pipe B
Status: RESOLVED MOVED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: Triaged, ReadyForDev
Keywords:
Depends on:
Blocks: 105981
  Show dependency treegraph
 
Reported: 2018-04-03 21:18 UTC by mmokrejs@fold.natur.cuni.cz
Modified: 2019-11-29 17:44 UTC (History)
3 users (show)

See Also:
i915 platform: KBL
i915 features: display/atomic


Attachments
dmesg-4.14.15 (99.60 KB, text/plain)
2018-04-03 21:18 UTC, mmokrejs@fold.natur.cuni.cz
no flags Details
dmesg-4.14.15 (99.60 KB, text/plain)
2018-04-03 21:19 UTC, mmokrejs@fold.natur.cuni.cz
no flags Details
dmesg-4.14.15_drm_debug (1.97 MB, text/plain)
2018-04-04 08:07 UTC, mmokrejs@fold.natur.cuni.cz
no flags Details
dmesg from 4.16 (106.68 KB, text/plain)
2018-04-06 10:54 UTC, Jiri Slaby
no flags Details
dmesg-4.15.15-on-battery-without-external-LCD-CPU_pipe_A_fifo_underrun (1.96 MB, text/plain)
2018-04-09 20:36 UTC, mmokrejs@fold.natur.cuni.cz
no flags Details
dmesg-4.17.0-rc4+_fe5bde58dca53de7b615789c69ed83c6420d2d1a.tar.bz2 (506.71 KB, application/octet-stream)
2018-05-30 19:19 UTC, mmokrejs@fold.natur.cuni.cz
no flags Details
messages_10klines_before_and_after.txt.gz (169.39 KB, application/octet-stream)
2018-06-22 20:24 UTC, mmokrejs@fold.natur.cuni.cz
no flags Details

Description mmokrejs@fold.natur.cuni.cz 2018-04-03 21:18:22 UTC
Hi,
  I see the following in my dmesg on Dell latitude E5580:

[ 6046.042874] [drm:intel_pipe_update_end] *ERROR* Atomic update failure on pipe B (start=349035 end=349036) time 152 us, min 1431, max 1439, scanline start 1426, end 1441

# uname -a
Linux dell_e5580 4.14.15 #4 SMP Fri Jan 26 00:10:06 CET 2018 x86_64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz GenuineIntel GNU/Linux
#
Comment 1 mmokrejs@fold.natur.cuni.cz 2018-04-03 21:18:48 UTC
Created attachment 138559 [details]
dmesg-4.14.15
Comment 2 mmokrejs@fold.natur.cuni.cz 2018-04-03 21:19:52 UTC
Created attachment 138560 [details]
dmesg-4.14.15
Comment 3 mmokrejs@fold.natur.cuni.cz 2018-04-03 21:40:00 UTC
# cat /sys/kernel/debug/dri/0/i915_edp_psr_status
Sink_Support: no
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
#

# lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 05)
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #0 (rev 31)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #1 (rev 31)
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
00:16.3 Serial controller: Intel Corporation Sunrise Point-H KT Redirection (rev 31)
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)
00:1c.2 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #3 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (5) I219-LM (rev 31)
01:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
04:00.0 Non-Volatile memory controller: SK hynix PC300 NVMe Solid State Drive
#

# lspci -v
...
00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04) (prog-if 00 [VGA controller])
	Subsystem: Dell Device 07d1
	Flags: bus master, fast devsel, latency 0, IRQ 127
	Memory at ee000000 (64-bit, non-prefetchable) [size=16M]
	Memory at d0000000 (64-bit, prefetchable) [size=256M]
	I/O ports at f000 [size=64]
	[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
	Capabilities: [40] Vendor Specific Information: Len=0c <?>
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [100] Process Address Space ID (PASID)
	Capabilities: [200] Address Translation Service (ATS)
	Capabilities: [300] Page Request Interface (PRI)
	Kernel driver in use: i915
Comment 4 Jani Saarinen 2018-04-04 06:04:31 UTC
Reported, please spesify what was usecase here to see failure. 
Also if you have some pictures from screen shots or anything? 
Could you please also attach dmesg with drm.debug=0xe parameter on grub
Comment 5 mmokrejs@fold.natur.cuni.cz 2018-04-04 08:07:39 UTC
Created attachment 138569 [details]
dmesg-4.14.15_drm_debug

Here is debug log after a fresh boot. It is too verbose so the dmesg buffer already scrolled away.

I don't think I observed a user-visible error. I have xscreensaver running and also I was re-compiling some apps too so the CPU was loaded. Whether it has to do with 2D or 3D or just high CPU usage I cannot say. According to glxinfo I have DRI 1.4 enabled.

I will eventually update this bug report but provided the logging is so verbose I suspect I will miss the Error entry quickly.
Comment 6 mmokrejs@fold.natur.cuni.cz 2018-04-04 08:09:31 UTC
And I use an external LCD screen hooked to this laptop, via HDMI.
Comment 7 Jani Nikula 2018-04-04 08:49:20 UTC
(In reply to mmokrejs@fold.natur.cuni.cz from comment #5)
> Here is debug log after a fresh boot. It is too verbose so the dmesg buffer
> already scrolled away.

Please add log_buf_len=4M or more, rinse and repeat.
Comment 8 Jiri Slaby 2018-04-06 10:54:56 UTC
Created attachment 138650 [details]
dmesg from 4.16

I see this too with 4.16:
# dmesg|grep intel_pipe_update_end
> [  800.581084] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=48505 end=48506) time 157 us, min 1073, max 1079, scanline start 1072, end 1082
> [18528.728284] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=50206 end=50207) time 112 us, min 1073, max 1079, scanline start 1072, end 1080
> [19427.308053] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=270 end=271) time 153 us, min 1073, max 1079, scanline start 1070, end 1080
> [21861.846603] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=59654 end=59655) time 179 us, min 1073, max 1079, scanline start 1071, end 1083
> [27259.388485] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=383506 end=383507) time 124 us, min 1073, max 1079, scanline start 1072, end 1080
> [30286.743515] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=565147 end=565148) time 179 us, min 1073, max 1079, scanline start 1068, end 1080

I have an external LCD connected by DisplayPort.
Comment 9 mmokrejs@fold.natur.cuni.cz 2018-04-09 15:05:50 UTC
While reading other bug reports, let me add mu external LCD is a 4K display and as far as I remember I manually configured it to run in HDMI 2.0 mode (instead of 1.2) hoping it is beneficial. I did not have much time to try to reproduce the error so far.
Comment 10 mmokrejs@fold.natur.cuni.cz 2018-04-09 20:36:19 UTC
Created attachment 138708 [details]
dmesg-4.15.15-on-battery-without-external-LCD-CPU_pipe_A_fifo_underrun

You are lucky, I was using the laptop not hooked to any external LCD at all, and on battery. The kernel was 4.15.15 with drm debug enabled.
Comment 11 Jani Saarinen 2018-04-25 11:48:08 UTC
Maarten any advice here?
Comment 12 Jani Saarinen 2018-05-04 12:30:18 UTC
Can you try with latest drm-tip: https://cgit.freedesktop.org/drm-tip with smae debugs?
Comment 13 Jani Saarinen 2018-05-17 08:58:12 UTC
Reporter, please try latest drm-tip.
Comment 14 mmokrejs@fold.natur.cuni.cz 2018-05-30 19:16:04 UTC
Hi,
  so with drm-tip as of the most-recent commit

commit fe5bde58dca53de7b615789c69ed83c6420d2d1a (HEAD -> drm-tip, origin/drm-tip, origin/HEAD)
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Fri May 11 18:43:26 2018 +0200

    drm-tip: 2018y-05m-11d-16h-42m-25s UTC integration manifest


for the last 13 days

# uname -a
Linux dell_e5580 4.17.0-rc4+ #1 SMP Sun May 13 02:59:16 CEST 2018 x86_64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz GenuineIntel GNU/Linux
# w
 21:11:07 up 13 days, 16:09,  1 user,  load average: 0,17, 0,10, 0,03
...

I haven't seen the 

# grep -i underrun /var/log/messages 
Apr  9 19:48:44 dell_e5580 kernel: [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun
Apr  9 19:48:44 dell_e5580 kernel: [drm:intel_fbc_underrun_work_fn] Disabling FBC due to FIFO underrun.
#

anymore. Unfortunately, the laptop was just running, I haven't been using it during that time, but maybe it is really fixed in drm-tip!

I will add some dmesg dumps from the fe5bde58dca53de7b615789c69ed83c6420d2d1a kernel. I wonder why is the kernel logging so dense if both the internal LCD and external LCD via HDMI are turned off.
Comment 15 mmokrejs@fold.natur.cuni.cz 2018-05-30 19:19:10 UTC
Created attachment 139870 [details]
dmesg-4.17.0-rc4+_fe5bde58dca53de7b615789c69ed83c6420d2d1a.tar.bz2

Several dmesg outputs as teh tiime progressed. Navigate using file timestamps.

The kernel was from drm-tip as of:

commit fe5bde58dca53de7b615789c69ed83c6420d2d1a (HEAD -> drm-tip, origin/drm-tip, origin/HEAD)
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Fri May 11 18:43:26 2018 +0200

    drm-tip: 2018y-05m-11d-16h-42m-25s UTC integration manifest
Comment 16 mmokrejs@fold.natur.cuni.cz 2018-06-22 19:24:06 UTC
So I conclude that the issue was fixed in the drm-tip for me, I haven§t seen the issue since the new drp-tip kernel. Do you know which patches fixed this issue and when did they landed (or will land) mainstream kernel?
Comment 17 mmokrejs@fold.natur.cuni.cz 2018-06-22 19:29:24 UTC
Er, wrong bug. It does happen with drm-tip kernel:

# grep -i 'Atomic update failure' /var/log/messages 
Jun  1 13:13:19 dell_e5580 kernel: [drm:intel_pipe_update_end] *ERROR* Atomic update failure on pipe B (start=1241474 end=1241475) time 318 us, min 1431, max 1439, scanline start 1420, end 1450
Jun 11 00:38:07 dell_e5580 kernel: [drm:intel_pipe_update_end] *ERROR* Atomic update failure on pipe B (start=50322134 end=50322135) time 155 us, min 1431, max 1439, scanline start 1423, end 1452
#
Comment 18 mmokrejs@fold.natur.cuni.cz 2018-06-22 20:24:53 UTC
Created attachment 140285 [details]
messages_10klines_before_and_after.txt.gz

gzip -dc messages_June.gz |  grep 'Atomic update failure' -B 10000 -A 10000 | pigz -c > messages_10klines_before_and_after.txt.gz
Comment 19 mmokrejs@fold.natur.cuni.cz 2019-02-13 16:06:33 UTC
This bug still happens on the same hardware with 

# uname -a
Linux dell_e5580 4.20.7 #1 SMP Sat Feb 9 07:52:37 CET 2019 x86_64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz GenuineIntel GNU/Linux
#

# dmesg
...
[ 3834.933103] [drm:intel_pipe_update_end] *ERROR* Atomic update failure on pipe A (start=231270 end=231271) time 176 us, min 1073, max 1079, scanline start 1072, end 1084
...


# cat /sys/kernel/debug/dri/0/i915_edp_psr_status
Sink_Support: no
#
       
# ls -latr /sys/kernel/debug/dri/0/
total 0
drwxr-xr-x  5 root root 0 Feb  9 14:50 ..
-r--r--r--  1 root root 0 Feb  9 14:50 state
-r--r--r--  1 root root 0 Feb  9 14:50 name
-r--r--r--  1 root root 0 Feb  9 14:50 internal_clients
-r--r--r--  1 root root 0 Feb  9 14:50 gem_names
-r--r--r--  1 root root 0 Feb  9 14:50 framebuffer
drwxr-xr-x  2 root root 0 Feb  9 14:50 eDP-1
drwxr-xr-x  3 root root 0 Feb  9 14:50 crtc-2
drwxr-xr-x  3 root root 0 Feb  9 14:50 crtc-1
drwxr-xr-x  3 root root 0 Feb  9 14:50 crtc-0
-r--r--r--  1 root root 0 Feb  9 14:50 clients
drwxr-xr-x  2 root root 0 Feb  9 14:50 HDMI-A-1
drwxr-xr-x  2 root root 0 Feb  9 14:50 DP-1
drwxr-xr-x 11 root root 0 Feb  9 14:50 .
drwxr-xr-x  2 root root 0 Feb  9 14:50 HDMI-A-2
drwxr-xr-x  2 root root 0 Feb  9 14:50 DP-2
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_wedged
-r--r--r--  1 root root 0 Feb  9 14:50 i915_wa_registers
-r--r--r--  1 root root 0 Feb  9 14:50 i915_vbt
-r--r--r--  1 root root 0 Feb  9 14:50 i915_swizzle_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_sseu_status
-r--r--r--  1 root root 0 Feb  9 14:50 i915_sr_status
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_spr_wm_latency
-r--r--r--  1 root root 0 Feb  9 14:50 i915_shrinker_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_shared_dplls_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_runtime_pm_status
-r--r--r--  1 root root 0 Feb  9 14:50 i915_rps_boost_info
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_ring_test_irq
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_ring_missed_irq
-r--r--r--  1 root root 0 Feb  9 14:50 i915_ring_freq_table
-r--r--r--  1 root root 0 Feb  9 14:50 i915_reset_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_rcs_topology
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_pri_wm_latency
-r--r--r--  1 root root 0 Feb  9 14:50 i915_ppgtt_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_power_domain_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_opregion
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_next_seqno
-r--r--r--  1 root root 0 Feb  9 14:50 i915_llc
-r--r--r--  1 root root 0 Feb  9 14:50 i915_ips_status
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_ipc_status
-r--r--r--  1 root root 0 Feb  9 14:50 i915_huc_load_status
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_hpd_storm_ctl
-r--r--r--  1 root root 0 Feb  9 14:50 i915_hangcheck_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_guc_stage_pool
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_guc_log_relay
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_guc_log_level
-r--r--r--  1 root root 0 Feb  9 14:50 i915_guc_log_dump
-r--r--r--  1 root root 0 Feb  9 14:50 i915_guc_load_status
-r--r--r--  1 root root 0 Feb  9 14:50 i915_guc_load_err_log_dump
-r--r--r--  1 root root 0 Feb  9 14:50 i915_guc_info
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_gpu_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_gem_stolen
-r--r--r--  1 root root 0 Feb  9 14:50 i915_gem_objects
-r--r--r--  1 root root 0 Feb  9 14:50 i915_gem_interrupt
-r--r--r--  1 root root 0 Feb  9 14:50 i915_gem_gtt
-r--r--r--  1 root root 0 Feb  9 14:50 i915_gem_framebuffer
-r--r--r--  1 root root 0 Feb  9 14:50 i915_gem_fence_regs
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_gem_drop_caches
-r--r--r--  1 root root 0 Feb  9 14:50 i915_gem_batch_pool
-r--r--r--  1 root root 0 Feb  9 14:50 i915_frontbuffer_tracking
-r--r--r--  1 root root 0 Feb  9 14:50 i915_frequency_info
-r--------  1 root root 0 Feb  9 14:50 i915_forcewake_user
-r--r--r--  1 root root 0 Feb  9 14:50 i915_forcewake_domains
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_fifo_underrun_reset
-r--r--r--  1 root root 0 Feb  9 14:50 i915_fbc_status
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_fbc_false_color
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_error_state
-r--r--r--  1 root root 0 Feb  9 14:50 i915_engine_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_energy_uJ
-r--r--r--  1 root root 0 Feb  9 14:50 i915_emon_status
-r--r--r--  1 root root 0 Feb  9 14:50 i915_edp_psr_status
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_edp_psr_debug
-r--r--r--  1 root root 0 Feb  9 14:50 i915_drrs_status
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_drrs_ctl
-r--r--r--  1 root root 0 Feb  9 14:50 i915_drpc_info
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_dp_test_type
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_dp_test_data
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_dp_test_active
-r--r--r--  1 root root 0 Feb  9 14:50 i915_dp_mst_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_dmc_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_display_info
-r--r--r--  1 root root 0 Feb  9 14:50 i915_ddb_info
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_cur_wm_latency
-r--r--r--  1 root root 0 Feb  9 14:50 i915_context_status
-r--r--r--  1 root root 0 Feb  9 14:50 i915_capabilities
-rw-r--r--  1 root root 0 Feb  9 14:50 i915_cache_sharing
drwxr-xr-x  2 root root 0 Feb  9 14:50 HDMI-A-3
#
Comment 20 Lakshmi 2019-07-13 18:30:41 UTC
This could be related to bug 106107.
@Maarten, any suggestion here?
Comment 21 Martin Peres 2019-11-29 17:44:03 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/intel/issues/97.


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.