All of lore.kernel.org
 help / color / mirror / Atom feed
From: Huang Rui <ray.huang@amd.com>
To: "Limonciello, Mario" <Mario.Limonciello@amd.com>
Cc: "rafael@kernel.org" <rafael@kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Karny, Wyes" <Wyes.Karny@amd.com>,
	"Yuan, Perry" <Perry.Yuan@amd.com>
Subject: Re: [PATCH] cpufreq: amd-pstate: Add sysfs file for base frequency
Date: Mon, 3 Jul 2023 15:06:37 +0800	[thread overview]
Message-ID: <ZKJzfbbMFRQO7xov@amd.com> (raw)
In-Reply-To: <20230629135454.177421-1-mario.limonciello@amd.com>

On Thu, Jun 29, 2023 at 09:54:54PM +0800, Limonciello, Mario wrote:
> Some applications may want to query the base frequency to tell when
> a processor is operating in boost.
> 
> Tested-by: Wyes Karny <wyes.karny@amd.com>
> Reviewed-by: Wyes Karny <wyes.karny@amd.com>
> Co-developed-by: Perry Yuan <perry.yuan@amd.com>
> Signed-off-by: Perry Yuan <perry.yuan@amd.com>
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
>  Documentation/admin-guide/pm/amd-pstate.rst |  4 ++++
>  drivers/cpufreq/amd-pstate.c                | 15 +++++++++++++++
>  2 files changed, 19 insertions(+)
> 
> diff --git a/Documentation/admin-guide/pm/amd-pstate.rst b/Documentation/admin-guide/pm/amd-pstate.rst
> index 1cf40f69278cd..e68267857e859 100644
> --- a/Documentation/admin-guide/pm/amd-pstate.rst
> +++ b/Documentation/admin-guide/pm/amd-pstate.rst
> @@ -281,6 +281,10 @@ integer values defined between 0 to 255 when EPP feature is enabled by platform
>  firmware, if EPP feature is disabled, driver will ignore the written value
>  This attribute is read-write.
>  
> +``base_frequency``
> +	Shows the base frequency of the CPU. Frequencies above this will be in the
> +  ``boost`` range. This attribute is read-only.
> +
>  Other performance and frequency values can be read back from
>  ``/sys/devices/system/cpu/cpuX/acpi_cppc/``, see :ref:`cppc_sysfs`.
>  
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index 81fba0dcbee99..0fec66b3f7241 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -1037,6 +1037,19 @@ static ssize_t store_status(struct kobject *a, struct kobj_attribute *b,
>  	return ret < 0 ? ret : count;
>  }
>  
> +static ssize_t show_base_frequency(struct cpufreq_policy *policy, char *buf)
> +{
> +	struct amd_cpudata *cpudata = policy->driver_data;
> +	u32 nominal_freq;
> +
> +	nominal_freq = amd_get_nominal_freq(cpudata);
> +	if (nominal_freq < 0)
> +		return nominal_freq;
> +
> +	return sysfs_emit(buf, "%d\n", nominal_freq);
> +}

User can get it from nominal_freq at drivers/acpi/cppc_acpi.c:

show_cppc_data(cppc_get_perf_caps, cppc_perf_caps, nominal_freq);

Thanks,
Ray

> +
> +cpufreq_freq_attr_ro(base_frequency);
>  cpufreq_freq_attr_ro(amd_pstate_max_freq);
>  cpufreq_freq_attr_ro(amd_pstate_lowest_nonlinear_freq);
>  
> @@ -1049,6 +1062,7 @@ static struct freq_attr *amd_pstate_attr[] = {
>  	&amd_pstate_max_freq,
>  	&amd_pstate_lowest_nonlinear_freq,
>  	&amd_pstate_highest_perf,
> +	&base_frequency,
>  	NULL,
>  };
>  
> @@ -1058,6 +1072,7 @@ static struct freq_attr *amd_pstate_epp_attr[] = {
>  	&amd_pstate_highest_perf,
>  	&energy_performance_preference,
>  	&energy_performance_available_preferences,
> +	&base_frequency,
>  	NULL,
>  };
>  
> -- 
> 2.34.1
> 

  reply	other threads:[~2023-07-03  7:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-29 13:54 [PATCH] cpufreq: amd-pstate: Add sysfs file for base frequency Mario Limonciello
2023-07-03  7:06 ` Huang Rui [this message]
2023-07-04  1:09   ` Mario Limonciello
2023-07-11  4:32 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZKJzfbbMFRQO7xov@amd.com \
    --to=ray.huang@amd.com \
    --cc=Mario.Limonciello@amd.com \
    --cc=Perry.Yuan@amd.com \
    --cc=Wyes.Karny@amd.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.