[PATCH 1/6] drm/amd/pm: Add ASIC independent throttle bits

Lijo Lazar lijo.lazar at amd.com
Mon May 24 06:58:12 UTC 2021


There are duplicates in this list. It's better to classify as 
Power/Temperature/Current/Others and map; maybe, allocate 16 bit each in 
a 64-bit mask. Also, keep the naming consistent and start with "SMU_", 
that's what we do for others like SMU messages.

Power throttlers
-----------------

#define SMU_THROTTLER_PPT1_BIT		
#define SMU_THROTTLER_PPT0_BIT		
#define SMU_THROTTLER_PPT2_BIT		
#define SMU_THROTTLER_PPT3_BIT		
#define SMU_THROTTLER_SPL_BIT		
#define SMU_THROTTLER_FPPT_BIT		
#define SMU_THROTTLER_SPPT_BIT		
#define SMU_THROTTLER_SPPT_APU_BIT	

Current Throttlers
-------------------

#define SMU_THROTTLER_TDC_GFX_BIT	
#define SMU_THROTTLER_TDC_VDD_BIT	
#define SMU_THROTTLER_TDC_SOC_BIT		
#define SMU_THROTTLER_TDC_MEM_BIT => Should be the one used for HBM as well
#define SMU_THROTTLER_TDC_CVIP_BIT
#define SMU_THROTTLER_APCC_BIT		

Temperature
------------
		
#define SMU_THROTTLER_TEMP_GPU_BIT
#define SMU_THROTTLER_TEMP_CORE_BIT	
#define SMU_THROTTLER_TEMP_MEM_BIT		
#define SMU_THROTTLER_TEMP_EDGE_BIT		
#define SMU_THROTTLER_TEMP_HOTSPOT_BIT

#define SMU_THROTTLER_TEMP_VR_GFX_BIT		
#define SMU_THROTTLER_TEMP_VR_SOC_BIT		
#define SMU_THROTTLER_TEMP_VR_MEM_BIT
#define SMU_THROTTLER_VRHOT0_BIT		
#define SMU_THROTTLER_VRHOT1_BIT

#define SMU_THROTTLER_TEMP_LIQUID_BIT

Others
-------
		
#define SMU_THROTTLER_PPM_BIT			
#define SMU_THROTTLER_FIT_BIT	

-- 
Thanks,
Lijo

On 5/20/2021 7:59 PM, Graham Sider wrote:
> Add new defines for thermal throttle status bits which are ASIC
> independent. This bit field will be visible to userspace via
> gpu_metrics, replacing the previous ASIC dependent bit fields.
> ---
>   drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h | 32 +++++++++++++++++++++++++
>   1 file changed, 32 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
> index 523f9d2982e9..fbbebb1da913 100644
> --- a/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
> +++ b/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
> @@ -35,6 +35,38 @@
>   
>   #define SMU_DPM_USER_PROFILE_RESTORE (1 << 0)
>   
> +#define INDEP_THROTTLER_PPT0_BIT		0
> +#define INDEP_THROTTLER_PPT1_BIT		1
> +#define INDEP_THROTTLER_PPT2_BIT		2
> +#define INDEP_THROTTLER_PPT3_BIT		3
> +#define INDEP_THROTTLER_TDC_GFX_BIT		4
> +#define INDEP_THROTTLER_TDC_SOC_BIT		5
> +#define INDEP_THROTTLER_TDC_HBM_BIT		6
> +#define INDEP_THROTTLER_TEMP_GPU_BIT		7
> +#define INDEP_THROTTLER_TEMP_MEM_BIT		8
> +#define INDEP_THROTTLER_TEMP_EDGE_BIT		9
> +#define INDEP_THROTTLER_TEMP_HOTSPOT_BIT	10
> +#define INDEP_THROTTLER_TEMP_VR_GFX_BIT		11
> +#define INDEP_THROTTLER_TEMP_VR_SOC_BIT		12
> +#define INDEP_THROTTLER_TEMP_VR_MEM_BIT		13
> +#define INDEP_THROTTLER_TEMP_LIQUID_BIT		14
> +#define INDEP_THROTTLER_APCC_BIT		15
> +#define INDEP_THROTTLER_PPM_BIT			16
> +#define INDEP_THROTTLER_FIT_BIT			17
> +#define INDEP_THROTTLER_VRHOT0_BIT		18
> +#define INDEP_THROTTLER_VRHOT1_BIT		19
> +#define INDEP_THROTTLER_STATUS_BIT_SPL		20
> +#define INDEP_THROTTLER_STATUS_BIT_FPPT		21
> +#define INDEP_THROTTLER_STATUS_BIT_SPPT		22
> +#define INDEP_THROTTLER_STATUS_BIT_SPPT_APU	23
> +#define INDEP_THROTTLER_STATUS_BIT_THM_CORE	24
> +#define INDEP_THROTTLER_STATUS_BIT_THM_GFX	25
> +#define INDEP_THROTTLER_STATUS_BIT_THM_SOC	26
> +#define INDEP_THROTTLER_STATUS_BIT_TDC_VDD	27
> +#define INDEP_THROTTLER_STATUS_BIT_TDC_SOC	28
> +#define INDEP_THROTTLER_STATUS_BIT_TDC_GFX	29
> +#define INDEP_THROTTLER_STATUS_BIT_TDC_CVIP	30
> +
>   struct smu_hw_power_state {
>   	unsigned int magic;
>   };
> 



More information about the amd-gfx mailing list