aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2008-12-15 22:38:58 -0500
committerPaul Mackerras <paulus@samba.org>2008-12-15 22:38:58 -0500
commit1e1c568d6c66d1e2e345fd15e2a1ceafc5d7e33a (patch)
tree0cf88547108a750d6eb910564ef5bf0ffb5ceef3 /arch/powerpc
parent91cac623262c1c0cd298c5c648a8bd2b647c264d (diff)
parent23e0e8afafd9ac065d81506524adf3339584044b (diff)
Merge branch 'merge' into next
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/boot/Makefile1
-rw-r--r--arch/powerpc/boot/dts/mpc8349emitx.dts16
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itx_defconfig2
-rw-r--r--arch/powerpc/configs/mpc83xx_defconfig2
-rw-r--r--arch/powerpc/kernel/cpu_setup_44x.S1
-rw-r--r--arch/powerpc/kernel/cputable.c3
-rw-r--r--arch/powerpc/kernel/misc_32.S3
-rw-r--r--arch/powerpc/mm/hugetlbpage.c3
-rw-r--r--arch/powerpc/mm/numa.c16
-rw-r--r--arch/powerpc/platforms/cell/axon_msi.c3
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 726CONFIG_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
729CONFIG_NETDEV_1000=y 729CONFIG_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
683CONFIG_ICPLUS_PHY=y 683CONFIG_ICPLUS_PHY=y
684# CONFIG_REALTEK_PHY is not set 684# CONFIG_REALTEK_PHY is not set
685# CONFIG_FIXED_PHY is not set 685CONFIG_FIXED_PHY=y
686# CONFIG_MDIO_BITBANG is not set 686# CONFIG_MDIO_BITBANG is not set
687CONFIG_NET_ETHERNET=y 687CONFIG_NET_ETHERNET=y
688CONFIG_MII=y 688CONFIG_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);
39extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec); 39extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec);
40extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec); 40extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec);
41extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec); 41extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec);
42extern void __setup_cpu_440x5(unsigned long offset, struct cpu_spec* spec);
42extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec* spec); 43extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec* spec);
43extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec* spec); 44extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec* spec);
44extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec); 45extern 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)
929void __init do_init_bootmem(void) 936void __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;