Re: [PATCH] hwmon: (coretemp) Atom CPUs don't support TjMax; no warning needed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 01, 2013 at 04:22:46PM +0000, R, Durgadoss wrote:
> Hi Guenter,
> 
> > -----Original Message-----
> > From: lm-sensors-bounces@xxxxxxxxxxxxxx [mailto:lm-sensors-bounces@lm-
> > sensors.org] On Behalf Of Guenter Roeck
> > Sent: Monday, July 01, 2013 9:46 PM
> > To: lm-sensors
> > Cc: Yu, Fenghua
> > Subject:  [PATCH] hwmon: (coretemp) Atom CPUs don't support
> > TjMax; no warning needed
> > 
> > Display warning "Unable to read TjMax from CPU x" only if the CPU
> > is supposed to support it. This is not the case for the various Atom CPUs.
> > 
> > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> > ---
> >  drivers/hwmon/coretemp.c |   14 +++++++++++++-
> >  1 file changed, 13 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c
> > index ade35cf..be58da1 100644
> > --- a/drivers/hwmon/coretemp.c
> > +++ b/drivers/hwmon/coretemp.c
> > @@ -317,6 +317,18 @@ static int __cpuinit adjust_tjmax(struct cpuinfo_x86 *c,
> > u32 id,
> >  	return tjmax;
> >  }
> > 
> > +static bool cpu_has_tjmax(struct cpuinfo_x86 *c)
> > +{
> > +	u8 model = c->x86_model;
> > +
> > +	return model > 0xe &&
> > +	       model != 0x1c &&
> > +	       model != 0x26 &&
> > +	       model != 0x27 &&
> > +	       model != 0x35 &&
> > +	       model != 0x36;
> > +}
> 
> Thanks for the patch.
> Please add model ids: 0x4a and 0x37.
> 
Hi Durga,

are those for the new Atom CPUs (S1220/S1240/S1260/S1269/S1279/S1289) ?

I am still trying to figure out how to identify those CPUs to add TjMax
information. All I could find in the manual was to use the PCI root bridge ID
for S1220/S1240/S1260; the datasheets for the others are not published yet.

This means we might have to go back to using the PCI ID to identify some
of the chips. On the upside, pci_get_bus_and_slot() can now be called even
if PCI is disabled, the method is more efficient, and we could use the same
mechanism to detect the CE41x0 CPUs, so that might not be too bad.

If you have any additional information which you can share (means to detect
the CPUs, and Tjmax for the S1269/S1279/S1289), please let me know.

Thanks,
Guenter

> Thanks,
> Durga
> 
> > +
> >  static int __cpuinit get_tjmax(struct cpuinfo_x86 *c, u32 id,
> >  			       struct device *dev)
> >  {
> > @@ -330,7 +342,7 @@ static int __cpuinit get_tjmax(struct cpuinfo_x86 *c, u32
> > id,
> >  	 */
> >  	err = rdmsr_safe_on_cpu(id, MSR_IA32_TEMPERATURE_TARGET, &eax,
> > &edx);
> >  	if (err) {
> > -		if (c->x86_model > 0xe && c->x86_model != 0x1c)
> > +		if (cpu_has_tjmax(c))
> >  			dev_warn(dev, "Unable to read TjMax from CPU %u\n",
> > id);
> >  	} else {
> >  		val = (eax >> 16) & 0xff;
> > --
> > 1.7.9.7
> > 
> > 
> > _______________________________________________
> > lm-sensors mailing list
> > lm-sensors@xxxxxxxxxxxxxx
> > http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
> 

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors




[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux