drm/amdgpu: convert to UVD IP version checking
authorTim Huang <xiaohu.huang@amd.com>
Tue, 25 Jan 2022 03:13:39 +0000 (11:13 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Jan 2022 23:00:36 +0000 (18:00 -0500)
Use IP versions rather than asic_type to differentiate IP version specific features.

Signed-off-by: Tim Huang <tim.huang@amd.com>
Reviewed-by: Aaron Liu <aaron.liu@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c

index 01c242c..41a0085 100644 (file)
@@ -50,11 +50,16 @@ static int jpeg_v3_0_early_init(void *handle)
 {
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
-       if (adev->asic_type != CHIP_YELLOW_CARP) {
-               u32 harvest = RREG32_SOC15(JPEG, 0, mmCC_UVD_HARVESTING);
+       u32 harvest;
 
+       switch (adev->ip_versions[UVD_HWIP][0]) {
+       case IP_VERSION(3, 1, 1):
+               break;
+       default:
+               harvest = RREG32_SOC15(JPEG, 0, mmCC_UVD_HARVESTING);
                if (harvest & CC_UVD_HARVESTING__UVD_DISABLE_MASK)
                        return -ENOENT;
+               break;
        }
 
        adev->jpeg.num_jpeg_inst = 1;