aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/fbdev/core/cfbcopyarea.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/video/fbdev/core/cfbcopyarea.c b/drivers/video/fbdev/core/cfbcopyarea.c
index bcb57235fcc7..6d4bfeecee35 100644
--- a/drivers/video/fbdev/core/cfbcopyarea.c
+++ b/drivers/video/fbdev/core/cfbcopyarea.c
@@ -55,8 +55,8 @@ bitcpy(struct fb_info *p, unsigned long __iomem *dst, unsigned dst_idx,
55 * If you suspect bug in this function, compare it with this simple 55 * If you suspect bug in this function, compare it with this simple
56 * memmove implementation. 56 * memmove implementation.
57 */ 57 */
58 fb_memmove((char *)dst + ((dst_idx & (bits - 1))) / 8, 58 memmove((char *)dst + ((dst_idx & (bits - 1))) / 8,
59 (char *)src + ((src_idx & (bits - 1))) / 8, n / 8); 59 (char *)src + ((src_idx & (bits - 1))) / 8, n / 8);
60 return; 60 return;
61#endif 61#endif
62 62
@@ -221,8 +221,8 @@ bitcpy_rev(struct fb_info *p, unsigned long __iomem *dst, unsigned dst_idx,
221 * If you suspect bug in this function, compare it with this simple 221 * If you suspect bug in this function, compare it with this simple
222 * memmove implementation. 222 * memmove implementation.
223 */ 223 */
224 fb_memmove((char *)dst + ((dst_idx & (bits - 1))) / 8, 224 memmove((char *)dst + ((dst_idx & (bits - 1))) / 8,
225 (char *)src + ((src_idx & (bits - 1))) / 8, n / 8); 225 (char *)src + ((src_idx & (bits - 1))) / 8, n / 8);
226 return; 226 return;
227#endif 227#endif
228 228
@@ -324,7 +324,10 @@ bitcpy_rev(struct fb_info *p, unsigned long __iomem *dst, unsigned dst_idx,
324 d0 = d0 << left | d1 >> right; 324 d0 = d0 << left | d1 >> right;
325 } 325 }
326 d0 = fb_rev_pixels_in_long(d0, bswapmask); 326 d0 = fb_rev_pixels_in_long(d0, bswapmask);
327 FB_WRITEL(comp(d0, FB_READL(dst), first), dst); 327 if (!first)
328 FB_WRITEL(d0, dst);
329 else
330 FB_WRITEL(comp(d0, FB_READL(dst), first), dst);
328 d0 = d1; 331 d0 = d1;
329 dst--; 332 dst--;
330 n -= dst_idx+1; 333 n -= dst_idx+1;