diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-23 19:32:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-23 19:32:11 -0400 |
commit | 2024da603978882d102a34d47828a205fffb338e (patch) | |
tree | e3e3908218f7631f77fe84a962d64df341e85f1f /arch | |
parent | 01e7ae8c13bb06a2ce622ebace33bb7e28ef596c (diff) | |
parent | b9a5ce3cae2f6d04c521204004a36be46656ec7b (diff) |
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 4630/1: Fix the vector stride of the double vector instruction.
[ARM] 4629/1: Fix VFP emulation code to clear all exception flags of FPEXC
[ARM] 4613/1: pxa300: MFP typo fix
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-pxa/pxa300.c | 6 | ||||
-rw-r--r-- | arch/arm/vfp/vfpdouble.c | 8 | ||||
-rw-r--r-- | arch/arm/vfp/vfpmodule.c | 2 |
3 files changed, 9 insertions, 7 deletions
diff --git a/arch/arm/mach-pxa/pxa300.c b/arch/arm/mach-pxa/pxa300.c index 5363b1322652..7a34231f3172 100644 --- a/arch/arm/mach-pxa/pxa300.c +++ b/arch/arm/mach-pxa/pxa300.c | |||
@@ -23,8 +23,10 @@ static struct pxa3xx_mfp_addr_map pxa300_mfp_addr_map[] __initdata = { | |||
23 | 23 | ||
24 | MFP_ADDR_X(GPIO0, GPIO2, 0x00b4), | 24 | MFP_ADDR_X(GPIO0, GPIO2, 0x00b4), |
25 | MFP_ADDR_X(GPIO3, GPIO26, 0x027c), | 25 | MFP_ADDR_X(GPIO3, GPIO26, 0x027c), |
26 | MFP_ADDR_X(GPIO27, GPIO127, 0x0400), | 26 | MFP_ADDR_X(GPIO27, GPIO98, 0x0400), |
27 | MFP_ADDR_X(GPIO0_2, GPIO6_2, 0x02ec), | 27 | MFP_ADDR_X(GPIO99, GPIO127, 0x0600), |
28 | MFP_ADDR_X(GPIO0_2, GPIO1_2, 0x0674), | ||
29 | MFP_ADDR_X(GPIO2_2, GPIO6_2, 0x02dc), | ||
28 | 30 | ||
29 | MFP_ADDR(nBE0, 0x0204), | 31 | MFP_ADDR(nBE0, 0x0204), |
30 | MFP_ADDR(nBE1, 0x0208), | 32 | MFP_ADDR(nBE1, 0x0208), |
diff --git a/arch/arm/vfp/vfpdouble.c b/arch/arm/vfp/vfpdouble.c index 74e89f8fb3ab..190a09ad18eb 100644 --- a/arch/arm/vfp/vfpdouble.c +++ b/arch/arm/vfp/vfpdouble.c | |||
@@ -1132,7 +1132,7 @@ u32 vfp_double_cpdo(u32 inst, u32 fpscr) | |||
1132 | unsigned int vecitr, veclen, vecstride; | 1132 | unsigned int vecitr, veclen, vecstride; |
1133 | struct op *fop; | 1133 | struct op *fop; |
1134 | 1134 | ||
1135 | vecstride = (1 + ((fpscr & FPSCR_STRIDE_MASK) == FPSCR_STRIDE_MASK)) * 2; | 1135 | vecstride = (1 + ((fpscr & FPSCR_STRIDE_MASK) == FPSCR_STRIDE_MASK)); |
1136 | 1136 | ||
1137 | fop = (op == FOP_EXT) ? &fops_ext[FEXT_TO_IDX(inst)] : &fops[FOP_TO_IDX(op)]; | 1137 | fop = (op == FOP_EXT) ? &fops_ext[FEXT_TO_IDX(inst)] : &fops[FOP_TO_IDX(op)]; |
1138 | 1138 | ||
@@ -1184,10 +1184,10 @@ u32 vfp_double_cpdo(u32 inst, u32 fpscr) | |||
1184 | * CHECK: It appears to be undefined whether we stop when | 1184 | * CHECK: It appears to be undefined whether we stop when |
1185 | * we encounter an exception. We continue. | 1185 | * we encounter an exception. We continue. |
1186 | */ | 1186 | */ |
1187 | dest = FREG_BANK(dest) + ((FREG_IDX(dest) + vecstride) & 6); | 1187 | dest = FREG_BANK(dest) + ((FREG_IDX(dest) + vecstride) & 3); |
1188 | dn = FREG_BANK(dn) + ((FREG_IDX(dn) + vecstride) & 6); | 1188 | dn = FREG_BANK(dn) + ((FREG_IDX(dn) + vecstride) & 3); |
1189 | if (FREG_BANK(dm) != 0) | 1189 | if (FREG_BANK(dm) != 0) |
1190 | dm = FREG_BANK(dm) + ((FREG_IDX(dm) + vecstride) & 6); | 1190 | dm = FREG_BANK(dm) + ((FREG_IDX(dm) + vecstride) & 3); |
1191 | } | 1191 | } |
1192 | return exceptions; | 1192 | return exceptions; |
1193 | 1193 | ||
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c index eea3f50743d5..b4e210df92f2 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c | |||
@@ -229,7 +229,7 @@ void VFP9_bounce(u32 trigger, u32 fpexc, struct pt_regs *regs) | |||
229 | /* | 229 | /* |
230 | * Enable access to the VFP so we can handle the bounce. | 230 | * Enable access to the VFP so we can handle the bounce. |
231 | */ | 231 | */ |
232 | fmxr(FPEXC, fpexc & ~(FPEXC_EX|FPEXC_INV|FPEXC_UFC|FPEXC_IOC)); | 232 | fmxr(FPEXC, fpexc & ~(FPEXC_EX|FPEXC_FPV2|FPEXC_INV|FPEXC_UFC|FPEXC_OFC|FPEXC_IOC)); |
233 | 233 | ||
234 | orig_fpscr = fpscr = fmrx(FPSCR); | 234 | orig_fpscr = fpscr = fmrx(FPSCR); |
235 | 235 | ||