Commit 6596a02b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'drm-next-2026-04-22' of https://gitlab.freedesktop.org/drm/kernel

Pull more drm updates from Dave Airlie:
 "This is a followup which is mostly next material with some fixes.

  Alex pointed out I missed one of his AMD MRs from last week, so I
  added that, then Jani sent the pipe reordering stuff, otherwise it's
  just some minor i915 fixes and a dma-buf fix.

  drm:
   - Add support for AMD VSDB parsing to drm_edid

  dma-buf:
   - fix documentation formatting

  i915:
   - add support for reordered pipes to support joined pipes better
   - Fix VESA backlight possible check condition
   - Verify the correct plane DDB entry

  amdgpu:
   - Audio regression fix
   - Use drm edid parser for AMD VSDB
   - Misc cleanups
   - VCE cs parse fixes
   - VCN cs parse fixes
   - RAS fixes
   - Clean up and unify vram reservation handling
   - GPU Partition updates
   - system_wq cleanups
   - Add CONFIG_GCOV_PROFILE_AMDGPU kconfig option
   - SMU vram copy updates
   - SMU 13/14/15 fixes
   - UserQ fixes
   - Replace pasid idr with an xarray
   - Dither handling fix
   - Enable amdgpu by default for CIK APUs
   - Add IBs to devcoredump

  amdkfd:
   - system_wq cleanups

  radeon:
   - system_wq cleanups"

* tag 'drm-next-2026-04-22' of https://gitlab.freedesktop.org/drm/kernel: (62 commits)
  drm/i915/display: change pipe allocation order for discrete platforms
  drm/i915/wm: Verify the correct plane DDB entry
  drm/i915/backlight: Fix VESA backlight possible check condition
  drm/i915: Walk crtcs in pipe order
  drm/i915/joiner: Make joiner "nomodeset" state copy independent of pipe order
  dma-buf: fix htmldocs error for dma_buf_attach_revocable
  drm/amdgpu: dump job ibs in the devcoredump
  drm/amdgpu: store ib info for devcoredump
  drm/amdgpu: extract amdgpu_vm_lock_by_pasid from amdgpu_vm_handle_fault
  drm/amdgpu: Use amdgpu by default for CIK APUs too
  drm/amd/display: Remove unused NUM_ELEMENTS macros
  drm/amd/display: Replace inline NUM_ELEMENTS macro with ARRAY_SIZE
  drm/amdgpu: save ring content before resetting the device
  drm/amdgpu: make userq fence_drv drop explicit in queue destroy
  drm/amdgpu: rework userq fence driver alloc/destroy
  drm/amdgpu/userq: use dma_fence_wait_timeout without test for signalled
  drm/amdgpu/userq: call dma_resv_wait_timeout without test for signalled
  drm/amdgpu/userq: add the return code too in error condition
  drm/amdgpu/userq: fence wait for max time in amdgpu_userq_wait_for_signal
  drm/amd/display: Change dither policy for 10 bpc output back to dithering
  ...
parents d46dd0d8 a7756371
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1353,6 +1353,7 @@ EXPORT_SYMBOL_NS_GPL(dma_buf_attach_revocable, "DMA_BUF");
 * Upon return importers may continue to access the DMA-buf memory. The caller
 * must do two additional waits to ensure that the memory is no longer being
 * accessed:
 *
 *  1) Until dma_resv_wait_timeout() retires fences the importer is allowed to
 *     fully access the memory.
 *  2) Until the importer calls unmap it is allowed to speculatively
+17 −0
Original line number Diff line number Diff line
@@ -103,6 +103,23 @@ config DRM_AMDGPU_WERROR
	  Add -Werror to the build flags for amdgpu.ko.
	  Only enable this if you are warning code for amdgpu.ko.


config GCOV_PROFILE_AMDGPU
	bool "Enable GCOV profiling on amdgpu"
	depends on DRM_AMDGPU
	depends on GCOV_KERNEL
	default n
	help
	  Enable GCOV profiling on the amdgpu driver for checking which
	  functions/lines are executed during testing. This adds compiler
	  instrumentation flags to all amdgpu source files, producing
	  .gcda/.gcno coverage data accessible via debugfs.

	  This increases the amdgpu module size by ~50% and adds ~2-5%
	  runtime overhead on GPU submission paths.

	  If unsure, say N.

source "drivers/gpu/drm/amd/acp/Kconfig"
source "drivers/gpu/drm/amd/display/Kconfig"
source "drivers/gpu/drm/amd/amdkfd/Kconfig"
+4 −0
Original line number Diff line number Diff line
@@ -27,6 +27,10 @@ FULL_AMD_PATH=$(src)/..
DISPLAY_FOLDER_NAME=display
FULL_AMD_DISPLAY_PATH = $(FULL_AMD_PATH)/$(DISPLAY_FOLDER_NAME)

ifdef CONFIG_GCOV_PROFILE_AMDGPU
GCOV_PROFILE := y
endif

ccflags-y := -I$(FULL_AMD_PATH)/include/asic_reg \
	-I$(FULL_AMD_PATH)/include \
	-I$(FULL_AMD_PATH)/amdgpu \
+1 −1
Original line number Diff line number Diff line
@@ -179,7 +179,7 @@ aldebaran_mode2_perform_reset(struct amdgpu_reset_control *reset_ctl,
	list_for_each_entry(tmp_adev, reset_device_list, reset_list) {
		/* For XGMI run all resets in parallel to speed up the process */
		if (tmp_adev->gmc.xgmi.num_physical_nodes > 1) {
			if (!queue_work(system_unbound_wq,
			if (!queue_work(system_dfl_wq,
					&tmp_adev->reset_cntl->reset_work))
				r = -EALREADY;
		} else
+0 −5
Original line number Diff line number Diff line
@@ -1045,11 +1045,6 @@ struct amdgpu_device {
	struct amdgpu_mqd               mqds[AMDGPU_HW_IP_NUM];
	const struct amdgpu_userq_funcs *userq_funcs[AMDGPU_HW_IP_NUM];

	/* xarray used to retrieve the user queue fence driver reference
	 * in the EOP interrupt handler to signal the particular user
	 * queue fence.
	 */
	struct xarray			userq_xa;
	/**
	 * @userq_doorbell_xa: Global user queue map (doorbell index → queue)
	 * Key: doorbell_index (unique global identifier for the queue)
Loading