linux/drivers/gpu/drm/nouveau
Dave Airlie 8f3c6f08ab nouveau/dpcd: return EBUSY for aux xfer if the device is asleep
If we have runtime suspended, and userspace wants to use /dev/drm_dp_*
then just tell it the device is busy instead of crashing in the GSP
code.

WARNING: CPU: 2 PID: 565741 at drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c:164 r535_gsp_msgq_wait+0x9a/0xb0 [nouveau]
CPU: 2 UID: 0 PID: 565741 Comm: fwupd Not tainted 6.18.10-200.fc43.x86_64 #1 PREEMPT(lazy)
Hardware name: LENOVO 20QTS0PQ00/20QTS0PQ00, BIOS N2OET65W (1.52 ) 08/05/2024
RIP: 0010:r535_gsp_msgq_wait+0x9a/0xb0 [nouveau]

This is a simple fix to get backported. We should probably engineer a
proper power domain solution to wake up devices and keep them awake
while fw updates are happening.

Cc: stable@vger.kernel.org
Fixes: 8894f4919b ("drm/nouveau: register a drm_dp_aux channel for each dp connector")
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patch.msgid.link/20260224031750.791621-1-airlied@gmail.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-03-04 22:08:01 +01:00
..
dispnv04 Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
dispnv50
include
nvif Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
nvkm Merge drm/drm-fixes into drm-misc-fixes 2026-02-23 10:09:45 +01:00
Kbuild
Kconfig
gv100_fence.c
nouveau_abi16.c
nouveau_abi16.h
nouveau_acpi.c
nouveau_acpi.h
nouveau_backlight.c
nouveau_bios.c
nouveau_bios.h
nouveau_bo.c
nouveau_bo.h
nouveau_bo0039.c
nouveau_bo74c1.c
nouveau_bo85b5.c
nouveau_bo90b5.c
nouveau_bo5039.c
nouveau_bo9039.c
nouveau_boa0b5.c
nouveau_chan.c
nouveau_chan.h
nouveau_connector.c nouveau/dpcd: return EBUSY for aux xfer if the device is asleep 2026-03-04 22:08:01 +01:00
nouveau_connector.h
nouveau_crtc.h
nouveau_debugfs.c
nouveau_debugfs.h
nouveau_display.c
nouveau_display.h
nouveau_dma.c
nouveau_dma.h
nouveau_dmem.c
nouveau_dmem.h
nouveau_dp.c
nouveau_drm.c
nouveau_drv.h
nouveau_encoder.h
nouveau_exec.c
nouveau_exec.h
nouveau_fence.c
nouveau_fence.h
nouveau_gem.c
nouveau_gem.h
nouveau_hwmon.c
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_led.c
nouveau_led.h
nouveau_mem.c
nouveau_mem.h
nouveau_nvif.c
nouveau_platform.c
nouveau_platform.h
nouveau_prime.c
nouveau_reg.h
nouveau_sched.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
nouveau_sched.h
nouveau_sgdma.c
nouveau_svm.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
nouveau_svm.h
nouveau_ttm.c
nouveau_ttm.h
nouveau_uvmm.c
nouveau_uvmm.h
nouveau_vga.c
nouveau_vga.h
nouveau_vmm.c
nouveau_vmm.h
nv04_fence.c
nv10_fence.c
nv10_fence.h
nv17_fence.c
nv50_display.h
nv50_fence.c
nv84_fence.c
nvc0_fence.c