linux/drivers/gpu/drm
Tangudu Tilak Tirumalesh d3f1b058a7 drm/xe/ggtt: invalidate engine GGTT TLBs for multi-queue GTs
Engines cache GGTT translations in their own TLBs, which the
xe_tlb_inval_ggtt() does not touch.
After a GGTT unmap the engines can still hit the stale translation and
read the old page.

Issue an INVAL_FULL (intra vf) invalidation on GGTT unmap, gated on the
GT having any multi-queue engine class.

v2:
- Use xe_gt_has_multi_queue() helper and address nits (Niranjana)
v3:
- Invalidate both the primary and media GTs, similar to
  xe_ggtt_invalidate() (Matt Brost)
v5:
- Guard NULL gt and explain the multi-queue-only engine flush
  (Niranjana)

Assisted-by: Claude:claude-opus-4-8
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
Signed-off-by: Tangudu Tilak Tirumalesh <tilak.tirumalesh.tangudu@intel.com>
Link: https://patch.msgid.link/20260827082011.3370672-4-tilak.tirumalesh.tangudu@intel.com
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
2026-08-28 13:41:47 -07:00
..
adp drm/adp: mipi: Add atomic bridge state handlers 2026-07-15 09:45:46 +02:00
amd drm/amd/amdgpu: remove duplicated code in gfx_v11 and gfx_v12 2026-07-29 17:56:28 -04:00
arm drm/arm/komeda: fix error handling for clk_prepare_enable() and callers 2026-06-30 15:26:54 +01:00
armada
aspeed Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
ast
atmel-hlcdc
bridge drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
ci Merge tag 'drm-msm-next-2026-05-30' of https://gitlab.freedesktop.org/drm/msm into drm-next 2026-06-04 06:41:22 +10:00
clients drm/client: log: Look up glyph shape with font helper 2026-06-04 09:44:09 +02:00
display Merge tag 'drm-intel-next-2026-07-28' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next 2026-08-01 06:05:01 +10:00
etnaviv drm/etnaviv: force flush on power register ops 2026-07-23 10:25:10 +02:00
exynos drm/exynos: hdmi: take i2c adapter module reference 2026-08-02 14:54:06 +09:00
fsl-dcu drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
gma500 drm/gma500: Remove dependency on DRM simple helpers 2026-07-17 09:53:59 +02:00
gud
hisilicon drm-misc-next for 7.3: 2026-07-07 09:34:04 +10:00
hyperv drm/hyperv: Move MODULE_DEVICE_TABLE to the device_id arrays 2026-07-20 10:33:49 -04:00
i915 Merge tag 'drm-intel-next-2026-07-28' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next 2026-08-01 06:05:01 +10:00
imagination drm/imagination: promote BXM-4-64 MC1 (36.52.104.182) to supported status 2026-07-24 08:37:01 +01:00
imx drm: fix missing header include for drm_panel_put() 2026-07-22 13:50:27 +02:00
ingenic drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
kmb
lima drm/lima: call drm_mm_init() with a valid allocation range 2026-06-30 14:07:22 +08:00
logicvc drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
loongson drm: Consistently define pci_device_ids using named initializers 2026-06-17 11:07:01 +02:00
mcde drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
mediatek drm/mediatek: dpi: Switch to atomic bridge callbacks 2026-07-15 09:46:11 +02:00
meson drm-misc-next for 7.3: 2026-07-07 09:34:04 +10:00
mgag200 drm: Consistently define pci_device_ids using named initializers 2026-06-17 11:07:01 +02:00
msm drm/msm: dsi: Switch to atomic bridge callbacks 2026-07-15 09:46:11 +02:00
mxsfb drm: fix missing header include for drm_panel_put() 2026-07-22 13:50:27 +02:00
nouveau drm/nouveau: Omit a redundant pm_runtime_mark_last_busy() call in nouveau_pmops_runtime_idle() 2026-07-17 17:18:01 -04:00
nova
omapdrm drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
panel drm/panel: simple: Add Kyocera tcg070wvlq panel 2026-07-22 13:44:36 +02:00
panfrost drm/panfrost: Remove unused scheduled_jobs list 2026-07-20 17:55:43 +01:00
panthor drm/panthor: Remove redundant drm_sched_job_cleanup() from the .free_job callback 2026-07-09 13:14:10 +01:00
pl111 drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
qxl drm/qxl: remove dependency on DRM simple helpers 2026-07-10 15:08:57 +02:00
radeon drm/radeon: Only define radeon_acpi_vfct_match when actually used 2026-07-16 18:27:48 -04:00
renesas drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
rockchip drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
scheduler drm-misc-next for 7.3: 2026-07-06 17:38:49 +10:00
sitronix
solomon drm/solomon: remove unneeded variables in blit functions 2026-07-16 10:21:02 +02:00
sprd Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
sti drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
stm drm: fix missing header include for drm_panel_put() 2026-07-22 13:50:27 +02:00
sun4i drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
sysfb drm/sysfb: simpledrm: Read panel orientation from DT node 2026-07-08 13:44:40 +02:00
tegra drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
tests drm/bridge: Remove legacy bridge callback support 2026-07-15 09:46:16 +02:00
tidss drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
tilcdc Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
tiny drm-misc-next for 7.3: 2026-07-06 17:38:49 +10:00
ttm dma-buf: rename dma_fence_enable_sw_signaling 2026-07-01 16:52:48 +02:00
tve200 drm/tve200: add OF module alias for autoloading 2026-07-24 09:21:03 +02:00
tyr
udl
v3d drm/v3d: Associate BOs with every job that accesses them 2026-07-18 10:28:44 -03:00
vboxvideo
vc4 drm/vc4: hdmi: take i2c adapter module reference 2026-07-18 11:10:13 -03:00
verisilicon drm/verisilicon: Switch to atomic_create_state 2026-06-22 11:24:55 +02:00
vgem
virtio drm-misc-next for 7.3: 2026-07-07 09:34:04 +10:00
vkms
vmwgfx
xe drm/xe/ggtt: invalidate engine GGTT TLBs for multi-queue GTs 2026-08-28 13:41:47 -07:00
xen
xlnx drm/xlnx: zynqmp_dp: Switch to atomic_create_state 2026-06-22 11:24:56 +02:00
drm_atomic_helper.c drm/atomic-helper: Add HDMI bridge output bus formats helper 2026-06-09 21:03:50 +01:00
drm_atomic_state_helper.c drm/bridge: Remove atomic_reset support 2026-06-22 11:25:00 +02:00
drm_atomic_uapi.c drm-misc-next for 7.3: 2026-07-06 17:38:49 +10:00
drm_atomic.c drm/bridge: rename drm_for_each_bridge_in_chain_scoped() to drm_for_each_bridge_in_chain() 2026-07-14 17:55:51 +02:00
drm_auth.c
drm_blend.c drm/drm_blend: allow blend mode property without PREMULTI 2026-07-14 19:22:48 +01:00
drm_bridge_helper.c
drm_bridge.c drm/bridge: Remove legacy bridge callback support 2026-07-15 09:46:16 +02:00
drm_buddy.c
drm_cache.c
drm_client_event.c
drm_client_modeset.c
drm_client_sysrq.c
drm_client.c
drm_color_mgmt.c mm.git review status for mm-hotfixes-stable..mm-nonmm-stable 2026-06-21 13:20:19 -07:00
drm_colorop.c drm-misc-next for 7.3: 2026-07-06 17:38:49 +10:00
drm_connector.c drm-misc-next for 7.3: 2026-07-06 17:38:49 +10:00
drm_crtc_helper_internal.h
drm_crtc_helper.c
drm_crtc_internal.h
drm_crtc.c
drm_damage_helper.c
drm_debugfs_crc.c
drm_debugfs.c
drm_displayid_internal.h Merge drm/drm-next into drm-misc-next 2026-06-30 10:16:00 +02:00
drm_displayid.c
drm_draw_internal.h drm/draw: Remove unused helper drm_draw_get_char_bitmap() 2026-06-04 09:44:11 +02:00
drm_draw.c
drm_drv.c drm: Add DRM_WEDGE_RECOVERY_COLD_RESET recovery method 2026-08-13 09:41:10 -04:00
drm_dumb_buffers.c drm-misc-next for 7.3: 2026-07-06 17:38:49 +10:00
drm_edid_load.c
drm_edid.c Merge drm/drm-next into drm-misc-next 2026-06-30 10:16:00 +02:00
drm_eld.c
drm_encoder.c
drm_exec.c drm/exec: Use kvmalloc_objs for exec->objects 2026-07-07 23:16:33 +08:00
drm_fb_dma_helper.c
drm_fb_helper.c drm/fb-helper: Remove unused local variable in hotplug_event() 2026-06-24 16:00:41 +02:00
drm_fbdev_dma.c
drm_fbdev_shmem.c
drm_fbdev_ttm.c
drm_file.c
drm_flip_work.c
drm_format_helper.c
drm_format_internal.h
drm_fourcc.c
drm_framebuffer.c
drm_gem_atomic_helper.c
drm_gem_dma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c Merge drm/drm-next into drm-misc-next 2026-06-30 10:16:00 +02:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c
drm_gem.c drm-misc-next for 7.3: 2026-07-06 17:38:49 +10:00
drm_gpusvm.c drm/gpusvm: let the drm_gpusvm core context purely MM level 2026-07-09 04:12:49 -07:00
drm_gpuvm.c drm/gpuvm: Remove dead code 2026-07-03 23:32:55 +02:00
drm_internal.h
drm_ioc32.c
drm_ioctl.c drm/gem: Try to fix change_handle ioctl, attempt 4 2026-06-06 08:54:55 +10:00
drm_kms_helper_common.c
drm_lease.c
drm_managed.c
drm_mipi_dbi.c
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c drm: ensure blend mode supported if pixel format with alpha exposed 2026-07-14 19:24:39 +01:00
drm_mode_object.c
drm_modes.c drm/modes: Add DRM_MODE_MATCH_TIMINGS_VRR 2026-06-24 18:54:10 +03:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c drm/panel: of_drm_find_panel() return a counted reference 2026-07-20 15:07:22 +02:00
drm_pagemap_util.c
drm_pagemap.c
drm_panel_backlight_quirks.c drm/amd/display: Force PWM backlight on Lenovo Legion 5 15ARH05 2026-07-15 09:15:43 -04:00
drm_panel_orientation_quirks.c
drm_panel.c drm/panel: find_panel_by_fwnode() return a counted reference 2026-07-20 15:08:08 +02:00
drm_panel.c.orig drm/panel: find_panel_by_fwnode() return a counted reference 2026-07-20 15:08:08 +02:00
drm_panic_qr.rs
drm_panic.c drm/panic: Look up glyph shape with font helper 2026-06-04 09:44:10 +02:00
drm_pci.c
drm_plane_helper.c
drm_plane.c
drm_prime.c
drm_print.c
drm_privacy_screen_x86.c
drm_privacy_screen.c
drm_probe_helper.c drm: Send per-connector hotplug events 2026-07-21 17:06:42 +01:00
drm_property.c
drm_ras_genl_family.c
drm_ras_nl.c drm/ras: Introduce error threshold 2026-08-28 12:35:23 -04:00
drm_ras_nl.h drm/ras: Introduce error threshold 2026-08-28 12:35:23 -04:00
drm_ras.c drm/ras: Introduce error threshold 2026-08-28 12:35:23 -04:00
drm_rect.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c
drm_syncobj.c drm/syncobj: Use kmalloc_objs for chains 2026-07-07 23:26:39 +08:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank_helper.c
drm_vblank_work.c
drm_vblank.c
drm_vma_manager.c
drm_writeback.c drm: writeback: Document behaviour for framebuffer size mismatch 2026-06-15 22:28:26 +01:00
Kconfig
Kconfig.debug
Makefile