drm/amdgpu: Fix harvest reporting of VCN
authorLijo Lazar <lijo.lazar@amd.com>
Mon, 27 Feb 2023 10:37:39 +0000 (16:07 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:56:08 +0000 (09:56 -0400)
Use VCN instance mask to check if an instance is harvested or not.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: James Zhu <James.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c

index ae5852f..caae6bf 100644 (file)
@@ -313,6 +313,7 @@ static void amdgpu_discovery_harvest_config_quirk(struct amdgpu_device *adev)
                case 0xCF:
                case 0xDF:
                        adev->vcn.harvest_config |= AMDGPU_VCN_HARVEST_VCN1;
+                       adev->vcn.inst_mask &= ~AMDGPU_VCN_HARVEST_VCN1;
                        break;
                default:
                        break;
@@ -899,7 +900,7 @@ static uint8_t amdgpu_discovery_get_harvest_info(struct amdgpu_device *adev,
        /* Until a uniform way is figured, get mask based on hwid */
        switch (hw_id) {
        case VCN_HWID:
-               harvest = (1 << inst) & adev->vcn.harvest_config;
+               harvest = ((1 << inst) & adev->vcn.inst_mask) == 0;
                break;
        case DMU_HWID:
                if (adev->harvest_ip_mask & AMD_HARVEST_IP_DMU_MASK)