diff options
author | Christian König <christian.koenig@amd.com> | 2015-05-28 23:02:26 +0300 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-06-04 04:03:58 +0300 |
commit | faad24cf2372794759b40085aeb3a2504f3fa0c2 (patch) | |
tree | fdda336a81a71a9e4388bcf7eb135de23d42de5e | |
parent | e176fe176d3a02d9409e0f36502799083ae13e1b (diff) | |
download | linux-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.c | 8 |
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); |