aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-03-14 23:29:21 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-14 23:29:21 -0400
commita3d3203e4bb40f253b1541e310dc0f9305be7c84 (patch)
treeac0d74a607493053da92244a6763e503c5904f4f /arch
parentf937331b3f92cb2f67bc81baa1b8cc5198c439e5 (diff)
parentec28dcc6b4c00b78ad269ad5b85ebd5c2d504825 (diff)
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (34 commits) ACPI: processor: push file static MADT pointer into internal map_madt_entry() ACPI: processor: refactor internal map_lsapic_id() ACPI: processor: refactor internal map_x2apic_id() ACPI: processor: refactor internal map_lapic_id() ACPI: processor: driver doesn't need to evaluate _PDC ACPI: processor: remove early _PDC optin quirks ACPI: processor: add internal processor_physically_present() ACPI: processor: move acpi_get_cpuid into processor_core.c ACPI: processor: export acpi_get_cpuid() ACPI: processor: mv processor_pdc.c processor_core.c ACPI: processor: mv processor_core.c processor_driver.c ACPI: plan to delete "acpi=ht" boot option ACPI: remove "acpi=ht" DMI blacklist PNPACPI: add bus number support PNPACPI: add window support resource: add window support resource: add bus number support resource: expand IORESOURCE_TYPE_BITS to make room for bus resource type acpiphp: Execute ACPI _REG method for hotadded devices ACPI video: Be more liberal in validating _BQC behaviour ...
Diffstat (limited to 'arch')
-rw-r--r--arch/ia64/kernel/acpi.c3
-rw-r--r--arch/x86/kernel/acpi/boot.c100
2 files changed, 9 insertions, 94 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c
index a7ca07f3754e..f1c9f70b4e45 100644
--- a/arch/ia64/kernel/acpi.c
+++ b/arch/ia64/kernel/acpi.c
@@ -44,6 +44,7 @@
44#include <linux/efi.h> 44#include <linux/efi.h>
45#include <linux/mmzone.h> 45#include <linux/mmzone.h>
46#include <linux/nodemask.h> 46#include <linux/nodemask.h>
47#include <acpi/processor.h>
47#include <asm/io.h> 48#include <asm/io.h>
48#include <asm/iosapic.h> 49#include <asm/iosapic.h>
49#include <asm/machvec.h> 50#include <asm/machvec.h>
@@ -907,6 +908,8 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu)
907 cpu_set(cpu, cpu_present_map); 908 cpu_set(cpu, cpu_present_map);
908 ia64_cpu_to_sapicid[cpu] = physid; 909 ia64_cpu_to_sapicid[cpu] = physid;
909 910
911 acpi_processor_set_pdc(handle);
912
910 *pcpu = cpu; 913 *pcpu = cpu;
911 return (0); 914 return (0);
912} 915}
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index a54d714545ff..0061ea263061 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -490,6 +490,7 @@ int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity)
490 * ACPI based hotplug support for CPU 490 * ACPI based hotplug support for CPU
491 */ 491 */
492#ifdef CONFIG_ACPI_HOTPLUG_CPU 492#ifdef CONFIG_ACPI_HOTPLUG_CPU
493#include <acpi/processor.h>
493 494
494static void acpi_map_cpu2node(acpi_handle handle, int cpu, int physid) 495static void acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
495{ 496{
@@ -567,6 +568,8 @@ static int __cpuinit _acpi_map_lsapic(acpi_handle handle, int *pcpu)
567 goto free_new_map; 568 goto free_new_map;
568 } 569 }
569 570
571 acpi_processor_set_pdc(handle);
572
570 cpu = cpumask_first(new_map); 573 cpu = cpumask_first(new_map);
571 acpi_map_cpu2node(handle, cpu, physid); 574 acpi_map_cpu2node(handle, cpu, physid);
572 575
@@ -1293,23 +1296,6 @@ static int __init dmi_disable_acpi(const struct dmi_system_id *d)
1293} 1296}
1294 1297
1295/* 1298/*
1296 * Limit ACPI to CPU enumeration for HT
1297 */
1298static int __init force_acpi_ht(const struct dmi_system_id *d)
1299{
1300 if (!acpi_force) {
1301 printk(KERN_NOTICE "%s detected: force use of acpi=ht\n",
1302 d->ident);
1303 disable_acpi();
1304 acpi_ht = 1;
1305 } else {
1306 printk(KERN_NOTICE
1307 "Warning: acpi=force overrules DMI blacklist: acpi=ht\n");
1308 }
1309 return 0;
1310}
1311
1312/*
1313 * Force ignoring BIOS IRQ0 pin2 override 1299 * Force ignoring BIOS IRQ0 pin2 override
1314 */ 1300 */
1315static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d) 1301static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d)
@@ -1345,82 +1331,6 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = {
1345 }, 1331 },
1346 1332
1347 /* 1333 /*
1348 * Boxes that need acpi=ht
1349 */
1350 {
1351 .callback = force_acpi_ht,
1352 .ident = "FSC Primergy T850",
1353 .matches = {
1354 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
1355 DMI_MATCH(DMI_PRODUCT_NAME, "PRIMERGY T850"),
1356 },
1357 },
1358 {
1359 .callback = force_acpi_ht,
1360 .ident = "HP VISUALIZE NT Workstation",
1361 .matches = {
1362 DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"),
1363 DMI_MATCH(DMI_PRODUCT_NAME, "HP VISUALIZE NT Workstation"),
1364 },
1365 },
1366 {
1367 .callback = force_acpi_ht,
1368 .ident = "Compaq Workstation W8000",
1369 .matches = {
1370 DMI_MATCH(DMI_SYS_VENDOR, "Compaq"),
1371 DMI_MATCH(DMI_PRODUCT_NAME, "Workstation W8000"),
1372 },
1373 },
1374 {
1375 .callback = force_acpi_ht,
1376 .ident = "ASUS CUR-DLS",
1377 .matches = {
1378 DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
1379 DMI_MATCH(DMI_BOARD_NAME, "CUR-DLS"),
1380 },
1381 },
1382 {
1383 .callback = force_acpi_ht,
1384 .ident = "ABIT i440BX-W83977",
1385 .matches = {
1386 DMI_MATCH(DMI_BOARD_VENDOR, "ABIT <http://www.abit.com>"),
1387 DMI_MATCH(DMI_BOARD_NAME, "i440BX-W83977 (BP6)"),
1388 },
1389 },
1390 {
1391 .callback = force_acpi_ht,
1392 .ident = "IBM Bladecenter",
1393 .matches = {
1394 DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
1395 DMI_MATCH(DMI_BOARD_NAME, "IBM eServer BladeCenter HS20"),
1396 },
1397 },
1398 {
1399 .callback = force_acpi_ht,
1400 .ident = "IBM eServer xSeries 360",
1401 .matches = {
1402 DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
1403 DMI_MATCH(DMI_BOARD_NAME, "eServer xSeries 360"),
1404 },
1405 },
1406 {
1407 .callback = force_acpi_ht,
1408 .ident = "IBM eserver xSeries 330",
1409 .matches = {
1410 DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
1411 DMI_MATCH(DMI_BOARD_NAME, "eserver xSeries 330"),
1412 },
1413 },
1414 {
1415 .callback = force_acpi_ht,
1416 .ident = "IBM eserver xSeries 440",
1417 .matches = {
1418 DMI_MATCH(DMI_BOARD_VENDOR, "IBM"),
1419 DMI_MATCH(DMI_PRODUCT_NAME, "eserver xSeries 440"),
1420 },
1421 },
1422
1423 /*
1424 * Boxes that need ACPI PCI IRQ routing disabled 1334 * Boxes that need ACPI PCI IRQ routing disabled
1425 */ 1335 */
1426 { 1336 {
@@ -1652,8 +1562,10 @@ static int __init parse_acpi(char *arg)
1652 } 1562 }
1653 /* Limit ACPI just to boot-time to enable HT */ 1563 /* Limit ACPI just to boot-time to enable HT */
1654 else if (strcmp(arg, "ht") == 0) { 1564 else if (strcmp(arg, "ht") == 0) {
1655 if (!acpi_force) 1565 if (!acpi_force) {
1566 printk(KERN_WARNING "acpi=ht will be removed in Linux-2.6.35\n");
1656 disable_acpi(); 1567 disable_acpi();
1568 }
1657 acpi_ht = 1; 1569 acpi_ht = 1;
1658 } 1570 }
1659 /* acpi=rsdt use RSDT instead of XSDT */ 1571 /* acpi=rsdt use RSDT instead of XSDT */