On Wed, Mar 4, 2026 at 1:14 AM Wang, Yang(Kevin) <[email protected]> wrote: > > [AMD Official Use Only - AMD Internal Distribution Only] > > >> Is it ok to always set these, or should they only be restored based on the > >> user's settings? Same question for the existing feature bits. > https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c#L1871 > /* > * The member below instructs PMFW the settings focused in > * this single operation. > * `uint32_t FeatureCtrlMask;` > * It does not contain actual informations about user's custom > * settings. Thus we do not cache it. > */ > Please check above code comments first. > And according to the current PMFW/OD feature design, all OD feature switch is > not located in 'FeatureCtrlMask'. > If a certain bit is not set, PMFW will overwrite the values in OD using > either the default values in 'Default OverDriverTable built-in PMFW' or the > PPTable values. > and all OD actual information data has been saved in the 'user_od_table' > structure before entering S3. > Therefore, the Driver can safely configure these OD BITMASK directly without > additional checks in od restore stage.
Thanks for clarifying. The patches are: Acked-by: Alex Deucher <[email protected]> > > Best Regards, > Kevin > > -----Original Message----- > From: Alex Deucher <[email protected]> > Sent: Wednesday, March 4, 2026 11:05 AM > To: Wang, Yang(Kevin) <[email protected]> > Cc: [email protected]; Deucher, Alexander > <[email protected]>; Zhang, Hawking <[email protected]>; Feng, > Kenneth <[email protected]> > Subject: Re: [PATCH 1/2] drm/amd/pm: add missing od setting > PP_OD_FEATURE_ZERO_FAN_BIT for smu v13 > > On Tue, Mar 3, 2026 at 9:48 PM Yang Wang <[email protected]> wrote: > > > > add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu > > v13.0.0/13.0.7 > > > > Fixes: cfffd980bf21 ("drm/amd/pm: add zero RPM OD setting support for > > SMU13") > > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/5018 > > > > Signed-off-by: Yang Wang <[email protected]> > > --- > > drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 3 ++- > > drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 3 ++- > > 2 files changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c > > b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c > > index 35d36f2fe7dd..0a7307f5eb4c 100644 > > --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c > > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c > > @@ -2223,7 +2223,8 @@ static int > > smu_v13_0_0_restore_user_od_settings(struct smu_context *smu) > > user_od_table->OverDriveTable.FeatureCtrlMask = > > BIT(PP_OD_FEATURE_GFXCLK_BIT) | > > > > BIT(PP_OD_FEATURE_UCLK_BIT) | > > > > BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) | > > - > > BIT(PP_OD_FEATURE_FAN_CURVE_BIT); > > + > > BIT(PP_OD_FEATURE_FAN_CURVE_BIT) | > > + > > + BIT(PP_OD_FEATURE_ZERO_FAN_BIT); > > Is it ok to always set these, or should they only be restored based on the > user's settings? Same question for the existing feature bits. > > Alex > > > res = smu_v13_0_0_upload_overdrive_table(smu, user_od_table); > > user_od_table->OverDriveTable.FeatureCtrlMask = 0; > > if (res == 0) > > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c > > b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c > > index 4f729f54a64c..fa23f3d4a3fd 100644 > > --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c > > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c > > @@ -2225,7 +2225,8 @@ static int > > smu_v13_0_7_restore_user_od_settings(struct smu_context *smu) > > user_od_table->OverDriveTable.FeatureCtrlMask = > > BIT(PP_OD_FEATURE_GFXCLK_BIT) | > > > > BIT(PP_OD_FEATURE_UCLK_BIT) | > > > > BIT(PP_OD_FEATURE_GFX_VF_CURVE_BIT) | > > - > > BIT(PP_OD_FEATURE_FAN_CURVE_BIT); > > + > > BIT(PP_OD_FEATURE_FAN_CURVE_BIT) | > > + > > + BIT(PP_OD_FEATURE_ZERO_FAN_BIT); > > res = smu_v13_0_7_upload_overdrive_table(smu, user_od_table); > > user_od_table->OverDriveTable.FeatureCtrlMask = 0; > > if (res == 0) > > -- > > 2.47.3 > >
