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 76174c4d288a7d77194906e4fc24b33b905e1c7b..65b713225ebfe52f9da5c595c6a1e467bc832580 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);