[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#462529: linux-2.6: Add config file support for efika and PS3 (preliminary)



On Fri, 30 May 2008, Geoff Levand wrote:
> You don't have CONFIG_LOGO_LINUX_CLUT224 set, so the SPE logos are not
> rendered correctly.  It looks like the lines of pixel are not aligned.
> Geert, can you say why?  Is it a bug in the logo code?

If there's no main logo, it also skips (using `return') drawing the extra
SPE logos.

I looked into it a few days ago, and came up with the patch below. But this
is not sufficient to fix the issue, as fb_show_logo_line() needs fb_logo.logo.
As this looks very low-priority to me, I didn't go further.
---
 drivers/video/fbmem.c |   15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -553,6 +553,7 @@ static inline int fb_show_extra_logos(st
 int fb_prepare_logo(struct fb_info *info, int rotate)
 {
 	int depth = fb_get_color_depth(&info->var, &info->fix);
+	int height = 0;
 	unsigned int yres;
 
 	memset(&fb_logo, 0, sizeof(struct logo_data));
@@ -574,12 +575,10 @@ int fb_prepare_logo(struct fb_info *info
 		depth = 4;
 	}
 
-	/* Return if no suitable logo was found */
+	/* Skip if no suitable logo was found */
 	fb_logo.logo = fb_find_logo(depth);
-
-	if (!fb_logo.logo) {
-		return 0;
-	}
+	if (!fb_logo.logo)
+		goto out;
 
 	if (rotate == FB_ROTATE_UR || rotate == FB_ROTATE_UD)
 		yres = info->var.yres;
@@ -588,8 +587,9 @@ int fb_prepare_logo(struct fb_info *info
 
 	if (fb_logo.logo->height > yres) {
 		fb_logo.logo = NULL;
-		return 0;
+		goto out;
 	}
+	height = fb_logo.logo->height;
 
 	/* What depth we asked for might be different from what we get */
 	if (fb_logo.logo->type == LINUX_LOGO_CLUT224)
@@ -615,7 +615,8 @@ int fb_prepare_logo(struct fb_info *info
  		}
  	}
 
-	return fb_prepare_extra_logos(info, fb_logo.logo->height, yres);
+out:
+	return fb_prepare_extra_logos(info, height, yres);
 }
 
 int fb_show_logo(struct fb_info *info, int rotate)

With kind regards,

Geert Uytterhoeven
Software Architect

Sony Network and Software Technology Center Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

Phone:    +32 (0)2 700 8453
Fax:      +32 (0)2 700 8622
E-mail:   Geert.Uytterhoeven@sonycom.com
Internet: http://www.sony-europe.com/

Sony Network and Software Technology Center Europe
A division of Sony Service Centre (Europe) N.V.
Registered office: Technologielaan 7 · B-1840 Londerzeel · Belgium
VAT BE 0413.825.160 · RPR Brussels
Fortis Bank Zaventem · BIC GEBABEBB08A · IBAN BE39001382358619

Reply to: