|
@@ -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;
|