]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/video/fbdev/core/cfbcopyarea.c
Merge tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux
[linux.git] / drivers / video / fbdev / core / cfbcopyarea.c
index bcb57235fcc70c8b389f9bf1134e59a6f9a2adb3..6d4bfeecee35088f86d257d871c40ad934f79737 100644 (file)
@@ -55,8 +55,8 @@ bitcpy(struct fb_info *p, unsigned long __iomem *dst, unsigned dst_idx,
         * If you suspect bug in this function, compare it with this simple
         * memmove implementation.
         */
-       fb_memmove((char *)dst + ((dst_idx & (bits - 1))) / 8,
-                  (char *)src + ((src_idx & (bits - 1))) / 8, n / 8);
+       memmove((char *)dst + ((dst_idx & (bits - 1))) / 8,
+               (char *)src + ((src_idx & (bits - 1))) / 8, n / 8);
        return;
 #endif
 
@@ -221,8 +221,8 @@ bitcpy_rev(struct fb_info *p, unsigned long __iomem *dst, unsigned dst_idx,
         * If you suspect bug in this function, compare it with this simple
         * memmove implementation.
         */
-       fb_memmove((char *)dst + ((dst_idx & (bits - 1))) / 8,
-                  (char *)src + ((src_idx & (bits - 1))) / 8, n / 8);
+       memmove((char *)dst + ((dst_idx & (bits - 1))) / 8,
+               (char *)src + ((src_idx & (bits - 1))) / 8, n / 8);
        return;
 #endif
 
@@ -324,7 +324,10 @@ bitcpy_rev(struct fb_info *p, unsigned long __iomem *dst, unsigned dst_idx,
                                d0 = d0 << left | d1 >> right;
                        }
                        d0 = fb_rev_pixels_in_long(d0, bswapmask);
-                       FB_WRITEL(comp(d0, FB_READL(dst), first), dst);
+                       if (!first)
+                               FB_WRITEL(d0, dst);
+                       else
+                               FB_WRITEL(comp(d0, FB_READL(dst), first), dst);
                        d0 = d1;
                        dst--;
                        n -= dst_idx+1;