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 |
} |