linux_dsm_epyc7002/drivers/gpu/drm
Chris Wilson 18398904ca drm/i915: Only recover active engines
If we issue a reset to a currently idle engine, leave it idle
afterwards. This is useful to excise a linkage between reset and the
shrinker. When waking the engine, we need to pin the default context
image which we use for overwriting a guilty context -- if the engine is
idle we do not need this pinned image! However, this pinning means that
waking the engine acquires the FS_RECLAIM, and so may trigger the
shrinker. The shrinker itself may need to wait upon the GPU to unbind
and object and so may require services of reset; ergo we should avoid
the engine wake up path.

The danger in skipping the recovery for idle engines is that we leave the
engine with no context defined, which may interfere with the operation of
the power context on some older platforms. In practice, we should only
be resetting an active GPU but it something to look out for on Ironlake
(if memory serves).

Fixes: 79ffac8599 ("drm/i915: Invert the GEM wakeref hierarchy")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190626154549.10066-2-chris@chris-wilson.co.uk
2019-06-26 18:01:01 +01:00
..
amd drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
arc treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
arm drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
armada drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
aspeed treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
ast drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
atmel-hlcdc drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
bochs drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
bridge Features: 2019-05-28 09:26:52 +10:00
cirrus drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
etnaviv drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
exynos treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
fsl-dcu treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
gma500 drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
hisilicon drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
i2c treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
i810 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
i915 drm/i915: Only recover active engines 2019-06-26 18:01:01 +01:00
imx drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
lib
lima drm/lima: add timeout to drm scheduler init 2019-05-21 20:47:36 +08:00
mediatek drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
meson drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
mga treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
mgag200 drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
msm drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
mxsfb treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
nouveau drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
omapdrm drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
panel drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
panfrost drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
pl111 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
qxl treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
r128 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
radeon drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
rcar-du
rockchip drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
savage treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
scheduler Merge drm/drm-next into drm-misc-next 2019-05-22 16:08:21 -04:00
selftests treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
shmobile
sis treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
sti treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
stm drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
sun4i drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
tdfx treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
tegra drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
tilcdc treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
tinydrm treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
ttm drm pull request for 5.2 2019-05-08 21:35:19 -07:00
tve200 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
udl treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
v3d drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
vboxvideo Merge drm/drm-next into drm-misc-next 2019-05-22 16:08:21 -04:00
vc4 drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
vgem treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
via treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
virtio drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
vkms drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
vmwgfx drm/vmwgfx: integer underflow in vmw_cmd_dx_set_shader() leading to an invalid read 2019-05-21 10:23:10 +02:00
xen treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
zte drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
drm_atomic_state_helper.c drm: Add reference counting on HDR metadata blob 2019-05-22 22:46:35 +03:00
drm_atomic_uapi.c Features: 2019-05-28 09:26:52 +10:00
drm_atomic.c drm: Add drm_atomic_get_old/new_private_obj_state 2019-04-29 12:35:56 +01:00
drm_auth.c drm/fb-helper: Avoid race with DRM userspace 2019-05-14 16:11:28 +02:00
drm_blend.c
drm_bridge.c
drm_bufs.c drm/legacy: move map cleanups into drm_bufs.c 2019-04-24 12:32:13 +10:00
drm_cache.c
drm_client.c drm: Remove users of drm_format_info_plane_cpp 2019-05-20 13:35:56 +02:00
drm_color_mgmt.c
drm_connector.c Features: 2019-05-28 09:26:52 +10:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c
drm_crtc_internal.h drm/atomic: Wire file_priv through for property changes 2019-04-24 11:30:52 +02:00
drm_crtc.c drm/lease: Make sure implicit planes are leased 2019-04-24 11:30:32 +02:00
drm_damage_helper.c
drm_debugfs_crc.c
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_dp_cec.c
drm_dp_dual_mode_helper.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_dp_helper.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_dp_mst_topology.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_drv.c drm/legacy: move init/destroy of struct members into legacy file 2019-04-24 12:32:18 +10:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid_load.c drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
drm_edid.c drm/edid: Fix docbook in drm_hdmi_infoframe_set_hdr_metadata() 2019-05-23 12:58:35 -04:00
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c
drm_fb_helper.c drm: Remove users of drm_format_info_plane_cpp 2019-05-20 13:35:56 +02:00
drm_file.c drm: Some ocd in drm_file.c 2019-05-09 11:40:20 +02:00
drm_flip_work.c
drm_format_helper.c drm: Remove users of drm_format_info_plane_cpp 2019-05-20 13:35:56 +02:00
drm_fourcc.c drm/fourcc: Pass the format_info pointer to drm_format_plane_width/height 2019-05-20 13:35:24 +02:00
drm_framebuffer.c
drm_gem_cma_helper.c drm/cma-helper: Fix drm_gem_cma_free_object() 2019-05-08 16:01:40 +02:00
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c
drm_gem_vram_helper.c drm: Assert that BO is locked in drm_gem_vram_{pin, unpin}_locked() 2019-05-22 12:43:30 +02:00
drm_gem.c drm/gem: Fix sphinx warnings 2019-04-25 10:02:10 -04:00
drm_hashtab.c
drm_hdcp.c drm/hdcp: drm_hdcp_request_srm() as static 2019-05-13 22:05:54 +02:00
drm_internal.h Features: 2019-05-28 09:26:52 +10:00
drm_ioc32.c drm: allow removal of legacy codepaths (v4.1) 2019-04-24 12:33:15 +10:00
drm_ioctl.c drm: introduce a capability flag for syncobj timeline support 2019-05-02 12:36:47 +10:00
drm_irq.c drm: allow removal of legacy codepaths (v4.1) 2019-04-24 12:33:15 +10:00
drm_kms_helper_common.c
drm_lease.c drm/lease: Check for lessor outside of locks 2019-04-24 11:29:32 +02:00
drm_legacy_misc.c drm: Some ocd in drm_file.c 2019-05-09 11:40:20 +02:00
drm_legacy.h drm: Some ocd in drm_file.c 2019-05-09 11:40:20 +02:00
drm_lock.c drm/legacy: move lock cleanup for master into lock file (v2) 2019-04-24 12:32:15 +10:00
drm_memory.c
drm_mipi_dsi.c
drm_mm.c drm: Simplify stacktrace handling 2019-04-29 12:37:53 +02:00
drm_mode_config.c drm: Expose "FB_DAMAGE_CLIPS" property to atomic aware user-space only 2019-04-16 15:13:23 -07:00
drm_mode_object.c drm/atomic: Wire file_priv through for property changes 2019-04-24 11:30:52 +02:00
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
drm_panel_orientation_quirks.c
drm_panel.c
drm_pci.c
drm_plane_helper.c
drm_plane.c drm/lease: Make sure implicit planes are leased 2019-04-24 11:30:32 +02:00
drm_prime.c drm: remove prime sg_table caching 2019-05-22 15:34:55 +02:00
drm_print.c
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_simple_kms_helper.c
drm_syncobj.c drm pull request for 5.2 2019-05-08 21:35:19 -07:00
drm_sysfs.c drm: revocation check at drm subsystem 2019-05-09 09:44:41 +02:00
drm_trace_points.c
drm_trace.h
drm_vblank.c
drm_vm.c drm: allow removal of legacy codepaths (v4.1) 2019-04-24 12:33:15 +10:00
drm_vma_manager.c
drm_vram_helper_common.c drm: Replace drm_gem_vram_push_to_system() with kunmap + unpin 2019-05-22 12:43:29 +02:00
drm_vram_mm_helper.c drm: Integrate VRAM MM into struct drm_device 2019-05-15 16:17:06 +02:00
drm_writeback.c
Kconfig drm-misc-next for v5.3, try #2: 2019-05-28 08:59:11 +10:00
Makefile Features: 2019-05-28 09:26:52 +10:00