* [lm-sensors] [RFC] hwmon: (fam15h_power) Add bit masking for tdp_limit @ 2016-01-25 11:41 Gioh Kim 2016-01-26 2:25 ` Huang Rui 0 siblings, 1 reply; 6+ messages in thread From: Gioh Kim @ 2016-01-25 11:41 UTC (permalink / raw) To: ray.huang, lm-sensors, linux-kernel; +Cc: Gioh Kim The bits [31:29] of D18F5xE8 TDP Limit3 are reserved. I think it'd better to add masking to read ApmTdpLimit[28:16] precisely. Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com> --- drivers/hwmon/fam15h_power.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c index f77eb97..f9647c8 100644 --- a/drivers/hwmon/fam15h_power.c +++ b/drivers/hwmon/fam15h_power.c @@ -90,7 +90,7 @@ 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; + 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 _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [lm-sensors] [RFC] hwmon: (fam15h_power) Add bit masking for tdp_limit 2016-01-25 11:41 [lm-sensors] [RFC] hwmon: (fam15h_power) Add bit masking for tdp_limit Gioh Kim @ 2016-01-26 2:25 ` Huang Rui 2016-01-26 2:43 ` Guenter Roeck 2016-01-26 10:57 ` Gi-Oh Kim 0 siblings, 2 replies; 6+ messages in thread From: Huang Rui @ 2016-01-26 2:25 UTC (permalink / raw) To: Gioh Kim, Guenter Roeck Cc: lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org, Borislav Petkov On Mon, Jan 25, 2016 at 07:41:07PM +0800, Gioh Kim wrote: > The bits [31:29] of D18F5xE8 TDP Limit3 are reserved. > I think it'd better to add masking to read ApmTdpLimit[28:16] precisely. > > Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com> > --- > drivers/hwmon/fam15h_power.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c > index f77eb97..f9647c8 100644 > --- a/drivers/hwmon/fam15h_power.c > +++ b/drivers/hwmon/fam15h_power.c > @@ -90,7 +90,7 @@ 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; > + tdp_limit = (val >> 16) & 0x1fff; Thanks to send the patch on fam15h_power driver. :-) In latest AMD (family 15h, Model 60h) processor, ApmTdpLimit field is expanded to [32:16]. The orignal reserved bits actually are reserved for ApmTdpLimit expansion. http://support.amd.com/TechDocs/50742_15h_Models_60h-6Fh_BKDG.pdf Guenter, Will I collect all patches of fam15h_power and send them to you, or ack it that you can apply directly? Thanks, Rui _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [lm-sensors] [RFC] hwmon: (fam15h_power) Add bit masking for tdp_limit 2016-01-26 2:25 ` Huang Rui @ 2016-01-26 2:43 ` Guenter Roeck 2016-01-26 10:57 ` Gi-Oh Kim 1 sibling, 0 replies; 6+ messages in thread From: Guenter Roeck @ 2016-01-26 2:43 UTC (permalink / raw) To: Huang Rui, Gioh Kim Cc: lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org, Borislav Petkov On 01/25/2016 06:25 PM, Huang Rui wrote: > On Mon, Jan 25, 2016 at 07:41:07PM +0800, Gioh Kim wrote: >> The bits [31:29] of D18F5xE8 TDP Limit3 are reserved. >> I think it'd better to add masking to read ApmTdpLimit[28:16] precisely. >> >> Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com> >> --- >> drivers/hwmon/fam15h_power.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c >> index f77eb97..f9647c8 100644 >> --- a/drivers/hwmon/fam15h_power.c >> +++ b/drivers/hwmon/fam15h_power.c >> @@ -90,7 +90,7 @@ 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; >> + tdp_limit = (val >> 16) & 0x1fff; > > > Thanks to send the patch on fam15h_power driver. :-) > In latest AMD (family 15h, Model 60h) processor, ApmTdpLimit field is > expanded to [32:16]. The orignal reserved bits actually are reserved > for ApmTdpLimit expansion. > > http://support.amd.com/TechDocs/50742_15h_Models_60h-6Fh_BKDG.pdf > > Guenter, Will I collect all patches of fam15h_power and send them to > you, or ack it that you can apply directly? > Ack is fine. No need to make things more complicated than necessary. Thanks, Guenter _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [lm-sensors] [RFC] hwmon: (fam15h_power) Add bit masking for tdp_limit 2016-01-26 2:25 ` Huang Rui 2016-01-26 2:43 ` Guenter Roeck @ 2016-01-26 10:57 ` Gi-Oh Kim 2016-01-27 6:45 ` Huang Rui 1 sibling, 1 reply; 6+ messages in thread From: Gi-Oh Kim @ 2016-01-26 10:57 UTC (permalink / raw) To: Huang Rui, Guenter Roeck Cc: lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org, Borislav Petkov On 26.01.2016 03:25, Huang Rui wrote: > On Mon, Jan 25, 2016 at 07:41:07PM +0800, Gioh Kim wrote: >> The bits [31:29] of D18F5xE8 TDP Limit3 are reserved. >> I think it'd better to add masking to read ApmTdpLimit[28:16] precisely. >> >> Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com> >> --- >> drivers/hwmon/fam15h_power.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c >> index f77eb97..f9647c8 100644 >> --- a/drivers/hwmon/fam15h_power.c >> +++ b/drivers/hwmon/fam15h_power.c >> @@ -90,7 +90,7 @@ 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; >> + tdp_limit = (val >> 16) & 0x1fff; > > Thanks to send the patch on fam15h_power driver. :-) > In latest AMD (family 15h, Model 60h) processor, ApmTdpLimit field is > expanded to [32:16]. The orignal reserved bits actually are reserved > for ApmTdpLimit expansion. > > http://support.amd.com/TechDocs/50742_15h_Models_60h-6Fh_BKDG.pdf > > Guenter, Will I collect all patches of fam15h_power and send them to > you, or ack it that you can apply directly? > > Thanks, > Rui Thanks for your reply. I'm not completely sure that the reserved bits are always zero. Are they always zero? Or do we need bit-masking like following? -------------- 8< ----------------- Subject: [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit Add bit masking to read ApmTdpLimit precisely Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com> --- drivers/hwmon/fam15h_power.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c index f77eb97..edbcf6c 100644 --- a/drivers/hwmon/fam15h_power.c +++ b/drivers/hwmon/fam15h_power.c @@ -90,7 +90,11 @@ 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; + if (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 _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [lm-sensors] [RFC] hwmon: (fam15h_power) Add bit masking for tdp_limit 2016-01-26 10:57 ` Gi-Oh Kim @ 2016-01-27 6:45 ` Huang Rui 2016-01-27 10:36 ` Gi-Oh Kim 0 siblings, 1 reply; 6+ messages in thread From: Huang Rui @ 2016-01-27 6:45 UTC (permalink / raw) To: Gi-Oh Kim Cc: Guenter Roeck, lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org, Borislav Petkov On Tue, Jan 26, 2016 at 11:57:35AM +0100, Gi-Oh Kim wrote: > > > On 26.01.2016 03:25, Huang Rui wrote: > >On Mon, Jan 25, 2016 at 07:41:07PM +0800, Gioh Kim wrote: > Thanks for your reply. > I'm not completely sure that the reserved bits are always zero. > Are they always zero? > Or do we need bit-masking like following? > Reserved bits aren't always zero. But here they are reserved for ApmTdpLimit expansion. Yes, we would better add bit-masking here. :-) > -------------- 8< ----------------- > Subject: [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit > > Add bit masking to read ApmTdpLimit precisely > > Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com> > --- > drivers/hwmon/fam15h_power.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c > index f77eb97..edbcf6c 100644 > --- a/drivers/hwmon/fam15h_power.c > +++ b/drivers/hwmon/fam15h_power.c > @@ -90,7 +90,11 @@ 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; > + if (boot_cpu_data.x86_model >= 0x60) > + tdp_limit = val >> 16; You need add CPU family check and a comment to mention bit field change. This updates since family 15h and model 60h. if (boot_cpu_data.x86 = 0x15 && boot_cpu_data.x86_model >= 0x60) Thanks, Rui _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [lm-sensors] [RFC] hwmon: (fam15h_power) Add bit masking for tdp_limit 2016-01-27 6:45 ` Huang Rui @ 2016-01-27 10:36 ` Gi-Oh Kim 0 siblings, 0 replies; 6+ messages in thread From: Gi-Oh Kim @ 2016-01-27 10:36 UTC (permalink / raw) To: Huang Rui Cc: Guenter Roeck, lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org, Borislav Petkov On 27.01.2016 07:45, Huang Rui wrote: > On Tue, Jan 26, 2016 at 11:57:35AM +0100, Gi-Oh Kim wrote: >> >> On 26.01.2016 03:25, Huang Rui wrote: >>> On Mon, Jan 25, 2016 at 07:41:07PM +0800, Gioh Kim wrote: >> Thanks for your reply. >> I'm not completely sure that the reserved bits are always zero. >> Are they always zero? >> Or do we need bit-masking like following? >> > Reserved bits aren't always zero. But here they are reserved for > ApmTdpLimit expansion. > > Yes, we would better add bit-masking here. :-) > >> -------------- 8< ----------------- >> Subject: [PATCH] hwmon: (fam15h_power) Add bit masking for tdp_limit >> >> Add bit masking to read ApmTdpLimit precisely >> >> Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com> >> --- >> drivers/hwmon/fam15h_power.c | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c >> index f77eb97..edbcf6c 100644 >> --- a/drivers/hwmon/fam15h_power.c >> +++ b/drivers/hwmon/fam15h_power.c >> @@ -90,7 +90,11 @@ 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; >> + if (boot_cpu_data.x86_model >= 0x60) >> + tdp_limit = val >> 16; > You need add CPU family check and a comment to mention bit field > change. This updates since family 15h and model 60h. > > if (boot_cpu_data.x86 = 0x15 && boot_cpu_data.x86_model >= 0x60) I'm going to send a formal patch. Thank you. > > Thanks, > Rui -- Best regards, Gi-Oh Kim _______________________________________________ lm-sensors mailing list lm-sensors@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/lm-sensors ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-01-27 10:36 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-01-25 11:41 [lm-sensors] [RFC] hwmon: (fam15h_power) Add bit masking for tdp_limit Gioh Kim 2016-01-26 2:25 ` Huang Rui 2016-01-26 2:43 ` Guenter Roeck 2016-01-26 10:57 ` Gi-Oh Kim 2016-01-27 6:45 ` Huang Rui 2016-01-27 10:36 ` Gi-Oh Kim
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox