mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-24 02:05:01 +00:00
Don't copy BMP data on ARM
This just chews up memory and wastes time on ARM, since the data is already in memory. BUG=chrome-os-partner:13492 BRANCH=snow TEST=manual Build and boot on snow with manually modified code, to see that the bmpfv pointer is in the same region as the bmp region. Build and boot on link and see that displaying screens is still fast. Change-Id: I98349b73671e38fa6cace966b6953a2abf129fab Reviewed-on: https://gerrit.chromium.org/gerrit/32629 Reviewed-by: Mike Truty <truty@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> Reviewed-by: Che-Liang Chiou <clchiou@chromium.org> Commit-Ready: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -48,6 +48,11 @@ CFLAGS += -DUNROLL_LOOPS
|
||||
# Way to do things. See chrome-os-partner:7689, and the commit message
|
||||
# that made this change.
|
||||
CFLAGS += -DRANDOM_POWER_OFF
|
||||
|
||||
# On x86 we don't actually read the GBB data into RAM until it is needed.
|
||||
# Therefore it makes sense to cache it rather than reading it each time.
|
||||
# Enable this feature.
|
||||
CFLAGS += -DCOPY_BMP_DATA
|
||||
endif
|
||||
|
||||
INCLUDES = \
|
||||
|
||||
@@ -188,8 +188,12 @@ VbError_t VbDisplayScreenFromGBB(VbCommonParams* cparams, uint32_t screen,
|
||||
|
||||
/* Copy bitmap data from GBB into RAM for speed */
|
||||
if (!bmpfv) {
|
||||
#ifdef COPY_BMP_DATA
|
||||
bmpfv = (uint8_t*)VbExMalloc(gbb->bmpfv_size);
|
||||
Memcpy(bmpfv, ((uint8_t*)gbb) + gbb->bmpfv_offset, gbb->bmpfv_size);
|
||||
#else
|
||||
bmpfv = ((uint8_t *)gbb) + gbb->bmpfv_offset;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Sanity-check the bitmap block header */
|
||||
|
||||
Reference in New Issue
Block a user