Message ID | 20240901024912.1217014-2-superm1@kernel.org |
---|---|
State | New |
Headers | show |
Series | amd-pstate: Add unit tests for state machine | expand |
[AMD Official Use Only - AMD Internal Distribution Only] Hi Mario, > -----Original Message----- > From: Mario Limonciello <superm1@kernel.org> > Sent: Sunday, September 1, 2024 10:49 AM > To: Meng, Li (Jassmine) <Li.Meng@amd.com>; Shenoy, Gautham Ranjal > <gautham.shenoy@amd.com>; Yuan, Perry <Perry.Yuan@amd.com> > Cc: open list:X86 ARCHITECTURE (32-BIT AND 64-BIT) <linux- > kernel@vger.kernel.org>; open list:CPU FREQUENCY SCALING FRAMEWORK > <linux-pm@vger.kernel.org>; ptr1337@cachyos.org; Limonciello, Mario > <Mario.Limonciello@amd.com> > Subject: [PATCH 1/2] cpufreq/amd-pstate: Export symbols for changing > modes > > From: Mario Limonciello <mario.limonciello@amd.com> > > In order to effectively test all mode switch combinations export everything > necessarily for amd-pstate-ut to trigger a mode switch. > > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > --- > drivers/cpufreq/amd-pstate.c | 23 ++++++++++------------- > drivers/cpufreq/amd-pstate.h | 14 ++++++++++++++ > 2 files changed, 24 insertions(+), 13 deletions(-) > > diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c > index 073ca9caf52ac..93adde45bebce 100644 > --- a/drivers/cpufreq/amd-pstate.c > +++ b/drivers/cpufreq/amd-pstate.c > @@ -60,18 +60,6 @@ > #define AMD_CPPC_EPP_BALANCE_POWERSAVE 0xBF > #define AMD_CPPC_EPP_POWERSAVE 0xFF > > -/* > - * enum amd_pstate_mode - driver working mode of amd pstate > - */ > -enum amd_pstate_mode { > - AMD_PSTATE_UNDEFINED = 0, > - AMD_PSTATE_DISABLE, > - AMD_PSTATE_PASSIVE, > - AMD_PSTATE_ACTIVE, > - AMD_PSTATE_GUIDED, > - AMD_PSTATE_MAX, > -}; > - > static const char * const amd_pstate_mode_string[] = { > [AMD_PSTATE_UNDEFINED] = "undefined", > [AMD_PSTATE_DISABLE] = "disable", > @@ -81,6 +69,14 @@ static const char * const amd_pstate_mode_string[] = > { > NULL, > }; > > +const char *amd_pstate_get_mode_string(enum amd_pstate_mode mode) > { > + if (mode < 0 || mode >= AMD_PSTATE_MAX) > + return NULL; > + return amd_pstate_mode_string[mode]; > +} > +EXPORT_SYMBOL_GPL(amd_pstate_get_mode_string); > + > struct quirk_entry { > u32 nominal_freq; > u32 lowest_freq; > @@ -1352,7 +1348,7 @@ static ssize_t amd_pstate_show_status(char *buf) > return sysfs_emit(buf, "%s\n", > amd_pstate_mode_string[cppc_state]); > } > > -static int amd_pstate_update_status(const char *buf, size_t size) > +int amd_pstate_update_status(const char *buf, size_t size) > { > int mode_idx; > > @@ -1369,6 +1365,7 @@ static int amd_pstate_update_status(const char > *buf, size_t size) > > return 0; > } > +EXPORT_SYMBOL_GPL(amd_pstate_update_status); > > static ssize_t status_show(struct device *dev, > struct device_attribute *attr, char *buf) diff --git > a/drivers/cpufreq/amd-pstate.h b/drivers/cpufreq/amd-pstate.h index > cc8bb2bc325aa..cd573bc6b6db8 100644 > --- a/drivers/cpufreq/amd-pstate.h > +++ b/drivers/cpufreq/amd-pstate.h > @@ -103,4 +103,18 @@ struct amd_cpudata { > bool boost_state; > }; > > +/* > + * enum amd_pstate_mode - driver working mode of amd pstate */ enum > +amd_pstate_mode { > + AMD_PSTATE_UNDEFINED = 0, > + AMD_PSTATE_DISABLE, > + AMD_PSTATE_PASSIVE, > + AMD_PSTATE_ACTIVE, > + AMD_PSTATE_GUIDED, > + AMD_PSTATE_MAX, > +}; > +const char *amd_pstate_get_mode_string(enum amd_pstate_mode mode); > int > +amd_pstate_update_status(const char *buf, size_t size); > + > #endif /* _LINUX_AMD_PSTATE_H */ > -- > 2.43.0 LGTM, move the amd_pstate_mode to header file that will be used by UT test . Thanks for the improvement. Reviewed-by: Perry Yuan <Perry.Yuan@amd.com>
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c index 073ca9caf52ac..93adde45bebce 100644 --- a/drivers/cpufreq/amd-pstate.c +++ b/drivers/cpufreq/amd-pstate.c @@ -60,18 +60,6 @@ #define AMD_CPPC_EPP_BALANCE_POWERSAVE 0xBF #define AMD_CPPC_EPP_POWERSAVE 0xFF -/* - * enum amd_pstate_mode - driver working mode of amd pstate - */ -enum amd_pstate_mode { - AMD_PSTATE_UNDEFINED = 0, - AMD_PSTATE_DISABLE, - AMD_PSTATE_PASSIVE, - AMD_PSTATE_ACTIVE, - AMD_PSTATE_GUIDED, - AMD_PSTATE_MAX, -}; - static const char * const amd_pstate_mode_string[] = { [AMD_PSTATE_UNDEFINED] = "undefined", [AMD_PSTATE_DISABLE] = "disable", @@ -81,6 +69,14 @@ static const char * const amd_pstate_mode_string[] = { NULL, }; +const char *amd_pstate_get_mode_string(enum amd_pstate_mode mode) +{ + if (mode < 0 || mode >= AMD_PSTATE_MAX) + return NULL; + return amd_pstate_mode_string[mode]; +} +EXPORT_SYMBOL_GPL(amd_pstate_get_mode_string); + struct quirk_entry { u32 nominal_freq; u32 lowest_freq; @@ -1352,7 +1348,7 @@ static ssize_t amd_pstate_show_status(char *buf) return sysfs_emit(buf, "%s\n", amd_pstate_mode_string[cppc_state]); } -static int amd_pstate_update_status(const char *buf, size_t size) +int amd_pstate_update_status(const char *buf, size_t size) { int mode_idx; @@ -1369,6 +1365,7 @@ static int amd_pstate_update_status(const char *buf, size_t size) return 0; } +EXPORT_SYMBOL_GPL(amd_pstate_update_status); static ssize_t status_show(struct device *dev, struct device_attribute *attr, char *buf) diff --git a/drivers/cpufreq/amd-pstate.h b/drivers/cpufreq/amd-pstate.h index cc8bb2bc325aa..cd573bc6b6db8 100644 --- a/drivers/cpufreq/amd-pstate.h +++ b/drivers/cpufreq/amd-pstate.h @@ -103,4 +103,18 @@ struct amd_cpudata { bool boost_state; }; +/* + * enum amd_pstate_mode - driver working mode of amd pstate + */ +enum amd_pstate_mode { + AMD_PSTATE_UNDEFINED = 0, + AMD_PSTATE_DISABLE, + AMD_PSTATE_PASSIVE, + AMD_PSTATE_ACTIVE, + AMD_PSTATE_GUIDED, + AMD_PSTATE_MAX, +}; +const char *amd_pstate_get_mode_string(enum amd_pstate_mode mode); +int amd_pstate_update_status(const char *buf, size_t size); + #endif /* _LINUX_AMD_PSTATE_H */