<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/acpi/processor_core.c, branch v3.2.38</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/acpi/processor_core.c?h=v3.2.38</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/acpi/processor_core.c?h=v3.2.38'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-07-25T03:11:16Z</updated>
<entry>
<title>cpufreq / ACPI: Fix not loading acpi-cpufreq driver regression</title>
<updated>2012-07-25T03:11:16Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2012-07-12T10:24:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=51954298d48d86e5b7b11c9aeab316a407a039e9'/>
<id>urn:sha1:51954298d48d86e5b7b11c9aeab316a407a039e9</id>
<content type='text'>
commit c4686c71a9183f76e3ef59098da5c098748672f6 upstream.

Commit d640113fe80e45ebd4a5b420b introduced a regression on SMP
systems where the processor core with ACPI id zero is disabled
(typically should be the case because of hyperthreading).
The regression got spread through stable kernels.
On 3.0.X it got introduced via 3.0.18.

Such platforms may be rare, but do exist.
Look out for a disabled processor with acpi_id 0 in dmesg:
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x10] disabled)

This problem has been observed on a:
HP Proliant BL280c G6 blade

This patch restricts the introduced workaround to platforms
with nr_cpu_ids &lt;= 1.

Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ACPI: processor: fix acpi_get_cpuid for UP processor</title>
<updated>2012-01-26T00:13:48Z</updated>
<author>
<name>Lin Ming</name>
<email>ming.m.lin@intel.com</email>
</author>
<published>2011-12-13T01:36:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b9547c0e2ff53f68325d7be563d41308e04ab1ac'/>
<id>urn:sha1:b9547c0e2ff53f68325d7be563d41308e04ab1ac</id>
<content type='text'>
commit d640113fe80e45ebd4a5b420b220d3f6bf37f682 upstream.

For UP processor, it is likely that no _MAT method or MADT table defined.
So currently acpi_get_cpuid(...) always return -1 for UP processor.
This is wrong. It should return valid value for CPU0.

In the other hand, BIOS may define multiple CPU handles even for UP
processor, for example

        Scope (_PR)
        {
            Processor (CPU0, 0x00, 0x00000410, 0x06) {}
            Processor (CPU1, 0x01, 0x00000410, 0x06) {}
            Processor (CPU2, 0x02, 0x00000410, 0x06) {}
            Processor (CPU3, 0x03, 0x00000410, 0x06) {}
        }

We should only return valid value for CPU0's acpi handle.
And return invalid value for others.

http://marc.info/?t=132329819900003&amp;r=1&amp;w=2

Reported-and-tested-by: wallak@free.fr
Signed-off-by: Lin Ming &lt;ming.m.lin@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>acpi: add export.h to files using THIS_MODULE/EXPORT_SYMBOL</title>
<updated>2011-10-31T23:30:34Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-10-26T20:22:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=214f2c90b970e098e75cf719c0c5b0f1fe69b716'/>
<id>urn:sha1:214f2c90b970e098e75cf719c0c5b0f1fe69b716</id>
<content type='text'>
These files were relying on module.h to come in via the path
in an include/acpi header file, but we don't want to have
instances of module.h being included from include/* files
if it can be avoided.  Have the files include export.h instead.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>ACPI: processor: fix processor_physically_present in UP kernel</title>
<updated>2011-05-29T06:17:56Z</updated>
<author>
<name>Lin Ming</name>
<email>ming.m.lin@intel.com</email>
</author>
<published>2011-05-16T01:11:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=932df7414336a00f45e5aec62724cf736b0bcfd4'/>
<id>urn:sha1:932df7414336a00f45e5aec62724cf736b0bcfd4</id>
<content type='text'>
Usually, there are multiple processors defined in ACPI table, for
example

    Scope (_PR)
    {
        Processor (CPU0, 0x00, 0x00000410, 0x06) {}
        Processor (CPU1, 0x01, 0x00000410, 0x06) {}
        Processor (CPU2, 0x02, 0x00000410, 0x06) {}
        Processor (CPU3, 0x03, 0x00000410, 0x06) {}
    }

processor_physically_present(...) will be called to check whether those
processors are physically present.

Currently we have below codes in processor_physically_present,

cpuid = acpi_get_cpuid(...);
if ((cpuid == -1) &amp;&amp; (num_possible_cpus() &gt; 1))
        return false;
return true;

In UP kernel, acpi_get_cpuid(...) always return -1 and
num_possible_cpus() always return 1, so
processor_physically_present(...) always returns true for all passed in
processor handles.

This is wrong for UP processor or SMP processor running UP kernel.

This patch removes the !SMP version of acpi_get_cpuid(), so both UP and
SMP kernel use the same acpi_get_cpuid function.

And for UP kernel, only processor 0 is valid.

https://bugzilla.kernel.org/show_bug.cgi?id=16548
https://bugzilla.kernel.org/show_bug.cgi?id=16357

Tested-by: Anton Kochkov &lt;anton.kochkov@gmail.com&gt;
Tested-by: Ambroz Bizjak &lt;ambrop7@gmail.com&gt;
Signed-off-by: Lin Ming &lt;ming.m.lin@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: use __cpuinit for the acpi_processor_set_pdc() call tree</title>
<updated>2011-03-03T01:58:20Z</updated>
<author>
<name>Jan Beulich</name>
<email>JBeulich@novell.com</email>
</author>
<published>2011-02-17T16:36:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=af10f941ab7807d8b0bb3c66e679d8a6bbbe7485'/>
<id>urn:sha1:af10f941ab7807d8b0bb3c66e679d8a6bbbe7485</id>
<content type='text'>
Once acpi_map_lsapic() in ia64 follows how x86 treats it wrt section
placement, the whole tree from acpi_processor_set_pdc() can become
__cpuinit.

Signed-off-by: Jan Beulich &lt;jbeulich@novell.com&gt;
Acked-by: Tony Luck &lt;tony.luck@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: use __init where possible in processor driver</title>
<updated>2011-03-03T01:56:53Z</updated>
<author>
<name>Jan Beulich</name>
<email>JBeulich@novell.com</email>
</author>
<published>2011-02-17T16:33:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6430c9c12a7dbb8f60f0d8294b73b3c0bb03f64f'/>
<id>urn:sha1:6430c9c12a7dbb8f60f0d8294b73b3c0bb03f64f</id>
<content type='text'>
Use __init for several functions, remove an unnecessary export and a
stray use of __ref.

Signed-off-by: Jan Beulich &lt;jbeulich@novell.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI, intel_idle: Cleanup idle= internal variables</title>
<updated>2011-01-12T17:47:30Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2010-11-03T16:06:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d18960494f65ca4fa0d67c865aaca99452070d15'/>
<id>urn:sha1:d18960494f65ca4fa0d67c865aaca99452070d15</id>
<content type='text'>
Having four variables for the same thing:
  idle_halt, idle_nomwait, force_mwait and boot_option_idle_overrides
is rather confusing and unnecessary complex.

if idle= boot param is passed, only set up one variable:
boot_option_idle_overrides

Introduces following functional changes/fixes:
  - intel_idle driver does not register if any idle=xy
    boot param is passed.
  - processor_idle.c will also not register a cpuidle driver
    and get active if idle=halt is passed.
    Before a cpuidle driver with one (C1, halt) state got registered
    Now the default_idle function will be used which finally uses
    the same idle call to enter sleep state (safe_halt()), but
    without registering a whole cpuidle driver.

That means idle= param will always avoid cpuidle drivers to register
with one exception (same behavior as before):
idle=nomwait
may still register acpi_idle cpuidle driver, but C1 will not use
mwait, but hlt. This can be a workaround for IO based deeper sleep
states where C1 mwait causes problems.

Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
cc: x86@kernel.org
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'pdc-regression' into release</title>
<updated>2010-10-09T02:35:02Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2010-10-09T02:35:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c9933f795c0740eaf97e6291a68a9787346d5997'/>
<id>urn:sha1:c9933f795c0740eaf97e6291a68a9787346d5997</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ACPI: Handle ACPI0007 Device in acpi_early_set_pdc</title>
<updated>2010-10-01T06:06:51Z</updated>
<author>
<name>Yinghai Lu</name>
<email>yinghai@kernel.org</email>
</author>
<published>2010-09-18T06:26:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c1e0ddbf0a97e1704d7f13b4934f9acca002402d'/>
<id>urn:sha1:c1e0ddbf0a97e1704d7f13b4934f9acca002402d</id>
<content type='text'>
After
| commit d8191fa4a33fdc817277da4f2b7f771ff605a41c
| Author: Alex Chiang &lt;achiang@hp.com&gt;
| Date:   Mon Feb 22 12:11:39 2010 -0700
|
|    ACPI: processor: driver doesn't need to evaluate _PDC
|
|    Now that the early _PDC evaluation path knows how to correctly
|    evaluate _PDC on only physically present processors, there's no
|    need for the processor driver to evaluate it later when it loads.
|
|    To cover the hotplug case, push _PDC evaluation down into the
|    hotplug paths.

only cpu with Processor Statement get processed with _PDC

If bios is using Device object instead of Processor statement.
SSDTs for Pstate/Cstate/Tstate can not be loaded dynamically.

Need to try to scan ACPI0007 in addition to Processor.

That commit is between 2.6.34-rc1 and 2.6.34-rc2, so stable tree for 2.6.34+
need this patch.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Reviewed-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: delete ZEPTO idle=nomwait DMI quirk</title>
<updated>2010-09-28T21:20:20Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2010-09-28T21:20:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=64a32307b710c100beb101e9c78f8022f0e8ba61'/>
<id>urn:sha1:64a32307b710c100beb101e9c78f8022f0e8ba61</id>
<content type='text'>
per comments in the bug report, this entry
seems to hurt at much as it helps.

https://bugzilla.kernel.org/show_bug.cgi?id=10807

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
</feed>
