drm/amdgpu: use IP presence to free uvd and vce handles
authorAlex Deucher <alexander.deucher@amd.com>
Wed, 12 Sep 2018 18:51:25 +0000 (13:51 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Sep 2018 14:36:00 +0000 (09:36 -0500)
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>
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

index 76174c4..65b7132 100644 (file)
@@ -974,10 +974,10 @@ void amdgpu_driver_postclose_kms(struct drm_device *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);
+       if (amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_VCE) != NULL)
                amdgpu_vce_free_handles(adev, file_priv);
-       }
 
        amdgpu_vm_bo_rmv(adev, fpriv->prt_va);