diff options
-rw-r--r-- | drivers/video/fbdev/core/cfbcopyarea.c | 13 |
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; |