linux_dsm_epyc7002/drivers/gpu/drm
Lucas Stach a7fbb630c5 drm/scheduler: fix inconsistent locking of job_list_lock
1db8c142b6 (drm/scheduler: Add drm_sched_suspend/resume_timeout()) made
the job_list_lock IRQ safe in as the suspend/resume calls were expected to
be called from IRQ context. This usage never materialized in upstream.
Instead amdgpu started locking the job_list_lock in an IRQ unsafe way in
amdgpu_ib_preempt_mark_partial_job() and amdgpu_ib_preempt_job_recovery(),
which leads to potential deadlock if one would actually start to call the
drm_sched_suspend/resume_timeout functions from IRQ context.

As no current user needs the locking to be IRQ safe, the local IRQ
disable/enable is pure overhead. Fix the inconsistent locking by changing
all uses of job_list_lock to use the IRQ unsafe locking primitives.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2020-03-13 11:52:36 -04:00
..
amd drm/amdgpu/swsmu: clean up unused header in swsmu 2020-03-13 11:52:36 -04:00
arc
arm
armada drm: Remove drm_fb_helper add, add all and remove connector calls 2020-03-06 14:19:58 +01:00
aspeed
ast drm/ast: Use simple encoder 2020-03-02 09:22:43 +01:00
atmel-hlcdc
bochs
bridge drm-misc-next for 5.7: 2020-03-12 12:42:56 +10:00
cirrus
etnaviv
exynos drm-misc-next for 5.7: 2020-03-12 12:42:56 +10:00
fsl-dcu
gma500 drm: Remove drm_fb_helper add, add all and remove connector calls 2020-03-06 14:19:58 +01:00
hisilicon Linux 5.6-rc5 2020-03-11 07:27:21 +10:00
i2c
i810
i915 drm-misc-next for 5.7: 2020-03-12 12:42:56 +10:00
imx
ingenic
lib
lima
mcde
mediatek Linux 5.6-rc5 2020-03-11 07:27:21 +10:00
meson
mga
mgag200 drm/mgag200: Use simple encoder 2020-03-02 09:22:49 +01:00
msm drm-misc-next for 5.7: 2020-03-12 12:42:56 +10:00
mxsfb
nouveau drm-misc-next for 5.7: 2020-03-12 12:42:56 +10:00
omapdrm drm: Remove drm_fb_helper add, add all and remove connector calls 2020-03-06 14:19:58 +01:00
panel Revert "drm/panel: simple: Add support for Sharp LQ150X1LG11 panels" 2020-03-07 19:28:25 +01:00
panfrost drm-misc-next for 5.7: 2020-03-12 12:42:56 +10:00
pl111
qxl drm/qxl: Use simple encoder 2020-03-02 09:22:56 +01:00
r128
radeon drm: Remove drm_fb_helper add, add all and remove connector calls 2020-03-06 14:19:58 +01:00
rcar-du
rockchip drm: Remove drm_fb_helper add, add all and remove connector calls 2020-03-06 14:19:58 +01:00
savage
scheduler drm/scheduler: fix inconsistent locking of job_list_lock 2020-03-13 11:52:36 -04:00
selftests
shmobile
sis
sti
stm
sun4i Linux 5.6-rc5 2020-03-11 07:27:21 +10:00
tdfx
tegra drm: Remove drm_fb_helper add, add all and remove connector calls 2020-03-06 14:19:58 +01:00
tidss drm/tidss: Drop pointless static qualifier in dispc_find_csc() 2020-02-28 14:48:58 +02:00
tilcdc
tiny
ttm drm-misc-next for 5.7: 2020-03-12 12:42:56 +10:00
tve200
udl
v3d drm/v3d: Replace wait_for macros to remove use of msleep 2020-03-04 22:15:34 -08:00
vboxvideo drm/vboxvideo/vboxvideo.h: Replace zero-length array with flexible-array member 2020-03-07 12:55:05 +01:00
vc4 drm/vc4/vc4_drv.h: Replace zero-length array with flexible-array member 2020-03-06 11:50:17 +01:00
vgem
via
virtio drm-misc-next for 5.7: 2020-03-12 12:42:56 +10:00
vkms
vmwgfx
xen
zte
drm_agpsupport.c
drm_atomic_helper.c
drm_atomic_state_helper.c
drm_atomic_uapi.c
drm_atomic.c
drm_auth.c
drm_blend.c
drm_bridge_connector.c
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_client_modeset.c Linux 5.6-rc5 2020-03-11 07:27:21 +10:00
drm_client.c drm/client: Dual licence the file in GPL-2 and MIT 2020-02-29 00:16:12 +01:00
drm_color_mgmt.c
drm_connector.c
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c
drm_crtc_internal.h
drm_crtc.c
drm_damage_helper.c
drm_debugfs_crc.c
drm_debugfs.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_internal.h
drm_dp_mst_topology.c drm/dp_mst: Check crc4 value while building sideband message 2020-02-28 13:08:00 +01:00
drm_drv.c
drm_dsc.c
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c
drm_fb_helper.c drm: Remove unused arg from drm_fb_helper_init 2020-03-06 14:19:57 +01:00
drm_file.c
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm/shmem: drop pgprot_decrypted() 2020-03-02 07:13:19 +01:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c
drm_gem.c
drm_hashtab.c
drm_hdcp.c drm/hdcp: optimizing the srm handling 2020-03-04 06:33:00 +05:30
drm_internal.h drm/hdcp: optimizing the srm handling 2020-03-04 06:33:00 +05:30
drm_ioc32.c
drm_ioctl.c
drm_irq.c
drm_kms_helper_common.c
drm_lease.c
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dbi.c
drm_mipi_dsi.c
drm_mm.c drm/mm: Break long searches in fragmented address spaces 2020-03-06 11:15:43 +00:00
drm_mode_config.c
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel_orientation_quirks.c
drm_panel.c
drm_pci.c drm: Make drm_pci_agp_init legacy 2020-03-09 09:22:50 +00:00
drm_plane_helper.c
drm_plane.c
drm_prime.c
drm_print.c
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c drm: prevent a harmless integer overflow in drm_legacy_sg_alloc() 2020-02-29 00:16:12 +01:00
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm/simple-kms: Fix documentation for drm_simple_encoder_init() 2020-03-06 09:24:29 +01:00
drm_syncobj.c
drm_sysfs.c drm/hdcp: optimizing the srm handling 2020-03-04 06:33:00 +05:30
drm_trace_points.c
drm_trace.h
drm_vblank.c drm/vblank: Fix documentation of VBLANK timestamp helper 2020-03-06 09:24:54 +01:00
drm_vm.c
drm_vma_manager.c
drm_vram_helper_common.c
drm_writeback.c
Kconfig drm: unbreak the DRM menu, broken by DRM_EXPORT_FOR_TESTS 2020-03-06 11:15:43 +00:00
Makefile