drm/amdgpu: Workaround harvesting info for some navy flounder boards
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 21 Oct 2021 13:50:00 +0000 (09:50 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 22 Oct 2021 03:39:00 +0000 (23:39 -0400)
Some navy flounder boards do not properly mark harvested
VCN instances.  Fix that here.

v2: use IP versions

Fixes: 1b592d00b4ac83 ("drm/amdgpu/vcn: remove manual instance setting")
Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1743
Reviewed-and-tested-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c

index dfb92f2..814e962 100644 (file)
@@ -507,6 +507,10 @@ void amdgpu_discovery_harvest_ip(struct amdgpu_device *adev)
                        break;
                }
        }
+       /* some IP discovery tables on Navy Flounder don't have this set correctly */
+       if ((adev->ip_versions[UVD_HWIP][1] == IP_VERSION(3, 0, 1)) &&
+           (adev->ip_versions[GC_HWIP][0] == IP_VERSION(10, 3, 2)))
+               adev->vcn.harvest_config |= AMDGPU_VCN_HARVEST_VCN1;
        if (vcn_harvest_count == adev->vcn.num_vcn_inst) {
                adev->harvest_ip_mask |= AMD_HARVEST_IP_VCN_MASK;
                adev->harvest_ip_mask |= AMD_HARVEST_IP_JPEG_MASK;