Hey Linus, Weekly pull, last set of fixes for 6.19. The usual xe/amdgpu selection, and a couple of misc changes for gma500, mgag200 and bridge. There is a nouveau revert, and also a set of changes that fix a regression since we moved to 570 firmware. Suspend/resume was broken on a bunch of GPUs. The fix looks big, but it's mostly just refactoring to pass an extra bit down the nouveau abstractions to the firmware command.
Dave. drm-fixes-2026-02-06: drm fixes for 6.19-final amdgpu: - MES 11 old firmware compatibility fix - ASPM fix - DC LUT fixes amdkfd: - Fix possible double deletion of validate list xe: - Fix topology query pointer advance - A couple of kerneldoc fixes - Disable D3Cold for BMG only on specific platforms - Fix CFI violation in debugfs access nouveau: - Revert adding atomic commit functions as it regresses pre-nv50. - Fix suspend/resume bugs exposed by enabling 570 firmware. gma500: - Revert a regression caused by vblank changes. mgag200: - Replace a busy loop with a polling loop to fix that blocking 1 cpu for 300 ms roughly every 20 minutes. bridge: - imx8mp-hdmi-pa: Use runtime pm to fix a bug in channel ordering. The following changes since commit 18f7fcd5e69a04df57b563360b88be72471d6b62: Linux 6.19-rc8 (2026-02-01 14:01:13 -0800) are available in the Git repository at: https://gitlab.freedesktop.org/drm/kernel.git tags/drm-fixes-2026-02-06 for you to fetch changes up to 7ef92d2ecef7486d46eda0f911dc53b873fdf567: Merge tag 'amd-drm-fixes-6.19-2026-02-05' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes (2026-02-06 12:44:54 +1000) ---------------------------------------------------------------- drm fixes for 6.19-final amdgpu: - MES 11 old firmware compatibility fix - ASPM fix - DC LUT fixes amdkfd: - Fix possible double deletion of validate list xe: - Fix topology query pointer advance - A couple of kerneldoc fixes - Disable D3Cold for BMG only on specific platforms - Fix CFI violation in debugfs access nouveau: - Revert adding atomic commit functions as it regresses pre-nv50. - Fix suspend/resume bugs exposed by enabling 570 firmware. gma500: - Revert a regression caused by vblank changes. mgag200: - Replace a busy loop with a polling loop to fix that blocking 1 cpu for 300 ms roughly every 20 minutes. bridge: - imx8mp-hdmi-pa: Use runtime pm to fix a bug in channel ordering. ---------------------------------------------------------------- Bert Karwatzki (1): Revert "drm/amd: Check if ASPM is enabled from PCIe subsystem" Daniele Ceraolo Spurio (1): drm/xe/guc: Fix CFI violation in debugfs access. Dave Airlie (6): nouveau/gsp: use rpc sequence numbers properly. nouveau: add a third state to the fini handler. nouveau/gsp: fix suspend/resume regression on r570 firmware Merge tag 'drm-misc-fixes-2026-02-05' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes Merge tag 'drm-xe-fixes-2026-02-05' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes Merge tag 'amd-drm-fixes-6.19-2026-02-05' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes Harish Kasiviswanathan (1): drm/amdgpu: Fix double deletion of validate_list Jacob Keller (1): drm/mgag200: fix mgag200_bmc_stop_scanout() Jani Nikula (1): Revert "drm/gma500: use drm_crtc_vblank_crtc()" John Ogness (1): Revert "drm/nouveau/disp: Set drm_mode_config_funcs.atomic_(check|commit)" Karthik Poosa (1): drm/xe/pm: Disable D3Cold for BMG only on specific platforms Mario Limonciello (1): drm/amd: Set minimum version for set_hw_resource_1 on gfx11 to 0x52 Melissa Wen (3): drm/amd/display: fix wrong color value mapping on MCM shaper LUT drm/amd/display: extend delta clamping logic to CM3 LUT helper drm/amd/display: remove assert around dpp_base replacement Shengjiu Wang (1): drm/bridge: imx8mp-hdmi-pai: enable PM runtime Shuicheng Lin (4): drm/xe/query: Fix topology query pointer advance drm/xe: Fix kerneldoc for xe_migrate_exec_queue drm/xe: Fix kerneldoc for xe_gt_tlb_inval_init_early drm/xe: Fix kerneldoc for xe_tlb_inval_job_alloc_dep drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 18 +++++------ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 -- drivers/gpu/drm/amd/amdgpu/mes_v11_0.c | 2 +- .../gpu/drm/amd/display/dc/dcn30/dcn30_cm_common.c | 37 +++++++++++++++++----- .../drm/amd/display/dc/dwb/dcn30/dcn30_cm_common.h | 2 +- .../drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c | 9 +++--- .../drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 18 ++++++----- .../drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 16 ++++++---- drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pai.c | 15 +++++++++ drivers/gpu/drm/gma500/psb_irq.c | 36 ++++++++------------- drivers/gpu/drm/mgag200/mgag200_bmc.c | 31 +++++++----------- drivers/gpu/drm/mgag200/mgag200_drv.h | 6 ++++ drivers/gpu/drm/nouveau/include/nvif/client.h | 2 +- drivers/gpu/drm/nouveau/include/nvif/driver.h | 2 +- drivers/gpu/drm/nouveau/include/nvkm/core/device.h | 3 +- drivers/gpu/drm/nouveau/include/nvkm/core/engine.h | 2 +- drivers/gpu/drm/nouveau/include/nvkm/core/object.h | 5 +-- drivers/gpu/drm/nouveau/include/nvkm/core/oproxy.h | 2 +- drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h | 4 +-- .../drm/nouveau/include/nvkm/core/suspend_state.h | 11 +++++++ drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h | 6 ++++ drivers/gpu/drm/nouveau/nouveau_display.c | 2 -- drivers/gpu/drm/nouveau/nouveau_drm.c | 2 +- drivers/gpu/drm/nouveau/nouveau_nvif.c | 10 ++++-- drivers/gpu/drm/nouveau/nvif/client.c | 4 +-- drivers/gpu/drm/nouveau/nvkm/core/engine.c | 4 +-- drivers/gpu/drm/nouveau/nvkm/core/ioctl.c | 4 +-- drivers/gpu/drm/nouveau/nvkm/core/object.c | 20 +++++++++--- drivers/gpu/drm/nouveau/nvkm/core/oproxy.c | 2 +- drivers/gpu/drm/nouveau/nvkm/core/subdev.c | 18 +++++++++-- drivers/gpu/drm/nouveau/nvkm/core/uevent.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/ce/ga100.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/ce/priv.h | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 22 ++++++++++--- drivers/gpu/drm/nouveau/nvkm/engine/device/pci.c | 4 +-- drivers/gpu/drm/nouveau/nvkm/engine/device/priv.h | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/device/user.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c | 4 +-- drivers/gpu/drm/nouveau/nvkm/engine/disp/chan.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/falcon.c | 4 +-- drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/uchan.c | 6 ++-- drivers/gpu/drm/nouveau/nvkm/engine/gr/base.c | 4 +-- drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/nv04.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/nv10.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/nv20.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/nv20.h | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/nv40.c | 4 +-- drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv44.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c | 4 +-- drivers/gpu/drm/nouveau/nvkm/subdev/acr/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/bar/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c | 4 +-- drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/fault/user.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/gh100.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/priv.h | 8 ++--- .../gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/fbsr.c | 2 +- .../gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c | 8 ++--- .../gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c | 6 ++++ .../gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/fbsr.c | 8 ++--- .../gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/gsp.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/rm.h | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/tu102.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 6 ++-- drivers/gpu/drm/nouveau/nvkm/subdev/timer/base.c | 2 +- drivers/gpu/drm/xe/xe_guc.c | 6 ++-- drivers/gpu/drm/xe/xe_guc.h | 2 +- drivers/gpu/drm/xe/xe_migrate.c | 2 +- drivers/gpu/drm/xe/xe_pm.c | 13 ++++++-- drivers/gpu/drm/xe/xe_query.c | 2 +- drivers/gpu/drm/xe/xe_tlb_inval.c | 2 +- drivers/gpu/drm/xe/xe_tlb_inval_job.c | 2 +- 82 files changed, 290 insertions(+), 189 deletions(-) create mode 100644 drivers/gpu/drm/nouveau/include/nvkm/core/suspend_state.h
