For version 3 patches: Summary of 8 commits for 1232 boards (4 threads, 1 job per thread) 01: video console: unite normal and rotated files 02: video console: refactoring and optimization sandbox: (for 1/7 boards) all -64.0 text -64.0 03: video console: add support for fonts wider than 1 byte 04: video console: add select font logic to vidconsole uclass driver sandbox: (for 1/7 boards) all +288.0 data +32.0 text +256.0 05: video console: allow font size configuration at runtime sandbox: (for 1/7 boards) all +1208.0 data +64.0 rodata +96.0 text +1048.0 06: video console: add 12x22 Sun font from linux 07: video console: add 16x32 Terminus font from linux 08: video console: add 12x22 console simple font test sandbox: (for 1/7 boards) all +13152.0 data +11336.0 rodata +256.0 text +1560.0 (no errors to report)
ср, 4 янв. 2023 г. в 23:02, Simon Glass <s...@chromium.org>: > > Hi Dzmitry, > > On Wed, 4 Jan 2023 at 04:17, Dzmitry Sankouski <dsankou...@gmail.com> wrote: > > > > Regarding code-size there's a gain with CONFIG_CONSOLE_ROTATION > > enabled, and penalty with disabled: > > > > New: > > CONFIG_VIDEO_CONSOLE=y > > CONFIG_CONSOLE_ROTATION=y > > dzmitry@debian:~/side/u-boot$ du --bytes drivers/video/console_simple.o > > 108208 drivers/video/console_simple.o > > > > CONFIG_VIDEO_CONSOLE=y > > # CONFIG_CONSOLE_ROTATION is not set > > dzmitry@debian:~/side/u-boot$ du --bytes drivers/video/console_simple.o > > 53848 drivers/video/console_simple.o > > > > Old: > > dzmitry@debian:~/side/u-boot$ du --bytes drivers/video/console_normal.o > > 44728 drivers/video/console_normal.o > > dzmitry@debian:~/side/u-boot$ du --bytes drivers/video/console_rotate.o > > 85424 drivers/video/console_rotate.o > > > > In theory, there should be a small performance penalty for the `if > > (direction)` statement - > > for every row, and for each pixel. For an 8x16 font, it'll be 144 if > > statements. > > > > I'll comment on functions in the next patch versions. > > To check this, use: > > buildman -b <branch> <board> > > to build each commit, then > > buildman -b <branch> <board> -sS > > You can add -B for function bloat and --step 0 to diff just the first > and last commits. > > > - Simon > > > > > пт, 30 дек. 2022 г. в 01:41, Simon Glass <s...@chromium.org>: > > > > > > Hi Dzmitry, > > > > > > On Mon, 26 Dec 2022 at 13:50, Dzmitry Sankouski <dsankou...@gmail.com> > > > wrote: > > > > > > > > - get rid of code duplications in switch across bpp values > > > > - extract common pixel fill logic in two functions one per > > > > horizontal and vertical filling > > > > - rearrange statements in put_xy* methods in unified way > > > > - replace types - uint*_t to u* > > > > > > > > Signed-off-by: Dzmitry Sankouski <dsankou...@gmail.com> > > > > --- > > > > drivers/video/console_simple.c | 508 ++++++++++++--------------------- > > > > 1 file changed, 184 insertions(+), 324 deletions(-) > > > > > > This looks like a nice tidy up. > > > > > > Is there a code-size or performance penalty with this? E.g. with > > > CONFIG_CONSOLE_ROTATION disabled > > > > > > Please can you comment the functions property so we know what they do? > > > > > > Regards, > > > Simon