summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2015-05-28 23:02:26 +0300
committerAlex Deucher <alexander.deucher@amd.com>2015-06-04 04:03:58 +0300
commitfaad24cf2372794759b40085aeb3a2504f3fa0c2 (patch)
treefdda336a81a71a9e4388bcf7eb135de23d42de5e
parente176fe176d3a02d9409e0f36502799083ae13e1b (diff)
downloadlinux-faad24cf2372794759b40085aeb3a2504f3fa0c2.tar.xz
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>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/ci_dpm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
index 03809f1bcfd5..b1a4fbc22e69 100644
--- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
+++ b/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);