Эх сурвалжийг харах

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
Leo Liu 7 жил өмнө
parent
commit
cb4b02d7ca

+ 4 - 0
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c

@@ -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);