diff options
author | Paul Mackerras <paulus@samba.org> | 2008-12-15 22:38:58 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-12-15 22:38:58 -0500 |
commit | 1e1c568d6c66d1e2e345fd15e2a1ceafc5d7e33a (patch) | |
tree | 0cf88547108a750d6eb910564ef5bf0ffb5ceef3 /arch/powerpc | |
parent | 91cac623262c1c0cd298c5c648a8bd2b647c264d (diff) | |
parent | 23e0e8afafd9ac065d81506524adf3339584044b (diff) |
Merge branch 'merge' into next
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/boot/Makefile | 1 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8349emitx.dts | 16 | ||||
-rw-r--r-- | arch/powerpc/configs/83xx/mpc834x_itx_defconfig | 2 | ||||
-rw-r--r-- | arch/powerpc/configs/mpc83xx_defconfig | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/cpu_setup_44x.S | 1 | ||||
-rw-r--r-- | arch/powerpc/kernel/cputable.c | 3 | ||||
-rw-r--r-- | arch/powerpc/kernel/misc_32.S | 3 | ||||
-rw-r--r-- | arch/powerpc/mm/hugetlbpage.c | 3 | ||||
-rw-r--r-- | arch/powerpc/mm/numa.c | 16 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/axon_msi.c | 3 |
10 files changed, 35 insertions, 15 deletions
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 8fc6d72849ae..3d3daa674299 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -41,6 +41,7 @@ $(obj)/4xx.o: BOOTCFLAGS += -mcpu=405 | |||
41 | $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405 | 41 | $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405 |
42 | $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405 | 42 | $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405 |
43 | $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405 | 43 | $(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405 |
44 | $(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405 | ||
44 | $(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405 | 45 | $(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405 |
45 | $(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405 | 46 | $(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405 |
46 | 47 | ||
diff --git a/arch/powerpc/boot/dts/mpc8349emitx.dts b/arch/powerpc/boot/dts/mpc8349emitx.dts index d86c6a3283ec..5ba5c6633b81 100644 --- a/arch/powerpc/boot/dts/mpc8349emitx.dts +++ b/arch/powerpc/boot/dts/mpc8349emitx.dts | |||
@@ -90,6 +90,14 @@ | |||
90 | interrupts = <18 0x8>; | 90 | interrupts = <18 0x8>; |
91 | interrupt-parent = <&ipic>; | 91 | interrupt-parent = <&ipic>; |
92 | }; | 92 | }; |
93 | |||
94 | mcu_pio: mcu@a { | ||
95 | #gpio-cells = <2>; | ||
96 | compatible = "fsl,mc9s08qg8-mpc8349emitx", | ||
97 | "fsl,mcu-mpc8349emitx"; | ||
98 | reg = <0x0a>; | ||
99 | gpio-controller; | ||
100 | }; | ||
93 | }; | 101 | }; |
94 | 102 | ||
95 | spi@7000 { | 103 | spi@7000 { |
@@ -138,14 +146,6 @@ | |||
138 | interrupt-parent = <&ipic>; | 146 | interrupt-parent = <&ipic>; |
139 | interrupts = <71 8>; | 147 | interrupts = <71 8>; |
140 | }; | 148 | }; |
141 | |||
142 | mcu_pio: mcu@a { | ||
143 | #gpio-cells = <2>; | ||
144 | compatible = "fsl,mc9s08qg8-mpc8349emitx", | ||
145 | "fsl,mcu-mpc8349emitx"; | ||
146 | reg = <0x0a>; | ||
147 | gpio-controller; | ||
148 | }; | ||
149 | }; | 149 | }; |
150 | 150 | ||
151 | usb@22000 { | 151 | usb@22000 { |
diff --git a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig index e55ff7c47a36..07a674f5344e 100644 --- a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig +++ b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig | |||
@@ -723,7 +723,7 @@ CONFIG_CICADA_PHY=y | |||
723 | # CONFIG_BROADCOM_PHY is not set | 723 | # CONFIG_BROADCOM_PHY is not set |
724 | # CONFIG_ICPLUS_PHY is not set | 724 | # CONFIG_ICPLUS_PHY is not set |
725 | # CONFIG_REALTEK_PHY is not set | 725 | # CONFIG_REALTEK_PHY is not set |
726 | # CONFIG_FIXED_PHY is not set | 726 | CONFIG_FIXED_PHY=y |
727 | # CONFIG_MDIO_BITBANG is not set | 727 | # CONFIG_MDIO_BITBANG is not set |
728 | # CONFIG_NET_ETHERNET is not set | 728 | # CONFIG_NET_ETHERNET is not set |
729 | CONFIG_NETDEV_1000=y | 729 | CONFIG_NETDEV_1000=y |
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig index 15eb30c9b3f9..d582014b0a38 100644 --- a/arch/powerpc/configs/mpc83xx_defconfig +++ b/arch/powerpc/configs/mpc83xx_defconfig | |||
@@ -682,7 +682,7 @@ CONFIG_VITESSE_PHY=y | |||
682 | # CONFIG_BROADCOM_PHY is not set | 682 | # CONFIG_BROADCOM_PHY is not set |
683 | CONFIG_ICPLUS_PHY=y | 683 | CONFIG_ICPLUS_PHY=y |
684 | # CONFIG_REALTEK_PHY is not set | 684 | # CONFIG_REALTEK_PHY is not set |
685 | # CONFIG_FIXED_PHY is not set | 685 | CONFIG_FIXED_PHY=y |
686 | # CONFIG_MDIO_BITBANG is not set | 686 | # CONFIG_MDIO_BITBANG is not set |
687 | CONFIG_NET_ETHERNET=y | 687 | CONFIG_NET_ETHERNET=y |
688 | CONFIG_MII=y | 688 | CONFIG_MII=y |
diff --git a/arch/powerpc/kernel/cpu_setup_44x.S b/arch/powerpc/kernel/cpu_setup_44x.S index 31c18b52affb..10b4ab1008af 100644 --- a/arch/powerpc/kernel/cpu_setup_44x.S +++ b/arch/powerpc/kernel/cpu_setup_44x.S | |||
@@ -40,6 +40,7 @@ _GLOBAL(__setup_cpu_460gt) | |||
40 | mtlr r4 | 40 | mtlr r4 |
41 | blr | 41 | blr |
42 | 42 | ||
43 | _GLOBAL(__setup_cpu_440x5) | ||
43 | _GLOBAL(__setup_cpu_440gx) | 44 | _GLOBAL(__setup_cpu_440gx) |
44 | _GLOBAL(__setup_cpu_440spe) | 45 | _GLOBAL(__setup_cpu_440spe) |
45 | b __fixup_440A_mcheck | 46 | b __fixup_440A_mcheck |
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index b1eb834bc0fc..7e8719504f39 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
@@ -39,6 +39,7 @@ extern void __setup_cpu_440epx(unsigned long offset, struct cpu_spec* spec); | |||
39 | extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec); | 39 | extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec); |
40 | extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec); | 40 | extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec); |
41 | extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec); | 41 | extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec); |
42 | extern void __setup_cpu_440x5(unsigned long offset, struct cpu_spec* spec); | ||
42 | extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec* spec); | 43 | extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec* spec); |
43 | extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec* spec); | 44 | extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec* spec); |
44 | extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec); | 45 | extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec); |
@@ -1500,6 +1501,8 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
1500 | .cpu_user_features = COMMON_USER_BOOKE, | 1501 | .cpu_user_features = COMMON_USER_BOOKE, |
1501 | .icache_bsize = 32, | 1502 | .icache_bsize = 32, |
1502 | .dcache_bsize = 32, | 1503 | .dcache_bsize = 32, |
1504 | .cpu_setup = __setup_cpu_440x5, | ||
1505 | .machine_check = machine_check_440A, | ||
1503 | .platform = "ppc440", | 1506 | .platform = "ppc440", |
1504 | }, | 1507 | }, |
1505 | { /* 460EX */ | 1508 | { /* 460EX */ |
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index bdc8b0e860e5..d108715129e2 100644 --- a/arch/powerpc/kernel/misc_32.S +++ b/arch/powerpc/kernel/misc_32.S | |||
@@ -479,6 +479,8 @@ _GLOBAL(_tlbil_pid) | |||
479 | * (no broadcast) | 479 | * (no broadcast) |
480 | */ | 480 | */ |
481 | _GLOBAL(_tlbil_va) | 481 | _GLOBAL(_tlbil_va) |
482 | mfmsr r10 | ||
483 | wrteei 0 | ||
482 | slwi r4,r4,16 | 484 | slwi r4,r4,16 |
483 | mtspr SPRN_MAS6,r4 /* assume AS=0 for now */ | 485 | mtspr SPRN_MAS6,r4 /* assume AS=0 for now */ |
484 | tlbsx 0,r3 | 486 | tlbsx 0,r3 |
@@ -490,6 +492,7 @@ _GLOBAL(_tlbil_va) | |||
490 | tlbwe | 492 | tlbwe |
491 | msync | 493 | msync |
492 | isync | 494 | isync |
495 | wrtee r10 | ||
493 | blr | 496 | blr |
494 | #endif /* CONFIG_FSL_BOOKE */ | 497 | #endif /* CONFIG_FSL_BOOKE */ |
495 | 498 | ||
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index deb494687a65..201c7a5486cb 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c | |||
@@ -506,6 +506,9 @@ unsigned long hugetlb_get_unmapped_area(struct file *file, unsigned long addr, | |||
506 | { | 506 | { |
507 | struct hstate *hstate = hstate_file(file); | 507 | struct hstate *hstate = hstate_file(file); |
508 | int mmu_psize = shift_to_mmu_psize(huge_page_shift(hstate)); | 508 | int mmu_psize = shift_to_mmu_psize(huge_page_shift(hstate)); |
509 | |||
510 | if (!mmu_huge_psizes[mmu_psize]) | ||
511 | return -EINVAL; | ||
509 | return slice_get_unmapped_area(addr, len, flags, mmu_psize, 1, 0); | 512 | return slice_get_unmapped_area(addr, len, flags, mmu_psize, 1, 0); |
510 | } | 513 | } |
511 | 514 | ||
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index a8397bbad3d4..cf81049e1e51 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c | |||
@@ -901,10 +901,17 @@ static void mark_reserved_regions_for_nid(int nid) | |||
901 | if (end_pfn > node_ar.end_pfn) | 901 | if (end_pfn > node_ar.end_pfn) |
902 | reserve_size = (node_ar.end_pfn << PAGE_SHIFT) | 902 | reserve_size = (node_ar.end_pfn << PAGE_SHIFT) |
903 | - (start_pfn << PAGE_SHIFT); | 903 | - (start_pfn << PAGE_SHIFT); |
904 | dbg("reserve_bootmem %lx %lx nid=%d\n", physbase, | 904 | /* |
905 | reserve_size, node_ar.nid); | 905 | * Only worry about *this* node, others may not |
906 | reserve_bootmem_node(NODE_DATA(node_ar.nid), physbase, | 906 | * yet have valid NODE_DATA(). |
907 | reserve_size, BOOTMEM_DEFAULT); | 907 | */ |
908 | if (node_ar.nid == nid) { | ||
909 | dbg("reserve_bootmem %lx %lx nid=%d\n", | ||
910 | physbase, reserve_size, node_ar.nid); | ||
911 | reserve_bootmem_node(NODE_DATA(node_ar.nid), | ||
912 | physbase, reserve_size, | ||
913 | BOOTMEM_DEFAULT); | ||
914 | } | ||
908 | /* | 915 | /* |
909 | * if reserved region is contained in the active region | 916 | * if reserved region is contained in the active region |
910 | * then done. | 917 | * then done. |
@@ -929,7 +936,6 @@ static void mark_reserved_regions_for_nid(int nid) | |||
929 | void __init do_init_bootmem(void) | 936 | void __init do_init_bootmem(void) |
930 | { | 937 | { |
931 | int nid; | 938 | int nid; |
932 | unsigned int i; | ||
933 | 939 | ||
934 | min_low_pfn = 0; | 940 | min_low_pfn = 0; |
935 | max_low_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT; | 941 | max_low_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT; |
diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c index 442cf36aa172..0ce45c2b42f8 100644 --- a/arch/powerpc/platforms/cell/axon_msi.c +++ b/arch/powerpc/platforms/cell/axon_msi.c | |||
@@ -413,6 +413,9 @@ static int axon_msi_probe(struct of_device *device, | |||
413 | MSIC_CTRL_IRQ_ENABLE | MSIC_CTRL_ENABLE | | 413 | MSIC_CTRL_IRQ_ENABLE | MSIC_CTRL_ENABLE | |
414 | MSIC_CTRL_FIFO_SIZE); | 414 | MSIC_CTRL_FIFO_SIZE); |
415 | 415 | ||
416 | msic->read_offset = dcr_read(msic->dcr_host, MSIC_WRITE_OFFSET_REG) | ||
417 | & MSIC_FIFO_SIZE_MASK; | ||
418 | |||
416 | device->dev.platform_data = msic; | 419 | device->dev.platform_data = msic; |
417 | 420 | ||
418 | ppc_md.setup_msi_irqs = axon_msi_setup_msi_irqs; | 421 | ppc_md.setup_msi_irqs = axon_msi_setup_msi_irqs; |