Patchwork [U-Boot] lcd: restore ability to display 8 bpp BMPs on 16 bpp LCDs

login
register
mail settings
Submitter Nikita Kiryanov
Date Dec. 20, 2012, 10:52 a.m.
Message ID <1356000754-17329-1-git-send-email-nikita@compulab.co.il>
Download mbox | patch
Permalink /patch/207649/
State Accepted
Delegated to: Anatolij Gustschin
Headers show

Comments

Nikita Kiryanov - Dec. 20, 2012, 10:52 a.m.
Commit fb6a9aab7ae78c (LCD: display 32bpp decompressed bitmap image)
broke the check that allowed U-Boot to display 8 bpp BMPs on a 16
bpp LCD screen, effectively turning this feature off.

Restore this feature by changing the check back to the same meaning
it originally had.
To avoid future confusion, the check has also been rephrased to make
its meaning clear.

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 common/lcd.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Anatolij Gustschin - Jan. 14, 2013, 7:23 p.m.
Hi Nikita,

On Thu, 20 Dec 2012 12:52:34 +0200
Nikita Kiryanov <nikita@compulab.co.il> wrote:

> Commit fb6a9aab7ae78c (LCD: display 32bpp decompressed bitmap image)
> broke the check that allowed U-Boot to display 8 bpp BMPs on a 16
> bpp LCD screen, effectively turning this feature off.
> 
> Restore this feature by changing the check back to the same meaning
> it originally had.
> To avoid future confusion, the check has also been rephrased to make
> its meaning clear.
> 
> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
> ---
>  common/lcd.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

applied to u-boot-video/master. Thanks!

Anatolij

Patch

diff --git a/common/lcd.c b/common/lcd.c
index 4c83a8b..cfa1134 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -834,7 +834,7 @@  int lcd_display_bitmap(ulong bmp_image, int x, int y)
 	}
 
 	/* We support displaying 8bpp BMPs on 16bpp LCDs */
-	if (bpix != bmp_bpix && (bmp_bpix != 8 || bpix != 16 || bpix != 32)) {
+	if (bpix != bmp_bpix && !(bmp_bpix == 8 && bpix == 16)) {
 		printf ("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n",
 			bpix,
 			le16_to_cpu(bmp->header.bit_count));