linux/drivers/gpu/drm/xe
Fan Wu 611857adc9
drm/xe/i2c: cancel the client work on remove
xe_i2c_notifier() stores the DesignWare adapter in i2c->adapter and
schedules i2c->work when the adapter is registered under the xe I2C
platform device, and xe_i2c_client_work() then instantiates the AMC
client device on that adapter.

xe_i2c_remove() tears down the AMC, unregisters the client devices,
the bus notifier and the adapter platform device, but it never drains
i2c->work. A work item that is still queued or running when the
adapter is unregistered dereferences i2c->adapter in
i2c_new_client_device() after platform_device_unregister() has
released the adapter. The work item is also embedded in the
devm-allocated struct xe_i2c, so a work item still queued after the
drm device devm unwind frees that allocation runs its callback on
freed memory.

The bus notifier is the only thing that schedules this work, and it is
unregistered after the client devices. An instance that is still queued
when the teardown runs can therefore write
i2c->client[XE_I2C_CLIENT_AMC] while the loop is unregistering and
clearing the same array, and an AMC client it instantiates late is only
cleaned up by the adapter's own child sweep in i2c_del_adapter().

Move bus_unregister_notifier() in front of the client teardown loop
and cancel the work right after it, so no new instance can be
scheduled and a queued instance is drained before the client array is
touched. A running instance still finds a live adapter, since the
adapter is unregistered later.

Fixes: f0e53aadd7 ("drm/xe: Support for I2C attached MCUs")
Link: https://lore.kernel.org/intel-xe/20260912085932.101598-1-fanwu01@zju.edu.cn/
Cc: stable@vger.kernel.org
Assisted-by: LLM, in-house static analysis tool
Co-developed-by: Song Li <songl@zju.edu.cn>
Signed-off-by: Song Li <songl@zju.edu.cn>
Signed-off-by: Fan Wu <fanwu01@zju.edu.cn>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://patch.msgid.link/20260928013030.612592-1-fanwu01@zju.edu.cn
Link: https://patch.msgid.link/20261006000413.318561-2-rodrigo.vivi@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
(cherry picked from commit a23f27d5ec11c3f418c5e5531eea34ccda2b5b20)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2026-10-07 09:22:03 -04:00
..
abi drm/xe/guc: Formalize Reserved KLVs 2026-07-11 16:15:27 +02:00
compat-i915-headers drm/xe/display: Add init_clock_gating.h stubs 2026-04-16 19:24:22 +03:00
display drm/xe: Fix shrinker accounting double-subtraction on nested external pins 2026-10-05 17:47:35 -04:00
instructions drm/xe: Flush LSC untyped L1 dataport cache after rcs/ccs batches 2026-09-09 11:20:39 -04:00
regs drm/xe/gt_throttle: Report power brake as a throttle reason on CRI 2026-09-21 08:58:56 -04:00
tests drm/xe: tests: fix error message in xe_migrate_sanity_test() 2026-08-17 15:45:21 -04:00
.gitignore drm/xe/kunit: Add display test config 2026-07-09 10:38:03 +03:00
.kunitconfig
.kunitconfig-display drm/xe/kunit: Add display test config 2026-07-09 10:38:03 +03:00
Kconfig drm/xe: Select CONFIG_DEVICE_PRIVATE when DRM_XE_GPUSVM is selected 2026-01-22 11:27:25 +01:00
Kconfig.debug drm/xe: add page size allocation control state to xe_device 2026-07-30 08:49:34 +05:30
Kconfig.profile drm/xe: improve Kconfig.profile help text for scheduler timeouts 2026-06-08 20:57:04 -04:00
Makefile drm/xe/i2c: Fix the interrupt handling 2026-08-27 12:00:16 -04:00
xe_amc.c treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
xe_amc.h drm/xe/i2c: Fix the interrupt handling 2026-08-27 12:00:16 -04:00
xe_args.h drm/xe: Introduce IF_ARGS macro utility 2025-12-17 23:42:40 +01:00
xe_assert.h
xe_bb_types.h
xe_bb.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
xe_bb.h drm/xe/vf: Fix fs_reclaim warning with CCS save/restore BB allocation 2026-02-20 10:54:03 -08:00
xe_bo_doc.h
xe_bo_evict.c
xe_bo_evict.h
xe_bo_types.h drm/xe: Hold a dma-buf reference for imported BOs 2026-07-16 16:32:19 +02:00
xe_bo.c drm/xe: Fix stale pinned_link entry when fb-pin performs the final unpin 2026-10-05 17:47:45 -04:00
xe_bo.h drm/xe: Fix shrinker accounting double-subtraction on nested external pins 2026-10-05 17:47:35 -04:00
xe_configfs.c drm/xe/configfs: Add enable_multi_queue attribute 2026-07-10 08:08:47 -07:00
xe_configfs.h drm/xe/configfs: Add enable_multi_queue attribute 2026-07-10 08:08:47 -07:00
xe_debugfs.c drm/xe/debugfs: add page-size allocation mode knob 2026-07-30 08:49:34 +05:30
xe_debugfs.h drm/xe: Consolidate debugfs fault injection functions 2026-07-16 10:15:25 +05:30
xe_defaults.h drm/xe: Don't expose display modparam if no display support 2026-02-26 13:44:55 +01:00
xe_dep_job_types.h
xe_dep_scheduler.c Revert "drm/xe: Remove drm_sched_init_args->num_rqs usage" 2026-08-11 17:34:00 +01:00
xe_dep_scheduler.h drm/xe: Add missing include guards to unprotected headers 2026-04-06 08:52:53 -07:00
xe_devcoredump_types.h
xe_devcoredump.c drm/xe: Don't use UTS_RELEASE directly 2026-04-28 16:20:33 -04:00
xe_devcoredump.h
xe_device_sysfs.c drm/xe/sysfs: Use scope-based runtime power management 2025-11-19 11:58:58 -08:00
xe_device_sysfs.h
xe_device_types.h drm/xe: add page size allocation control state to xe_device 2026-07-30 08:49:34 +05:30
xe_device_wa_oob.rules drm/xe/oa: MERTOA Wa_14026779378 2026-05-12 14:34:48 -07:00
xe_device.c mm.git review status for linus..mm-stable 2026-08-27 09:17:06 -07:00
xe_device.h drm/xe: add page size allocation control state to xe_device 2026-07-30 08:49:34 +05:30
xe_dma_buf.c drm/xe: Hold a dma-buf reference for imported BOs 2026-07-16 16:32:19 +02:00
xe_dma_buf.h
xe_drm_client.c drm/xe: fix NPD in bo_meminfo() 2026-07-02 12:29:43 +02:00
xe_drm_client.h
xe_drm_ras_types.h drm/xe/xe_hw_error: Integrate DRM RAS with hardware error handling 2026-03-05 19:38:56 -05:00
xe_drm_ras.c drm/xe/drm_ras: Move has_drm_ras check to drm_ras layer 2026-08-13 08:32:13 -04:00
xe_drm_ras.h drm/xe: Add missing leading underscore to include guards 2026-04-06 08:52:53 -07:00
xe_drv.h
xe_eu_stall.c drm/xe/eustall: Add WA 14027054324 support for graphics IP 35.11 2026-07-24 14:07:28 -07:00
xe_eu_stall.h drm/xe: Normalize double-underscore include guards to single-underscore 2026-04-06 08:52:53 -07:00
xe_exec_queue_types.h drm/xe/multi_queue: preempt primary on queue group suspend 2026-07-13 13:29:26 -07:00
xe_exec_queue.c Linux 7.2 2026-08-20 10:58:44 +10:00
xe_exec_queue.h Revert "drm/xe: Skip exec queue schedule toggle if queue is idle during suspend" 2026-06-16 10:18:18 -07:00
xe_exec.c drm/xe: Wait on external BO kernel fences in exec IOCTL 2026-07-09 12:09:24 +02:00
xe_exec.h
xe_execlist_types.h
xe_execlist.c Linux 7.2 2026-08-20 10:58:44 +10:00
xe_execlist.h
xe_force_wake_types.h
xe_force_wake.c drm/xe: Add forcewake status to powergate_info 2026-02-05 14:33:44 -08:00
xe_force_wake.h drm/xe: Add forcewake status to powergate_info 2026-02-05 14:33:44 -08:00
xe_gen_wa_oob.c drm/xe: Don't use absolute path in generated header comment 2025-12-23 10:05:06 -05:00
xe_ggtt_types.h drm/xe: Open-code GGTT MMIO access protection 2026-03-19 17:13:54 +01:00
xe_ggtt.c drm/xe/ggtt: Fix xe_ggtt documentation 2026-05-29 15:48:46 +02:00
xe_ggtt.h drm/xe: Remove xe_ggtt_node_allocated 2026-02-16 14:20:24 +01:00
xe_gpu_scheduler_types.h drm/xe: Add dedicated message lock 2026-01-10 13:38:47 -08:00
xe_gpu_scheduler.c Revert "drm/xe: Remove drm_sched_init_args->num_rqs usage" 2026-08-11 17:34:00 +01:00
xe_gpu_scheduler.h drm/xe: Stop abusing DRM scheduler internals 2026-01-10 13:39:50 -08:00
xe_gsc_debugfs.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_gsc_debugfs.h
xe_gsc_proxy.c drm/xe/gsc: Fix GSC proxy cleanup on early initialization failure 2026-03-04 08:54:18 -05:00
xe_gsc_proxy.h
xe_gsc_submit.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_gsc_submit.h
xe_gsc_types.h drm/xe/gsc: Fix GSC proxy cleanup on early initialization failure 2026-03-04 08:54:18 -05:00
xe_gsc.c drm/xe/gsc: Fix double-free of managed BO in error path 2026-05-14 08:24:03 -07:00
xe_gsc.h
xe_gt_ccs_mode.c drm/xe: Fix missing runtime PM reference in ccs_mode_store 2026-03-19 18:05:04 +01:00
xe_gt_ccs_mode.h drm/xe/gt: Add engine masks for each class 2025-12-22 10:21:56 -08:00
xe_gt_clock.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_gt_clock.h
xe_gt_debugfs.c drm/xe/rtp: Maintain OA whitelists separately 2026-07-02 12:29:42 +02:00
xe_gt_debugfs.h
xe_gt_freq.c drm/xe: Fix freq kobject leak on sysfs_create_files failure 2025-12-15 14:13:41 +01:00
xe_gt_freq.h
xe_gt_idle_types.h drm/xe: Fix mismatched include guards in header files 2026-03-26 14:21:12 -07:00
xe_gt_idle.c drm/xe/xe_gt_idle: Add CCS to the powergating info print 2026-08-27 09:23:07 -04:00
xe_gt_idle.h
xe_gt_mcr.c drm/xe/mcr: Take vcs1/vecs1 into account for first media slice 2026-08-13 09:08:07 -04:00
xe_gt_mcr.h drm/xe/reg_sr: Do sanity check for MCR vs non-MCR 2026-05-15 18:05:14 -03:00
xe_gt_printk.h
xe_gt_sriov_pf_config_types.h drm/xe/pf: Prep for multiple exec quantums and preemption timeouts 2025-12-22 10:22:12 -08:00
xe_gt_sriov_pf_config.c drm/xe/pf: Fix VF's scheduling priority reporting 2026-04-17 08:06:36 +02:00
xe_gt_sriov_pf_config.h drm/xe/pf: Perform fair scheduling auto-provisioning 2026-04-12 10:32:58 +02:00
xe_gt_sriov_pf_control_types.h drm/xe/pf: Add FLR_PREPARE state to VF control flow 2026-03-24 10:47:52 +01:00
xe_gt_sriov_pf_control.c drm/xe/pf: Add FLR_PREPARE state to VF control flow 2026-03-24 10:47:52 +01:00
xe_gt_sriov_pf_control.h drm/xe/pf: Add FLR_PREPARE state to VF control flow 2026-03-24 10:47:52 +01:00
xe_gt_sriov_pf_debugfs.c drm/xe/guc: handle guc logical instance for paging engine 2026-07-10 12:50:15 +01:00
xe_gt_sriov_pf_debugfs.h
xe_gt_sriov_pf_helpers.h
xe_gt_sriov_pf_migration_types.h
xe_gt_sriov_pf_migration.c drm/xe/pf: Fix MMIO access using PF view instead of VF view during migration 2026-04-30 08:16:35 -07:00
xe_gt_sriov_pf_migration.h
xe_gt_sriov_pf_monitor_types.h
xe_gt_sriov_pf_monitor.c drm/xe/pf: Fix CFI failure in debugfs access 2026-05-15 21:10:16 +02:00
xe_gt_sriov_pf_monitor.h drm/xe/pf: Fix CFI failure in debugfs access 2026-05-15 21:10:16 +02:00
xe_gt_sriov_pf_policy_types.h drm/xe/pf: Add support for enabling scheduler groups 2025-12-22 10:22:02 -08:00
xe_gt_sriov_pf_policy.c drm/xe/guc: handle guc logical instance for paging engine 2026-07-10 12:50:15 +01:00
xe_gt_sriov_pf_policy.h drm/xe/pf: Allow to change sched_if_idle policy under lock 2026-04-12 10:32:53 +02:00
xe_gt_sriov_pf_service_types.h
xe_gt_sriov_pf_service.c drm/xe/xe3p_xpc: Add new XeCore fuse registers to VF runtime regs 2026-02-12 11:01:41 -08:00
xe_gt_sriov_pf_service.h
xe_gt_sriov_pf_types.h drm/xe: Fix stale and mismatched kernel-doc member tags in header files 2026-04-16 08:31:59 -07:00
xe_gt_sriov_pf.c drm/xe/pf: Reprovision policy settings after GT reset 2026-04-12 10:32:48 +02:00
xe_gt_sriov_pf.h drm/xe/pf: Scheduler groups are incompatible with multi-lrc 2025-12-22 10:22:05 -08:00
xe_gt_sriov_printk.h
xe_gt_sriov_vf_debugfs.c drm/xe/vf: Add debugfs entries to test VF double migration 2025-12-02 16:18:05 +01:00
xe_gt_sriov_vf_debugfs.h
xe_gt_sriov_vf_types.h drm/xe/vf: wire up NUM_PAGING_ENGINE_INSTANCES 2026-07-10 12:50:19 +01:00
xe_gt_sriov_vf.c drm/xe/vf: wire up NUM_PAGING_ENGINE_INSTANCES 2026-07-10 12:50:19 +01:00
xe_gt_sriov_vf.h drm/xe/vf: wire up NUM_PAGING_ENGINE_INSTANCES 2026-07-10 12:50:19 +01:00
xe_gt_stats_types.h drm/xe: Document GT statistics 2026-03-30 11:00:45 +02:00
xe_gt_stats.c drm/xe: Document GT statistics 2026-03-30 11:00:45 +02:00
xe_gt_stats.h drm/xe: Convert GT stats to per-cpu counters 2026-02-17 18:12:10 -08:00
xe_gt_sysfs_types.h
xe_gt_sysfs.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
xe_gt_sysfs.h
xe_gt_throttle.c drm/xe/gt_throttle: Report power brake as a throttle reason on CRI 2026-09-21 08:58:56 -04:00
xe_gt_throttle.h
xe_gt_topology.c drm/xe/xe3p_xpc: XeCore mask spans four registers 2026-02-06 09:49:20 -08:00
xe_gt_topology.h
xe_gt_types.h drm/xe: refactor the paging engine setup 2026-07-10 12:50:12 +01:00
xe_gt.c drm/xe: Consolidate debugfs fault injection functions 2026-07-16 10:15:25 +05:30
xe_gt.h drm/xe: Consolidate debugfs fault injection functions 2026-07-16 10:15:25 +05:30
xe_guard.h
xe_guc_ads_types.h drm/xe/guc_ads: allocate UM queues in a separate BO 2026-08-13 14:56:33 +02:00
xe_guc_ads.c drm/xe: Add wa_14025941587 to xe2, xe3 and xe3p platforms 2026-09-22 15:42:09 -04:00
xe_guc_ads.h drm/xe: Update wedged.mode only after successful reset policy change 2026-01-21 15:43:39 +01:00
xe_guc_buf_types.h
xe_guc_buf.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_guc_buf.h
xe_guc_capture_types.h drm/xe: Fix type and parameter name mismatches in kernel-doc references 2026-04-16 08:32:00 -07:00
xe_guc_capture.c drm/xe/guc: add the plumbing for GUC_PAGING_CLASS 2026-07-10 12:50:08 +01:00
xe_guc_capture.h drm/xe/guc: add the plumbing for GUC_PAGING_CLASS 2026-07-10 12:50:08 +01:00
xe_guc_ct_types.h drm/xe: Add missing '@' prefix to kernel-doc member tags 2026-04-16 08:31:59 -07:00
xe_guc_ct.c drm/xe/guc: Handle GuC local uncorrectable error notifications 2026-07-09 10:03:12 -07:00
xe_guc_ct.h drm/xe/guc: READ/WRITE_ONCE ct->state 2025-12-23 16:43:49 -05:00
xe_guc_db_mgr.c
xe_guc_db_mgr.h
xe_guc_debugfs.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_guc_debugfs.h
xe_guc_engine_activity_types.h
xe_guc_engine_activity.c drm/xe/guc: handle guc logical instance for paging engine 2026-07-10 12:50:15 +01:00
xe_guc_engine_activity.h
xe_guc_exec_queue_types.h drm/xe/guc: Keep scheduler timeline name alive 2026-07-16 16:33:02 +02:00
xe_guc_fwif.h drm/xe/configfs: Add enable_multi_queue attribute 2026-07-10 08:08:47 -07:00
xe_guc_hwconfig.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_guc_hwconfig.h
xe_guc_hxg_helpers.h
xe_guc_id_mgr.c
xe_guc_id_mgr.h
xe_guc_klv_helpers.c drm/xe/tests: Add GuC KLV helpers basic tests 2026-07-11 16:15:29 +02:00
xe_guc_klv_helpers.h drm/xe/guc: Add KLV parsing helper 2026-07-11 16:15:25 +02:00
xe_guc_klv_thresholds_set_types.h drm/xe/pf: Add handling for MLRC adverse event threshold 2025-12-17 23:42:46 +01:00
xe_guc_klv_thresholds_set.h
xe_guc_log_types.h
xe_guc_log.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
xe_guc_log.h drm/xe/guc: Increase GuC log sizes in debug builds 2026-02-20 13:11:09 +01:00
xe_guc_pagefault.c drm/xe: Add prefetch fault support for Xe3p 2026-02-23 12:31:32 -08:00
xe_guc_pagefault.h
xe_guc_pc_types.h
xe_guc_pc.c drm/xe: Fix a bug in pc_adjust_freq_bounds() 2026-08-13 14:56:34 +02:00
xe_guc_pc.h drm/xe/guc_pc: Make xe_guc_pc_stop() void 2026-04-27 18:13:16 -04:00
xe_guc_rc.c drm/xe/pvc: Drop pre-prod workarounds 2026-02-23 15:43:35 -08:00
xe_guc_rc.h drm/xe/pvc: Drop pre-prod workarounds 2026-02-23 15:43:35 -08:00
xe_guc_relay_types.h drm/xe: Fix kernel-doc comment syntax issues in header files 2026-04-16 08:32:00 -07:00
xe_guc_relay.c drm/xe/pf: Don't attempt to process FAST_REQ or EVENT relays 2026-07-02 12:29:43 +02:00
xe_guc_relay.h
xe_guc_submit_types.h drm/xe: Fix stale and mismatched kernel-doc member tags in header files 2026-04-16 08:31:59 -07:00
xe_guc_submit.c drm/xe: don't WARN on kernel job timeout when device already wedged 2026-08-20 09:30:03 -04:00
xe_guc_submit.h drm/xe/guc: Handle GuC local uncorrectable error notifications 2026-07-09 10:03:12 -07:00
xe_guc_tlb_inval.c drm/xe: Drop 'force_execlist' module parameter 2026-06-30 08:14:22 -07:00
xe_guc_tlb_inval.h
xe_guc_types.h drm/xe/guc: Hold device ref until queue teardown completes 2026-07-16 16:33:08 +02:00
xe_guc.c drm/xe/guc_ads: allocate UM queues in VRAM on dGFX 2026-08-13 14:56:33 +02:00
xe_guc.h drm/xe/guc: handle guc logical instance for paging engine 2026-07-10 12:50:15 +01:00
xe_heci_gsc.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
xe_heci_gsc.h drm/xe: Fix mismatched include guards in header files 2026-03-26 14:21:12 -07:00
xe_huc_debugfs.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_huc_debugfs.h
xe_huc_types.h
xe_huc.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_huc.h
xe_hw_engine_class_sysfs.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
xe_hw_engine_class_sysfs.h drm/xe: Fix mismatched include guards in header files 2026-03-26 14:21:12 -07:00
xe_hw_engine_group_types.h
xe_hw_engine_group.c drm/xe/hw_engine_group: propagate suspend failures during mode switch 2026-07-13 13:29:24 -07:00
xe_hw_engine_group.h drm/xe: Wait on in-syncs when swicthing to dma-fence mode 2025-12-15 14:02:54 -08:00
xe_hw_engine_types.h drm/xe/guc: handle guc logical instance for paging engine 2026-07-10 12:50:15 +01:00
xe_hw_engine.c drm/xe: Add wa_14025941587 to xe2, xe3 and xe3p platforms 2026-09-22 15:42:09 -04:00
xe_hw_engine.h drm/xe: Extract xe_hw_engine_setup_reg_lrc() 2026-05-15 18:05:13 -03:00
xe_hw_error.c drm/xe: Consolidate debugfs fault injection functions 2026-07-16 10:15:25 +05:30
xe_hw_error.h drm/xe: Add missing leading underscore to include guards 2026-04-06 08:52:53 -07:00
xe_hw_fence_types.h
xe_hw_fence.c dma-buf: inline spinlock for fence protection v5 2026-02-23 16:14:19 +01:00
xe_hw_fence.h drm/xe: Stop abusing DRM scheduler internals 2026-01-10 13:39:50 -08:00
xe_hwmon.c UAPI Changes: 2026-05-04 18:22:33 +10:00
xe_hwmon.h
xe_i2c.c drm/xe/i2c: cancel the client work on remove 2026-10-07 09:22:03 -04:00
xe_i2c.h drm next/fixes for 7.3-rc1 2026-08-28 16:37:55 -07:00
xe_irq.c drm/xe/sysctrl: Add system controller interrupt handler 2026-04-30 11:31:45 +05:30
xe_irq.h
xe_late_bind_fw_types.h drm/xe: Move xe_uc_fw_abi.h to abi/ 2026-05-27 21:28:01 +02:00
xe_late_bind_fw.c
xe_late_bind_fw.h
xe_lmtt_2l.c
xe_lmtt_ml.c
xe_lmtt_types.h
xe_lmtt.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
xe_lmtt.h drm/xe/pf: Expose LMTT page size 2026-02-20 15:49:58 +01:00
xe_lrc_types.h drm/xe/multi_queue: Add helpers to access CS QUEUE TIMESTAMP from lrc 2026-05-08 13:48:44 -07:00
xe_lrc.c drm/xe: Do not emit Wa_16010904313 twice 2026-10-05 17:47:26 -04:00
xe_lrc.h drm/xe/lrc: document sentinel and make CTX_TIMESTAMP read TOCTOU-safe 2026-08-13 14:56:33 +02:00
xe_macros.h
xe_map.h
xe_mem_pool_types.h drm/xe: Add memory pool with shadow support 2026-04-29 12:51:19 -04:00
xe_mem_pool.c drm/xe: Add memory pool with shadow support 2026-04-29 12:51:19 -04:00
xe_mem_pool.h drm/xe: Add memory pool with shadow support 2026-04-29 12:51:19 -04:00
xe_memirq_types.h drm/xe/memirq: Drop cached iosys_map for MEMIRQ status 2026-05-19 10:50:32 +02:00
xe_memirq.c drm/xe/memirq: Drop cached iosys_map for MEMIRQ status 2026-05-19 10:50:32 +02:00
xe_memirq.h
xe_mert.c drm/xe/mert: Improve handling of MERT CAT errors 2026-01-14 16:02:50 +01:00
xe_mert.h drm/xe/mert: Move MERT initialization to xe_mert.c 2026-01-12 14:38:44 +01:00
xe_migrate_doc.h
xe_migrate.c drm/xe/vf: Add drm_dev guards when detaching CCS read/write buffers 2026-07-22 08:59:26 +02:00
xe_migrate.h drm/xe/vf: Add drm_dev guards when detaching CCS read/write buffers 2026-07-22 08:59:26 +02:00
xe_mmio_gem.c drm/xe/mmio_gem: fix destroy flow 2026-09-14 09:09:01 -04:00
xe_mmio_gem.h drm/xe/mmio_gem: Revoke drm_vma_node on xe_mmio_gem destroy 2026-09-14 09:09:01 -04:00
xe_mmio_types.h drm/xe: Promote struct xe_mmio definition to own file 2026-02-05 21:14:23 +01:00
xe_mmio.c drm/xe/mmio: Fix xe_mmio_wait32() to honor delay/sleep maximums 2026-10-05 17:47:17 -04:00
xe_mmio.h Merge tag 'drm-intel-next-2026-03-16' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next 2026-03-17 15:44:26 +10:00
xe_mocs.c drm/xe/nvlp: Attach MOCS table for nvlp 2026-02-10 10:09:21 -03:00
xe_mocs.h
xe_module.c drm/xe/guc: Hold device ref until queue teardown completes 2026-07-16 16:33:08 +02:00
xe_module.h drm/xe/guc: Hold device ref until queue teardown completes 2026-07-16 16:33:08 +02:00
xe_nvm.c drm/xe/nvm: fix writable override for CRI 2026-07-16 16:32:40 +02:00
xe_nvm.h drm/xe: Normalize double-underscore include guards to single-underscore 2026-04-06 08:52:53 -07:00
xe_oa_types.h drm/xe/rtp: Ensure locking/ref counting for OA whitelists 2026-07-02 12:29:43 +02:00
xe_oa.c drm/xe/oa: Remove sysfs entry on idr_alloc failure in xe_oa_add_config_ioctl() 2026-09-01 11:31:00 -04:00
xe_oa.h
xe_observation.c drm/xe: gate observation streams with perf_allow_cpu() 2026-05-28 08:19:45 -07:00
xe_observation.h drm/xe: gate observation streams with perf_allow_cpu() 2026-05-28 08:19:45 -07:00
xe_page_reclaim.c drm/xe: Skip adding PRL entry to NULL VMA 2026-03-16 09:42:41 -07:00
xe_page_reclaim.h drm/xe: Move page reclaim done_handler to own func 2026-03-16 09:42:41 -07:00
xe_pagefault_types.h drm/xe: Guard page-fault worker with runtime PM check 2026-09-09 11:18:54 -04:00
xe_pagefault.c drm/xe: Guard page-fault worker with runtime PM check 2026-09-09 11:18:54 -04:00
xe_pagefault.h
xe_pat.c drm/xe/xe3p_lpg: Program TR_PTA_MODE 2026-07-17 18:34:00 -07:00
xe_pat.h drm/xe/pat: Introduce xe_cache_pat_idx() macro helper 2026-04-21 10:20:17 -07:00
xe_pci_error.c drm/xe/xe_pci_error: Process errors in mmio_enabled 2026-07-15 10:56:21 +05:30
xe_pci_error.h drm/xe/xe_pci_error: Implement PCI error recovery callbacks 2026-07-02 13:39:38 +05:30
xe_pci_rebar.c drm/xe: Improve rebar log messages 2025-12-24 07:59:35 -08:00
xe_pci_rebar.h drm/xe: Move rebar to its own file 2025-12-24 07:59:35 -08:00
xe_pci_sriov.c drm/xe/pf: Keep VF LMEM BAR size low if no VFs enabled 2026-09-28 10:19:35 -04:00
xe_pci_sriov.h
xe_pci_types.h drm/xe/guc: Handle GuC local uncorrectable error notifications 2026-07-09 10:03:12 -07:00
xe_pci.c drm/xe/nvls: Drop force_probe requirement 2026-07-22 23:20:48 -03:00
xe_pci.h drm/xe/pci: Introduce a helper to allow VF access to PF xe_device 2025-12-01 09:42:37 +01:00
xe_pcode_api.h drm/xe/hwmon: Read accepted power limit for CRI 2026-04-17 11:38:47 -04:00
xe_pcode.c drm/xe/pcode: Add support to get pcode version from PMT 2026-07-06 08:55:48 -07:00
xe_pcode.h drm/xe/pcode: Add support to get pcode version from PMT 2026-07-06 08:55:48 -07:00
xe_platform_types.h drm/xe: Fix mismatched include guards in header files 2026-03-26 14:21:12 -07:00
xe_pm.c drm/xe/display: add xe_display_pm_runtime_resume_early() 2026-07-03 15:35:15 +03:00
xe_pm.h drm/xe/pm: Don't access device in init_early() 2026-05-27 12:51:28 +02:00
xe_pmu_types.h
xe_pmu.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
xe_pmu.h
xe_preempt_fence_types.h
xe_preempt_fence.c drm/xe: only resume exec queues that were actually suspended 2026-07-13 13:29:20 -07:00
xe_preempt_fence.h
xe_printk.h
xe_psmi.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_psmi.h
xe_pt_types.h drm/xe: Add missing '@' prefix to kernel-doc member tags 2026-04-16 08:31:59 -07:00
xe_pt_walk.c
xe_pt_walk.h drm/xe: Fix type and parameter name mismatches in kernel-doc references 2026-04-16 08:32:00 -07:00
xe_pt.c - Wait on external BO kernel fences in exec IOCTL (Brost) 2026-08-01 07:06:36 +10:00
xe_pt.h
xe_pxp_debugfs.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_pxp_debugfs.h drm/xe: Normalize double-underscore include guards to single-underscore 2026-04-06 08:52:53 -07:00
xe_pxp_submit.c
xe_pxp_submit.h drm/xe: Normalize double-underscore include guards to single-underscore 2026-04-06 08:52:53 -07:00
xe_pxp_types.h drm/xe/pxp: add termination on resume 2026-08-13 14:56:33 +02:00
xe_pxp.c Linux 7.2 2026-08-20 10:58:44 +10:00
xe_pxp.h drm/xe: Normalize double-underscore include guards to single-underscore 2026-04-06 08:52:53 -07:00
xe_query.c drm/xe/query: Avoid global forcewake in cycle query path 2026-06-11 13:50:27 -07:00
xe_query.h
xe_range_fence.c drm/xe: fix refcount leak in xe_range_fence_insert() 2026-06-16 10:18:37 -07:00
xe_range_fence.h
xe_ras_types.h drm/xe/xe_ras: Add support to query device memory errors 2026-07-20 10:13:17 +05:30
xe_ras.c drm/xe/drm_ras: Move has_drm_ras check to drm_ras layer 2026-08-13 08:32:13 -04:00
xe_ras.h drm/xe/xe_ras: Add support for uncorrectable core-compute errors 2026-07-15 10:56:21 +05:30
xe_reg_sr_types.h drm/xe: Add missing _H to include guard suffixes 2026-04-06 08:52:53 -07:00
xe_reg_sr.c drm/xe/reg_sr: Do sanity check for MCR vs non-MCR 2026-05-15 18:05:14 -03:00
xe_reg_sr.h drm/xe: Add missing _H to include guard suffixes 2026-04-06 08:52:53 -07:00
xe_reg_whitelist.c drm/xe/oa: Fix offset alignment for MERT WHITELIST_OA_MERT_MMIO_TRG 2026-07-02 12:29:44 +02:00
xe_reg_whitelist.h drm/xe/rtp: (De-)whitelist OA registers for all hwe's for a gt 2026-07-02 12:29:43 +02:00
xe_res_cursor.h drm/xe: Convert stolen memory over to ttm_range_manager 2026-05-08 10:39:59 -04:00
xe_ring_ops_types.h drm/xe: Move aux table invalidation to ring ops 2026-03-24 09:29:11 -04:00
xe_ring_ops.c drm/xe: Flush LSC untyped L1 dataport cache after rcs/ccs batches 2026-09-09 11:20:39 -04:00
xe_ring_ops.h
xe_rtp_helpers.h drm/xe: Add missing _H to include guard suffixes 2026-04-06 08:52:53 -07:00
xe_rtp_types.h drm/xe/rtp: Add struct types for RTP tables 2026-07-01 21:48:36 +02:00
xe_rtp.c drm/xe/rtp: Add struct types for RTP tables 2026-07-01 21:48:36 +02:00
xe_rtp.h drm/xe/rtp: Fix build error with clang < 21 and non-const initializers 2026-07-02 12:28:02 +02:00
xe_sa_types.h drm/xe/sa: Shadow buffer support in the sub-allocator pool 2025-11-18 21:45:06 -08:00
xe_sa.c drm/xe/sa: Add lockdep annotations for SA manager swap_guard 2026-02-20 10:54:05 -08:00
xe_sa.h drm/xe/vf: Fix fs_reclaim warning with CCS save/restore BB allocation 2026-02-20 10:54:03 -08:00
xe_sched_job_types.h drm/xe/vf: Improve getting clean NULL context 2026-03-23 10:38:14 +01:00
xe_sched_job.c dma-buf: rename dma_fence_enable_sw_signaling 2026-07-01 16:52:48 +02:00
xe_sched_job.h
xe_shrinker.c drm/xe/shrinker: Take a runtime PM ref before shrinking non-system memory 2026-09-14 09:09:01 -04:00
xe_shrinker.h
xe_sleep.h drm/xe: Move exponential sleep logic to helper 2026-02-02 22:35:42 +01:00
xe_soc_remapper.c drm/xe: Move xe_root_tile_mmio() to xe_device.h 2026-02-05 21:08:28 +01:00
xe_soc_remapper.h drm/xe/soc_remapper: Initialize SoC remapper during Xe probe 2025-12-23 11:43:46 -08:00
xe_sriov_packet_types.h
xe_sriov_packet.c drm/xe/pf: Handle migration descriptor using KLV helpers 2026-07-11 16:15:35 +02:00
xe_sriov_packet.h
xe_sriov_pf_control.c drm/xe/pf: Add FLR_PREPARE state to VF control flow 2026-03-24 10:47:52 +01:00
xe_sriov_pf_control.h drm/xe/pf: Add FLR_PREPARE state to VF control flow 2026-03-24 10:47:52 +01:00
xe_sriov_pf_debugfs.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_sriov_pf_debugfs.h
xe_sriov_pf_helpers.h drm/xe/pf: Derive admin-only PF mode from xe_device state 2026-04-14 12:38:16 +02:00
xe_sriov_pf_migration_types.h drm/xe/pf: Enable SR-IOV VF migration 2025-12-01 09:42:36 +01:00
xe_sriov_pf_migration.c drm/xe/pf: Fix EAGAIN sign in pf_migration_consume() 2026-04-30 08:16:15 -07:00
xe_sriov_pf_migration.h drm/xe/pf: Enable SR-IOV VF migration 2025-12-01 09:42:36 +01:00
xe_sriov_pf_provision_types.h
xe_sriov_pf_provision.c drm/xe/pf: Perform fair scheduling auto-provisioning 2026-04-12 10:32:58 +02:00
xe_sriov_pf_provision.h drm/xe/pf: Reprovision scheduling to default when no VFs 2026-04-12 10:32:54 +02:00
xe_sriov_pf_service_types.h
xe_sriov_pf_service.c
xe_sriov_pf_service.h
xe_sriov_pf_sysfs.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
xe_sriov_pf_sysfs.h
xe_sriov_pf_types.h drm/xe/pf: Derive admin-only PF mode from xe_device state 2026-04-14 12:38:16 +02:00
xe_sriov_pf.c drm/xe/pf: Derive admin-only PF mode from xe_device state 2026-04-14 12:38:16 +02:00
xe_sriov_pf.h
xe_sriov_printk.h
xe_sriov_types.h
xe_sriov_vf_ccs_types.h drm/xe/vf: Use drm mm instead of drm sa for CCS read/write 2026-04-29 12:51:19 -04:00
xe_sriov_vf_ccs.c drm/xe/vf: Add drm_dev guards when detaching CCS read/write buffers 2026-07-22 08:59:26 +02:00
xe_sriov_vf_ccs.h drm/xe/vf: Fix VF CCS attach/detach race with in-flight BO moves 2026-07-16 16:32:45 +02:00
xe_sriov_vf_types.h
xe_sriov_vf.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_sriov_vf.h
xe_sriov_vfio.c drm/xe/pf: Add FLR_PREPARE state to VF control flow 2026-03-24 10:47:52 +01:00
xe_sriov.c drm/xe: add WQ_PERCPU to alloc_workqueue users 2026-02-02 19:18:09 -05:00
xe_sriov.h drm/xe/pf: Simplify IS_SRIOV_PF macro 2026-02-02 22:22:57 +01:00
xe_step_types.h drm/xe/step: switch from enum xe_step to intel_step naming 2026-04-09 10:10:00 +03:00
xe_step.c drm/xe/step: Make xe_step_platform_get() independent from xe->info 2026-07-02 18:41:52 -03:00
xe_step.h drm/xe/step: Make xe_step_platform_get() independent from xe->info 2026-07-02 18:41:52 -03:00
xe_survivability_mode_types.h drm/xe/xe_survivability: Add support for survivability mode v2 2025-12-09 17:19:43 -05:00
xe_survivability_mode.c drm/xe/xe_survivability: Decouple survivability info from boot survivability 2026-07-20 09:59:33 +05:30
xe_survivability_mode.h drm/xe/xe_survivability: Simplify runtime survivability error handling 2026-05-05 15:01:43 -04:00
xe_svm.c drm/gpusvm: let the drm_gpusvm core context purely MM level 2026-07-09 04:12:49 -07:00
xe_svm.h drm/gpusvm: let the drm_gpusvm core context purely MM level 2026-07-09 04:12:49 -07:00
xe_sync_types.h
xe_sync.c dma-buf/dma_fence_array: remove unused functionality v4 2026-05-04 16:28:14 +02:00
xe_sync.h drm/xe: Wait on in-syncs when swicthing to dma-fence mode 2025-12-15 14:02:54 -08:00
xe_sysctrl_event_types.h drm/xe/xe_sysctrl: Make sysctrl flood limit reusable 2026-07-15 10:56:21 +05:30
xe_sysctrl_event.c drm/xe/xe_sysctrl: Make sysctrl flood limit reusable 2026-07-15 10:56:21 +05:30
xe_sysctrl_mailbox_types.h drm/xe/xe_ras: Add RAS GPU health indicator 2026-07-17 10:18:12 +05:30
xe_sysctrl_mailbox.c drm/xe/sysctrl: Fix mailbox header handling 2026-10-06 09:11:11 -04:00
xe_sysctrl_mailbox.h drm/xe/sysctrl: Read mailbox phase bit from hardware 2026-08-27 12:00:17 -04:00
xe_sysctrl_types.h drm/xe/sysctrl: Read mailbox phase bit from hardware 2026-08-27 12:00:17 -04:00
xe_sysctrl.c drm/xe/sysctrl: Read mailbox phase bit from hardware 2026-08-27 12:00:17 -04:00
xe_sysctrl.h drm/xe/sysctrl: Add system controller event support 2026-04-30 11:31:45 +05:30
xe_tile_debugfs.c drm/xe: Move VRAM MM debugfs creation to tile level 2025-11-27 14:43:07 +01:00
xe_tile_debugfs.h
xe_tile_printk.h drm/xe: Fix mismatched include guards in header files 2026-03-26 14:21:12 -07:00
xe_tile_sriov_pf_debugfs.c drm/xe/sriov: Use scope-based runtime PM 2025-11-19 11:58:58 -08:00
xe_tile_sriov_pf_debugfs.h
xe_tile_sriov_printk.h
xe_tile_sriov_vf_types.h
xe_tile_sriov_vf.c drm/xe: Rewrite GGTT VF initialization 2026-02-16 14:20:24 +01:00
xe_tile_sriov_vf.h drm/xe: Rewrite GGTT VF initialization 2026-02-16 14:20:24 +01:00
xe_tile_sysfs_types.h
xe_tile_sysfs.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
xe_tile_sysfs.h
xe_tile_types.h drm/xe: Drop unused ggtt_balloon field 2026-05-13 13:49:34 +02:00
xe_tile.c drm/xe/pcode: Don't ignore drmm_mutex_init failure 2026-06-01 15:45:21 +02:00
xe_tile.h drm/xe: Drop unnecessary include from xe_tile.h 2026-02-05 21:16:20 +01:00
xe_tlb_inval_job.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
xe_tlb_inval_job.h drm/xe: Prep page reclaim in tlb inval job 2025-12-12 16:59:09 -08:00
xe_tlb_inval_types.h drm/xe: Split TLB invalidation into submit and wait steps 2026-03-11 09:32:59 +01:00
xe_tlb_inval.c drm/xe/tlb_inval: Treat wedged-device invalidations as complete 2026-09-21 08:59:06 -04:00
xe_tlb_inval.h drm/xe: Split TLB invalidation into submit and wait steps 2026-03-11 09:32:59 +01:00
xe_trace_bo.c
xe_trace_bo.h
xe_trace_guc.c
xe_trace_guc.h
xe_trace_lrc.c
xe_trace_lrc.h drm/xe/multi_queue: Add trace event for the multi queue timestamp 2026-05-08 13:48:48 -07:00
xe_trace.c
xe_trace.h drm/xe/guc: Handle GuC local uncorrectable error notifications 2026-07-09 10:03:12 -07:00
xe_ttm_stolen_mgr.c drm/xe: s/bar2/lmembar/ 2026-07-14 15:18:51 +02:00
xe_ttm_stolen_mgr.h drm/xe: Convert stolen memory over to ttm_range_manager 2026-05-08 10:39:59 -04:00
xe_ttm_sys_mgr.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
xe_ttm_sys_mgr.h
xe_ttm_vram_mgr_types.h gpu: Move DRM buddy allocator one level up (part two) 2026-02-06 11:38:35 +10:00
xe_ttm_vram_mgr.c drm/xe: Wire up dmem cgroup reclaim for VRAM manager 2026-08-06 23:38:04 +02:00
xe_ttm_vram_mgr.h
xe_tuning.c drm/xe/rtp: Add struct types for RTP tables 2026-07-01 21:48:36 +02:00
xe_tuning.h drm/xe/rtp: Ensure gt_was doesn't evaluate rules with engine types 2026-06-02 14:30:29 -07:00
xe_uc_debugfs.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_uc_debugfs.h
xe_uc_fw_types.h
xe_uc_fw.c drm/xe/guc: Define GuC firmware for NVL-S 2026-07-09 17:23:49 -04:00
xe_uc_fw.h drm/xe: Move xe_uc_fw_abi.h to abi/ 2026-05-27 21:28:01 +02:00
xe_uc_types.h
xe_uc.c drm/xe/uc: Apply RCS/CCS yield policy to SR-IOV VFs 2026-08-04 13:52:23 -04:00
xe_uc.h drm/xe: Decouple GuC RC code from xe_guc_pc 2026-02-05 14:17:30 -08:00
xe_userptr.c drm/xe: have xe_svm_range embed one drm_gpusvm_pages 2026-07-09 04:12:45 -07:00
xe_userptr.h drm/xe/userptr: Defer Waiting for TLB invalidation to the second pass if possible 2026-03-11 09:33:01 +01:00
xe_validation.c drm/exec, drm/xe, drm/amdgpu: Add an accessor for struct drm_exec::ticket 2026-05-25 10:45:38 +02:00
xe_validation.h drm/exec, drm/xe: Avoid abusing the drm_exec retry pointer 2026-05-25 10:45:38 +02:00
xe_vm_doc.h
xe_vm_madvise.c drm/xe/madvise: Skip invalidation for purgeable state updates 2026-07-20 18:18:41 +02:00
xe_vm_madvise.h drm/xe/madvise: Track purgeability with BO-local counters 2026-05-08 16:12:06 +05:30
xe_vm_types.h drm/xe: Fix stale and mismatched kernel-doc member tags in header files 2026-04-16 08:31:59 -07:00
xe_vm.c drm/xe/vm: nuke PTs only after unlinking contested VMAs 2026-09-21 08:59:26 -04:00
xe_vm.h drm/xe/xe_vm: Implement xe_vm_get_property_ioctl 2026-03-25 18:05:59 -07:00
xe_vram_freq.c drm/xe: Drop unnecessary include from xe_tile.h 2026-02-05 21:16:20 +01:00
xe_vram_freq.h
xe_vram_types.h drm/xe: Use the drm_pagemap cache and shrinker 2025-12-23 09:58:33 +01:00
xe_vram.c drm/xe/vram: report FLAT_CCS base misalignment 2026-09-03 15:50:27 -04:00
xe_vram.h Use xe_map_resource_to_region helper instead of direct access 2026-04-08 21:34:00 +05:30
xe_vsec.c platform/x86/intel/vsec: Switch exported helpers from pci_dev to device 2026-03-17 18:51:15 +02:00
xe_vsec.h platform/x86/intel/vsec: Switch exported helpers from pci_dev to device 2026-03-17 18:51:15 +02:00
xe_wa_oob.rules drm/xe: Add wa_14025941587 to xe2, xe3 and xe3p platforms 2026-09-22 15:42:09 -04:00
xe_wa.c drm/xe/rtp: Add struct types for RTP tables 2026-07-01 21:48:36 +02:00
xe_wa.h drm/xe/rtp: Ensure device_oob_was only evaluates correct rules 2026-06-02 14:30:29 -07:00
xe_wait_user_fence.c drm/xe: Cleanup unused header includes 2026-01-15 07:05:04 -08:00
xe_wait_user_fence.h
xe_wopcm_types.h
xe_wopcm.c drm/xe/wopcm: fix WOPCM size for LNL+ 2026-07-16 16:32:51 +02:00
xe_wopcm.h