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

+9 -7
+4 -2
arch/arm/mach-pxa/pxa300.c
··· 23 24 MFP_ADDR_X(GPIO0, GPIO2, 0x00b4), 25 MFP_ADDR_X(GPIO3, GPIO26, 0x027c), 26 - MFP_ADDR_X(GPIO27, GPIO127, 0x0400), 27 - MFP_ADDR_X(GPIO0_2, GPIO6_2, 0x02ec), 28 29 MFP_ADDR(nBE0, 0x0204), 30 MFP_ADDR(nBE1, 0x0208),
··· 23 24 MFP_ADDR_X(GPIO0, GPIO2, 0x00b4), 25 MFP_ADDR_X(GPIO3, GPIO26, 0x027c), 26 + MFP_ADDR_X(GPIO27, GPIO98, 0x0400), 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), 30 31 MFP_ADDR(nBE0, 0x0204), 32 MFP_ADDR(nBE1, 0x0208),
+4 -4
arch/arm/vfp/vfpdouble.c
··· 1132 unsigned int vecitr, veclen, vecstride; 1133 struct op *fop; 1134 1135 - vecstride = (1 + ((fpscr & FPSCR_STRIDE_MASK) == FPSCR_STRIDE_MASK)) * 2; 1136 1137 fop = (op == FOP_EXT) ? &fops_ext[FEXT_TO_IDX(inst)] : &fops[FOP_TO_IDX(op)]; 1138 ··· 1184 * CHECK: It appears to be undefined whether we stop when 1185 * we encounter an exception. We continue. 1186 */ 1187 - dest = FREG_BANK(dest) + ((FREG_IDX(dest) + vecstride) & 6); 1188 - dn = FREG_BANK(dn) + ((FREG_IDX(dn) + vecstride) & 6); 1189 if (FREG_BANK(dm) != 0) 1190 - dm = FREG_BANK(dm) + ((FREG_IDX(dm) + vecstride) & 6); 1191 } 1192 return exceptions; 1193
··· 1132 unsigned int vecitr, veclen, vecstride; 1133 struct op *fop; 1134 1135 + vecstride = (1 + ((fpscr & FPSCR_STRIDE_MASK) == FPSCR_STRIDE_MASK)); 1136 1137 fop = (op == FOP_EXT) ? &fops_ext[FEXT_TO_IDX(inst)] : &fops[FOP_TO_IDX(op)]; 1138 ··· 1184 * CHECK: It appears to be undefined whether we stop when 1185 * we encounter an exception. We continue. 1186 */ 1187 + dest = FREG_BANK(dest) + ((FREG_IDX(dest) + vecstride) & 3); 1188 + dn = FREG_BANK(dn) + ((FREG_IDX(dn) + vecstride) & 3); 1189 if (FREG_BANK(dm) != 0) 1190 + dm = FREG_BANK(dm) + ((FREG_IDX(dm) + vecstride) & 3); 1191 } 1192 return exceptions; 1193
+1 -1
arch/arm/vfp/vfpmodule.c
··· 229 /* 230 * Enable access to the VFP so we can handle the bounce. 231 */ 232 - fmxr(FPEXC, fpexc & ~(FPEXC_EX|FPEXC_INV|FPEXC_UFC|FPEXC_IOC)); 233 234 orig_fpscr = fpscr = fmrx(FPSCR); 235
··· 229 /* 230 * Enable access to the VFP so we can handle the bounce. 231 */ 232 + fmxr(FPEXC, fpexc & ~(FPEXC_EX|FPEXC_FPV2|FPEXC_INV|FPEXC_UFC|FPEXC_OFC|FPEXC_IOC)); 233 234 orig_fpscr = fpscr = fmrx(FPSCR); 235