Files
u-boot/include/configs
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
..
2015-02-25 13:13:38 +09:00
2015-05-10 09:59:38 -04:00
2014-11-20 11:28:25 -05:00
2014-10-27 14:35:54 +01:00
2015-02-17 22:52:39 +01:00
2015-02-17 22:54:41 +01:00
2015-03-05 20:13:21 -05:00
2014-11-20 11:28:24 -05:00
2015-01-05 15:13:47 -05:00
2015-01-13 09:37:26 -05:00
2014-11-20 11:28:25 -05:00
2015-04-23 13:59:19 -04:00
2014-11-20 11:28:25 -05:00
2014-11-20 11:28:25 -05:00
2015-04-23 08:55:53 -07:00
2015-02-25 13:13:46 +09:00
2015-03-05 22:08:59 +01:00
2014-11-19 08:48:42 +01:00
2014-11-20 11:28:24 -05:00
2015-02-25 13:13:49 +09:00
2015-05-10 09:59:38 -04:00
2015-05-10 09:59:38 -04:00
2015-02-17 22:52:39 +01:00
2015-02-24 17:13:36 -05:00
2015-03-13 13:13:48 +01:00
2014-11-20 11:28:25 -05:00
2015-05-10 09:59:38 -04:00
2015-05-13 09:24:12 -07:00
2014-10-27 17:54:13 -04:00
2014-10-27 17:54:13 -04:00
2014-10-27 17:54:13 -04:00
2014-10-27 17:54:13 -04:00
2014-10-27 17:54:13 -04:00
2014-10-27 17:54:13 -04:00
2015-01-05 15:13:45 -05:00
2014-12-05 08:06:10 -08:00
2014-10-10 09:44:44 -04:00
2015-01-13 09:37:27 -05:00
2015-01-13 09:37:27 -05:00
2015-01-13 09:37:27 -05:00
2014-10-27 17:54:13 -04:00
2014-11-20 11:28:25 -05:00
2014-11-20 11:28:25 -05:00
2014-11-17 13:16:20 +09:00
2014-11-17 13:16:20 +09:00
2014-11-17 13:16:20 +09:00
2015-02-25 14:20:10 +09:00
2014-11-07 16:32:02 +01:00
2014-11-20 11:28:25 -05:00
2015-04-29 11:19:04 +02:00
2015-02-24 17:13:57 -05:00