* [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).