Ver Fonte

drm/amdgpu: use IP presence to free uvd and vce handles

Rather than checking the asic type, check whether the UVD
or VCE IP blocks exist.  This way we don't have to update
the check with new asics that use VCN.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Alex Deucher há 7 anos atrás
pai
commit
44876ae294
1 ficheiros alterados com 2 adições e 2 exclusões
  1. 2 2
      drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

+ 2 - 2
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

@@ -974,10 +974,10 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
 
 
 	pm_runtime_get_sync(dev->dev);
 	pm_runtime_get_sync(dev->dev);
 
 
-	if (adev->asic_type != CHIP_RAVEN && adev->asic_type != CHIP_PICASSO) {
+	if (amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_UVD) != NULL)
 		amdgpu_uvd_free_handles(adev, file_priv);
 		amdgpu_uvd_free_handles(adev, file_priv);
+	if (amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_VCE) != NULL)
 		amdgpu_vce_free_handles(adev, file_priv);
 		amdgpu_vce_free_handles(adev, file_priv);
-	}
 
 
 	amdgpu_vm_bo_rmv(adev, fpriv->prt_va);
 	amdgpu_vm_bo_rmv(adev, fpriv->prt_va);