drm/amdgpu: return -ENOENT from uvd 6.0 early init for harvesting

Fixes init failures on polaris cards with harvested UVD.

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
This commit is contained in:
Leo Liu 2017-10-31 21:03:39 -04:00 committed by Alex Deucher
parent d3daa2c786
commit cb4b02d7ca

View File

@ -93,6 +93,10 @@ static int uvd_v6_0_early_init(void *handle)
{ {
struct amdgpu_device *adev = (struct amdgpu_device *)handle; struct amdgpu_device *adev = (struct amdgpu_device *)handle;
if (!(adev->flags & AMD_IS_APU) &&
(RREG32_SMC(ixCC_HARVEST_FUSES) & CC_HARVEST_FUSES__UVD_DISABLE_MASK))
return -ENOENT;
uvd_v6_0_set_ring_funcs(adev); uvd_v6_0_set_ring_funcs(adev);
uvd_v6_0_set_irq_funcs(adev); uvd_v6_0_set_irq_funcs(adev);