linux/drivers/gpu/drm
Chris Wilson f1042cc853 drm/i915/execlists: Ignore discrepancies in pending[] across resets
When we reset the engine, we first remove the guilty request from the
active list. If it so happens that there is a pending preemption event
to process before we handle the reset, when we inspect that event we
find ourselves a little confused as we have bent the rules slightly to
perform the reset.

Just ignore any discrepancies inside reset, we know we'll start again
from scratch afterwards.

<0>[  536.940213]   <idle>-0       6..s1 537441383us : execlists_reset: 0000:00:02.0 vcs0: reset for CS error
<0>[  536.940213] i915_sel-7302    2d..1 537441386us : trace_ports: 0000:00:02.0 vcs0: submit { 10c59:2*, 10c5a:2 }
<0>[  536.940213]   <idle>-0       6d.s2 537471320us : __i915_request_unsubmit: 0000:00:02.0 vcs0: fence 10c59:2, current 1
<0>[  536.940213]   <idle>-0       6d.s2 537471321us : execlists_hold: 0000:00:02.0 vcs0: fence 10c59:2, current 1 on hold
<0>[  536.940213]   <idle>-0       6.Ns1 537471328us : intel_engine_reset: 0000:00:02.0 vcs0: flags=10
<0>[  536.940213]   <idle>-0       6.Ns1 537471421us : execlists_reset_prepare: 0000:00:02.0 vcs0: depth<-1
<0>[  536.940213]   <idle>-0       6.Ns1 537471422us : intel_engine_stop_cs: 0000:00:02.0 vcs0:
<0>[  536.940213]   <idle>-0       6.Ns1 537472424us : intel_engine_stop_cs: 0000:00:02.0 vcs0: timed out on STOP_RING -> IDLE
<0>[  536.940213]   <idle>-0       6.Ns1 537472429us : __intel_gt_reset: 0000:00:02.0 engine_mask=4
<0>[  536.940213]   <idle>-0       6.Ns1 537472442us : execlists_reset_rewind: 0000:00:02.0 vcs0:
<0>[  536.940213]   <idle>-0       6dNs2 537472443us : process_csb: 0000:00:02.0 vcs0: cs-irq head=4, tail=5
<0>[  536.940213]   <idle>-0       6dNs2 537472444us : process_csb: 0000:00:02.0 vcs0: csb[5]: status=0x00008002:0x20000060
<0>[  536.940213]   <idle>-0       6dNs2 537472464us : trace_ports: 0000:00:02.0 vcs0: preempted { 10c59:2*, 0:0 }
<0>[  536.940213]   <idle>-0       6dNs2 537472465us : trace_ports: 0000:00:02.0 vcs0: promote { 10c59:2*, 10c5a:2 }
<0>[  536.940213]   <idle>-0       6dNs2 537472706us : assert_pending_valid: assert_pending_valid:1417 GEM_BUG_ON(!i915_request_is_active(rq))

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200129165935.1266132-1-chris@chris-wilson.co.uk
2020-01-30 00:50:58 +00:00
..
amd drm/amdgpu/display: use msleep rather than udelay for HDCP 2019-12-19 09:04:13 +10:00
arc DRM: ARC: PGU: add ARGB8888 format to supported format list 2019-12-16 13:53:05 +03:00
arm drm-misc-next for v5.6: 2020-01-03 11:43:44 +10:00
armada drm: constify fb ops across all drivers 2019-12-05 10:57:42 +02:00
aspeed
ast drm/vram-helper: Remove BO device from public interface 2020-01-07 11:53:19 +01:00
atmel-hlcdc Revert "drm: atmel-hlcdc: enable sys_clk during initalization." 2020-01-06 19:54:27 +01:00
bochs drm/bochs: Remove unneeded semicolon 2019-12-16 12:39:50 +01:00
bridge drm/bridge: Patch atomic hooks to take a drm_bridge_state 2020-01-07 10:10:59 +01:00
cirrus
etnaviv drm-misc-next for v5.6: 2020-01-03 11:43:44 +10:00
exynos drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
fsl-dcu drm/panel: decouple connector from drm_panel 2019-12-09 22:57:26 +01:00
gma500 drm/gma500: fix null dereference of pointer fb before null check 2019-12-19 15:33:40 +01:00
hisilicon drm/vram-helper: Remove BO device from public interface 2020-01-07 11:53:19 +01:00
i2c
i810 drm/i810: Don't include <drm/drm_pci.h> 2019-12-05 08:44:12 +01:00
i915 drm/i915/execlists: Ignore discrepancies in pending[] across resets 2020-01-30 00:50:58 +00:00
imx drm/panel: decouple connector from drm_panel 2019-12-09 22:57:26 +01:00
ingenic gpu/drm: ingenic: Add support for the JZ4770 2019-12-14 19:26:55 +01:00
lib
lima
mcde drm-misc-next for v5.6: 2020-01-03 11:43:44 +10:00
mediatek drm-misc-next for v5.6: 2020-01-03 11:43:44 +10:00
meson drm: meson: Remove unneeded semicolon 2020-01-06 15:56:23 +01:00
mga drm/mga: Don't include <drm/drm_pci.h> 2019-12-05 08:44:16 +01:00
mgag200 drm/mgag200: Add module parameter to pin all buffers at offset 0 2020-01-07 11:53:19 +01:00
msm drm-misc-next for v5.6: 2020-01-03 11:43:44 +10:00
mxsfb drm/panel: decouple connector from drm_panel 2019-12-09 22:57:26 +01:00
nouveau drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
omapdrm drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
panel drm/panel: add panel driver for Leadtek LTK500HD1829 2020-01-04 16:46:01 +01:00
panfrost drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
pl111 drm: get drm_bridge_panel connector via helper 2019-12-09 22:57:26 +01:00
qxl drm/qxl: Complete exception handling in qxl_device_init() 2019-11-29 13:09:11 +01:00
r128 drm/r128: Don't include <drm/drm_pci.h> 2019-12-05 08:44:23 +01:00
radeon Merge tag 'drm-next-5.6-2019-12-11' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-12-17 18:47:46 +01:00
rcar-du drm/bridge: Patch atomic hooks to take a drm_bridge_state 2020-01-07 10:10:59 +01:00
rockchip drm: rockchip: rk3066_hdmi: set edid fifo address 2020-01-06 12:22:29 +01:00
savage drm/savage: Don't include <drm/drm_pci.h> 2019-12-05 08:44:34 +01:00
scheduler drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
selftests drm/modes: parse_cmdline: Add support for specifying panel_orientation (v2) 2019-12-16 12:13:18 +01:00
shmobile
sis drm/sis: Don't include <drm/drm_pci.h> 2019-12-05 08:44:55 +01:00
sti drm/panel: decouple connector from drm_panel 2019-12-09 22:57:26 +01:00
stm drm/stm: ltdc: move pinctrl to encoder mode set 2019-12-20 13:30:42 +01:00
sun4i drm-misc-next for v5.6: 2020-01-03 11:43:44 +10:00
tdfx drm/tdfx: Don't include <drm/drm_pci.h> 2019-12-05 08:45:01 +01:00
tegra drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
tilcdc drm/tilcdc: Remove obsolete bundled tilcdc tfp410 driver 2019-12-16 10:45:43 +02:00
tiny
ttm drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
tve200 drm: get drm_bridge_panel connector via helper 2019-12-09 22:57:26 +01:00
udl drm/udl: Remove udl_fb.c 2019-12-11 17:02:17 +01:00
v3d
vboxvideo
vc4 drm/vc4: Use dma_resv locking wrappers 2019-12-17 17:26:08 +01:00
vgem
via drm/via: Don't include <drm/drm_pci.h> 2019-12-05 08:45:13 +01:00
virtio drm/virtio: move drm_connector_to_virtio_gpu_output to virtgpu_display 2019-12-19 07:13:46 +01:00
vkms drm/vkms: Fix typo and preposion in function documentation 2019-12-05 18:55:55 -05:00
vmwgfx drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
xen
zte
drm_agpsupport.c
drm_atomic.c drm/bridge: Add a drm_bridge_state object 2020-01-07 10:10:49 +01:00
drm_atomic_helper.c drm/bridge: Add an ->atomic_check() hook 2020-01-07 10:11:15 +01:00
drm_atomic_state_helper.c drm: Add __drm_atomic_helper_crtc_state_reset() & co. 2019-12-18 16:47:34 +02:00
drm_atomic_uapi.c drm/atomic: Spell CRTC consistently 2019-12-22 11:13:00 +01:00
drm_auth.c
drm_blend.c
drm_bridge.c drm/bridge: Add the necessary bits to support bus format negotiation 2020-01-07 10:11:34 +01:00
drm_bufs.c
drm_cache.c
drm_client.c drm/client: convert to drm device based logging 2019-12-19 15:52:44 +02:00
drm_client_modeset.c drm/fbdev: Fallback to non tiled mode if all tiles not present 2019-12-29 23:55:23 -08:00
drm_color_mgmt.c drm: Inline drm_color_lut_extract() 2019-11-29 21:29:17 +02:00
drm_connector.c drm main pull for 5.5-rc1 2019-11-27 17:45:48 -08:00
drm_context.c
drm_crtc.c
drm_crtc_helper.c drm/crtc-helper: drm_connector_get_single_encoder prototype is missing 2019-12-03 17:42:57 +01:00
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c
drm_debugfs_crc.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c
drm_dp_mst_topology.c drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
drm_dp_mst_topology_internal.h
drm_drv.c drm: remove duplicate check on parent and avoid BUG_ON 2019-12-17 17:26:08 +01:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid.c drm: Fix a couple of typos, punctation and whitespace issues 2019-12-22 11:09:46 +01:00
drm_edid_load.c
drm_encoder.c drm/bridge: Make the bridge chain a double-linked list 2019-12-09 10:03:01 +01:00
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c Merge drm/drm-next into drm-intel-next-queued 2020-01-09 17:19:12 +02:00
drm_file.c i915 features for v5.6: 2019-12-27 15:25:04 +10:00
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c drm/fourcc: Fill out all block sizes for P210 2019-11-28 11:19:32 +01:00
drm_framebuffer.c
drm_gem.c drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c drm/gem-fb-helper: convert to drm device based logging 2019-12-19 15:55:10 +02:00
drm_gem_shmem_helper.c drm: call drm_gem_object_funcs.mmap with fake offset 2019-12-06 11:18:11 +01:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c drm/vram-helper: Support struct drm_driver.gem_create_object 2020-01-07 11:53:19 +01:00
drm_hashtab.c
drm_hdcp.c
drm_internal.h drm/pci: Only build drm_pci.c if CONFIG_PCI is set 2019-12-05 08:43:14 +01:00
drm_ioc32.c
drm_ioctl.c drm: drop DRM_AUTH from PRIME_TO/FROM_HANDLE ioctls 2019-12-02 16:52:15 +00:00
drm_irq.c
drm_kms_helper_common.c
drm_lease.c
drm_legacy.h
drm_legacy_misc.c
drm_lock.c
drm_memory.c
drm_mipi_dbi.c drm/mipi_dbi: Fix off-by-one bugs in mipi_dbi_blank() 2020-01-02 15:35:56 +01:00
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c drm/modes: parse_cmdline: Explicitly memset the passed in drm_cmdline_mode struct 2019-12-16 12:13:18 +01:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c drm: of: Add drm_of_lvds_get_dual_link_pixel_order 2019-12-18 02:40:16 +02:00
drm_panel.c drm/drm_panel: Fix EXPORT of drm_panel_of_backlight() one more time 2019-12-17 20:39:33 +01:00
drm_panel_orientation_quirks.c
drm_pci.c drm/pci: Hide legacy PCI functions from non-legacy code 2019-12-05 08:44:04 +01:00
drm_plane.c
drm_plane_helper.c
drm_prime.c drm: share address space for dma bufs 2019-12-06 11:18:11 +01:00
drm_print.c
drm_probe_helper.c drm: Stop accessing encoder->bridge directly 2019-12-09 10:02:45 +01:00
drm_property.c drm: limit to INT_MAX in create_blob ioctl 2019-12-04 19:44:13 -08:00
drm_rect.c drm/rect: update kerneldoc for drm_rect_clip_scaled() 2019-11-28 13:15:43 +01:00
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_syncobj.c
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c
drm_vm.c
drm_vma_manager.c
drm_vram_helper_common.c
drm_writeback.c
Kconfig i915 features for v5.6: 2019-12-27 15:25:04 +10:00
Makefile drm/pci: Only build drm_pci.c if CONFIG_PCI is set 2019-12-05 08:43:14 +01:00