diff options
Diffstat (limited to 'drivers/video/cfb_console.c')
| -rw-r--r-- | drivers/video/cfb_console.c | 15 | 
1 files changed, 9 insertions, 6 deletions
| diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c index 61e1058ad..b7692225f 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -568,8 +568,6 @@ static void video_drawchars(int xx, int yy, unsigned char *s, int count)  					SWAP32((video_font_draw_table32  						[bits & 15][3] & eorx) ^ bgx);  			} -			if (cfb_do_flush_cache) -				flush_cache((ulong)dest0, 32);  			dest0 += VIDEO_FONT_WIDTH * VIDEO_PIXEL_SIZE;  			s++;  		} @@ -638,8 +636,6 @@ static void video_invertchar(int xx, int yy)  		for (x = firstx; x < lastx; x++) {  			u8 *dest = (u8 *)(video_fb_address) + x + y;  			*dest = ~*dest; -			if (cfb_do_flush_cache) -				flush_cache((ulong)dest, 4);  		}  	}  } @@ -683,6 +679,8 @@ void console_cursor(int state)  		}  		cursor_state = state;  	} +	if (cfb_do_flush_cache) +		flush_cache(VIDEO_FB_ADRS, VIDEO_SIZE);  }  #endif @@ -735,8 +733,6 @@ static void console_clear_line(int line, int begin, int end)  			memsetl(offset + i * VIDEO_LINE_LEN, size, bgx);  	}  #endif -	if (cfb_do_flush_cache) -		flush_cache((ulong)CONSOLE_ROW_FIRST, CONSOLE_SIZE);  }  static void console_scrollup(void) @@ -1142,6 +1138,8 @@ void video_putc(const char c)  #else  	parse_putc(c);  #endif +	if (cfb_do_flush_cache) +		flush_cache(VIDEO_FB_ADRS, VIDEO_SIZE);  }  void video_puts(const char *s) @@ -1795,6 +1793,8 @@ int video_display_bitmap(ulong bmp_image, int x, int y)  	}  #endif +	if (cfb_do_flush_cache) +		flush_cache(VIDEO_FB_ADRS, VIDEO_SIZE);  	return (0);  }  #endif @@ -2205,6 +2205,9 @@ static int video_init(void)  	console_col = 0;  	console_row = 0; +	if (cfb_do_flush_cache) +		flush_cache(VIDEO_FB_ADRS, VIDEO_SIZE); +  	return 0;  } |