android_kernel_motorola_sm6375/include/drm
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Matthew Brost 549a9c78c3 drm/sched: Increment job count before swapping tail spsc queue
commit 8af39ec5cf2be522c8eb43a3d8005ed59e4daaee upstream.

A small race exists between spsc_queue_push and the run-job worker, in
which spsc_queue_push may return not-first while the run-job worker has
already idled due to the job count being zero. If this race occurs, job
scheduling stops, leading to hangs while waiting on the job’s DMA
fences.

Seal this race by incrementing the job count before appending to the
SPSC queue.

This race was observed on a drm-tip 6.16-rc1 build with the Xe driver in
an SVM test case.

Fixes: 1b1f42d8fd ("drm: move amd_gpu_scheduler into common location")
Fixes: 27105db6c6 ("drm/amdgpu: Add SPSC queue to scheduler.")
Cc: stable@vger.kernel.org
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://lore.kernel.org/r/20250613212013.719312-1-matthew.brost@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-17 18:25:03 +02:00
..
bridge drm/bridge: analogix_dp: Split bind() into probe() and real bind() 2020-05-10 10:31:22 +02:00
i2c
ttm drm-misc-next for 5.4: 2019-08-21 16:44:41 +10:00
amd_asic_type.h drm/amdgpu: add renoir asic_type enum 2019-08-12 12:47:49 -05:00
ati_pcigart.h
drm_agpsupport.h drm/agp: Remove unused function drm_agp_bind_pages 2019-07-15 18:11:30 +02:00
drm_atomic.h drm/atomic: clarify the rules around drm_atomic_state->allow_modeset 2025-06-04 14:32:34 +02:00
drm_atomic_helper.h drm/atomic: Move __drm_atomic_helper_disable_plane/set_config() 2019-06-08 16:46:37 +02:00
drm_atomic_state_helper.h drm/atomic: Add a function to reset connector TV properties 2019-06-19 12:17:52 +02:00
drm_atomic_uapi.h
drm_audio_component.h
drm_auth.h
drm_blend.h
drm_bridge.h drm/bridge: Fix typo in post_disable() description 2024-01-25 14:34:27 -08:00
drm_cache.h
drm_client.h drm/client: Support unmapping of DRM client buffers 2019-08-01 15:01:22 +02:00
drm_color_mgmt.h
drm_connector.h drm: Fix kerneldoc warns in connector-related docs 2019-08-12 10:16:39 -04:00
drm_crtc.h drm: Initialize struct drm_crtc_state.no_vblank from device settings 2023-03-11 16:43:46 +01:00
drm_crtc_helper.h
drm_damage_helper.h
drm_debugfs.h drm: drm_debugfs.h self-contained 2019-06-10 22:30:24 +02:00
drm_debugfs_crc.h
drm_device.h
drm_displayid.h drm/edid: parse CEA blocks embedded in DisplayID 2019-06-25 14:32:26 +10:00
drm_dp_dual_mode_helper.h
drm_dp_helper.h drm/display/dp: Fix the DP DSC Receiver cap size 2023-08-30 16:27:26 +02:00
drm_dp_mst_helper.h drm: mst: Fix query_payload ack reply struct 2019-12-31 16:42:19 +01:00
drm_drv.h drm/prime: Ditch gem_prime_res_obj hook 2019-07-31 10:19:23 +02:00
drm_dsc.h
drm_edid.h drm: fix EDID struct for old ARM OABI format 2022-06-14 18:11:31 +02:00
drm_encoder.h
drm_encoder_slave.h
drm_fb_cma_helper.h
drm_fb_helper.h drm/fb-helper: Prepare to move out modeset config code 2019-06-11 14:47:17 +02:00
drm_file.h
drm_fixed.h drm: Don't treat 0 as -1 in drm_fixp2int_ceil 2024-03-26 18:22:19 -04:00
drm_flip_work.h
drm_format_helper.h
drm_fourcc.h
drm_framebuffer.h drm/fb: document dirty helper better 2019-06-11 18:02:48 +02:00
drm_gem.h dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
drm_gem_cma_helper.h
drm_gem_framebuffer_helper.h drm/fb: remove unused function: drm_gem_fbdev_fb_create() 2019-07-21 19:32:38 +02:00
drm_gem_shmem_helper.h drm/shmem: Add docbook comments for drm_gem_shmem_object madvise fields 2019-11-06 17:57:42 -06:00
drm_gem_vram_helper.h drm/vram: use embedded gem object 2019-08-06 08:21:53 +02:00
drm_hashtab.h
drm_hdcp.h drm/hdcp: update content protection property with uevent 2019-08-06 13:17:23 +05:30
drm_ioctl.h drm: Return -ENOTTY for non-drm ioctls 2021-07-28 13:31:01 +02:00
drm_irq.h
drm_lease.h
drm_legacy.h
drm_mipi_dbi.h drm/tinydrm: Move mipi-dbi 2019-07-25 10:45:07 +02:00
drm_mipi_dsi.h drm/mipi-dsi: Fix detach call without attach 2024-02-23 08:25:00 +01:00
drm_mm.h
drm_mode_config.h drm/drm_fb_helper: fix fbdev with sparc64 2020-08-11 15:33:37 +02:00
drm_mode_object.h
drm_modes.h drm/selftests: reduce stack usage 2019-07-01 09:50:58 +02:00
drm_modeset_helper.h
drm_modeset_helper_vtables.h Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
drm_modeset_lock.h
drm_of.h
drm_os_linux.h
drm_panel.h drm/panel: Add and fill drm_panel type field 2023-07-27 08:37:29 +02:00
drm_pci.h
drm_pciids.h
drm_plane.h drm/docs: More links for implicit/explicit fencing. 2019-06-03 17:11:33 +02:00
drm_plane_helper.h
drm_prime.h drm/prime: Align gem_prime_export with obj_funcs.export 2019-06-21 17:30:49 +02:00
drm_print.h drm/printer: Allow NULL data in devcoredump printer 2024-11-08 16:20:39 +01:00
drm_probe_helper.h
drm_property.h
drm_rect.h
drm_scdc_helper.h
drm_self_refresh_helper.h drm/atomic: fix self-refresh helpers crtc state dereference 2019-11-06 13:00:21 -05:00
drm_simple_kms_helper.h drm: Initialize struct drm_crtc_state.no_vblank from device settings 2023-03-11 16:43:46 +01:00
drm_syncobj.h
drm_sysfs.h drm: uevent for connector status change 2019-08-06 13:16:54 +05:30
drm_util.h
drm_utils.h
drm_vblank.h drm: Initialize struct drm_crtc_state.no_vblank from device settings 2023-03-11 16:43:46 +01:00
drm_vma_manager.h
drm_vram_mm_helper.h drm: add missing include to drm_vram_mm_helper.h 2019-07-15 18:11:31 +02:00
drm_writeback.h
drmP.h dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
gma_drm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 2019-06-05 17:37:06 +02:00
gpu_scheduler.h
i915_component.h drm/i915/tgl: Add additional ports for Tiger Lake 2019-07-11 16:31:14 -07:00
i915_drm.h drm/i915: Drop extern qualifiers from header function prototypes 2019-07-12 13:04:54 +01:00
i915_mei_hdcp_interface.h
i915_pciids.h drm/i915/cml: Add Missing PCI IDs 2019-08-15 12:55:54 -07:00
intel-gtt.h iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header 2020-11-24 13:29:17 +01:00
intel_lpe_audio.h
spsc_queue.h drm/sched: Increment job count before swapping tail spsc queue 2025-07-17 18:25:03 +02:00