linux/drivers/gpu/drm
Dave Airlie 0ef5c4e4db nouveau: fix disabling the nonstall irq due to storm code
Nouveau has code that when it gets an IRQ with no allowed handler
it disables it to avoid storms.

However with nonstall interrupts, we often disable them from
the drm driver, but still request their emission via the push submission.

Just don't disable nonstall irqs ever in normal operation, the
event handling code will filter them out, and the driver will
just enable/disable them at load time.

This fixes timeouts we've been seeing on/off for a long time,
but they became a lot more noticeable on Blackwell.

This doesn't fix all of them, there is a subsequent fence emission
fix to fix the last few.

Fixes: 3ebd64aa3c ("drm/nouveau/intr: support multiple trees, and explicit interfaces")
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://lore.kernel.org/r/20250829021633.1674524-1-airlied@gmail.com
[ Fix a typo and a minor checkpatch.pl warning; remove "v2" from commit
  subject. - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2025-08-29 18:36:23 +02:00
..
adp drm: convert many bridge drivers from devm_kzalloc() to devm_drm_bridge_alloc() API 2025-05-23 15:03:47 +02:00
amd drm/amdgpu: Pin buffers while vmap'ing exported dma-buf objects 2025-08-22 14:05:31 +02:00
arm drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
armada drm/armada: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-07-16 20:07:32 +03:00
aspeed
ast drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
atmel-hlcdc
bridge Merge drm/drm-fixes into drm-misc-fixes 2025-08-20 16:08:49 +02:00
ci drm/ci: Uprev igt 2025-07-04 11:06:38 -07:00
clients drm/fbdev-client: Skip DRM clients if modesetting is absent 2025-07-06 14:05:07 +03:00
display drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
etnaviv drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
exynos Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
fsl-dcu
gma500 Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
gud drm/format-helper: Split off byte swapping from drm_fb_xrgb8888_to_rgb565() 2025-06-27 15:59:23 +02:00
hisilicon drm/hisilicon/hibmc: fix dp and vga cannot show together 2025-08-17 18:32:31 +03:00
hyperv drm/hyperv: Add support for drm_panic 2025-06-05 14:59:56 +02:00
i915 drm/i915/psr: Do not trigger Frame Change events from frontbuffer flush 2025-08-12 09:05:11 +01:00
imagination drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
imx
ingenic drm: Pass the format info to .fb_create() 2025-07-16 20:03:14 +03:00
kmb
lib drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
lima drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
logicvc
loongson
mcde
mediatek drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
meson drm-misc-next for 6.17: 2025-06-18 08:09:35 +10:00
mgag200 drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
msm Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
mxsfb drm: Pass the format info to .fb_create() 2025-07-16 20:03:14 +03:00
nouveau nouveau: fix disabling the nonstall irq due to storm code 2025-08-29 18:36:23 +02:00
nova drm: nova-drm: fix 32-bit arm build 2025-08-15 23:04:08 +02:00
omapdrm Short summary of fixes pull: 2025-08-14 07:51:34 +10:00
panel drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
panfrost Short summary of fixes pull: 2025-08-14 07:51:34 +10:00
panthor drm/sched: Rename DRM_GPU_SCHED_STAT_NOMINAL to DRM_GPU_SCHED_STAT_RESET 2025-07-15 08:27:00 -03:00
pl111
qxl drm/gem: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-07-16 20:05:58 +03:00
radeon drm/radeon: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-08-06 15:26:16 +03:00
renesas drm: Pass the format info to .fb_create() 2025-07-16 20:03:14 +03:00
rockchip drm/rockchip: vop2: make vp registers nonvolatile 2025-08-14 11:44:27 +02:00
scheduler drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
sitronix drm/sitronix/st7571-i2c: Add support for the ST7567 Controller 2025-07-16 12:12:39 +02:00
solomon drm/ssd130x: fix ssd132x_clear_screen() columns 2025-06-12 14:04:56 +02:00
sprd
sti drm/sti: hda: convert to devm_drm_bridge_alloc() API 2025-07-09 11:24:45 +02:00
stm drm/bridge: stm_lvds: convert to devm_drm_bridge_alloc() API 2025-05-21 13:40:09 +02:00
sun4i drm: sun4i: de33: mixer: add mixer configuration for the H616 2025-06-02 09:59:10 +02:00
sysfb drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
tegra Revert "drm/tegra: Use dma_buf from GEM object instance" 2025-08-26 10:41:27 +02:00
tests drm/tests: Fix drm_test_fb_xrgb8888_to_xrgb2101010() on big-endian 2025-08-11 17:24:15 +02:00
tidss drm/tidss: oldi: convert to devm_drm_bridge_alloc() API 2025-07-18 14:55:57 +03:00
tilcdc
tiny drm/bochs: Add support for drm_panic 2025-06-23 11:30:18 +02:00
ttm Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
tve200
udl drm/gem-shmem: Do not map s/g table by default 2025-07-07 15:23:41 +02:00
v3d Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
vboxvideo
vc4 drm: Pass the format info to .fb_create() 2025-07-16 20:03:14 +03:00
vgem drm/vgem/vgem_drv convert to use faux_device 2025-07-07 15:24:14 +02:00
virtio virtio, vhost: features, fixes 2025-08-01 14:17:48 -07:00
vkms drm/vkms: convert to use faux_device 2025-07-07 15:24:03 +02:00
vmwgfx drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
xe drm/xe/pf: Set VF LMEM BAR size 2025-08-14 10:30:53 -04:00
xen drm/gem: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-07-16 20:05:58 +03:00
xlnx drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_atomic_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_atomic_state_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_atomic_uapi.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_atomic.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_auth.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_blend.c
drm_bridge_helper.c drm/bridge: Include <linux/export.h> 2025-06-16 09:02:25 +02:00
drm_bridge.c drm/bridge: Describe the newly introduced drm_connector parameter for drm_bridge_detect 2025-08-04 10:39:21 +03:00
drm_buddy.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_cache.c drm/gpu: Remove dead checks on wbinvd_on_all_cpus()'s return value 2025-07-10 13:07:26 +02:00
drm_client_event.c drm/client: Include <linux/export.h> 2025-06-16 09:02:29 +02:00
drm_client_modeset.c drm/client: Include <linux/export.h> 2025-06-16 09:02:29 +02:00
drm_client.c drm/client: Include <linux/export.h> 2025-06-16 09:02:29 +02:00
drm_color_mgmt.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_connector.c drm/connector: move HDR sink metadata to display info 2025-06-23 21:44:55 +03:00
drm_crtc_helper_internal.h
drm_crtc_helper.c
drm_crtc_internal.h
drm_crtc.c
drm_damage_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_debugfs_crc.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_debugfs.c drm: add debugfs support on per client-id basis 2025-07-04 15:59:06 +02:00
drm_displayid_internal.h
drm_displayid.c
drm_draw_internal.h
drm_draw.c
drm_drv.c drm: move drm based debugfs funcs to drm_debugfs.c 2025-07-04 15:58:22 +02:00
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c drm-misc-next for 6.17: 2025-06-27 09:58:05 +10:00
drm_eld.c
drm_encoder.c
drm_exec.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_fb_dma_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_fb_helper.c drm/client: Include <linux/export.h> 2025-06-16 09:02:29 +02:00
drm_fbdev_dma.c drm/client: Include <linux/export.h> 2025-06-16 09:02:29 +02:00
drm_fbdev_shmem.c drm/client: Include <linux/export.h> 2025-06-16 09:02:29 +02:00
drm_fbdev_ttm.c drm/client: Include <linux/export.h> 2025-06-16 09:02:29 +02:00
drm_file.c drm: add debugfs support on per client-id basis 2025-07-04 15:59:06 +02:00
drm_flip_work.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_format_helper.c drm/format-helper: Split off byte swapping from drm_fb_xrgb8888_to_rgb565() 2025-06-27 15:59:23 +02:00
drm_format_internal.h drm/format-helper: Split off byte swapping from drm_fb_xrgb8888_to_rgb565() 2025-06-27 15:59:23 +02:00
drm_fourcc.c drm: Pass pixel_format+modifier directly to drm_get_format_info() 2025-07-16 20:01:13 +03:00
drm_framebuffer.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_gem_atomic_helper.c drm/gem: Include <linux/export.h> 2025-06-16 09:02:35 +02:00
drm_gem_dma_helper.c Revert "drm/gem-dma: Use dma_buf from GEM object instance" 2025-07-17 12:26:19 +02:00
drm_gem_framebuffer_helper.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_gem_shmem_helper.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_gem_ttm_helper.c drm/gem: Include <linux/export.h> 2025-06-16 09:02:35 +02:00
drm_gem_vram_helper.c drm/gem: Include <linux/export.h> 2025-06-16 09:02:35 +02:00
drm_gem.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_gpusvm.c drm/pagemap: Add a populate_mm op 2025-06-26 18:00:09 +02:00
drm_gpuvm.c drm/gpuvm: fix various typos in .c and .h gpuvm file 2025-08-25 21:48:50 +02:00
drm_internal.h drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_ioc32.c
drm_ioctl.c
drm_kms_helper_common.c
drm_lease.c
drm_managed.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_mipi_dbi.c drm/format-helper: Split off byte swapping from drm_fb_xrgb8888_to_rgb565() 2025-06-27 15:59:23 +02:00
drm_mipi_dsi.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_mm.c
drm_mode_config.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c drm: Make passing of format info to drm_helper_mode_fill_fb_struct() mandatory 2025-07-16 20:12:35 +03:00
drm_modeset_lock.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_of.c
drm_pagemap.c drm/xe: Implement and use the drm_pagemap populate_mm op 2025-06-26 18:00:10 +02:00
drm_panel_backlight_quirks.c drm/panel: Include <linux/export.h> 2025-06-16 09:02:39 +02:00
drm_panel_orientation_quirks.c drm/panel: Include <linux/export.h> 2025-06-16 09:02:39 +02:00
drm_panel.c drm/panel: Include <linux/export.h> 2025-06-16 09:02:39 +02:00
drm_panic_qr.rs drm/panic: Add a u64 divide by 10 for arm32 2025-08-12 09:33:05 +02:00
drm_panic.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_pci.c drm: Do not include <linux/export.h> 2025-06-16 09:00:09 +02:00
drm_plane_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_plane.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_prime.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_print.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_privacy_screen_x86.c
drm_privacy_screen.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_self_refresh_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_simple_kms_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_suballoc.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_syncobj.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_sysfs.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
drm_trace_points.c
drm_trace.h
drm_vblank_work.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_vblank.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
drm_vma_manager.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_writeback.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
Kconfig pci-v6.16-changes 2025-06-04 11:26:17 -07:00
Kconfig.debug drm/format-helper: Move drm_fb_build_fourcc_list() to sysfb helpers 2025-06-18 10:46:03 +02:00
Makefile drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap 2025-06-26 18:00:07 +02:00