public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Jacob Pan <jacob.jun.pan@linux.intel.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Linux PM <linux-pm@vger.kernel.org>,
	Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
	Rafael Wysocki <rafael.j.wysocki@intel.com>,
	Gavin Hindman <gavin.hindman@intel.com>,
	"Triplett, Josh" <josh.triplett@intel.com>
Subject: Re: [PATCH] powercap/rapl: add support for ValleyView Soc
Date: Sun, 22 Dec 2013 02:06:33 +0100	[thread overview]
Message-ID: <1553570.ISCzPqBYzN@vostro.rjw.lan> (raw)
In-Reply-To: <1386801567-26661-1-git-send-email-jacob.jun.pan@linux.intel.com>

On Wednesday, December 11, 2013 02:39:27 PM Jacob Pan wrote:
> This patch adds support for RAPL on Intel ValleyView based SoC
> platforms, such as Baytrail.
> 
> Besides adding CPU ID, special energy unit encoding is handled
> for ValleyView.
> 
> Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>

Queued up for 3.14, thanks!

> ---
>  drivers/powercap/intel_rapl.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/powercap/intel_rapl.c b/drivers/powercap/intel_rapl.c
> index 2a786c5..3c67683 100644
> --- a/drivers/powercap/intel_rapl.c
> +++ b/drivers/powercap/intel_rapl.c
> @@ -833,6 +833,11 @@ static int rapl_write_data_raw(struct rapl_domain *rd,
>  	return 0;
>  }
>  
> +static const struct x86_cpu_id energy_unit_quirk_ids[] = {
> +	{ X86_VENDOR_INTEL, 6, 0x37},/* VLV */
> +	{}
> +};
> +
>  static int rapl_check_unit(struct rapl_package *rp, int cpu)
>  {
>  	u64 msr_val;
> @@ -853,8 +858,11 @@ static int rapl_check_unit(struct rapl_package *rp, int cpu)
>  	 * time unit: 1/time_unit_divisor Seconds
>  	 */
>  	value = (msr_val & ENERGY_UNIT_MASK) >> ENERGY_UNIT_OFFSET;
> -	rp->energy_unit_divisor = 1 << value;
> -
> +	/* some CPUs have different way to calculate energy unit */
> +	if (x86_match_cpu(energy_unit_quirk_ids))
> +		rp->energy_unit_divisor = 1000000 / (1 << value);
> +	else
> +		rp->energy_unit_divisor = 1 << value;
>  
>  	value = (msr_val & POWER_UNIT_MASK) >> POWER_UNIT_OFFSET;
>  	rp->power_unit_divisor = 1 << value;
> @@ -941,6 +949,7 @@ static void package_power_limit_irq_restore(int package_id)
>  static const struct x86_cpu_id rapl_ids[] = {
>  	{ X86_VENDOR_INTEL, 6, 0x2a},/* SNB */
>  	{ X86_VENDOR_INTEL, 6, 0x2d},/* SNB EP */
> +	{ X86_VENDOR_INTEL, 6, 0x37},/* VLV */
>  	{ X86_VENDOR_INTEL, 6, 0x3a},/* IVB */
>  	{ X86_VENDOR_INTEL, 6, 0x45},/* HSW */
>  	/* TODO: Add more CPU IDs after testing */
> 
-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

  reply	other threads:[~2013-12-22  0:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-11 22:39 [PATCH] powercap/rapl: add support for ValleyView Soc Jacob Pan
2013-12-22  1:06 ` Rafael J. Wysocki [this message]
2013-12-22 19:22   ` Vince Weaver
2013-12-22 21:21     ` Rafael J. Wysocki

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=1553570.ISCzPqBYzN@vostro.rjw.lan \
    --to=rjw@rjwysocki.net \
    --cc=gavin.hindman@intel.com \
    --cc=jacob.jun.pan@linux.intel.com \
    --cc=josh.triplett@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=srinivas.pandruvada@linux.intel.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox