drm/radeon: use new cg/pg flags for SI
Allows us finer grained control over clock and powergating on SI. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -2335,6 +2335,104 @@ int radeon_asic_init(struct radeon_device *rdev)
|
||||
rdev->has_uvd = false;
|
||||
else
|
||||
rdev->has_uvd = true;
|
||||
switch (rdev->family) {
|
||||
case CHIP_TAHITI:
|
||||
rdev->cg_flags =
|
||||
RADEON_CG_SUPPORT_GFX_MGCG |
|
||||
RADEON_CG_SUPPORT_GFX_MGLS |
|
||||
RADEON_CG_SUPPORT_GFX_CGCG |
|
||||
RADEON_CG_SUPPORT_GFX_CGLS |
|
||||
RADEON_CG_SUPPORT_GFX_CGTS |
|
||||
RADEON_CG_SUPPORT_GFX_CP_LS |
|
||||
RADEON_CG_SUPPORT_MC_MGCG |
|
||||
RADEON_CG_SUPPORT_SDMA_MGCG |
|
||||
RADEON_CG_SUPPORT_BIF_LS |
|
||||
RADEON_CG_SUPPORT_VCE_MGCG |
|
||||
RADEON_CG_SUPPORT_UVD_MGCG |
|
||||
RADEON_CG_SUPPORT_HDP_LS |
|
||||
RADEON_CG_SUPPORT_HDP_MGCG;
|
||||
rdev->pg_flags = 0;
|
||||
break;
|
||||
case CHIP_PITCAIRN:
|
||||
rdev->cg_flags =
|
||||
RADEON_CG_SUPPORT_GFX_MGCG |
|
||||
RADEON_CG_SUPPORT_GFX_MGLS |
|
||||
RADEON_CG_SUPPORT_GFX_CGCG |
|
||||
RADEON_CG_SUPPORT_GFX_CGLS |
|
||||
RADEON_CG_SUPPORT_GFX_CGTS |
|
||||
RADEON_CG_SUPPORT_GFX_CP_LS |
|
||||
RADEON_CG_SUPPORT_GFX_RLC_LS |
|
||||
RADEON_CG_SUPPORT_MC_LS |
|
||||
RADEON_CG_SUPPORT_MC_MGCG |
|
||||
RADEON_CG_SUPPORT_SDMA_MGCG |
|
||||
RADEON_CG_SUPPORT_BIF_LS |
|
||||
RADEON_CG_SUPPORT_VCE_MGCG |
|
||||
RADEON_CG_SUPPORT_UVD_MGCG |
|
||||
RADEON_CG_SUPPORT_HDP_LS |
|
||||
RADEON_CG_SUPPORT_HDP_MGCG;
|
||||
rdev->pg_flags = 0;
|
||||
break;
|
||||
case CHIP_VERDE:
|
||||
rdev->cg_flags =
|
||||
RADEON_CG_SUPPORT_GFX_MGCG |
|
||||
RADEON_CG_SUPPORT_GFX_MGLS |
|
||||
RADEON_CG_SUPPORT_GFX_CGCG |
|
||||
RADEON_CG_SUPPORT_GFX_CGLS |
|
||||
RADEON_CG_SUPPORT_GFX_CGTS |
|
||||
RADEON_CG_SUPPORT_GFX_CP_LS |
|
||||
RADEON_CG_SUPPORT_GFX_RLC_LS |
|
||||
RADEON_CG_SUPPORT_MC_LS |
|
||||
RADEON_CG_SUPPORT_MC_MGCG |
|
||||
RADEON_CG_SUPPORT_SDMA_MGCG |
|
||||
RADEON_CG_SUPPORT_BIF_LS |
|
||||
RADEON_CG_SUPPORT_VCE_MGCG |
|
||||
RADEON_CG_SUPPORT_UVD_MGCG |
|
||||
RADEON_CG_SUPPORT_HDP_LS |
|
||||
RADEON_CG_SUPPORT_HDP_MGCG;
|
||||
rdev->pg_flags = 0;
|
||||
/*RADEON_PG_SUPPORT_GFX_CG |
|
||||
RADEON_PG_SUPPORT_SDMA;*/
|
||||
break;
|
||||
case CHIP_OLAND:
|
||||
rdev->cg_flags =
|
||||
RADEON_CG_SUPPORT_GFX_MGCG |
|
||||
RADEON_CG_SUPPORT_GFX_MGLS |
|
||||
RADEON_CG_SUPPORT_GFX_CGCG |
|
||||
RADEON_CG_SUPPORT_GFX_CGLS |
|
||||
RADEON_CG_SUPPORT_GFX_CGTS |
|
||||
RADEON_CG_SUPPORT_GFX_CP_LS |
|
||||
RADEON_CG_SUPPORT_GFX_RLC_LS |
|
||||
RADEON_CG_SUPPORT_MC_LS |
|
||||
RADEON_CG_SUPPORT_MC_MGCG |
|
||||
RADEON_CG_SUPPORT_SDMA_MGCG |
|
||||
RADEON_CG_SUPPORT_BIF_LS |
|
||||
RADEON_CG_SUPPORT_UVD_MGCG |
|
||||
RADEON_CG_SUPPORT_HDP_LS |
|
||||
RADEON_CG_SUPPORT_HDP_MGCG;
|
||||
rdev->pg_flags = 0;
|
||||
break;
|
||||
case CHIP_HAINAN:
|
||||
rdev->cg_flags =
|
||||
RADEON_CG_SUPPORT_GFX_MGCG |
|
||||
RADEON_CG_SUPPORT_GFX_MGLS |
|
||||
RADEON_CG_SUPPORT_GFX_CGCG |
|
||||
RADEON_CG_SUPPORT_GFX_CGLS |
|
||||
RADEON_CG_SUPPORT_GFX_CGTS |
|
||||
RADEON_CG_SUPPORT_GFX_CP_LS |
|
||||
RADEON_CG_SUPPORT_GFX_RLC_LS |
|
||||
RADEON_CG_SUPPORT_MC_LS |
|
||||
RADEON_CG_SUPPORT_MC_MGCG |
|
||||
RADEON_CG_SUPPORT_SDMA_MGCG |
|
||||
RADEON_CG_SUPPORT_BIF_LS |
|
||||
RADEON_CG_SUPPORT_HDP_LS |
|
||||
RADEON_CG_SUPPORT_HDP_MGCG;
|
||||
rdev->pg_flags = 0;
|
||||
break;
|
||||
default:
|
||||
rdev->cg_flags = 0;
|
||||
rdev->pg_flags = 0;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CHIP_BONAIRE:
|
||||
rdev->asic = &ci_asic;
|
||||
|
Reference in New Issue
Block a user