Chuck Ebbert ebfcf6e
Fix incorrect use of memcpy_toio() in matroxfb that broke in 2.6.34.
Chuck Ebbert ebfcf6e
Chuck Ebbert ebfcf6e
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Chuck Ebbert ebfcf6e
Chuck Ebbert ebfcf6e
--- linux-2.6.35-rc2/drivers/video/matrox/matroxfb_base.h	2010-06-06 05:43:24.000000000 +0200
Chuck Ebbert ebfcf6e
+++ linux-2.6.35-rc3/drivers/video/matrox/matroxfb_base.h	2010-08-03 18:13:46.000000000 +0200
Chuck Ebbert ebfcf6e
@@ -151,13 +151,13 @@ static inline void mga_writel(vaddr_t va
Chuck Ebbert ebfcf6e
 static inline void mga_memcpy_toio(vaddr_t va, const void* src, int len) {
Chuck Ebbert ebfcf6e
 #if defined(__alpha__) || defined(__i386__) || defined(__x86_64__)
Chuck Ebbert ebfcf6e
 	/*
Chuck Ebbert ebfcf6e
-	 * memcpy_toio works for us if:
Chuck Ebbert ebfcf6e
+	 * iowrite32_rep works for us if:
Chuck Ebbert ebfcf6e
 	 *  (1) Copies data as 32bit quantities, not byte after byte,
Chuck Ebbert ebfcf6e
 	 *  (2) Performs LE ordered stores, and
Chuck Ebbert ebfcf6e
 	 *  (3) It copes with unaligned source (destination is guaranteed to be page
Chuck Ebbert ebfcf6e
 	 *      aligned and length is guaranteed to be multiple of 4).
Chuck Ebbert ebfcf6e
 	 */
Chuck Ebbert ebfcf6e
-	memcpy_toio(va.vaddr, src, len);
Chuck Ebbert ebfcf6e
+	iowrite32_rep(va.vaddr, src, len >> 2);
Chuck Ebbert ebfcf6e
 #else
Chuck Ebbert ebfcf6e
         u_int32_t __iomem* addr = va.vaddr;
Chuck Ebbert ebfcf6e
 
Chuck Ebbert ebfcf6e