1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-03 17:52:07 +02:00
Files
u-boot-megous/common
Hans de Goede a8552c7c9b console: Fix pre-console flushing via cfb_console being very slow
On my A10 OlinuxIno Lime I noticed a huge (5+ seconds) delay coming from
console_init_r. This turns out to be caused by the preconsole buffer flushing
to the cfb_console. The Lime only has a 16 bit memory bus and that is already
heavy used to scan out the 1920x1080 framebuffer.

The problem is that print_pre_console_buffer() was printing the buffer once
character at a time and the cfb_console code then ends up doing a cache-flush
for touched display lines for each character.

This commit fixes this by first building a 0 terminated buffer and then
printing it in one puts() call, avoiding unnecessary cache flushes.

This changes the time for the flush from 5+ seconds to not noticable.

The downside of this approach is that the pre-console buffer needs to fit
on the stack, this is not that much to ask since we are talking about plain
text here. This commit also adjusts the sunxi CONFIG_PRE_CON_BUF_SZ to
actually fit on the stack. Sunxi currently is the only user of the pre-console
code so no other boards need to be adjusted.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2015-05-19 18:37:30 +02:00
..
2014-07-18 17:53:24 -04:00
2015-04-29 21:02:32 -06:00
2015-05-10 09:59:38 -04:00
2014-06-11 16:25:47 -04:00
2014-02-04 16:32:20 +01:00
2015-01-30 09:19:17 -05:00
2014-11-19 08:48:41 +01:00
2015-01-30 09:19:16 -05:00
2014-10-26 14:03:08 -04:00
2014-12-29 16:31:24 -05:00
2014-06-20 11:54:29 -06:00
2014-06-05 14:38:38 -04:00
2015-01-29 17:09:57 -07:00
2015-05-10 07:29:38 -04:00
2015-04-16 19:27:43 -06:00
2015-05-14 19:58:34 -06:00
2014-05-12 15:19:46 -04:00
2014-01-14 09:01:06 -05:00
2014-03-21 16:43:59 -04:00
2014-01-14 09:01:06 -05:00
2014-04-17 17:44:36 -04:00
2014-03-21 16:43:59 -04:00
2014-03-21 16:43:59 -04:00
2015-04-07 08:41:10 -04:00
2014-03-21 16:43:59 -04:00
2015-01-29 17:09:57 -07:00
2015-01-05 12:08:51 -05:00
2015-05-14 18:49:37 -06:00
2014-09-16 12:23:56 -04:00
2015-05-14 18:49:37 -06:00
2014-10-25 07:01:59 -04:00
2014-11-04 06:04:00 +01:00