Message ID | 1393621572-10306-1-git-send-email-eric.nelson@boundarydevices.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Dear Eric Nelson, your message contains no thread information - there is neither a In-reply-to: nor any References: header. This is bad! Please also make sure to keep the Subject: test short; the recommended style for the commit message is "50/72 formatting", i. e. the Subject should not exceed 50 (...60) characters. In message <1393621572-10306-1-git-send-email-eric.nelson@boundarydevices.com> you wrote: > .bmp files contain 32-bit integers aligned at offsets of +2, +6, > et cetera within the bmp_header structure (see include/bmp_layout.h). > > Support for gzip-compressed .bmp files is present in the cfb_console > display subsystem by uncompressing them prior to use. > > This patch forces the in-memory header to be aligned properly > for these compressed images by extracting them to a 2-byte > offset in the memory returned by malloc. Since malloc will always > return a 4-byte aligned value, this forces the .bmp header > fields to be naturally aligned on 4-byte addresses. > > Refer to these files for more details: > doc/README.displaying-bmps > doc/README.arm-unaligned-accesses > > Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> > --- > drivers/video/cfb_console.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) So what exactly has changed since version 1? Please note that the change log is mandatory! > diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c > index 6db4073..2209148 100644 > --- a/drivers/video/cfb_console.c > +++ b/drivers/video/cfb_console.c > @@ -1473,7 +1473,10 @@ int video_display_bitmap(ulong bmp_image, int x, int y) > printf("Error: malloc in gunzip failed!\n"); > return 1; > } > - if (gunzip(dst, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE, > + /* NB: we need to force offset of +2 > + * See doc/README.displaying-bmps > + */ Incorrect multiline comment style, please fix. I asked you before to fix that, please make sure not to ignore review comments! Best regards, Wolfgang Denk
Sorry Wolfgang, On 02/28/2014 02:44 PM, Wolfgang Denk wrote: > Dear Eric Nelson, > > your message contains no thread information - there is neither a > In-reply-to: nor any References: header. This is bad! > > Please also make sure to keep the Subject: test short; the recommended > style for the commit message is "50/72 formatting", i. e. the Subject > should not exceed 50 (...60) characters. > Okay. I was trying to be more explicit here. > In message <1393621572-10306-1-git-send-email-eric.nelson@boundarydevices.com> you wrote: >> .bmp files contain 32-bit integers aligned at offsets of +2, +6, >> et cetera within the bmp_header structure (see include/bmp_layout.h). >> >> Support for gzip-compressed .bmp files is present in the cfb_console >> display subsystem by uncompressing them prior to use. >> >> This patch forces the in-memory header to be aligned properly >> for these compressed images by extracting them to a 2-byte >> offset in the memory returned by malloc. Since malloc will always >> return a 4-byte aligned value, this forces the .bmp header >> fields to be naturally aligned on 4-byte addresses. >> >> Refer to these files for more details: >> doc/README.displaying-bmps >> doc/README.arm-unaligned-accesses >> >> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> >> --- >> drivers/video/cfb_console.c | 7 +++++-- >> 1 file changed, 5 insertions(+), 2 deletions(-) > > So what exactly has changed since version 1? Please note that the > change log is mandatory! > Got it. >> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c >> index 6db4073..2209148 100644 >> --- a/drivers/video/cfb_console.c >> +++ b/drivers/video/cfb_console.c >> @@ -1473,7 +1473,10 @@ int video_display_bitmap(ulong bmp_image, int x, int y) >> printf("Error: malloc in gunzip failed!\n"); >> return 1; >> } >> - if (gunzip(dst, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE, >> + /* NB: we need to force offset of +2 >> + * See doc/README.displaying-bmps >> + */ > > Incorrect multiline comment style, please fix. > > I asked you before to fix that, please make sure not to ignore > review comments! > Not intentional... Will fix in V3. Regards, Eric
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c index 6db4073..2209148 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -1473,7 +1473,10 @@ int video_display_bitmap(ulong bmp_image, int x, int y) printf("Error: malloc in gunzip failed!\n"); return 1; } - if (gunzip(dst, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE, + /* NB: we need to force offset of +2 + * See doc/README.displaying-bmps + */ + if (gunzip(dst+2, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE-2, (uchar *) bmp_image, &len) != 0) { printf("Error: no valid bmp or bmp.gz image at %lx\n", @@ -1489,7 +1492,7 @@ int video_display_bitmap(ulong bmp_image, int x, int y) /* * Set addr to decompressed image */ - bmp = (bmp_image_t *) dst; + bmp = (bmp_image_t *)(dst+2); if (!((bmp->header.signature[0] == 'B') && (bmp->header.signature[1] == 'M'))) {
.bmp files contain 32-bit integers aligned at offsets of +2, +6, et cetera within the bmp_header structure (see include/bmp_layout.h). Support for gzip-compressed .bmp files is present in the cfb_console display subsystem by uncompressing them prior to use. This patch forces the in-memory header to be aligned properly for these compressed images by extracting them to a 2-byte offset in the memory returned by malloc. Since malloc will always return a 4-byte aligned value, this forces the .bmp header fields to be naturally aligned on 4-byte addresses. Refer to these files for more details: doc/README.displaying-bmps doc/README.arm-unaligned-accesses Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> --- drivers/video/cfb_console.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)