linux/drivers/gpu/drm
Tangudu Tilak Tirumalesh 6a1e7934d9 Revert "drm/xe: Skip exec queue schedule toggle if queue is idle during suspend"
This reverts commit 8533051ce9.

The idle-skip optimization bypasses GuC suspend, so the GPU may not
perform the context switch that flushes TLB entries for invalidated
userptr VMAs. In LR/preempt-fence VM mode, this can lead to missed TLB
invalidation and page faults during userptr invalidation tests.

Restore unconditional schedule toggling on suspend so the context-switch
TLB flush is always performed.

This optimization will be reintroduced with a fix that does not skip
suspend in LR/preempt-fence VM mode.

Fixes: 8533051ce9 ("drm/xe: Skip exec queue schedule toggle if queue is idle during suspend")
Cc: stable@vger.kernel.org # v7.0+
Suggested-by: Thomas Hellstrom <thomas.hellstrom@linux.intel.com>
Signed-off-by: Tangudu Tilak Tirumalesh <tilak.tirumalesh.tangudu@intel.com>
Reviewed-by: Thomas Hellstrom <thomas.hellstrom@linux.intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patch.msgid.link/20260603065217.3131066-2-tilak.tirumalesh.tangudu@intel.com
2026-06-03 13:47:00 -07:00
..
adp drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
amd amd-drm-next-7.2-2026-05-06: 2026-05-07 09:50:50 +10:00
arm drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
armada drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
aspeed
ast drm-misc-next for v7.1-rc1: 2026-05-06 10:12:25 +10:00
atmel-hlcdc drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
bridge drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
ci drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
clients Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
display drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
etnaviv drm/etnaviv: use kzalloc_flex 2026-05-05 12:15:05 +02:00
exynos drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
fsl-dcu drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
gma500 drm/gma500: Drop unused include of <drm/drm_pciids.h> 2026-05-06 10:07:53 +02:00
gud drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
hisilicon drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
hyperv drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
i915 drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
imagination drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
imx drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
ingenic drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
kmb drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
lima drm/lima: Remove drm_sched_init_args->num_rqs usage 2026-04-17 14:43:29 +02:00
logicvc drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
loongson drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
mcde drm/mcde: dsi: convert to of_drm_find_and_get_bridge() 2026-02-23 10:10:34 +01:00
mediatek drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
meson drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
mgag200 drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
msm drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
mxsfb drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
nouveau drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
nova rust: gem: Introduce DriverObject::Args 2026-03-26 02:08:04 +01:00
omapdrm drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
panel drm-misc-next for v7.1-rc1: 2026-05-06 10:12:25 +10:00
panfrost drm/panfrost: Remove drm_sched_init_args->num_rqs usage 2026-04-17 14:43:29 +02:00
panthor drm/panthor: Fix missing declaration for panthor_transparent_hugepage 2026-05-07 09:06:10 +01:00
pl111 Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
qxl drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
radeon amd-drm-next-7.2-2026-05-06: 2026-05-07 09:50:50 +10:00
renesas drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
rockchip drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
scheduler drm/sched: Remove drm_sched_init_args->num_rqs usage 2026-04-17 14:43:29 +02:00
sitronix drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
solomon drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
sprd drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
sti drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
stm drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
sun4i drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
sysfb drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
tegra drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
tests drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
tidss drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
tilcdc drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
tiny drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
ttm drm/ttm/tests: Remove checks from ttm_pool_free_no_dma_alloc 2026-04-10 06:54:49 +10:00
tve200 drm/tve200: Fix probe cleanup after register failure 2026-05-05 11:16:39 +02:00
tyr drm for v7.1-rc1 2026-04-15 08:45:00 -07:00
udl drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
v3d drm-misc-next for v7.1-rc1: 2026-05-06 10:12:25 +10:00
vboxvideo drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
vc4 drm-misc-next for v7.1-rc1: 2026-05-06 10:12:25 +10:00
verisilicon drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
vgem Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
virtio drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
vkms drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
vmwgfx drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
xe Revert "drm/xe: Skip exec queue schedule toggle if queue is idle during suspend" 2026-06-03 13:47:00 -07:00
xen Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
xlnx drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
drm_atomic_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_atomic_state_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_atomic_uapi.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_atomic.c drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
drm_auth.c drm/auth: Only drm_drop_master if it exists 2026-04-21 22:05:51 +08:00
drm_blend.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_bridge_helper.c
drm_bridge.c drm-misc-next for v7.2-rc1: 2026-05-08 14:16:04 +10:00
drm_buddy.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
drm_cache.c
drm_client_event.c
drm_client_modeset.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_client_sysrq.c
drm_client.c drm/client: Export drm_client_buffer_create() 2026-03-03 09:28:31 +01:00
drm_color_mgmt.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_colorop.c drm/colorop: Check if getting curve_1d_type default succeeds 2026-04-17 03:11:21 +08:00
drm_connector.c drm/connector: Make drm_connector_attach_hdr_output_metadata_property() return void 2026-04-10 10:59:09 -03:00
drm_crtc_helper_internal.h
drm_crtc_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_crtc_internal.h drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_crtc.c drm/simple-kms: Deprecate simple-kms helpers 2026-03-25 15:05:22 +01:00
drm_damage_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_debugfs_crc.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
drm_debugfs.c drm/debug: don't register files for unsupported HDMI InfoFrames 2026-01-19 13:11:47 +02:00
drm_displayid_internal.h
drm_displayid.c
drm_draw_internal.h drm/draw: add drm_draw_can_convert_from_xrgb8888 2025-12-19 23:06:41 +01:00
drm_draw.c drm/draw: add drm_draw_can_convert_from_xrgb8888 2025-12-19 23:06:41 +01:00
drm_drv.c drm-misc-next for v7.1: 2026-03-27 12:45:54 +10:00
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c Revert "drm/edid: add CTA Video Format Data Block support" 2026-05-06 11:22:15 +02:00
drm_eld.c
drm_encoder.c drm/encoder: drm_encoder_cleanup: lock the encoder chain mutex during removal 2026-04-16 09:08:42 +02:00
drm_exec.c
drm_fb_dma_helper.c
drm_fb_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_fbdev_dma.c
drm_fbdev_shmem.c
drm_fbdev_ttm.c
drm_file.c Revert "drm: Fix use-after-free on framebuffers and property blobs when calling drm_dev_unplug" 2026-03-26 14:09:26 +01:00
drm_flip_work.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
drm_format_helper.c
drm_format_internal.h
drm_fourcc.c drm/fourcc: Add DRM_FORMAT_XVUY2101010 2026-05-05 14:04:29 +03:00
drm_framebuffer.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_gem_atomic_helper.c drm/simple-kms: Deprecate simple-kms helpers 2026-03-25 15:05:22 +01:00
drm_gem_dma_helper.c drm/gem-dma: set VM_DONTDUMP for mmap 2026-03-26 14:35:18 +08:00
drm_gem_framebuffer_helper.c drm/gem: Fix inconsistent plane dimension calculation in drm_gem_fb_init_with_funcs() 2026-04-27 11:27:22 +02:00
drm_gem_shmem_helper.c drm/shmem_helper: Make sure PMD entries get the writeable upgrade 2026-04-03 10:11:04 +02:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c drm/vram: remove DRM_VRAM_MM_FILE_OPERATIONS from docs 2026-04-09 09:34:28 +02:00
drm_gem.c drm-misc-next for v7.1-rc1: 2026-05-06 10:12:25 +10:00
drm_gpusvm.c drm-misc-next for v7.1-rc1: 2026-05-06 10:12:25 +10:00
drm_gpuvm.c drm/gpuvm: Do not prepare NULL objects 2026-04-17 02:27:17 +08:00
drm_internal.h
drm_ioc32.c drm/ioc32: stop speculation on the drm_compat_ioctl path 2026-04-02 08:24:55 +02:00
drm_ioctl.c drm/colorop: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE 2025-11-26 23:03:32 +01:00
drm_kms_helper_common.c
drm_lease.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
drm_managed.c
drm_mipi_dbi.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_mipi_dsi.c drm/mipi-dsi: add mipi_dsi_shutdown_peripheral_multi 2026-04-24 10:12:16 -07:00
drm_mm.c
drm_mode_config.c Linux 7.0-rc7 2026-04-07 12:36:31 +02:00
drm_mode_object.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_modes.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
drm_modeset_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_modeset_lock.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
drm_of.c drm/of: add helper to count data-lanes on a remote endpoint 2026-04-18 02:10:37 +03:00
drm_pagemap_util.c drm/pagemap_util: Ensure proper cache lock management on free 2026-03-17 15:39:07 +01:00
drm_pagemap.c drm/pagemap: Fix drm_pagemap_migrate_unmap_pages kerneldoc 2026-04-12 20:51:15 -07:00
drm_panel_backlight_quirks.c
drm_panel_orientation_quirks.c
drm_panel.c drm/panel: add devm_drm_panel_add() helper 2026-04-18 02:10:37 +03:00
drm_panic_qr.rs
drm_panic.c drm/panic: Fix expected string for QR_CODE in drm_panic_type_map 2026-01-09 08:53:27 +00:00
drm_pci.c
drm_plane_helper.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
drm_plane.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
drm_prime.c drm/prime: Limit scatter list size with dedicated DMA device 2026-03-23 13:23:29 +08:00
drm_print.c
drm_privacy_screen_x86.c
drm_privacy_screen.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
drm_probe_helper.c drm/probe-helper: replace use of system_wq with system_percpu_wq 2026-02-09 09:41:09 +01:00
drm_property.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
drm_ras_genl_family.c drm/ras: Introduce the DRM RAS infrastructure over generic netlink 2026-03-05 19:38:55 -05:00
drm_ras_nl.c drm/drm_ras: Add clear-error-counter netlink command to drm_ras 2026-04-24 08:43:42 -04:00
drm_ras_nl.h drm/drm_ras: Add clear-error-counter netlink command to drm_ras 2026-04-24 08:43:42 -04:00
drm_ras.c drm/drm_ras: Add clear-error-counter netlink command to drm_ras 2026-04-24 08:43:42 -04:00
drm_rect.c
drm_self_refresh_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_simple_kms_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_suballoc.c Merge tag 'drm-xe-next-2026-03-02' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next 2026-03-03 10:37:29 +10:00
drm_syncobj.c drm/syncobj: Fix xa_alloc allocation flags 2026-03-25 08:05:35 +00:00
drm_sysfs.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
drm_trace_points.c
drm_trace.h
drm_vblank_helper.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
drm_vblank_work.c
drm_vblank.c drm/vblank: Extract get_vblank_counter_and_timestamp() 2026-03-27 13:40:44 +02:00
drm_vma_manager.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
drm_writeback.c dma-buf: inline spinlock for fence protection v5 2026-02-23 16:14:19 +01:00
Kconfig DRM Rust changes for v7.1-rc1 2026-04-01 07:32:05 +10:00
Kconfig.debug drm: fix dead default for DRM_TTM_KUNIT_TEST 2026-03-24 16:19:04 +01:00
Makefile Merge drm/drm-next into drm-xe-next 2026-03-12 07:23:23 -07:00