Commit e892873c authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  powerpc: Update desktop/server defconfigs
  powerpc: Fix msr check in compat_sys_swapcontext
  powerpc: Repair device bindings documentation
  powerpc: Updated Freescale PPC related defconfigs
  powerpc: Update QE/CPM2 usb_ctlr structures for USB support
  powerpc/86xx: Correct SOC bus-frequency in GE Fanuc SBC610 DTS
  powerpc: Fix Book-E watchdog timer interval setting
  powerpc/fsl-booke: Fix synchronization bug w/local tlb invalidates
parents eda1be63 cb8fdc69
...@@ -41,25 +41,14 @@ Table of Contents ...@@ -41,25 +41,14 @@ Table of Contents
VI - System-on-a-chip devices and nodes VI - System-on-a-chip devices and nodes
1) Defining child nodes of an SOC 1) Defining child nodes of an SOC
2) Representing devices without a current OF specification 2) Representing devices without a current OF specification
a) MDIO IO device a) PHY nodes
b) Gianfar-compatible ethernet nodes b) Interrupt controllers
c) PHY nodes c) CFI or JEDEC memory-mapped NOR flash
d) Interrupt controllers d) 4xx/Axon EMAC ethernet nodes
e) I2C e) Xilinx IP cores
f) Freescale SOC USB controllers f) USB EHCI controllers
g) Freescale SOC SEC Security Engines g) MDIO on GPIOs
h) Board Control and Status (BCSR) h) SPI busses
i) Freescale QUICC Engine module (QE)
j) CFI or JEDEC memory-mapped NOR flash
k) Global Utilities Block
l) Freescale Communications Processor Module
m) Chipselect/Local Bus
n) 4xx/Axon EMAC ethernet nodes
o) Xilinx IP cores
p) Freescale Synchronous Serial Interface
q) USB EHCI controllers
r) MDIO on GPIOs
s) SPI busses
VII - Marvell Discovery mv64[345]6x System Controller chips VII - Marvell Discovery mv64[345]6x System Controller chips
1) The /system-controller node 1) The /system-controller node
...@@ -1830,41 +1819,7 @@ platforms are moved over to use the flattened-device-tree model. ...@@ -1830,41 +1819,7 @@ platforms are moved over to use the flattened-device-tree model.
big-endian; big-endian;
}; };
r) Freescale Display Interface Unit g) MDIO on GPIOs
The Freescale DIU is a LCD controller, with proper hardware, it can also
drive DVI monitors.
Required properties:
- compatible : should be "fsl-diu".
- reg : should contain at least address and length of the DIU register
set.
- Interrupts : one DIU interrupt should be describe here.
Example (MPC8610HPCD)
display@2c000 {
compatible = "fsl,diu";
reg = <0x2c000 100>;
interrupts = <72 2>;
interrupt-parent = <&mpic>;
};
s) Freescale on board FPGA
This is the memory-mapped registers for on board FPGA.
Required properities:
- compatible : should be "fsl,fpga-pixis".
- reg : should contain the address and the lenght of the FPPGA register
set.
Example (MPC8610HPCD)
board-control@e8000000 {
compatible = "fsl,fpga-pixis";
reg = <0xe8000000 32>;
};
r) MDIO on GPIOs
Currently defined compatibles: Currently defined compatibles:
- virtual,gpio-mdio - virtual,gpio-mdio
...@@ -1884,7 +1839,7 @@ platforms are moved over to use the flattened-device-tree model. ...@@ -1884,7 +1839,7 @@ platforms are moved over to use the flattened-device-tree model.
&qe_pio_c 6>; &qe_pio_c 6>;
}; };
s) SPI (Serial Peripheral Interface) busses h) SPI (Serial Peripheral Interface) busses
SPI busses can be described with a node for the SPI master device SPI busses can be described with a node for the SPI master device
and a set of child nodes for each SPI slave on the bus. For this and a set of child nodes for each SPI slave on the bus. For this
......
...@@ -108,7 +108,7 @@ soc@fef00000 { ...@@ -108,7 +108,7 @@ soc@fef00000 {
compatible = "simple-bus"; compatible = "simple-bus";
ranges = <0x0 0xfef00000 0x00100000>; ranges = <0x0 0xfef00000 0x00100000>;
reg = <0xfef00000 0x100000>; // CCSRBAR 1M reg = <0xfef00000 0x100000>; // CCSRBAR 1M
bus-frequency = <0>; bus-frequency = <33333333>;
i2c1: i2c@3000 { i2c1: i2c@3000 {
#address-cells = <1>; #address-cells = <1>;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -554,14 +554,11 @@ typedef struct usb_ctlr { ...@@ -554,14 +554,11 @@ typedef struct usb_ctlr {
u8 usb_usadr; u8 usb_usadr;
u8 usb_uscom; u8 usb_uscom;
u8 res1[1]; u8 res1[1];
u16 usb_usep1; __be16 usb_usep[4];
u16 usb_usep2;
u16 usb_usep3;
u16 usb_usep4;
u8 res2[4]; u8 res2[4];
u16 usb_usber; __be16 usb_usber;
u8 res3[2]; u8 res3[2];
u16 usb_usbmr; __be16 usb_usbmr;
u8 usb_usbs; u8 usb_usbs;
u8 res4[7]; u8 res4[7];
} usb_cpm2_t; } usb_cpm2_t;
......
...@@ -215,10 +215,7 @@ struct usb_ctlr { ...@@ -215,10 +215,7 @@ struct usb_ctlr {
u8 usb_usadr; u8 usb_usadr;
u8 usb_uscom; u8 usb_uscom;
u8 res1[1]; u8 res1[1];
__be16 usb_usep1; __be16 usb_usep[4];
__be16 usb_usep2;
__be16 usb_usep3;
__be16 usb_usep4;
u8 res2[4]; u8 res2[4];
__be16 usb_usber; __be16 usb_usber;
u8 res3[2]; u8 res3[2];
......
...@@ -470,6 +470,8 @@ _GLOBAL(_tlbil_pid) ...@@ -470,6 +470,8 @@ _GLOBAL(_tlbil_pid)
mfspr r3,SPRN_MMUCSR0 mfspr r3,SPRN_MMUCSR0
andi. r3,r3,MMUCSR0_TLBFI@l andi. r3,r3,MMUCSR0_TLBFI@l
bne 1b bne 1b
msync
isync
blr blr
/* /*
...@@ -486,6 +488,8 @@ _GLOBAL(_tlbil_va) ...@@ -486,6 +488,8 @@ _GLOBAL(_tlbil_va)
rlwinm r4,r4,0,1,31 rlwinm r4,r4,0,1,31
mtspr SPRN_MAS1,r4 mtspr SPRN_MAS1,r4
tlbwe tlbwe
msync
isync
blr blr
#endif /* CONFIG_FSL_BOOKE */ #endif /* CONFIG_FSL_BOOKE */
......
...@@ -941,9 +941,21 @@ long sys_swapcontext(struct ucontext __user *old_ctx, ...@@ -941,9 +941,21 @@ long sys_swapcontext(struct ucontext __user *old_ctx,
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
unsigned long new_msr = 0; unsigned long new_msr = 0;
if (new_ctx && if (new_ctx) {
get_user(new_msr, &new_ctx->uc_mcontext.mc_gregs[PT_MSR])) struct mcontext __user *mcp;
u32 cmcp;
/*
* Get pointer to the real mcontext. No need for
* access_ok since we are dealing with compat
* pointers.
*/
if (__get_user(cmcp, &new_ctx->uc_regs))
return -EFAULT;
mcp = (struct mcontext __user *)(u64)cmcp;
if (__get_user(new_msr, &mcp->mc_gregs[PT_MSR]))
return -EFAULT; return -EFAULT;
}
/* /*
* Check that the context is not smaller than the original * Check that the context is not smaller than the original
* size (with VMX but without VSX) * size (with VMX but without VSX)
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment