diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-11 22:13:40 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-11 22:13:40 -0500 |
| commit | 9fc5c3e3237e02a94f41cd1d2b4291593d29791d (patch) | |
| tree | c8823725b10bd4d36e9311ea392dfdecb4db7974 | |
| parent | 541048a1d31399ccdda27346a37eae4a2ad55186 (diff) | |
| parent | 7c9c3a1e5fc8728e948b8fa3cbcfcfb86db3afda (diff) | |
Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
* 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/intel config: Fix the APB_TIMER selection
x86/mrst: Add additional debug prints for pb_keys
x86/intel config: Revamp configuration to allow for Moorestown and Medfield
x86/intel/scu/ipc: Match the changes in the x86 configuration
x86/apb: Fix configuration constraints
x86: Fix INTEL_MID silly
x86/Kconfig: Cyclone-timer depends on x86-summit
x86: Reduce clock calibration time during slave cpu startup
x86/config: Revamp configuration for MID devices
x86/sfi: Kill the IRQ as id hack
| -rw-r--r-- | arch/x86/Kconfig | 31 | ||||
| -rw-r--r-- | arch/x86/Kconfig.debug | 6 | ||||
| -rw-r--r-- | arch/x86/include/asm/fixmap.h | 2 | ||||
| -rw-r--r-- | arch/x86/include/asm/setup.h | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/early_printk.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/smpboot.c | 16 | ||||
| -rw-r--r-- | arch/x86/kernel/tsc.c | 20 | ||||
| -rw-r--r-- | arch/x86/pci/Makefile | 2 | ||||
| -rw-r--r-- | arch/x86/platform/mrst/Makefile | 6 | ||||
| -rw-r--r-- | arch/x86/platform/mrst/mrst.c | 4 | ||||
| -rw-r--r-- | drivers/platform/x86/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/rtc/Kconfig | 6 | ||||
| -rw-r--r-- | init/calibrate.c | 15 |
13 files changed, 89 insertions, 25 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 2513da0e6b67..a150f4c35e94 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
| @@ -420,12 +420,14 @@ config X86_MRST | |||
| 420 | depends on PCI | 420 | depends on PCI |
| 421 | depends on PCI_GOANY | 421 | depends on PCI_GOANY |
| 422 | depends on X86_IO_APIC | 422 | depends on X86_IO_APIC |
| 423 | select X86_INTEL_MID | ||
| 424 | select SFI | ||
| 425 | select DW_APB_TIMER | ||
| 423 | select APB_TIMER | 426 | select APB_TIMER |
| 424 | select I2C | 427 | select I2C |
| 425 | select SPI | 428 | select SPI |
| 426 | select INTEL_SCU_IPC | 429 | select INTEL_SCU_IPC |
| 427 | select X86_PLATFORM_DEVICES | 430 | select X86_PLATFORM_DEVICES |
| 428 | select X86_INTEL_MID | ||
| 429 | ---help--- | 431 | ---help--- |
| 430 | Moorestown is Intel's Low Power Intel Architecture (LPIA) based Moblin | 432 | Moorestown is Intel's Low Power Intel Architecture (LPIA) based Moblin |
| 431 | Internet Device(MID) platform. Moorestown consists of two chips: | 433 | Internet Device(MID) platform. Moorestown consists of two chips: |
| @@ -434,6 +436,26 @@ config X86_MRST | |||
| 434 | nor standard legacy replacement devices/features. e.g. Moorestown does | 436 | nor standard legacy replacement devices/features. e.g. Moorestown does |
| 435 | not contain i8259, i8254, HPET, legacy BIOS, most of the io ports. | 437 | not contain i8259, i8254, HPET, legacy BIOS, most of the io ports. |
| 436 | 438 | ||
| 439 | config X86_MDFLD | ||
| 440 | bool "Medfield MID platform" | ||
| 441 | depends on PCI | ||
| 442 | depends on PCI_GOANY | ||
| 443 | depends on X86_IO_APIC | ||
| 444 | select X86_INTEL_MID | ||
| 445 | select SFI | ||
| 446 | select DW_APB_TIMER | ||
| 447 | select APB_TIMER | ||
| 448 | select I2C | ||
| 449 | select SPI | ||
| 450 | select INTEL_SCU_IPC | ||
| 451 | select X86_PLATFORM_DEVICES | ||
| 452 | ---help--- | ||
| 453 | Medfield is Intel's Low Power Intel Architecture (LPIA) based Moblin | ||
| 454 | Internet Device(MID) platform. | ||
| 455 | Unlike standard x86 PCs, Medfield does not have many legacy devices | ||
| 456 | nor standard legacy replacement devices/features. e.g. Medfield does | ||
| 457 | not contain i8259, i8254, HPET, legacy BIOS, most of the io ports. | ||
| 458 | |||
| 437 | endif | 459 | endif |
| 438 | 460 | ||
| 439 | config X86_RDC321X | 461 | config X86_RDC321X |
| @@ -631,7 +653,7 @@ config X86_SUMMIT_NUMA | |||
| 631 | 653 | ||
| 632 | config X86_CYCLONE_TIMER | 654 | config X86_CYCLONE_TIMER |
| 633 | def_bool y | 655 | def_bool y |
| 634 | depends on X86_32_NON_STANDARD | 656 | depends on X86_SUMMIT |
| 635 | 657 | ||
| 636 | source "arch/x86/Kconfig.cpu" | 658 | source "arch/x86/Kconfig.cpu" |
| 637 | 659 | ||
| @@ -659,9 +681,10 @@ config HPET_EMULATE_RTC | |||
| 659 | depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y) | 681 | depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y) |
| 660 | 682 | ||
| 661 | config APB_TIMER | 683 | config APB_TIMER |
| 662 | def_bool y if MRST | 684 | def_bool y if X86_INTEL_MID |
| 663 | prompt "Langwell APB Timer Support" if X86_MRST | 685 | prompt "Intel MID APB Timer Support" if X86_INTEL_MID |
| 664 | select DW_APB_TIMER | 686 | select DW_APB_TIMER |
| 687 | depends on X86_INTEL_MID && SFI | ||
| 665 | help | 688 | help |
| 666 | APB timer is the replacement for 8254, HPET on X86 MID platforms. | 689 | APB timer is the replacement for 8254, HPET on X86 MID platforms. |
| 667 | The APBT provides a stable time base on SMP | 690 | The APBT provides a stable time base on SMP |
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug index aa4158f3ce62..e46c2147397f 100644 --- a/arch/x86/Kconfig.debug +++ b/arch/x86/Kconfig.debug | |||
| @@ -43,9 +43,9 @@ config EARLY_PRINTK | |||
| 43 | with klogd/syslogd or the X server. You should normally N here, | 43 | with klogd/syslogd or the X server. You should normally N here, |
| 44 | unless you want to debug such a crash. | 44 | unless you want to debug such a crash. |
| 45 | 45 | ||
| 46 | config EARLY_PRINTK_MRST | 46 | config EARLY_PRINTK_INTEL_MID |
| 47 | bool "Early printk for MRST platform support" | 47 | bool "Early printk for Intel MID platform support" |
| 48 | depends on EARLY_PRINTK && X86_MRST | 48 | depends on EARLY_PRINTK && X86_INTEL_MID |
| 49 | 49 | ||
| 50 | config EARLY_PRINTK_DBGP | 50 | config EARLY_PRINTK_DBGP |
| 51 | bool "Early printk via EHCI debug port" | 51 | bool "Early printk via EHCI debug port" |
diff --git a/arch/x86/include/asm/fixmap.h b/arch/x86/include/asm/fixmap.h index 460c74e4852c..4da3c0c4c974 100644 --- a/arch/x86/include/asm/fixmap.h +++ b/arch/x86/include/asm/fixmap.h | |||
| @@ -117,7 +117,7 @@ enum fixed_addresses { | |||
| 117 | #endif | 117 | #endif |
| 118 | FIX_TEXT_POKE1, /* reserve 2 pages for text_poke() */ | 118 | FIX_TEXT_POKE1, /* reserve 2 pages for text_poke() */ |
| 119 | FIX_TEXT_POKE0, /* first page is last, because allocation is backward */ | 119 | FIX_TEXT_POKE0, /* first page is last, because allocation is backward */ |
| 120 | #ifdef CONFIG_X86_MRST | 120 | #ifdef CONFIG_X86_INTEL_MID |
| 121 | FIX_LNW_VRTC, | 121 | FIX_LNW_VRTC, |
| 122 | #endif | 122 | #endif |
| 123 | __end_of_permanent_fixed_addresses, | 123 | __end_of_permanent_fixed_addresses, |
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h index 9756551ec760..d0f19f9fb846 100644 --- a/arch/x86/include/asm/setup.h +++ b/arch/x86/include/asm/setup.h | |||
| @@ -47,7 +47,7 @@ extern void reserve_standard_io_resources(void); | |||
| 47 | extern void i386_reserve_resources(void); | 47 | extern void i386_reserve_resources(void); |
| 48 | extern void setup_default_timer_irq(void); | 48 | extern void setup_default_timer_irq(void); |
| 49 | 49 | ||
| 50 | #ifdef CONFIG_X86_MRST | 50 | #ifdef CONFIG_X86_INTEL_MID |
| 51 | extern void x86_mrst_early_setup(void); | 51 | extern void x86_mrst_early_setup(void); |
| 52 | #else | 52 | #else |
| 53 | static inline void x86_mrst_early_setup(void) { } | 53 | static inline void x86_mrst_early_setup(void) { } |
diff --git a/arch/x86/kernel/early_printk.c b/arch/x86/kernel/early_printk.c index 9d42a52d2331..9b9f18b49918 100644 --- a/arch/x86/kernel/early_printk.c +++ b/arch/x86/kernel/early_printk.c | |||
| @@ -240,7 +240,7 @@ static int __init setup_early_printk(char *buf) | |||
| 240 | if (!strncmp(buf, "xen", 3)) | 240 | if (!strncmp(buf, "xen", 3)) |
| 241 | early_console_register(&xenboot_console, keep); | 241 | early_console_register(&xenboot_console, keep); |
| 242 | #endif | 242 | #endif |
| 243 | #ifdef CONFIG_EARLY_PRINTK_MRST | 243 | #ifdef CONFIG_EARLY_PRINTK_INTEL_MID |
| 244 | if (!strncmp(buf, "mrst", 4)) { | 244 | if (!strncmp(buf, "mrst", 4)) { |
| 245 | mrst_early_console_init(); | 245 | mrst_early_console_init(); |
| 246 | early_console_register(&early_mrst_console, keep); | 246 | early_console_register(&early_mrst_console, keep); |
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 79f636bc44c6..66d250c00d11 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
| @@ -207,23 +207,29 @@ static void __cpuinit smp_callin(void) | |||
| 207 | * Need to setup vector mappings before we enable interrupts. | 207 | * Need to setup vector mappings before we enable interrupts. |
| 208 | */ | 208 | */ |
| 209 | setup_vector_irq(smp_processor_id()); | 209 | setup_vector_irq(smp_processor_id()); |
| 210 | |||
| 211 | /* | ||
| 212 | * Save our processor parameters. Note: this information | ||
| 213 | * is needed for clock calibration. | ||
| 214 | */ | ||
| 215 | smp_store_cpu_info(cpuid); | ||
| 216 | |||
| 210 | /* | 217 | /* |
| 211 | * Get our bogomips. | 218 | * Get our bogomips. |
| 219 | * Update loops_per_jiffy in cpu_data. Previous call to | ||
| 220 | * smp_store_cpu_info() stored a value that is close but not as | ||
| 221 | * accurate as the value just calculated. | ||
| 212 | * | 222 | * |
| 213 | * Need to enable IRQs because it can take longer and then | 223 | * Need to enable IRQs because it can take longer and then |
| 214 | * the NMI watchdog might kill us. | 224 | * the NMI watchdog might kill us. |
| 215 | */ | 225 | */ |
| 216 | local_irq_enable(); | 226 | local_irq_enable(); |
| 217 | calibrate_delay(); | 227 | calibrate_delay(); |
| 228 | cpu_data(cpuid).loops_per_jiffy = loops_per_jiffy; | ||
| 218 | local_irq_disable(); | 229 | local_irq_disable(); |
| 219 | pr_debug("Stack at about %p\n", &cpuid); | 230 | pr_debug("Stack at about %p\n", &cpuid); |
| 220 | 231 | ||
| 221 | /* | 232 | /* |
| 222 | * Save our processor parameters | ||
| 223 | */ | ||
