diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 901a460b2c55..d5b421330145 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |||
@@ -57,6 +57,7 @@ static const char *amdgpu_asic_name[] = { | |||
57 | "TONGA", | 57 | "TONGA", |
58 | "FIJI", | 58 | "FIJI", |
59 | "CARRIZO", | 59 | "CARRIZO", |
60 | "STONEY", | ||
60 | "LAST", | 61 | "LAST", |
61 | }; | 62 | }; |
62 | 63 | ||
@@ -1165,7 +1166,8 @@ static int amdgpu_early_init(struct amdgpu_device *adev) | |||
1165 | case CHIP_TONGA: | 1166 | case CHIP_TONGA: |
1166 | case CHIP_FIJI: | 1167 | case CHIP_FIJI: |
1167 | case CHIP_CARRIZO: | 1168 | case CHIP_CARRIZO: |
1168 | if (adev->asic_type == CHIP_CARRIZO) | 1169 | case CHIP_STONEY: |
1170 | if (adev->asic_type == CHIP_CARRIZO || adev->asic_type == CHIP_STONEY) | ||
1169 | adev->family = AMDGPU_FAMILY_CZ; | 1171 | adev->family = AMDGPU_FAMILY_CZ; |
1170 | else | 1172 | else |
1171 | adev->family = AMDGPU_FAMILY_VI; | 1173 | adev->family = AMDGPU_FAMILY_VI; |
@@ -1418,7 +1420,6 @@ int amdgpu_device_init(struct amdgpu_device *adev, | |||
1418 | mutex_init(&adev->gfx.gpu_clock_mutex); | 1420 | mutex_init(&adev->gfx.gpu_clock_mutex); |
1419 | mutex_init(&adev->srbm_mutex); | 1421 | mutex_init(&adev->srbm_mutex); |
1420 | mutex_init(&adev->grbm_idx_mutex); | 1422 | mutex_init(&adev->grbm_idx_mutex); |
1421 | init_rwsem(&adev->exclusive_lock); | ||
1422 | mutex_init(&adev->mn_lock); | 1423 | mutex_init(&adev->mn_lock); |
1423 | hash_init(adev->mn_hash); | 1424 | hash_init(adev->mn_hash); |
1424 | 1425 | ||
@@ -1814,14 +1815,6 @@ int amdgpu_gpu_reset(struct amdgpu_device *adev) | |||
1814 | int i, r; | 1815 | int i, r; |
1815 | int resched; | 1816 | int resched; |
1816 | 1817 | ||
1817 | down_write(&adev->exclusive_lock); | ||
1818 | |||
1819 | if (!adev->needs_reset) { | ||
1820 | up_write(&adev->exclusive_lock); | ||
1821 | return 0; | ||
1822 | } | ||
1823 | |||
1824 | adev->needs_reset = false; | ||
1825 | atomic_inc(&adev->gpu_reset_counter); | 1818 | atomic_inc(&adev->gpu_reset_counter); |
1826 | 1819 | ||
1827 | /* block TTM */ | 1820 | /* block TTM */ |
@@ -1885,7 +1878,6 @@ retry: | |||
1885 | dev_info(adev->dev, "GPU reset failed\n"); | 1878 | dev_info(adev->dev, "GPU reset failed\n"); |
1886 | } | 1879 | } |
1887 | 1880 | ||
1888 | up_write(&adev->exclusive_lock); | ||
1889 | return r; | 1881 | return r; |
1890 | } | 1882 | } |
1891 | 1883 | ||