diff options
| author | Ingo Molnar <mingo@elte.hu> | 2010-07-21 15:43:03 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2010-07-21 15:43:06 -0400 |
| commit | 9dcdbf7a33d9018ac5d45debcf261be648bdd56a (patch) | |
| tree | bbcc1a018f11ff76cd7ce174ef3ffe2c02da07ee /arch/powerpc/sysdev | |
| parent | cc5edb0eb9ce892b530e34a5d110382483587942 (diff) | |
| parent | cd5b8f8755a89a57fc8c408d284b8b613f090345 (diff) | |
Merge branch 'linus' into perf/core
Merge reason: Pick up the latest perf fixes.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/powerpc/sysdev')
| -rw-r--r-- | arch/powerpc/sysdev/dart_iommu.c | 8 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/fsl_pci.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/micropatch.c | 30 |
3 files changed, 24 insertions, 18 deletions
diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c index c8b96ed7c015..559db2b846a9 100644 --- a/arch/powerpc/sysdev/dart_iommu.c +++ b/arch/powerpc/sysdev/dart_iommu.c | |||
| @@ -36,7 +36,7 @@ | |||
| 36 | #include <linux/dma-mapping.h> | 36 | #include <linux/dma-mapping.h> |
| 37 | #include <linux/vmalloc.h> | 37 | #include <linux/vmalloc.h> |
| 38 | #include <linux/suspend.h> | 38 | #include <linux/suspend.h> |
| 39 | #include <linux/lmb.h> | 39 | #include <linux/memblock.h> |
| 40 | #include <linux/gfp.h> | 40 | #include <linux/gfp.h> |
| 41 | #include <asm/io.h> | 41 | #include <asm/io.h> |
| 42 | #include <asm/prom.h> | 42 | #include <asm/prom.h> |
| @@ -232,7 +232,7 @@ static int __init dart_init(struct device_node *dart_node) | |||
| 232 | * that to work around what looks like a problem with the HT bridge | 232 | * that to work around what looks like a problem with the HT bridge |
| 233 | * prefetching into invalid pages and corrupting data | 233 | * prefetching into invalid pages and corrupting data |
| 234 | */ | 234 | */ |
| 235 | tmp = lmb_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE); | 235 | tmp = memblock_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE); |
| 236 | dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) & | 236 | dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) & |
| 237 | DARTMAP_RPNMASK); | 237 | DARTMAP_RPNMASK); |
| 238 | 238 | ||
| @@ -407,7 +407,7 @@ void __init alloc_dart_table(void) | |||
| 407 | if (iommu_is_off) | 407 | if (iommu_is_off) |
| 408 | return; | 408 | return; |
| 409 | 409 | ||
| 410 | if (!iommu_force_on && lmb_end_of_DRAM() <= 0x40000000ull) | 410 | if (!iommu_force_on && memblock_end_of_DRAM() <= 0x40000000ull) |
| 411 | return; | 411 | return; |
| 412 | 412 | ||
| 413 | /* 512 pages (2MB) is max DART tablesize. */ | 413 | /* 512 pages (2MB) is max DART tablesize. */ |
| @@ -416,7 +416,7 @@ void __init alloc_dart_table(void) | |||
| 416 | * will blow up an entire large page anyway in the kernel mapping | 416 | * will blow up an entire large page anyway in the kernel mapping |
| 417 | */ | 417 | */ |
| 418 | dart_tablebase = (unsigned long) | 418 | dart_tablebase = (unsigned long) |
| 419 | abs_to_virt(lmb_alloc_base(1UL<<24, 1UL<<24, 0x80000000L)); | 419 | abs_to_virt(memblock_alloc_base(1UL<<24, 1UL<<24, 0x80000000L)); |
| 420 | 420 | ||
| 421 | printk(KERN_INFO "DART table allocated at: %lx\n", dart_tablebase); | 421 | printk(KERN_INFO "DART table allocated at: %lx\n", dart_tablebase); |
| 422 | } | 422 | } |
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c index a14760fe513a..356c6a0e1b23 100644 --- a/arch/powerpc/sysdev/fsl_pci.c +++ b/arch/powerpc/sysdev/fsl_pci.c | |||
| @@ -23,7 +23,7 @@ | |||
| 23 | #include <linux/string.h> | 23 | #include <linux/string.h> |
| 24 | #include <linux/init.h> | 24 | #include <linux/init.h> |
| 25 | #include <linux/bootmem.h> | 25 | #include <linux/bootmem.h> |
| 26 | #include <linux/lmb.h> | 26 | #include <linux/memblock.h> |
| 27 | #include <linux/log2.h> | 27 | #include <linux/log2.h> |
| 28 | #include <linux/slab.h> | 28 | #include <linux/slab.h> |
| 29 | 29 | ||
| @@ -190,7 +190,7 @@ static void __init setup_pci_atmu(struct pci_controller *hose, | |||
| 190 | pr_info("%s: PCICSRBAR @ 0x%x\n", name, pcicsrbar); | 190 | pr_info("%s: PCICSRBAR @ 0x%x\n", name, pcicsrbar); |
| 191 | 191 | ||
| 192 | /* Setup inbound mem window */ | 192 | /* Setup inbound mem window */ |
| 193 | mem = lmb_end_of_DRAM(); | 193 | mem = memblock_end_of_DRAM(); |
| 194 | sz = min(mem, paddr_lo); | 194 | sz = min(mem, paddr_lo); |
| 195 | mem_log = __ilog2_u64(sz); | 195 | mem_log = __ilog2_u64(sz); |
| 196 | 196 | ||
diff --git a/arch/powerpc/sysdev/micropatch.c b/arch/powerpc/sysdev/micropatch.c index d8d602840757..c0bb76ef7242 100644 --- a/arch/powerpc/sysdev/micropatch.c +++ b/arch/powerpc/sysdev/micropatch.c | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | * also relocates SMC2, but this would require additional changes | 4 | * also relocates SMC2, but this would require additional changes |
| 5 | * to uart.c, so I am holding off on that for a moment. | 5 | * to uart.c, so I am holding off on that for a moment. |
| 6 | */ | 6 | */ |
| 7 | #include <linux/init.h> | ||
| 7 | #include <linux/errno.h> | 8 | #include <linux/errno.h> |
| 8 | #include <linux/sched.h> | 9 | #include <linux/sched.h> |
| 9 | #include <linux/kernel.h> | 10 | #include <linux/kernel.h> |
| @@ -16,6 +17,7 @@ | |||
| 16 | #include <asm/page.h> | 17 | #include <asm/page.h> |
| 17 | #include <asm/pgtable.h> | 18 | #include <asm/pgtable.h> |
| 18 | #include <asm/8xx_immap.h> | 19 | #include <asm/8xx_immap.h> |
| 20 | #include <asm/cpm.h> | ||
| 19 | #include <asm/cpm1.h> | 21 | #include <asm/cpm1.h> |
| 20 | 22 | ||
| 21 | /* | 23 | /* |
| @@ -24,7 +26,7 @@ | |||
| 24 | 26 | ||
| 25 | #ifdef CONFIG_I2C_SPI_UCODE_PATCH | 27 | #ifdef CONFIG_I2C_SPI_UCODE_PATCH |
| 26 | 28 | ||
| 27 | uint patch_2000[] = { | 29 | static uint patch_2000[] __initdata = { |
| 28 | 0x7FFFEFD9, | 30 | 0x7FFFEFD9, |
| 29 | 0x3FFD0000, | 31 | 0x3FFD0000, |
| 30 | 0x7FFB49F7, | 32 | 0x7FFB49F7, |
| @@ -143,7 +145,7 @@ uint patch_2000[] = { | |||
| 143 | 0x5F8247F8 | 145 | 0x5F8247F8 |
| 144 | }; | 146 | }; |
| 145 | 147 | ||
| 146 | uint patch_2f00[] = { | 148 | static uint patch_2f00[] __initdata = { |
| 147 | 0x3E303430, | 149 | 0x3E303430, |
| 148 | 0x34343737, | 150 | 0x34343737, |
| 149 | 0xABF7BF9B, | 151 | 0xABF7BF9B, |
| @@ -182,7 +184,7 @@ uint patch_2f00[] = { | |||
| 182 | 184 | ||
| 183 | #ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH | 185 | #ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH |
| 184 | 186 | ||
| 185 | uint patch_2000[] = { | 187 | static uint patch_2000[] __initdata = { |
| 186 | 0x3fff0000, | 188 | 0x3fff0000, |
| 187 | 0x3ffd0000, | 189 | 0x3ffd0000, |
| 188 | 0x3ffb0000, | 190 | 0x3ffb0000, |
| @@ -505,7 +507,7 @@ uint patch_2000[] = { | |||
| 505 | 0x6079e2bb | 507 | 0x6079e2bb |
| 506 | }; | 508 | }; |
| 507 | 509 | ||
| 508 | uint patch_2f00[] = { | 510 | static uint patch_2f00[] __initdata = { |
| 509 | 0x30303030, | 511 | 0x30303030, |
| 510 | 0x3e3e3434, | 512 | 0x3e3e3434, |
| 511 | 0xabbf9b99, | 513 | 0xabbf9b99, |
| @@ -572,7 +574,7 @@ uint patch_2f00[] = { | |||
| 572 | 0xf22f3f23 | 574 | 0xf22f3f23 |
| 573 | }; | 575 | }; |
| 574 | 576 | ||
| 575 | uint patch_2e00[] = { | 577 | static uint patch_2e00[] __initdata = { |
| 576 | 0x27eeeeee, | 578 | 0x27eeeeee, |
| 577 | 0xeeeeeeee, | 579 | 0xeeeeeeee, |
| 578 | 0xeeeeeeee, | 580 | 0xeeeeeeee, |
| @@ -598,7 +600,7 @@ uint patch_2e00[] = { | |||
| 598 | 600 | ||
| 599 | #ifdef CONFIG_USB_SOF_UCODE_PATCH | 601 | #ifdef CONFIG_USB_SOF_UCODE_PATCH |
| 600 | 602 | ||
| 601 | uint patch_2000[] = { | 603 | static uint patch_2000[] __initdata = { |
| 602 | 0x7fff0000, | 604 | 0x7fff0000, |
| 603 | 0x7ffd0000, | 605 | 0x7ffd0000, |
| 604 | 0x7ffb0000, | 606 | 0x7ffb0000, |
| @@ -613,21 +615,25 @@ uint patch_2000[] = { | |||
| 613 | 0x60750000 | 615 | 0x60750000 |
| 614 | }; | 616 | }; |
| 615 | 617 | ||
| 616 | uint patch_2f00[] = { | 618 | static uint patch_2f00[] __initdata = { |
| 617 | 0x3030304c, | 619 | 0x3030304c, |
| 618 | 0xcab9e441, | 620 | 0xcab9e441, |
| 619 | 0xa1aaf220 | 621 | 0xa1aaf220 |
| 620 | }; | 622 | }; |
| 621 | #endif | 623 | #endif |
| 622 | 624 | ||
| 623 | void | 625 | void __init cpm_load_patch(cpm8xx_t *cp) |
| 624 | cpm_load_patch(cpm8xx_t *cp) | ||
| 625 | { | 626 | { |
| 626 | volatile uint *dp; /* Dual-ported RAM. */ | 627 | volatile uint *dp; /* Dual-ported RAM. */ |
| 627 | volatile cpm8xx_t *commproc; | 628 | volatile cpm8xx_t *commproc; |
| 629 | #if defined(CONFIG_I2C_SPI_UCODE_PATCH) || \ | ||
| 630 | defined(CONFIG_I2C_SPI_SMC1_UCODE_PATCH) | ||
| 628 | volatile iic_t *iip; | 631 | volatile iic_t *iip; |
| 629 | volatile spi_t *spp; | 632 | volatile struct spi_pram *spp; |
| 633 | #ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH | ||
| 630 | volatile smc_uart_t *smp; | 634 | volatile smc_uart_t *smp; |
| 635 | #endif | ||
| 636 | #endif | ||
| 631 | int i; | 637 | int i; |
| 632 | 638 | ||
| 633 | commproc = cp; | 639 | commproc = cp; |
| @@ -668,8 +674,8 @@ cpm_load_patch(cpm8xx_t *cp) | |||
| 668 | /* Put SPI above the IIC, also 32-byte aligned. | 674 | /* Put SPI above the IIC, also 32-byte aligned. |
| 669 | */ | 675 | */ |
| 670 | i = (RPBASE + sizeof(iic_t) + 31) & ~31; | 676 | i = (RPBASE + sizeof(iic_t) + 31) & ~31; |
| 671 | spp = (spi_t *)&commproc->cp_dparam[PROFF_SPI]; | 677 | spp = (struct spi_pram *)&commproc->cp_dparam[PROFF_SPI]; |
| 672 | spp->spi_rpbase = i; | 678 | spp->rpbase = i; |
| 673 | 679 | ||
| 674 | # if defined(CONFIG_I2C_SPI_UCODE_PATCH) | 680 | # if defined(CONFIG_I2C_SPI_UCODE_PATCH) |
| 675 | commproc->cp_cpmcr1 = 0x802a; | 681 | commproc->cp_cpmcr1 = 0x802a; |
