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: