Commit ca8639fb authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'amd-drm-next-7.1-2026-04-03' of https://gitlab.freedesktop.org/agd5f/linux into drm-next



amd-drm-next-7.1-2026-04-03:

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 15 fixes
- SMU 13 fixes
- SMU 14 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

drm:
- Add support for AMD VSDB parsing to drm_edid

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Alex Deucher <alexander.deucher@amd.com>
Link: https://patch.msgid.link/20260403214329.2976329-1-alexander.deucher@amd.com
parents 83e8d8bb 7b15fc2d
Loading
Loading
Loading
Loading
+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)
+4 −1
Original line number Diff line number Diff line
@@ -805,7 +805,10 @@ u64 amdgpu_amdkfd_xcp_memory_size(struct amdgpu_device *adev, int xcp_id)
		} else {
			tmp = adev->gmc.mem_partitions[mem_id].size;
		}

		if (adev->xcp_mgr->mem_alloc_mode == AMDGPU_PARTITION_MEM_CAPPING_EVEN)
			do_div(tmp, adev->xcp_mgr->num_xcp_per_mem_partition);

		return ALIGN_DOWN(tmp, PAGE_SIZE);
	} else if (adev->apu_prefer_gtt) {
		return (ttm_tt_pages_limit() << PAGE_SHIFT);
Loading