git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 2.0-rc4
[linux-2.6.git]
/
drivers
/
video
/
matrox
/
matroxfb_accel.c
diff --git
a/drivers/video/matrox/matroxfb_accel.c
b/drivers/video/matrox/matroxfb_accel.c
index
8f14c9b
..
c7f3e13
100644
(file)
--- a/
drivers/video/matrox/matroxfb_accel.c
+++ b/
drivers/video/matrox/matroxfb_accel.c
@@
-438,13
+438,21
@@
static void matroxfb_1bpp_imageblit(WPMINFO u_int32_t fgx, u_int32_t bgx,
} else if (step == 1) {
/* Special case for 1..8bit widths */
while (height--) {
} else if (step == 1) {
/* Special case for 1..8bit widths */
while (height--) {
- mga_writel(mmio, 0, *chardata);
+#if defined(__BIG_ENDIAN)
+ fb_writel((*chardata) << 24, mmio.vaddr);
+#else
+ fb_writel(*chardata, mmio.vaddr);
+#endif
chardata++;
}
} else if (step == 2) {
/* Special case for 9..15bit widths */
while (height--) {
chardata++;
}
} else if (step == 2) {
/* Special case for 9..15bit widths */
while (height--) {
- mga_writel(mmio, 0, *(u_int16_t*)chardata);
+#if defined(__BIG_ENDIAN)
+ fb_writel((*(u_int16_t*)chardata) << 16, mmio.vaddr);
+#else
+ fb_writel(*(u_int16_t*)chardata, mmio.vaddr);
+#endif
chardata += 2;
}
} else {
chardata += 2;
}
} else {
@@
-454,7
+462,7
@@
static void matroxfb_1bpp_imageblit(WPMINFO u_int32_t fgx, u_int32_t bgx,
for (i = 0; i < step; i += 4) {
/* Hope that there are at least three readable bytes beyond the end of bitmap */
for (i = 0; i < step; i += 4) {
/* Hope that there are at least three readable bytes beyond the end of bitmap */
-
mga_writel(mmio, 0, get_unaligned((u_int32_t*)(chardata + i))
);
+
fb_writel(get_unaligned((u_int32_t*)(chardata + i)),mmio.vaddr
);
}
chardata += step;
}
}
chardata += step;
}