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-05-14 06:57:23 -04:00
2014-10-27 17:54:09 -04:00
2014-07-18 17:53:24 -04:00
2015-04-29 21:02:32 -06:00
2015-01-29 17:09:49 -07:00
2015-05-10 09:59:38 -04:00
2015-01-14 11:37:39 -05:00
2015-04-18 11:11:09 -06:00
2014-05-29 17:49:00 -04:00
2014-09-15 13:32:55 -04:00
2014-11-24 12:06:06 -05:00
2014-05-29 17:48:21 -04:00
2014-08-21 12:01:13 -04:00
2014-10-27 11:03:33 -04:00
2014-03-21 16:43:58 -04:00
2015-04-10 11:54:08 -04:00
2015-04-18 11:11:36 -06:00
2014-06-11 16:25:47 -04:00
2015-02-25 13:19:48 -08:00
2013-10-14 16:06:54 -04:00
2015-04-18 11:11:09 -06:00
2014-05-29 17:45:31 -04:00
2015-04-18 11:11:37 -06:00
2014-07-18 17:53:23 -04:00
2014-02-04 16:32:20 +01:00
2015-04-29 21:02:33 -06:00
2015-05-05 20:58:40 -06:00
2014-05-29 17:45:31 -04:00
2015-04-18 11:11:09 -06:00
2015-04-14 10:18:49 +02:00
2014-06-05 14:44:56 -04:00
2013-10-14 16:06:53 -04:00
2015-02-17 10:42:53 +01:00
2015-04-18 11:11:35 -06:00
2014-07-22 07:44:25 -04:00
2014-11-23 06:49:04 -05:00
2015-04-14 10:19:05 +02:00
2015-04-18 11:11:09 -06:00
2014-06-05 14:44:56 -04:00
2015-04-18 11:11:09 -06:00
2014-11-07 16:27:08 -05:00
2015-01-30 09:19:17 -05:00
2014-11-19 08:48:41 +01:00
2014-11-23 06:49:01 -05:00
2015-01-29 13:36:54 -05:00
2014-12-08 09:35:43 -05:00
2015-01-30 09:19:16 -05:00
2014-10-26 14:03:08 -04:00
2015-03-05 11:17:53 -05:00
2014-12-29 16:31:24 -05:00
2015-04-19 14:45:57 -06:00
2015-05-14 18:49:33 -06:00
2014-07-22 07:44:26 -04:00
2014-03-07 10:59:06 -05:00
2014-10-27 17:54:09 -04:00
2014-06-20 11:54:29 -06:00
2013-10-14 16:06:53 -04:00
2014-06-05 14:38:38 -04:00
2015-04-23 09:43:08 -04:00
2015-01-29 17:09:57 -07:00
2014-07-23 14:07:23 +01:00
2015-04-18 11:11:09 -06:00
2015-04-18 11:11:09 -06:00
2013-11-22 16:50:52 -06:00
2015-05-10 09:59:37 -04:00
2013-10-16 09:24:38 -04:00
2015-04-20 17:57:12 -05:00
2014-03-24 12:58:56 +02:00
2015-02-23 19:34:29 +02:00
2014-09-15 13:32:55 -04:00
2015-04-23 14:56:08 -04:00
2015-04-18 11:11:35 -06:00
2015-04-18 11:11:09 -06:00
2014-05-23 11:53:05 +03:00
2015-05-10 07:29:38 -04:00
2015-04-16 19:27:43 -06:00
2015-01-05 12:08:55 -05:00
2015-05-14 19:58:34 -06:00
2015-04-19 14:45:58 -06:00
2015-05-14 19:58:34 -06:00
2013-11-08 15:25:13 -05:00
2014-11-24 12:00:00 +01:00
2015-04-22 12:14:56 -04:00
2015-05-14 07:03:15 -04:00
2015-04-22 16:49:51 +05:30
2014-06-19 11:19:04 -04:00
2015-04-18 11:11:09 -06:00
2014-10-22 10:36:47 -06:00
2014-02-19 09:47:34 -05:00
2015-04-14 05:48:11 +02:00
2014-05-12 15:19:46 -04:00
2015-04-18 11:11:09 -06:00
2013-10-14 16:06:53 -04:00
2015-04-10 11:54:06 -04:00
2014-08-25 19:25:55 -04:00
2013-10-14 16:06:53 -04:00
2015-04-22 12:14:55 -04:00
2015-04-14 09:50:47 +02:00
2015-04-18 11:11:20 -06:00
2015-04-18 11:11:09 -06:00
2015-03-05 20:13:20 -05:00
2013-11-08 15:25:13 -05:00
2014-10-27 17:54:12 -04:00
2015-05-19 18:37:30 +02:00
2015-04-18 11:11:16 -06:00
2014-04-22 17:58:48 -07:00
2015-04-23 09:05:53 -06:00
2015-05-13 09:24:10 -07:00
2014-01-14 09:01:06 -05:00
2014-07-22 07:44:26 -04:00
2014-03-21 16:43:59 -04:00
2014-06-05 14:44:56 -04:00
2014-06-05 17:01:59 -04:00
2014-11-23 06:49:04 -05:00
2014-01-14 09:01:06 -05:00
2014-04-17 17:44:36 -04:00
2014-10-03 17:26:50 +03:00
2014-11-23 06:48:30 -05:00
2013-10-14 16:06:53 -04:00
2014-03-21 16:43:59 -04:00
2014-03-21 16:43:59 -04:00
2013-10-14 16:06:53 -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-04-14 10:19:04 +02:00
2015-05-05 20:58:19 -06:00
2015-01-05 12:08:51 -05:00
2015-04-18 11:11:09 -06:00
2015-05-08 17:24:17 -04:00
2015-04-18 11:11:09 -06:00
2015-04-18 11:11:09 -06:00
2015-02-16 12:41:41 -05:00
2015-05-05 20:58:20 -06:00
2013-10-14 16:06:53 -04:00
2015-04-18 11:11:09 -06:00
2015-05-14 18:49:37 -06:00
2014-09-16 12:23:56 -04:00
2015-04-18 17:40:37 +02:00
2015-04-18 17:40:37 +02:00
2015-02-10 13:31:26 +01:00
2015-04-20 09:13:52 -04:00
2014-07-18 17:53:23 -04:00
2015-05-14 18:49:37 -06:00
2015-04-18 11:11:09 -06:00
2015-01-14 11:35:43 -05:00
2014-10-25 07:01:59 -04:00
2015-04-18 11:11:36 -06:00
2014-10-25 07:27:37 -04:00
2015-01-29 17:44:08 +01:00
2015-02-10 13:31:58 +01:00
2014-11-04 06:04:00 +01:00
2015-04-18 11:11:35 -06:00
2015-05-14 18:49:33 -06:00
2015-04-18 11:11:25 -06:00
2015-04-18 11:11:23 -06:00
2015-05-14 18:49:33 -06:00
2014-06-11 16:27:06 -04:00