linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit
@ 2016-01-27 11:02 Gioh Kim
  2016-01-27 11:12 ` Borislav Petkov
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Gioh Kim @ 2016-01-27 11:02 UTC (permalink / raw)
  To: ray.huang; +Cc: linux, bp, lm-sensors, linux-kernel, Gioh Kim

Add bit masking to read ApmTdpLimit precisely

Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com>
---
 drivers/hwmon/fam15h_power.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c
index f77eb97..4f695d8 100644
--- a/drivers/hwmon/fam15h_power.c
+++ b/drivers/hwmon/fam15h_power.c
@@ -90,7 +90,15 @@ static ssize_t show_power(struct device *dev,
 	pci_bus_read_config_dword(f4->bus, PCI_DEVFN(PCI_SLOT(f4->devfn), 5),
 				  REG_TDP_LIMIT3, &val);
 
-	tdp_limit = val >> 16;
+	/*
+	 * On Carrizo and later platforms, ApmTdpLimit bit field
+	 * is extended to 16:31 from 16:28.
+	 */
+	if (boot_cpu_data.x86 == 0x15 && boot_cpu_data.x86_model >= 0x60)
+		tdp_limit = val >> 16;
+	else
+		tdp_limit = (val >> 16) & 0x1fff;
+
 	curr_pwr_watts = ((u64)(tdp_limit +
 				data->base_tdp)) << running_avg_range;
 	curr_pwr_watts -= running_avg_capture;
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit
  2016-01-27 11:02 [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit Gioh Kim
@ 2016-01-27 11:12 ` Borislav Petkov
  2016-01-28  2:25   ` Huang Rui
  2016-01-28  2:20 ` Huang Rui
  2016-01-28  2:51 ` Guenter Roeck
  2 siblings, 1 reply; 6+ messages in thread
From: Borislav Petkov @ 2016-01-27 11:12 UTC (permalink / raw)
  To: Gioh Kim; +Cc: ray.huang, linux, lm-sensors, linux-kernel

On Wed, Jan 27, 2016 at 12:02:09PM +0100, Gioh Kim wrote:
> Add bit masking to read ApmTdpLimit precisely
> 
> Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com>
> ---
>  drivers/hwmon/fam15h_power.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c
> index f77eb97..4f695d8 100644
> --- a/drivers/hwmon/fam15h_power.c
> +++ b/drivers/hwmon/fam15h_power.c
> @@ -90,7 +90,15 @@ static ssize_t show_power(struct device *dev,
>  	pci_bus_read_config_dword(f4->bus, PCI_DEVFN(PCI_SLOT(f4->devfn), 5),
>  				  REG_TDP_LIMIT3, &val);
>  
> -	tdp_limit = val >> 16;
> +	/*
> +	 * On Carrizo and later platforms, ApmTdpLimit bit field
> +	 * is extended to 16:31 from 16:28.
> +	 */
> +	if (boot_cpu_data.x86 == 0x15 && boot_cpu_data.x86_model >= 0x60)
> +		tdp_limit = val >> 16;
> +	else
> +		tdp_limit = (val >> 16) & 0x1fff;
> +
>  	curr_pwr_watts = ((u64)(tdp_limit +
>  				data->base_tdp)) << running_avg_range;
>  	curr_pwr_watts -= running_avg_capture;
> -- 

Acked-by: Borislav Petkov <bp@suse.de>

Btw, Rui, you could consider unifying the code under a single

	if (boot_cpu_data.x86 == 0x15 && boot_cpu_data.x86_model >= 0x60) {
		...

	else
		...

as with this patch you'll have two of those checks. Unified might be
better readable but that is for another patch.

Thanks.

-- 
Regards/Gruss,
    Boris.

ECO tip #101: Trim your mails when you reply.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit
  2016-01-27 11:02 [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit Gioh Kim
  2016-01-27 11:12 ` Borislav Petkov
@ 2016-01-28  2:20 ` Huang Rui
  2016-01-28  2:51 ` Guenter Roeck
  2 siblings, 0 replies; 6+ messages in thread
From: Huang Rui @ 2016-01-28  2:20 UTC (permalink / raw)
  To: Gioh Kim; +Cc: linux, bp, lm-sensors, linux-kernel

On Wed, Jan 27, 2016 at 12:02:09PM +0100, Gioh Kim wrote:
> Add bit masking to read ApmTdpLimit precisely
> 
> Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com>

Looks good for me too.

Acked-by: Huang Rui <ray.huang@amd.com>

> ---
>  drivers/hwmon/fam15h_power.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c
> index f77eb97..4f695d8 100644
> --- a/drivers/hwmon/fam15h_power.c
> +++ b/drivers/hwmon/fam15h_power.c
> @@ -90,7 +90,15 @@ static ssize_t show_power(struct device *dev,
>  	pci_bus_read_config_dword(f4->bus, PCI_DEVFN(PCI_SLOT(f4->devfn), 5),
>  				  REG_TDP_LIMIT3, &val);
>  
> -	tdp_limit = val >> 16;
> +	/*
> +	 * On Carrizo and later platforms, ApmTdpLimit bit field
> +	 * is extended to 16:31 from 16:28.
> +	 */
> +	if (boot_cpu_data.x86 == 0x15 && boot_cpu_data.x86_model >= 0x60)
> +		tdp_limit = val >> 16;
> +	else
> +		tdp_limit = (val >> 16) & 0x1fff;
> +
>  	curr_pwr_watts = ((u64)(tdp_limit +
>  				data->base_tdp)) << running_avg_range;
>  	curr_pwr_watts -= running_avg_capture;
> -- 
> 2.5.0
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit
  2016-01-27 11:12 ` Borislav Petkov
@ 2016-01-28  2:25   ` Huang Rui
  2016-01-28  9:02     ` Gi-Oh Kim
  0 siblings, 1 reply; 6+ messages in thread
From: Huang Rui @ 2016-01-28  2:25 UTC (permalink / raw)
  To: Borislav Petkov; +Cc: Gioh Kim, linux, lm-sensors, linux-kernel

On Wed, Jan 27, 2016 at 12:12:56PM +0100, Borislav Petkov wrote:
> On Wed, Jan 27, 2016 at 12:02:09PM +0100, Gioh Kim wrote:
> > Add bit masking to read ApmTdpLimit precisely
> > 
> > Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com>
> > ---
> >  drivers/hwmon/fam15h_power.c | 10 +++++++++-
> >  1 file changed, 9 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c
> > index f77eb97..4f695d8 100644
> > --- a/drivers/hwmon/fam15h_power.c
> > +++ b/drivers/hwmon/fam15h_power.c
> > @@ -90,7 +90,15 @@ static ssize_t show_power(struct device *dev,
> >  	pci_bus_read_config_dword(f4->bus, PCI_DEVFN(PCI_SLOT(f4->devfn), 5),
> >  				  REG_TDP_LIMIT3, &val);
> >  
> > -	tdp_limit = val >> 16;
> > +	/*
> > +	 * On Carrizo and later platforms, ApmTdpLimit bit field
> > +	 * is extended to 16:31 from 16:28.
> > +	 */
> > +	if (boot_cpu_data.x86 == 0x15 && boot_cpu_data.x86_model >= 0x60)
> > +		tdp_limit = val >> 16;
> > +	else
> > +		tdp_limit = (val >> 16) & 0x1fff;
> > +
> >  	curr_pwr_watts = ((u64)(tdp_limit +
> >  				data->base_tdp)) << running_avg_range;
> >  	curr_pwr_watts -= running_avg_capture;
> > -- 
> 
> Acked-by: Borislav Petkov <bp@suse.de>
> 
> Btw, Rui, you could consider unifying the code under a single
> 
> 	if (boot_cpu_data.x86 == 0x15 && boot_cpu_data.x86_model >= 0x60) {
> 		...
> 
> 	else
> 		...
> 
> as with this patch you'll have two of those checks. Unified might be
> better readable but that is for another patch.
> 

Make sence, I will do that. :-)

Thanks,
Rui

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit
  2016-01-27 11:02 [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit Gioh Kim
  2016-01-27 11:12 ` Borislav Petkov
  2016-01-28  2:20 ` Huang Rui
@ 2016-01-28  2:51 ` Guenter Roeck
  2 siblings, 0 replies; 6+ messages in thread
From: Guenter Roeck @ 2016-01-28  2:51 UTC (permalink / raw)
  To: Gioh Kim, ray.huang; +Cc: bp, lm-sensors, linux-kernel

On 01/27/2016 03:02 AM, Gioh Kim wrote:
> Add bit masking to read ApmTdpLimit precisely
>
> Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com>

Applied.

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit
  2016-01-28  2:25   ` Huang Rui
@ 2016-01-28  9:02     ` Gi-Oh Kim
  0 siblings, 0 replies; 6+ messages in thread
From: Gi-Oh Kim @ 2016-01-28  9:02 UTC (permalink / raw)
  To: Huang Rui, Borislav Petkov; +Cc: linux, lm-sensors, linux-kernel



On 28.01.2016 03:25, Huang Rui wrote:
> On Wed, Jan 27, 2016 at 12:12:56PM +0100, Borislav Petkov wrote:
>> On Wed, Jan 27, 2016 at 12:02:09PM +0100, Gioh Kim wrote:
>>> Add bit masking to read ApmTdpLimit precisely
>>>
>>> Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com>
>>> ---
>>>   drivers/hwmon/fam15h_power.c | 10 +++++++++-
>>>   1 file changed, 9 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c
>>> index f77eb97..4f695d8 100644
>>> --- a/drivers/hwmon/fam15h_power.c
>>> +++ b/drivers/hwmon/fam15h_power.c
>>> @@ -90,7 +90,15 @@ static ssize_t show_power(struct device *dev,
>>>   	pci_bus_read_config_dword(f4->bus, PCI_DEVFN(PCI_SLOT(f4->devfn), 5),
>>>   				  REG_TDP_LIMIT3, &val);
>>>   
>>> -	tdp_limit = val >> 16;
>>> +	/*
>>> +	 * On Carrizo and later platforms, ApmTdpLimit bit field
>>> +	 * is extended to 16:31 from 16:28.
>>> +	 */
>>> +	if (boot_cpu_data.x86 == 0x15 && boot_cpu_data.x86_model >= 0x60)
>>> +		tdp_limit = val >> 16;
>>> +	else
>>> +		tdp_limit = (val >> 16) & 0x1fff;
>>> +
>>>   	curr_pwr_watts = ((u64)(tdp_limit +
>>>   				data->base_tdp)) << running_avg_range;
>>>   	curr_pwr_watts -= running_avg_capture;
>>> -- 
>> Acked-by: Borislav Petkov <bp@suse.de>
>>
>> Btw, Rui, you could consider unifying the code under a single
>>
>> 	if (boot_cpu_data.x86 == 0x15 && boot_cpu_data.x86_model >= 0x60) {
>> 		...
>>
>> 	else
>> 		...
>>
>> as with this patch you'll have two of those checks. Unified might be
>> better readable but that is for another patch.
>>
> Make sence, I will do that. :-)
>
> Thanks,
> Rui
Agree. It'll be better.
Thank you.


-- 
Best regards,
Gi-Oh Kim

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-01-28  9:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-27 11:02 [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit Gioh Kim
2016-01-27 11:12 ` Borislav Petkov
2016-01-28  2:25   ` Huang Rui
2016-01-28  9:02     ` Gi-Oh Kim
2016-01-28  2:20 ` Huang Rui
2016-01-28  2:51 ` Guenter Roeck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).