From: Le Ma <[email protected]>

Clear harvested MMHUB instances from mmhub.inst_mask when processing
the harvest table. Report the harvest state through IP discovery
sysfs for MMHUB v4.2.0.

Signed-off-by: Le Ma <[email protected]>
Reviewed-by: Lijo Lazar <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
index 6f3da085939b6..4de9af1af0e4e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
@@ -961,6 +961,9 @@ static void amdgpu_discovery_read_from_harvest_table(struct 
amdgpu_device *adev,
                case SDMA0_HWID:
                        adev->sdma.sdma_mask &= ~BIT(inst);
                        break;
+               case MMHUB_HWID:
+                       adev->mmhub.inst_mask &= ~BIT(inst);
+                       break;
 #if defined(CONFIG_DRM_AMD_ISP)
                case ISP_HWID:
                        adev->isp.harvest_config |= ~BIT(inst);
@@ -1251,6 +1254,9 @@ static uint8_t amdgpu_discovery_get_harvest_info(struct 
amdgpu_device *adev,
        case SDMA0_HWID:
                harvest = ((1 << inst) & adev->sdma.sdma_mask) == 0;
                break;
+       case MMHUB_HWID:
+               harvest = (BIT(inst) & adev->mmhub.inst_mask) == 0;
+               break;
        default:
                break;
        }
-- 
2.55.0

Reply via email to