linux_dsm_epyc7002/drivers/gpu/drm
Chris Wilson 989df3a7bd drm/i915/execlists: Reclaim the hanging virtual request
If we encounter a hang on a virtual engine, as we process the hang the
request may already have been moved back to the virtual engine (we are
processing the hang on the physical engine). We need to reclaim the
request from the virtual engine so that the locking is consistent and
local to the real engine on which we will hold the request for error
state capturing.

v2: Pull the reclamation into execlists_hold() and assert that cannot be
called from outside of the reset (i.e. with the tasklet disabled).
v3: Added selftest
v4: Drop the reference owned by the virtual engine

Fixes: 748317386a ("drm/i915/execlists: Offline error capture")
Testcase: igt/gem_exec_balancer/hang
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200122140243.495621-2-chris@chris-wilson.co.uk
2020-01-22 17:10:15 +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 drm/aspeed: gfc_crtc: Make structure aspeed_gfx_funcs constant 2019-08-14 19:27:26 +02:00
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 drm/simple-kms: Standardize arguments for callbacks 2019-10-24 13:55:56 +02:00
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 drm: tda998x: use cec_notifier_conn_(un)register 2019-10-21 14:23:25 +02:00
i810 drm/i810: Don't include <drm/drm_pci.h> 2019-12-05 08:44:12 +01:00
i915 drm/i915/execlists: Reclaim the hanging virtual request 2020-01-22 17:10:15 +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 drm/lima: Fix Kconfig indentation 2019-11-20 17:40:32 +01:00
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 Merge tag 'topic/drm-mipi-dsi-dsc-updates-2019-11-11' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next-queued 2019-11-20 15:54:38 +02:00
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 Linux 5.4-rc7 2019-11-14 05:53:10 +10:00
vboxvideo drm/vboxvideo: Use drm_gem_fb_create_with_dirty instead of drm_gem_fb_create 2019-10-29 13:10:07 +01:00
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 drm/xen: Simplify fb_create 2019-11-19 22:25:55 +01:00
zte
drm_agpsupport.c drm: use DIV_ROUND_UP helper macro for calculations 2019-11-04 18:17:36 +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_atomic.c drm/bridge: Add a drm_bridge_state object 2020-01-07 10:10:49 +01:00
drm_auth.c
drm_blend.c drm: two planes with the same zpos have undefined ordering 2019-10-09 20:04:55 +02:00
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/gpu: Fix Memory barrier without comment Issue 2019-10-25 09:35:06 +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_client.c drm/client: convert to drm device based logging 2019-12-19 15:52:44 +02: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_helper_internal.h drm/connector: Share with non-atomic drivers the function to get the single encoder 2019-09-16 15:13:02 -07:00
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_internal.h
drm_crtc.c
drm_damage_helper.c drm: damage_helper: Fix race checking plane->state->fb 2019-10-08 09:41:06 -04:00
drm_debugfs_crc.c drm: Fix return type of crc .poll() 2019-09-30 20:17:31 +03:00
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c drm_dp_cec: drop use of drmP.h 2019-10-08 18:29:00 +02:00
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/tegra: Move drm_dp_link helpers to Tegra DRM 2019-10-23 18:22:10 +02:00
drm_dp_mst_topology_internal.h drm/dp_mst: Add sideband down request tracing + selftests 2019-09-03 19:30:06 -04:00
drm_dp_mst_topology.c drm-misc-next for v5.6: 2019-12-17 13:57:54 +01:00
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/dsc: Fix bogus cpu_to_be16() usage 2019-09-30 20:15:53 +03:00
drm_dumb_buffers.c
drm_edid_load.c drm/print: add drm_debug_enabled() 2019-10-02 16:28:55 +03:00
drm_edid.c drm: Fix a couple of typos, punctation and whitespace issues 2019-12-22 11:09:46 +01:00
drm_encoder_slave.c
drm_encoder.c drm/bridge: Make the bridge chain a double-linked list 2019-12-09 10:03:01 +01:00
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_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/ttm: fix mmap refcounting 2019-11-15 08:00:08 +01:00
drm_gem_vram_helper.c drm/vram-helper: Support struct drm_driver.gem_create_object 2020-01-07 11:53:19 +01:00
drm_gem.c drm-misc-next for v5.6: 2019-12-17 13:57:54 +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: fix module name in edid_firmware log message 2019-08-22 10:41:06 +03:00
drm_lease.c
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_memory.c drm: Include prototype for drm_need_swiotlb() 2019-09-30 20:16:28 +03:00
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/dsi: add helpers for DSI compression mode and PPS packets 2019-11-07 15:00:16 +02:00
drm_mm.c drm/mm: Use clear_bit_unlock() for releasing the drm_mm_node() 2019-10-04 13:43:43 +01:00
drm_mode_config.c drm/modeset: Prime modeset lock vs dma_resv 2019-11-21 11:03:31 +01:00
drm_mode_object.c drm/property: Enforce more lifetime rules 2019-11-04 18:17:36 +01:00
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_orientation_quirks.c
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_pci.c drm/pci: Hide legacy PCI functions from non-legacy code 2019-12-05 08:44:04 +01:00
drm_plane_helper.c
drm_plane.c
drm_prime.c drm: share address space for dma bufs 2019-12-06 11:18:11 +01:00
drm_print.c drm/print: convert debug category macros into an enum 2019-11-14 14:08:57 +02:00
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/atomic: fix self-refresh helpers crtc state dereference 2019-11-06 13:00:21 -05:00
drm_simple_kms_helper.c drm/simple-kms: Standardize arguments for callbacks 2019-10-24 13:55:56 +02:00
drm_syncobj.c drm/syncobj: extend syncobj query ability v3 2019-10-18 12:24:56 +02:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h drm: Add high-precision time to vblank trace event 2019-09-03 09:46:18 +02:00
drm_vblank.c drm/drm_vblank: Change EINVAL by the correct errno 2019-10-08 18:43:26 -04:00
drm_vm.c
drm_vma_manager.c
drm_vram_helper_common.c drm/vram: Have VRAM MM call GEM VRAM functions directly 2019-09-12 19:54:42 +02:00
drm_writeback.c drm: Clear the fence pointer when writeback job signaled 2019-09-23 15:32:53 +08:00
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