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