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

Submitted by Nikita Kiryanov on Dec. 20, 2012, 10:52 a.m.

Details

Message ID 1356000754-17329-1-git-send-email-nikita@compulab.co.il
State Accepted
Delegated to: Anatolij Gustschin
Headers show

Commit Message

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(-)

Comments

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 hide | download patch | download mbox

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));