[PATCH 2/2] drm/amd/powerplay: add registry key to disable ACG

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 19, 2018 at 03:11:36PM +0800, Kenneth Feng wrote:
> For the dummy ACG fuses,need to disable ACG, otherwise
> corruption will be caused.
> 
> Change-Id: I03db372bb6e934e9230f0745aa19c683adfdeccb
> Signed-off-by: Kenneth Feng <kenneth.feng at amd.com>
> ---
>  drivers/gpu/drm/amd/powerplay/hwmgr/vega12_processpptables.c | 5 +++++
>  drivers/gpu/drm/amd/powerplay/inc/hwmgr.h                    | 1 +
>  2 files changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_processpptables.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_processpptables.c
> index 7fa1ba8..888ddca 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_processpptables.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_processpptables.c
> @@ -224,6 +224,11 @@ static int append_vbios_pptable(struct pp_hwmgr *hwmgr, PPTable_t *ppsmc_pptable
>  	ppsmc_pptable->AcgGfxclkSpreadPercent = smc_dpm_table.acggfxclkspreadpercent;
>  	ppsmc_pptable->AcgGfxclkSpreadFreq = smc_dpm_table.acggfxclkspreadfreq;
>  
> +	/* 0xFFFF will disable the ACG feature */
> +	if (!(hwmgr->feature_mask & PP_ACG_MASK)) {
> +		ppsmc_pptable->AcgThresholdFreqHigh = 0xFFFF;
> +		ppsmc_pptable->AcgThresholdFreqLow = 0xFFFF;
> +	}
>  
>  	return 0;
>  }
> diff --git a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
> index 9b3dd7d..9afa5fe 100644
> --- a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
> +++ b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
> @@ -82,6 +82,7 @@ enum PP_FEATURE_MASK {
>  	PP_SOCCLK_DPM_MASK = 0x1000,
>  	PP_DCEFCLK_DPM_MASK = 0x2000,
>  	PP_OVERDRIVE_MASK = 0x4000,
> +	PP_ACG_MASK = 0x10000000,

Actually, we use bit map to indicate different power features, and use bit
one by one on that feature_mask.

PP_DCEFCLK_DPM_MASK = 1 << 13
PP_OVERDRIVE_MASK = 1 << 14

And in another patch, I add gfxoff feature mask below:
PP_GFXOFF_MASK = 0x8000 = 1 << 15

So I suggest you can set

PP_ACG_MASK = 0x10000 = 1 << 16 here.

Thanks,
Ray


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux