Dear Lukasz & Simon, In message <capnjgz3tfvrjo-16ncwe43hpptdmetompek7pfelkrmn-rv...@mail.gmail.com> Simon Glass wrote: > > >> > - dst = malloc(CONFIG_SYS_VIDEO_LOGO_MAX_SIZE); > >> > + dst = memalign(CONFIG_SYS_CACHELINE_SIZE, len); > >> > >> Why do you need to align this one? It is just returned to the caller, > >> isn't it? > > > > Yes, it is returned to the caller, but afterwards lcd_display_bitmap > > takes this pointer (and thereof probably unaligned buffer) and works on > > it. (At least in the case of trats the bmp is gzipped). > > OK, so it is directly used as a frame buffer? In that case it looks > right to me. I doubt you want to be able to control the cache features > for this area, since you only write it once. But if you did, then the > memory would currently need to be section-aligned.
I don't think this is as it should be. Any frame buffer that actually gets used as such should be located in the memory area specifically allocated for this purpose using lcd_setmem(). This is especially important when you load a splash screen image and intend to display it flicker-free when booting an OS. If you use malloc() or memalign(), it will be memory in the malloc arena, which gets overwritten when an OS boots, resulting in a corrupted display. Note: I added Anatolij, our video custodian to the Cc: list. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de If you think the problem is bad now, just wait until we've solved it. Epstein's Law _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot