diff options
| author | Andrey Grodzovsky <[email protected]> | 2018-11-29 17:21:53 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2018-12-03 16:15:08 +0000 |
| commit | a82400b57abb6aff068bb3b21d1cccd63acbb863 (patch) | |
| tree | 69a85209edb417f47210e3cccde644d0b88a25a4 /drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | |
| parent | drm/amdgpu/psp: Update waiting in psp mode1 reset. (diff) | |
| download | kernel-a82400b57abb6aff068bb3b21d1cccd63acbb863.tar.gz kernel-a82400b57abb6aff068bb3b21d1cccd63acbb863.zip | |
drm/amdgpu: Handle xgmi device removal.
XGMI hive has some resources allocted on device init which
needs to be deallocated when the device is unregistered.
v2: Remove creation of dedicated wq for XGMI hive reset.
v3: Use the gmc.xgmi.supported flag
Signed-off-by: Andrey Grodzovsky <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c index f8c86d0593dd..1b15ff3266b1 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c @@ -135,3 +135,23 @@ exit: mutex_unlock(&xgmi_mutex); return ret; } + +void amdgpu_xgmi_remove_device(struct amdgpu_device *adev) +{ + struct amdgpu_hive_info *hive; + + if (!adev->gmc.xgmi.supported) + return; + + mutex_lock(&xgmi_mutex); + + hive = amdgpu_get_xgmi_hive(adev); + if (!hive) + goto exit; + + if (!(hive->number_devices--)) + mutex_destroy(&hive->hive_lock); + +exit: + mutex_unlock(&xgmi_mutex); +} |
