Эх сурвалжийг харах

drm/amdgpu: stop loading firmware with pm.mutex locked

Loading firmware is a rather complicated process, in the end we add a
dependency between the pm mutex and the mm semaphore which results in
a harmless but annoying error message.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Christian König 10 жил өмнө
parent
commit
faad24cf23

+ 4 - 4
drivers/gpu/drm/amd/amdgpu/ci_dpm.c

@@ -5839,10 +5839,6 @@ static int ci_dpm_init(struct amdgpu_device *adev)
 	int ret;
 	u32 mask;
 
-	ret = ci_dpm_init_microcode(adev);
-	if (ret)
-		return ret;
-
 	pi = kzalloc(sizeof(struct ci_power_info), GFP_KERNEL);
 	if (pi == NULL)
 		return -ENOMEM;
@@ -6224,6 +6220,10 @@ static int ci_dpm_sw_init(void *handle)
 	if (amdgpu_dpm == 0)
 		return 0;
 
+	ret = ci_dpm_init_microcode(adev);
+	if (ret)
+		return ret;
+
 	INIT_WORK(&adev->pm.dpm.thermal.work, amdgpu_dpm_thermal_work_handler);
 	mutex_lock(&adev->pm.mutex);
 	ret = ci_dpm_init(adev);