|
@@ -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
|
|
* If you suspect bug in this function, compare it with this simple
|
|
* memmove implementation.
|
|
* 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;
|
|
return;
|
|
#endif
|
|
#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
|
|
* If you suspect bug in this function, compare it with this simple
|
|
* memmove implementation.
|
|
* 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;
|
|
return;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
@@ -324,7 +324,10 @@ bitcpy_rev(struct fb_info *p, unsigned long __iomem *dst, unsigned dst_idx,
|
|
d0 = d0 << left | d1 >> right;
|
|
d0 = d0 << left | d1 >> right;
|
|
}
|
|
}
|
|
d0 = fb_rev_pixels_in_long(d0, bswapmask);
|
|
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;
|
|
d0 = d1;
|
|
dst--;
|
|
dst--;
|
|
n -= dst_idx+1;
|
|
n -= dst_idx+1;
|