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: [EMAIL PROTECTED] 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