linux_dsm_epyc7002/drivers/gpu/drm/nouveau
Martin Peres 61679fe153 drm/nouveau/pm/fan: drop the fan lock in fan_update() before rescheduling
This should fix a deadlock that has been reported to us where fan_update()
would hold the fan lock and try to grab the alarm_program_lock to reschedule
an update. On an other CPU, the alarm_program_lock would have been taken
before calling fan_update(), leading to a deadlock.

We should Cc: <stable@vger.kernel.org> # 3.9+

Reported-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Tested-by: Timothée Ravier <tim@siosm.fr>
Tested-by: Boris Fersing (IRC nick fersingb, no public email address)
Signed-off-by: Martin Peres <martin.peres@free.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:08:24 +10:00
..
core drm/nouveau/pm/fan: drop the fan lock in fan_update() before rescheduling 2014-03-26 14:08:24 +10:00
dispnv04 drm/nouveau: handle -EACCES runtime PM return code 2014-03-26 13:59:32 +10:00
Kconfig drm: Add separate Kconfig option for fbdev helpers 2013-10-11 23:36:58 +02:00
Makefile drm/gm107/gr: initial support 2014-03-26 14:08:15 +10:00
nouveau_abi16.c support for platform devices 2014-03-26 14:08:04 +10:00
nouveau_abi16.h
nouveau_acpi.c ACPI / nouveau: fix probing regression related to _DSM 2014-02-20 21:19:47 +01:00
nouveau_acpi.h nouveau: ACPI support depends on X86 and X86_PLATFORM_DEVICES 2013-02-20 16:05:16 +10:00
nouveau_agp.c support for platform devices 2014-03-26 14:08:04 +10:00
nouveau_agp.h
nouveau_backlight.c drm/sysfs: sort out minor and connector device object lifetimes. 2013-10-22 09:37:40 +01:00
nouveau_bios.c drm/nouveau: recognise higher link rate for available dp bw calculations 2014-03-26 14:08:21 +10:00
nouveau_bios.h drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nouveau_bo.c support for platform devices 2014-03-26 14:08:04 +10:00
nouveau_bo.h drm/nouveau: embed gem object in nouveau_bo 2013-10-09 14:37:55 +10:00
nouveau_chan.c support for platform devices 2014-03-26 14:08:04 +10:00
nouveau_chan.h
nouveau_connector.c drm/nouveau/bios: add HDMI-C (mini) connector type 2014-03-26 14:00:58 +10:00
nouveau_connector.h drm/nouveau: remove prototype for non-existent nouveau_connector_bpp 2013-11-08 15:36:08 +10:00
nouveau_crtc.h
nouveau_debugfs.c drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_debugfs.h drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_display.c drm/nouveau: fix small thinko in vblank timestamping. 2014-03-26 14:08:23 +10:00
nouveau_display.h drm/nouveau: implement hooks for needed for drm vblank timestamping support 2014-01-30 09:20:27 +10:00
nouveau_dma.c drm: Kill DRM_*MEMORYBARRIER 2013-12-18 11:35:21 +10:00
nouveau_dma.h drm: Kill DRM_*MEMORYBARRIER 2013-12-18 11:35:21 +10:00
nouveau_dp.c drm/nv50-/disp: move DP link training to core and train from supervisor 2013-02-20 16:01:02 +10:00
nouveau_drm.c support for platform devices 2014-03-26 14:08:04 +10:00
nouveau_drm.h drm/nouveau: use nv_debug for NV_DEBUG, make DRM a separate subflag 2014-03-26 13:59:32 +10:00
nouveau_encoder.h drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nouveau_fbcon.c drm/nouveau: fix fbcon not being accelerated after suspend 2014-03-26 14:08:13 +10:00
nouveau_fbcon.h
nouveau_fence.c drm: Kill DRM_HZ 2013-12-18 11:33:24 +10:00
nouveau_fence.h drm/nouveau: delay busy bo vma removal until fence signals 2013-07-01 13:50:31 +10:00
nouveau_gem.c drm: init TTM dev_mapping in ttm_bo_device_init() 2014-03-16 12:23:42 +01:00
nouveau_gem.h drm: kill ->gem_init_object() and friends 2013-10-09 14:38:02 +10:00
nouveau_hwmon.c drm/nouveau/hwmon: replace strict_strtol() with kstrtol() 2014-03-26 13:59:31 +10:00
nouveau_hwmon.h drm/nouveau/drm/pm: remove everything except the hwmon interfaces to THERM 2013-11-08 15:40:00 +10:00
nouveau_ioc32.c drm/nouveau: fix up 32-bit ioctls and device wake up. 2013-09-02 09:52:55 +10:00
nouveau_ioctl.h drm/nouveau: fix up 32-bit ioctls and device wake up. 2013-09-02 09:52:55 +10:00
nouveau_prime.c drm/nouveau: embed gem object in nouveau_bo 2013-10-09 14:37:55 +10:00
nouveau_reg.h
nouveau_sgdma.c drm/nouveau/vm: reduce number of entry-points to vm_map() 2014-01-23 13:38:25 +10:00
nouveau_sysfs.c support for platform devices 2014-03-26 14:08:04 +10:00
nouveau_sysfs.h drm/nouveau: implement a simple sysfs interface to new pm code 2013-11-08 15:40:18 +10:00
nouveau_ttm.c support for platform devices 2014-03-26 14:08:04 +10:00
nouveau_ttm.h
nouveau_vga.c support for platform devices 2014-03-26 14:08:04 +10:00
nouveau_vga.h
nv04_fbcon.c drm/nv11-: synchronise flips to vblank, unless async flip requested 2013-11-14 14:56:56 +10:00
nv04_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv10_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv10_fence.h drm/nouveau: share fence structures between nv10+ and nv50 implementations 2013-02-20 16:00:34 +10:00
nv17_fence.c drm/nouveau: fix semaphore dmabuf obj 2013-07-30 16:46:55 +10:00
nv50_display.c drm/nv50: fill in crtc mode struct members from crtc_mode_fixup 2014-01-30 08:18:26 +10:00
nv50_display.h
nv50_fbcon.c
nv50_fence.c drm/nouveau: fix semaphore dmabuf obj 2013-07-30 16:46:55 +10:00
nv84_fence.c drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00
nvc0_fbcon.c
nvc0_fence.c drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00