How can you tell whether it was already applied before or 1st time to switch to compute mode? For the latter case, other settings/parameters do need. Regards, Evan > -----Original Message----- > From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of > Russell, Kent > Sent: 2019年3月25日 20:42 > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Russell, Kent <Kent.Russell@xxxxxxx> > Subject: [PATCH 1/3] drm/amdgpu: Stop returning EINVAL during profile > switch > > Don't return an error after switching to the CUSTOM profile, if there aren't > any CUSTOM values passed in. The CUSTOM profile is already applied, so if > no other arguments are passed, just return instead of throwing -EINVAL > when successful > > Change-Id: I114cc9783226ee9ebb146863897e951527a85e20 > Signed-off-by: Kent Russell <kent.russell@xxxxxxx> > --- > drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 6 +++++- > drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c | 5 ++++- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c > b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c > index ed6c638700f5..a98b927282ac 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c > @@ -4911,7 +4911,11 @@ static int vega10_set_power_profile_mode(struct > pp_hwmgr *hwmgr, long *input, ui > 1<<hwmgr- > >power_profile_mode); > > if (hwmgr->power_profile_mode == > PP_SMC_POWER_PROFILE_CUSTOM) { > - if (size == 0 || size > 4) > + /* If size = 0, then just return, it was applied above */ > + if (size == 0) > + return 0; > + > + if (size != 4) > return -EINVAL; > > data->custom_profile_mode[0] = busy_set_point = input[0]; > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c > b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c > index 664544e7fcdc..225b2102c82c 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c > @@ -3828,8 +3828,11 @@ static int vega20_set_power_profile_mode(struct > pp_hwmgr *hwmgr, long *input, ui > } > > if (hwmgr->power_profile_mode == > PP_SMC_POWER_PROFILE_CUSTOM) { > - if (size < 10) > + if (size < 10 && size != 0) > return -EINVAL; > + /* If size = 0, then just return, it was applied above */ > + if (size == 0) > + return 0; > > result = vega20_get_activity_monitor_coeff(hwmgr, > (uint8_t *)(&activity_monitor), > -- > 2.17.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx