Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 88074
Collapse All | Expand All

(-)a/drivers/video/matrox/matroxfb_accel.c (-3 / +11 lines)
Lines 438-450 Link Here
438
		} else if (step == 1) {
438
		} else if (step == 1) {
439
			/* Special case for 1..8bit widths */
439
			/* Special case for 1..8bit widths */
440
			while (height--) {
440
			while (height--) {
441
				mga_writel(mmio, 0, *chardata);
441
#if defined(__BIG_ENDIAN)
442
				fb_writel((*chardata) << 24, mmio.vaddr);
443
#else
444
				fb_writel(*chardata, mmio.vaddr);
445
#endif
442
				chardata++;
446
				chardata++;
443
			}
447
			}
444
		} else if (step == 2) {
448
		} else if (step == 2) {
445
			/* Special case for 9..15bit widths */
449
			/* Special case for 9..15bit widths */
446
			while (height--) {
450
			while (height--) {
447
				mga_writel(mmio, 0, *(u_int16_t*)chardata);
451
#if defined(__BIG_ENDIAN)
452
				fb_writel((*(u_int16_t*)chardata) << 16, mmio.vaddr);
453
#else
454
				fb_writel(*(u_int16_t*)chardata, mmio.vaddr);
455
#endif
448
				chardata += 2;
456
				chardata += 2;
449
			}
457
			}
450
		} else {
458
		} else {
Lines 454-460 Link Here
454
				
462
				
455
				for (i = 0; i < step; i += 4) {
463
				for (i = 0; i < step; i += 4) {
456
					/* Hope that there are at least three readable bytes beyond the end of bitmap */
464
					/* Hope that there are at least three readable bytes beyond the end of bitmap */
457
					mga_writel(mmio, 0, get_unaligned((u_int32_t*)(chardata + i)));
465
					fb_writel(get_unaligned((u_int32_t*)(chardata + i)),mmio.vaddr);
458
				}
466
				}
459
				chardata += step;
467
				chardata += step;
460
			}
468
			}
(-)a/drivers/video/matrox/matroxfb_base.h (-2 / +2 lines)
Lines 170-183 Link Here
170
170
171
	if ((unsigned long)src & 3) {
171
	if ((unsigned long)src & 3) {
172
		while (len >= 4) {
172
		while (len >= 4) {
173
			writel(get_unaligned((u32 *)src), addr);
173
			fb_writel(get_unaligned((u32 *)src), addr);
174
			addr++;
174
			addr++;
175
			len -= 4;
175
			len -= 4;
176
			src += 4;
176
			src += 4;
177
		}
177
		}
178
	} else {
178
	} else {
179
		while (len >= 4) {
179
		while (len >= 4) {
180
			writel(*(u32 *)src, addr);
180
			fb_writel(*(u32 *)src, addr);
181
			addr++;
181
			addr++;
182
			len -= 4;
182
			len -= 4;
183
			src += 4;
183
			src += 4;

Return to bug 88074