]> git.pld-linux.org Git - packages/kernel.git/commitdiff
This commit was manufactured by cvs2git to create branch 'LINUX_2_6_27'. auto/ti/kernel-2_6_27_26-2
authorcvs2git <feedback@pld-linux.org>
Sat, 11 Jul 2009 22:02:05 +0000 (22:02 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Cherrypick from master 2009-05-03 11:03:48 UTC Karol Krenski <charles@pld-linux.org> '- reading temperature sensor embedded inside Intel Atom':
    kernel-atom-coretemp.patch -> 1.1
Cherrypick from master 2009-07-11 22:02:05 UTC hawk <hawk@pld-linux.org> '- fix for drivers/md/dm.c patch in 2.6.27.26':
    kernel-md_driver_fix.patch -> 1.1

kernel-atom-coretemp.patch [new file with mode: 0644]
kernel-md_driver_fix.patch [new file with mode: 0644]

diff --git a/kernel-atom-coretemp.patch b/kernel-atom-coretemp.patch
new file mode 100644 (file)
index 0000000..b83b760
--- /dev/null
@@ -0,0 +1,89 @@
+Index: linux-2.6.27-rc2/Documentation/hwmon/coretemp
+===================================================================
+--- linux-2.6.27-rc2.orig/Documentation/hwmon/coretemp 2008-08-10 20:33:20.355228221 +0200
++++ linux-2.6.27-rc2/Documentation/hwmon/coretemp      2008-08-09 20:09:42.000000000 +0200
+@@ -4,7 +4,7 @@
+ Supported chips:
+   * All Intel Core family
+     Prefix: 'coretemp'
+-    CPUID: family 0x6, models 0xe, 0xf, 0x16, 0x17
++    CPUID: family 0x6, models 0xe, 0xf, 0x16, 0x17, 0x1c
+     Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual
+                Volume 3A: System Programming Guide
+                http://softwarecommunity.intel.com/Wiki/Mobility/720.htm
+@@ -14,10 +14,11 @@
+ Description
+ -----------
+-This driver permits reading temperature sensor embedded inside Intel Core CPU.
+-Temperature is measured in degrees Celsius and measurement resolution is
+-1 degree C. Valid temperatures are from 0 to TjMax degrees C, because
+-the actual value of temperature register is in fact a delta from TjMax.
++This driver permits reading temperature sensor embedded inside Intel
++Core  and Intel Atom CPUs. Temperature is measured in degrees Celsius
++and measurement resolution is 1 degree C. Valid temperatures are from 0
++to TjMax degrees C, because the actual value of temperature register is
++in fact a delta from TjMax.
+ Temperature known as TjMax is the maximum junction temperature of processor.
+ Intel defines this temperature as 85C or 100C. At this temperature, protection
+@@ -35,4 +36,5 @@
+ The TjMax temperature is set to 85 degrees C if undocumented model specific
+ register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as
+-(sometimes) documented in processor datasheet.
++(sometimes) documented in processor datasheet. The Intel Atom has TjMax 95C
++as per the specification.
+Index: linux-2.6.27-rc2/drivers/hwmon/coretemp.c
+===================================================================
+--- linux-2.6.27/drivers/hwmon/coretemp.c.orig 2008-10-10 00:13:53.000000000 +0200
++++ linux-2.6.27/drivers/hwmon/coretemp.c      2009-03-23 10:05:12.000000000 +0100
+@@ -1,7 +1,7 @@
+ /*
+  * coretemp.c - Linux kernel module for hardware monitoring
+  *
+- * Copyright (C) 2007 Rudolf Marek <r.marek@assembler.cz>
++ * Copyright (C) 2007, 2008 Rudolf Marek <r.marek@assembler.cz>
+  *
+  * Inspired from many hwmon drivers
+  *
+@@ -244,8 +244,14 @@
+               }
+       }
+-      data->tjmax = adjust_tjmax(c, data->id, &pdev->dev);
+-      platform_set_drvdata(pdev, data);
++      /* Intel Atom has only fixed TjMax at 95C */
++
++      if (c->x86_model == 0x1c) {
++              data->tjmax = 95000;
++      } else {
++              /* Adjust the TjMax for the rest of Core2 family */
++              data->tjmax = adjust_tjmax(c, data->id, &pdev->dev);
++      }
+       /* read the still undocumented IA32_TEMPERATURE_TARGET it exists
+          on older CPUs but not in this register */
+@@ -265,6 +271,8 @@
+               }
+       }
++      platform_set_drvdata(pdev, data);
++
+       if ((err = sysfs_create_group(&pdev->dev.kobj, &coretemp_group)))
+               goto exit_dev;
+@@ -413,11 +421,11 @@
+       for_each_online_cpu(i) {
+               struct cpuinfo_x86 *c = &cpu_data(i);
+-              /* check if family 6, models 0xe, 0xf, 0x16, 0x17, 0x1A */
++              /* check if family 6, models 0xe, 0xf, 0x16, 0x17, 0x1a, 0x1c */
+               if ((c->cpuid_level < 0) || (c->x86 != 0x6) ||
+                   !((c->x86_model == 0xe) || (c->x86_model == 0xf) ||
+                       (c->x86_model == 0x16) || (c->x86_model == 0x17) ||
+-                      (c->x86_model == 0x1A))) {
++                      (c->x86_model == 0x1a) || (c->x86_model == 0x1c))) {
+                       /* supported CPU not found, but report the unknown
+                          family 6 CPU */
diff --git a/kernel-md_driver_fix.patch b/kernel-md_driver_fix.patch
new file mode 100644 (file)
index 0000000..f453769
--- /dev/null
@@ -0,0 +1,13 @@
+--- linux-2.6.27/drivers/md/dm.c.orig  2009-07-11 23:27:16.000000000 +0200
++++ linux-2.6.27/drivers/md/dm.c       2009-07-11 23:31:44.581632901 +0200
+@@ -265,10 +265,6 @@
+               goto out;
+       }
+-      if (test_bit(DMF_FREEING, &md->flags) ||
+-          test_bit(DMF_DELETING, &md->flags))
+-              return NULL;
+-
+       dm_get(md);
+       atomic_inc(&md->open_count);
This page took 0.227441 seconds and 4 git commands to generate.