* Re: [PATCH 0/7] RFC: Cell SPE logos
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
@ 2007-01-31 12:40 ` Geert Uytterhoeven
2007-01-31 12:43 ` [PATCH 1/7] fbdev: Avoid vertical overflow when making space for the logo Geert Uytterhoeven
` (10 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-01-31 12:40 UTC (permalink / raw)
To: James Simmons
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
[-- Attachment #1: Type: TEXT/PLAIN, Size: 430 bytes --]
On Wed, 31 Jan 2007, Geert Uytterhoeven wrote:
> I attached a PNG version of the helper penguin logo for reference.
Of course I forgot the attachment...
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
[-- Attachment #2: Type: IMAGE/png, Size: 1431 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/7] fbdev: Avoid vertical overflow when making space for the logo
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
2007-01-31 12:40 ` Geert Uytterhoeven
@ 2007-01-31 12:43 ` Geert Uytterhoeven
2007-01-31 12:43 ` [PATCH 2/7] fbdev: fb_do_show_logo() updates Geert Uytterhoeven
` (9 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-01-31 12:43 UTC (permalink / raw)
To: James Simmons
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
fbcon_prepare_logo(): Avoid vertical overflow when making space for the logo
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
---
drivers/video/console/fbcon.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
--- ps3-linux-2.6.20-rc7.orig/drivers/video/console/fbcon.c
+++ ps3-linux-2.6.20-rc7/drivers/video/console/fbcon.c
@@ -619,8 +619,13 @@ static void fbcon_prepare_logo(struct vc
r -= cols;
}
if (!save) {
- vc->vc_y += logo_lines;
- vc->vc_pos += logo_lines * vc->vc_size_row;
+ int lines;
+ if (vc->vc_y + logo_lines >= rows)
+ lines = rows - vc->vc_y - 1;
+ else
+ lines = logo_lines;
+ vc->vc_y += lines;
+ vc->vc_pos += lines * vc->vc_size_row;
}
}
scr_memsetw((unsigned short *) vc->vc_origin,
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 2/7] fbdev: fb_do_show_logo() updates
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
2007-01-31 12:40 ` Geert Uytterhoeven
2007-01-31 12:43 ` [PATCH 1/7] fbdev: Avoid vertical overflow when making space for the logo Geert Uytterhoeven
@ 2007-01-31 12:43 ` Geert Uytterhoeven
2007-01-31 12:44 ` [PATCH 3/7] fbdev: extract fb_show_logo_line() Geert Uytterhoeven
` (8 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-01-31 12:43 UTC (permalink / raw)
To: James Simmons
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
fb_do_show_logo() updates:
- Use width and height of the passed image instead of the global variable
fb_logo
- Explicitly pass the number of logos to draw
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
---
drivers/video/fbmem.c | 34 +++++++++++++++-------------------
1 files changed, 15 insertions(+), 19 deletions(-)
--- ps3-linux-2.6.20-rc7.orig/drivers/video/fbmem.c
+++ ps3-linux-2.6.20-rc7/drivers/video/fbmem.c
@@ -377,37 +377,33 @@ static void fb_rotate_logo(struct fb_inf
}
static void fb_do_show_logo(struct fb_info *info, struct fb_image *image,
- int rotate)
+ int rotate, unsigned int num)
{
- int x;
+ unsigned int x;
if (rotate == FB_ROTATE_UR) {
- for (x = 0; x < num_online_cpus() &&
- x * (fb_logo.logo->width + 8) <=
- info->var.xres - fb_logo.logo->width; x++) {
+ for (x = 0;
+ x < num && image->dx + image->width <= info->var.xres;
+ x++) {
info->fbops->fb_imageblit(info, image);
- image->dx += fb_logo.logo->width + 8;
+ image->dx += image->width + 8;
}
} else if (rotate == FB_ROTATE_UD) {
- for (x = 0; x < num_online_cpus() &&
- x * (fb_logo.logo->width + 8) <=
- info->var.xres - fb_logo.logo->width; x++) {
+ for (x = 0; x < num && image->dx >= 0; x++) {
info->fbops->fb_imageblit(info, image);
- image->dx -= fb_logo.logo->width + 8;
+ image->dx -= image->width + 8;
}
} else if (rotate == FB_ROTATE_CW) {
- for (x = 0; x < num_online_cpus() &&
- x * (fb_logo.logo->width + 8) <=
- info->var.yres - fb_logo.logo->width; x++) {
+ for (x = 0;
+ x < num && image->dy + image->height <= info->var.yres;
+ x++) {
info->fbops->fb_imageblit(info, image);
- image->dy += fb_logo.logo->width + 8;
+ image->dy += image->height + 8;
}
} else if (rotate == FB_ROTATE_CCW) {
- for (x = 0; x < num_online_cpus() &&
- x * (fb_logo.logo->width + 8) <=
- info->var.yres - fb_logo.logo->width; x++) {
+ for (x = 0; x < num && image->dy >= 0; x++) {
info->fbops->fb_imageblit(info, image);
- image->dy -= fb_logo.logo->width + 8;
+ image->dy -= image->height + 8;
}
}
}
@@ -533,7 +529,7 @@ int fb_show_logo(struct fb_info *info, i
fb_rotate_logo(info, logo_rotate, &image, rotate);
}
- fb_do_show_logo(info, &image, rotate);
+ fb_do_show_logo(info, &image, rotate, num_online_cpus());
kfree(palette);
if (saved_pseudo_palette != NULL)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 3/7] fbdev: extract fb_show_logo_line()
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
` (2 preceding siblings ...)
2007-01-31 12:43 ` [PATCH 2/7] fbdev: fb_do_show_logo() updates Geert Uytterhoeven
@ 2007-01-31 12:44 ` Geert Uytterhoeven
2007-01-31 12:44 ` [PATCH 4/7] fbdev: move logo externs to header file Geert Uytterhoeven
` (7 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-01-31 12:44 UTC (permalink / raw)
To: James Simmons
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
Extract the code to draw one line of logos into fb_show_logo_line()
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
---
drivers/video/fbmem.c | 39 +++++++++++++++++++++++----------------
1 files changed, 23 insertions(+), 16 deletions(-)
--- ps3-linux-2.6.20-rc7.orig/drivers/video/fbmem.c
+++ ps3-linux-2.6.20-rc7/drivers/video/fbmem.c
@@ -473,21 +473,23 @@ int fb_prepare_logo(struct fb_info *info
return fb_logo.logo->height;
}
-int fb_show_logo(struct fb_info *info, int rotate)
+static int fb_show_logo_line(struct fb_info *info, int rotate,
+ const struct linux_logo *logo, int y,
+ unsigned int n)
{
u32 *palette = NULL, *saved_pseudo_palette = NULL;
unsigned char *logo_new = NULL, *logo_rotate = NULL;
struct fb_image image;
/* Return if the frame buffer is not mapped or suspended */
- if (fb_logo.logo == NULL || info->state != FBINFO_STATE_RUNNING)
+ if (logo == NULL || info->state != FBINFO_STATE_RUNNING)
return 0;
image.depth = 8;
- image.data = fb_logo.logo->data;
+ image.data = logo->data;
if (fb_logo.needs_cmapreset)
- fb_set_logocmap(info, fb_logo.logo);
+ fb_set_logocmap(info, logo);
if (fb_logo.needs_truepalette ||
fb_logo.needs_directpalette) {
@@ -496,17 +498,16 @@ int fb_show_logo(struct fb_info *info, i
return 0;
if (fb_logo.needs_truepalette)
- fb_set_logo_truepalette(info, fb_logo.logo, palette);
+ fb_set_logo_truepalette(info, logo, palette);
else
- fb_set_logo_directpalette(info, fb_logo.logo, palette);
+ fb_set_logo_directpalette(info, logo, palette);
saved_pseudo_palette = info->pseudo_palette;
info->pseudo_palette = palette;
}
if (fb_logo.depth <= 4) {
- logo_new = kmalloc(fb_logo.logo->width * fb_logo.logo->height,
- GFP_KERNEL);
+ logo_new = kmalloc(logo->width * logo->height, GFP_KERNEL);
if (logo_new == NULL) {
kfree(palette);
if (saved_pseudo_palette)
@@ -514,29 +515,35 @@ int fb_show_logo(struct fb_info *info, i
return 0;
}
image.data = logo_new;
- fb_set_logo(info, fb_logo.logo, logo_new, fb_logo.depth);
+ fb_set_logo(info, logo, logo_new, fb_logo.depth);
}
image.dx = 0;
- image.dy = 0;
- image.width = fb_logo.logo->width;
- image.height = fb_logo.logo->height;
+ image.dy = y;
+ image.width = logo->width;
+ image.height = logo->height;
if (rotate) {
- logo_rotate = kmalloc(fb_logo.logo->width *
- fb_logo.logo->height, GFP_KERNEL);
+ logo_rotate = kmalloc(logo->width *
+ logo->height, GFP_KERNEL);
if (logo_rotate)
fb_rotate_logo(info, logo_rotate, &image, rotate);
}
- fb_do_show_logo(info, &image, rotate, num_online_cpus());
+ fb_do_show_logo(info, &image, rotate, n);
kfree(palette);
if (saved_pseudo_palette != NULL)
info->pseudo_palette = saved_pseudo_palette;
kfree(logo_new);
kfree(logo_rotate);
- return fb_logo.logo->height;
+ return logo->height;
+}
+
+int fb_show_logo(struct fb_info *info, int rotate)
+{
+ return fb_show_logo_line(info, rotate, fb_logo.logo, 0,
+ num_online_cpus());
}
#else
int fb_prepare_logo(struct fb_info *info, int rotate) { return 0; }
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 4/7] fbdev: move logo externs to header file
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
` (3 preceding siblings ...)
2007-01-31 12:44 ` [PATCH 3/7] fbdev: extract fb_show_logo_line() Geert Uytterhoeven
@ 2007-01-31 12:44 ` Geert Uytterhoeven
2007-03-13 14:00 ` const and __initdata (was: Re: [Linux-fbdev-devel] [PATCH 4/7] fbdev: move logo externs to header file) Geert Uytterhoeven
2007-01-31 12:44 ` [PATCH 5/7] fbdev: Add fb_append_extra_logo() Geert Uytterhoeven
` (6 subsequent siblings)
11 siblings, 1 reply; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-01-31 12:44 UTC (permalink / raw)
To: James Simmons
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
Move the external declarations for the various linux logo structures to
<linux/linux_logo.h>. As a consequence, I had to remove the `const', as `const'
is incompatible with `__initdata'.
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
---
arch/powerpc/kernel/prom_init.c | 3 ---
drivers/video/logo/logo.c | 13 -------------
include/linux/linux_logo.h | 13 +++++++++++++
3 files changed, 13 insertions(+), 16 deletions(-)
--- ps3-linux-2.6.20-rc7.orig/arch/powerpc/kernel/prom_init.c
+++ ps3-linux-2.6.20-rc7/arch/powerpc/kernel/prom_init.c
@@ -44,10 +44,7 @@
#include <asm/sections.h>
#include <asm/machdep.h>
-#ifdef CONFIG_LOGO_LINUX_CLUT224
#include <linux/linux_logo.h>
-extern const struct linux_logo logo_linux_clut224;
-#endif
/*
* Properties whose value is longer than this get excluded from our
--- ps3-linux-2.6.20-rc7.orig/drivers/video/logo/logo.c
+++ ps3-linux-2.6.20-rc7/drivers/video/logo/logo.c
@@ -21,19 +21,6 @@
#include <asm/bootinfo.h>
#endif
-extern const struct linux_logo logo_linux_mono;
-extern const struct linux_logo logo_linux_vga16;
-extern const struct linux_logo logo_linux_clut224;
-extern const struct linux_logo logo_dec_clut224;
-extern const struct linux_logo logo_mac_clut224;
-extern const struct linux_logo logo_parisc_clut224;
-extern const struct linux_logo logo_sgi_clut224;
-extern const struct linux_logo logo_sun_clut224;
-extern const struct linux_logo logo_superh_mono;
-extern const struct linux_logo logo_superh_vga16;
-extern const struct linux_logo logo_superh_clut224;
-extern const struct linux_logo logo_m32r_clut224;
-
const struct linux_logo *fb_find_logo(int depth)
{
--- ps3-linux-2.6.20-rc7.orig/include/linux/linux_logo.h
+++ ps3-linux-2.6.20-rc7/include/linux/linux_logo.h
@@ -32,6 +32,19 @@ struct linux_logo {
const unsigned char *data;
};
+extern struct linux_logo logo_linux_mono;
+extern struct linux_logo logo_linux_vga16;
+extern struct linux_logo logo_linux_clut224;
+extern struct linux_logo logo_dec_clut224;
+extern struct linux_logo logo_mac_clut224;
+extern struct linux_logo logo_parisc_clut224;
+extern struct linux_logo logo_sgi_clut224;
+extern struct linux_logo logo_sun_clut224;
+extern struct linux_logo logo_superh_mono;
+extern struct linux_logo logo_superh_vga16;
+extern struct linux_logo logo_superh_clut224;
+extern struct linux_logo logo_m32r_clut224;
+
extern const struct linux_logo *fb_find_logo(int depth);
#endif /* _LINUX_LINUX_LOGO_H */
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread
* const and __initdata (was: Re: [Linux-fbdev-devel] [PATCH 4/7] fbdev: move logo externs to header file)
2007-01-31 12:44 ` [PATCH 4/7] fbdev: move logo externs to header file Geert Uytterhoeven
@ 2007-03-13 14:00 ` Geert Uytterhoeven
0 siblings, 0 replies; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-03-13 14:00 UTC (permalink / raw)
To: Linux Frame Buffer Device Development
Cc: James Simmons, Cell Broadband Engine OSS Development,
Linux Kernel Development
On Wed, 31 Jan 2007, Geert Uytterhoeven wrote:
> Move the external declarations for the various linux logo structures to
> <linux/linux_logo.h>. As a consequence, I had to remove the `const', as `const'
> is incompatible with `__initdata'.
>
> Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
> ---
> arch/powerpc/kernel/prom_init.c | 3 ---
> drivers/video/logo/logo.c | 13 -------------
> include/linux/linux_logo.h | 13 +++++++++++++
> 3 files changed, 13 insertions(+), 16 deletions(-)
>
> --- ps3-linux-2.6.20-rc7.orig/arch/powerpc/kernel/prom_init.c
> +++ ps3-linux-2.6.20-rc7/arch/powerpc/kernel/prom_init.c
> @@ -44,10 +44,7 @@
> #include <asm/sections.h>
> #include <asm/machdep.h>
>
> -#ifdef CONFIG_LOGO_LINUX_CLUT224
> #include <linux/linux_logo.h>
> -extern const struct linux_logo logo_linux_clut224;
> -#endif
>
> /*
> * Properties whose value is longer than this get excluded from our
> --- ps3-linux-2.6.20-rc7.orig/drivers/video/logo/logo.c
> +++ ps3-linux-2.6.20-rc7/drivers/video/logo/logo.c
> @@ -21,19 +21,6 @@
> #include <asm/bootinfo.h>
> #endif
>
> -extern const struct linux_logo logo_linux_mono;
> -extern const struct linux_logo logo_linux_vga16;
> -extern const struct linux_logo logo_linux_clut224;
> -extern const struct linux_logo logo_dec_clut224;
> -extern const struct linux_logo logo_mac_clut224;
> -extern const struct linux_logo logo_parisc_clut224;
> -extern const struct linux_logo logo_sgi_clut224;
> -extern const struct linux_logo logo_sun_clut224;
> -extern const struct linux_logo logo_superh_mono;
> -extern const struct linux_logo logo_superh_vga16;
> -extern const struct linux_logo logo_superh_clut224;
> -extern const struct linux_logo logo_m32r_clut224;
> -
>
> const struct linux_logo *fb_find_logo(int depth)
> {
> --- ps3-linux-2.6.20-rc7.orig/include/linux/linux_logo.h
> +++ ps3-linux-2.6.20-rc7/include/linux/linux_logo.h
> @@ -32,6 +32,19 @@ struct linux_logo {
> const unsigned char *data;
> };
>
> +extern struct linux_logo logo_linux_mono;
> +extern struct linux_logo logo_linux_vga16;
> +extern struct linux_logo logo_linux_clut224;
> +extern struct linux_logo logo_dec_clut224;
> +extern struct linux_logo logo_mac_clut224;
> +extern struct linux_logo logo_parisc_clut224;
> +extern struct linux_logo logo_sgi_clut224;
> +extern struct linux_logo logo_sun_clut224;
> +extern struct linux_logo logo_superh_mono;
> +extern struct linux_logo logo_superh_vga16;
> +extern struct linux_logo logo_superh_clut224;
> +extern struct linux_logo logo_m32r_clut224;
> +
> extern const struct linux_logo *fb_find_logo(int depth);
>
> #endif /* _LINUX_LINUX_LOGO_H */
By modifying scripts/pnmtologo.c to add `const' to the declaration of the
linux_logo structs, I could keep the const.
However, this introduced a new conflict w.r.t. to `const' and `__initdata':
- gcc 3.4.6 20060404 (Red Hat 3.4.6-3) for ia32 needs xxx_data[] and
xxx_clut[] to be const too, else it complains about a section type conflict
- ppu-gcc 4.1.0 20060304 (Red Hat 4.1.0-3) for ppc64 needs xxx_data[] and
xxx_clut[] to be non-const, else it complains about a section type conflict
Anyone with a suggestion how to fix this? Keep everything non-const for now?
Add tests for specific compiler versions (I assume this is a gcc 3.x vs. 4.x
issue?)?
Thanks in advance!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 5/7] fbdev: Add fb_append_extra_logo()
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
` (4 preceding siblings ...)
2007-01-31 12:44 ` [PATCH 4/7] fbdev: move logo externs to header file Geert Uytterhoeven
@ 2007-01-31 12:44 ` Geert Uytterhoeven
2007-01-31 12:44 ` [PATCH 6/7] fbdev: SPE helper penguin logo Geert Uytterhoeven
` (5 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-01-31 12:44 UTC (permalink / raw)
To: James Simmons
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
Add fb_append_extra_logo(), to append extra lines of logos below the standard
Linux logo.
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
---
drivers/video/fbmem.c | 50 +++++++++++++++++++++++++++++++++++++++++----
include/linux/linux_logo.h | 8 +++++++
2 files changed, 54 insertions(+), 4 deletions(-)
--- ps3-linux-2.6.20-rc7.orig/drivers/video/fbmem.c
+++ ps3-linux-2.6.20-rc7/drivers/video/fbmem.c
@@ -319,6 +319,13 @@ static struct logo_data {
const struct linux_logo *logo;
} fb_logo __read_mostly;
+#define FB_LOGO_EX_NUM_MAX 10
+static struct logo_data_extra {
+ const struct linux_logo *logo;
+ unsigned int n;
+} fb_logo_ex[FB_LOGO_EX_NUM_MAX];
+static unsigned int fb_logo_ex_num = 0;
+
static void fb_rotate_logo_ud(const u8 *in, u8 *out, u32 width, u32 height)
{
u32 size = width * height, i;
@@ -408,10 +415,20 @@ static void fb_do_show_logo(struct fb_in
}
}
+void fb_append_extra_logo(const struct linux_logo *logo, unsigned int n)
+{
+ if (!n || fb_logo_ex_num == FB_LOGO_EX_NUM_MAX)
+ return;
+
+ fb_logo_ex[fb_logo_ex_num].logo = logo;
+ fb_logo_ex[fb_logo_ex_num].n = n;
+ fb_logo_ex_num++;
+}
+
int fb_prepare_logo(struct fb_info *info, int rotate)
{
int depth = fb_get_color_depth(&info->var, &info->fix);
- int yres;
+ unsigned int yres, height, i;
memset(&fb_logo, 0, sizeof(struct logo_data));
@@ -470,7 +487,21 @@ int fb_prepare_logo(struct fb_info *info
fb_logo.depth = 4;
else
fb_logo.depth = 1;
- return fb_logo.logo->height;
+
+ /* FIXME: logo_ex supports only truecolor fb. */
+ if (info->fix.visual != FB_VISUAL_TRUECOLOR)
+ fb_logo_ex_num = 0;
+
+ height = fb_logo.logo->height;
+ for (i = 0; i < fb_logo_ex_num; i++) {
+ height += fb_logo_ex[i].logo->height;
+ if (height > yres) {
+ height -= fb_logo_ex[i].logo->height;
+ fb_logo_ex_num = i;
+ break;
+ }
+ }
+ return height;
}
static int fb_show_logo_line(struct fb_info *info, int rotate,
@@ -542,10 +573,20 @@ static int fb_show_logo_line(struct fb_i
int fb_show_logo(struct fb_info *info, int rotate)
{
- return fb_show_logo_line(info, rotate, fb_logo.logo, 0,
- num_online_cpus());
+ int y, i;
+
+ y = fb_show_logo_line(info, rotate, fb_logo.logo, 0,
+ num_online_cpus());
+
+ for (i = 0; i < fb_logo_ex_num; i++) {
+ y += fb_show_logo_line(info, rotate,
+ fb_logo_ex[i].logo, y, fb_logo_ex[i].n);
+ }
+
+ return y;
}
#else
+void fb_append_extra_logo(const struct linux_logo *logo, int n) {}
int fb_prepare_logo(struct fb_info *info, int rotate) { return 0; }
int fb_show_logo(struct fb_info *info, int rotate) { return 0; }
#endif /* CONFIG_LOGO */
@@ -1561,6 +1602,7 @@ EXPORT_SYMBOL(register_framebuffer);
EXPORT_SYMBOL(unregister_framebuffer);
EXPORT_SYMBOL(num_registered_fb);
EXPORT_SYMBOL(registered_fb);
+EXPORT_SYMBOL(fb_append_extra_logo);
EXPORT_SYMBOL(fb_prepare_logo);
EXPORT_SYMBOL(fb_show_logo);
EXPORT_SYMBOL(fb_set_var);
--- ps3-linux-2.6.20-rc7.orig/include/linux/linux_logo.h
+++ ps3-linux-2.6.20-rc7/include/linux/linux_logo.h
@@ -46,5 +46,13 @@ extern struct linux_logo logo_superh_clu
extern struct linux_logo logo_m32r_clut224;
extern const struct linux_logo *fb_find_logo(int depth);
+#ifdef CONFIG_LOGO
+extern void fb_append_extra_logo(const struct linux_logo *logo,
+ unsigned int n);
+#else
+static inline void fb_append_extra_logo(const struct linux_logo *logo,
+ unsigned int n)
+{}
+#endif
#endif /* _LINUX_LINUX_LOGO_H */
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 6/7] fbdev: SPE helper penguin logo
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
` (5 preceding siblings ...)
2007-01-31 12:44 ` [PATCH 5/7] fbdev: Add fb_append_extra_logo() Geert Uytterhoeven
@ 2007-01-31 12:44 ` Geert Uytterhoeven
2007-01-31 12:44 ` [PATCH 7/7] Cell: Draw SPE helper penguin logos Geert Uytterhoeven
` (4 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-01-31 12:44 UTC (permalink / raw)
To: James Simmons
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
Add the SPE helper penguin logo
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
---
drivers/video/logo/Makefile | 2
drivers/video/logo/logo_spe_clut224.ppm | 283 ++++++++++++++++++++++++++++++++
include/linux/linux_logo.h | 1
3 files changed, 286 insertions(+)
--- ps3-linux-2.6.20-rc7.orig/drivers/video/logo/Makefile
+++ ps3-linux-2.6.20-rc7/drivers/video/logo/Makefile
@@ -14,6 +14,8 @@ obj-$(CONFIG_LOGO_SUPERH_VGA16) += logo
obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o
obj-$(CONFIG_LOGO_M32R_CLUT224) += logo_m32r_clut224.o
+obj-$(CONFIG_SPU_BASE) += logo_spe_clut224.o
+
# How to generate logo's
# Use logo-cfiles to retrieve list of .c files to be built
--- /dev/null
+++ ps3-linux-2.6.20-rc7/drivers/video/logo/logo_spe_clut224.ppm
@@ -0,0 +1,283 @@
+P3
+40 40
+255
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 6 6 6
+15 15 15 21 21 21 19 19 19 14 14 14 6 6 6 2 2 2
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 2 2 2 21 21 21 55 55 55
+56 56 56 54 54 54 53 53 53 60 60 60 56 56 56 25 25 25
+6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 2 2 2 27 27 27 62 62 62 17 17 19
+2 2 6 2 2 6 2 2 6 2 2 6 16 16 18 57 57 57
+45 45 45 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 16 16 16 62 62 62 8 8 10 2 2 6
+2 2 6 2 2 6 2 2 6 12 12 14 67 67 67 16 16 17
+45 45 45 41 41 41 4 4 4 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 2 2 2 35 35 35 40 40 40 2 2 6 2 2 6
+2 2 6 2 2 6 2 2 6 15 15 17 70 70 70 27 27 27
+3 3 6 62 62 62 20 20 20 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 4 4 4 58 58 58 12 12 14 2 2 6 2 2 6
+2 2 6 2 2 6 2 2 6 4 4 7 4 4 7 2 2 6
+2 2 6 34 34 36 40 40 40 3 3 3 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 7 7 7 64 64 64 2 2 6 5 5 5 17 17 17
+3 3 6 2 2 6 2 2 6 15 15 15 21 21 21 7 7 10
+2 2 6 8 8 10 62 62 62 6 6 6 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 7 7 7 66 66 66 5 5 8 122 122 122 122 122 122
+9 9 11 3 3 6 104 96 81 179 179 179 122 122 122 13 13 13
+2 2 6 2 2 6 67 67 67 10 10 10 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 7 7 7 65 65 65 41 41 43 152 149 142 192 191 189
+48 48 49 23 23 24 228 210 210 86 86 86 192 191 189 59 59 61
+2 2 6 2 2 6 64 64 64 14 14 14 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 7 7 7 66 66 66 59 59 59 59 59 61 86 86 86
+99 84 50 78 66 28 152 149 142 5 5 8 122 122 122 104 96 81
+2 2 6 2 2 6 67 67 67 14 14 14 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 5 5 5 63 63 63 24 24 24 152 149 142 175 122 13
+238 184 12 220 170 13 226 181 52 112 86 32 194 165 151 46 46 47
+2 2 6 2 2 6 65 65 65 17 17 17 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 5 5 5 59 59 59 21 21 21 175 122 13 231 174 11
+240 192 13 237 183 61 240 192 13 240 192 13 234 179 16 81 64 9
+2 2 6 2 2 6 63 63 63 25 25 25 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 5 5 5 54 54 54 51 48 39 189 138 9 238 184 12
+240 192 13 240 192 13 240 192 13 215 161 11 207 152 19 81 64 9
+16 16 18 5 5 8 40 40 40 44 44 44 4 4 4 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 5 5 5 59 59 59 27 27 27 126 107 64 187 136 12
+220 170 13 201 147 20 189 138 9 198 154 46 199 182 125 70 70 70
+27 27 27 104 96 81 12 12 14 70 70 70 16 16 16 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 17 17 17 70 70 70 12 12 12 168 168 168 174 135 135
+175 122 13 175 122 13 178 151 83 192 191 189 233 233 233 179 179 179
+3 3 6 29 29 31 3 3 6 41 41 41 44 44 44 5 5 5
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+8 8 8 53 53 53 44 44 44 59 59 59 238 238 238 192 191 189
+192 191 189 192 191 189 221 205 205 240 240 240 253 253 253 253 253 253
+70 70 70 2 2 6 2 2 6 5 5 8 67 67 67 22 22 22
+2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5
+38 38 38 56 56 56 7 7 9 221 205 205 253 253 253 233 233 233
+221 205 205 233 233 233 251 251 251 253 253 253 253 253 253 253 253 253
+192 191 189 2 2 6 2 2 6 2 2 6 25 25 25 64 64 64
+15 15 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 27 27 27
+66 66 66 7 7 9 86 86 86 252 252 252 253 253 253 253 253 253
+252 252 252 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253
+244 244 244 19 19 21 2 2 6 2 2 6 2 2 6 38 38 38
+54 54 54 10 10 10 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 14 14 14 62 62 62
+10 10 12 3 3 6 122 122 122 235 235 235 251 251 251 248 248 248
+235 235 235 248 248 248 252 252 252 246 246 246 233 233 233 237 228 228
+223 207 207 70 70 70 2 2 6 2 2 6 2 2 6 2 2 6
+46 46 47 38 38 38 4 4 4 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 2 2 2 33 33 33 44 44 44
+4 4 7 9 9 11 168 168 168 240 240 240 252 252 252 252 252 252
+246 246 246 253 253 253 253 253 253 251 251 251 245 241 241 233 233 233
+221 205 205 192 191 189 29 29 31 27 27 27 9 9 12 2 2 6
+3 3 6 65 65 65 15 15 15 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 6 6 6 59 59 59 19 19 21
+24 24 24 86 86 86 249 249 249 253 253 253 253 253 253 253 253 253
+253 253 253 228 210 210 241 230 230 253 253 253 253 253 253 253 253 253
+251 251 251 228 210 210 152 149 142 5 5 8 27 27 27 4 4 7
+2 2 6 46 46 47 34 34 34 2 2 2 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 16 16 16 67 67 67 19 19 21
+12 12 14 223 207 207 254 20 20 254 20 20 253 127 127 242 223 223
+254 20 20 253 127 127 254 48 48 242 223 223 254 86 86 254 20 20
+254 20 20 253 137 137 233 233 233 32 32 32 35 35 35 23 23 24
+2 2 6 15 15 15 60 60 60 6 6 6 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 4 4 4 38 38 38 48 48 49 22 22 22
+86 86 86 253 253 253 254 20 20 241 230 230 227 216 186 253 137 137
+253 137 137 253 253 253 253 137 137 253 137 137 254 48 48 253 253 253
+253 253 253 253 253 253 253 253 253 62 62 62 2 2 6 23 23 24
+2 2 6 2 2 6 62 62 62 17 17 17 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 14 14 14 70 70 70 14 14 14 16 16 18
+179 179 179 253 253 253 227 216 186 254 48 48 240 219 160 253 127 127
+254 20 20 253 137 137 254 86 86 231 203 141 254 20 20 254 20 20
+253 137 137 253 253 253 253 253 253 104 96 81 2 2 6 23 23 24
+2 2 6 2 2 6 46 46 47 27 27 27 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 4 4 4 39 39 39 42 42 43 19 19 21 13 13 13
+228 210 210 242 223 223 253 253 253 242 223 223 253 127 127 253 127 127
+253 127 127 253 127 127 253 137 137 253 253 253 254 48 48 253 253 253
+228 210 210 253 253 253 253 253 253 122 122 122 2 2 6 19 19 19
+2 2 6 2 2 6 39 39 39 38 38 38 3 3 3 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 8 8 8 60 60 60 3 3 6 33 33 33 38 38 38
+253 137 137 254 86 86 253 137 137 254 86 86 253 137 137 209 197 168
+253 127 127 253 253 253 253 253 253 253 253 253 253 127 127 254 86 86
+254 86 86 253 137 137 253 253 253 122 122 122 2 2 6 17 17 17
+2 2 6 2 2 6 34 34 36 42 42 43 3 3 3 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 13 13 13 59 59 59 2 2 6 9 9 12 56 56 56
+252 252 252 240 219 160 253 137 137 240 219 160 253 253 253 237 228 228
+254 86 86 253 253 253 253 253 253 253 253 253 253 253 253 242 223 223
+227 216 186 249 249 249 253 253 253 122 122 122 16 16 17 17 17 17
+12 12 14 3 3 6 39 39 39 38 38 38 3 3 3 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2
+5 5 5 22 22 22 104 96 81 187 136 12 207 152 19 51 48 39
+221 205 205 253 253 253 253 253 253 253 253 253 253 253 253 240 240 240
+250 247 243 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253
+253 253 253 250 247 243 240 219 160 99 84 50 5 5 8 2 2 6
+7 7 9 46 46 47 58 58 58 35 35 35 3 3 3 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 8 8 8 33 33 33
+58 58 58 86 86 86 170 136 53 239 182 13 246 190 14 220 170 13
+44 38 29 179 179 179 253 253 253 253 253 253 253 253 253 240 240 240
+253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253
+253 253 253 240 219 160 240 192 13 112 86 32 2 2 6 2 2 6
+3 3 6 41 33 20 220 170 13 53 53 53 4 4 4 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 2 2 2 32 32 32 150 116 44
+215 161 11 215 161 11 228 170 11 245 188 14 246 190 14 246 190 14
+187 136 12 9 9 11 122 122 122 251 251 251 253 253 253 253 253 253
+253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253
+248 248 248 211 196 135 239 182 13 175 122 13 6 5 6 2 2 6
+16 14 12 187 136 12 238 184 12 84 78 65 10 10 10 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 4 4 4 53 53 53 207 152 19
+242 185 13 245 188 14 246 190 14 246 190 14 246 190 14 246 190 14
+240 192 13 81 64 9 2 2 6 86 86 86 244 244 244 253 253 253
+253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253
+233 233 233 199 182 125 231 174 11 207 152 19 175 122 13 175 122 13
+201 147 20 239 182 13 244 187 14 150 116 44 35 35 35 6 6 6
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 5 5 5 53 53 53 201 147 20
+242 185 13 246 190 14 246 190 14 246 190 14 246 190 14 246 190 14
+246 190 14 220 170 13 13 11 10 2 2 6 152 149 142 253 253 253
+253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253
+235 235 235 199 182 125 228 170 11 234 177 12 226 168 11 226 168 11
+234 177 12 246 190 14 246 190 14 234 179 16 126 107 64 36 36 36
+6 6 6 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 3 3 3 48 48 49 189 142 35
+242 185 13 246 190 14 246 190 14 246 190 14 246 190 14 246 190 14
+246 190 14 246 190 14 140 112 39 36 36 36 192 191 189 253 253 253
+253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253 253
+192 191 189 112 86 32 226 168 11 244 187 14 244 187 14 244 187 14
+245 188 14 246 190 14 246 190 14 246 190 14 242 185 13 150 116 44
+27 27 27 2 2 2 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 6 6 6 58 58 58 189 142 35
+239 182 13 246 190 14 246 190 14 246 190 14 246 190 14 246 190 14
+246 190 14 246 190 14 239 188 14 209 197 168 253 253 253 253 253 253
+253 253 253 253 253 253 253 253 253 253 253 253 252 252 252 168 168 168
+16 16 18 97 67 8 228 170 11 245 188 14 246 190 14 246 190 14
+246 190 14 246 190 14 246 190 14 246 190 14 244 187 14 198 154 46
+35 35 35 3 3 3 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 13 13 13 84 78 65 215 161 11
+244 187 14 246 190 14 246 190 14 246 190 14 246 190 14 246 190 14
+246 190 14 246 190 14 238 184 12 187 136 12 168 168 168 244 244 244
+253 253 253 252 252 252 240 240 240 179 179 179 67 67 67 2 2 6
+2 2 6 97 67 8 228 170 11 246 190 14 246 190 14 246 190 14
+246 190 14 246 190 14 245 188 14 234 177 12 189 142 35 86 77 61
+16 16 16 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 13 13 13 103 92 56 207 152 19
+228 170 11 234 177 12 239 182 13 242 186 14 245 188 14 246 190 14
+246 190 14 246 190 14 239 182 13 189 138 9 41 33 20 10 10 12
+30 30 31 23 23 24 5 5 8 2 2 6 2 2 6 2 2 6
+4 4 6 112 86 32 215 161 11 245 188 14 246 190 14 245 188 14
+239 182 13 228 170 11 189 142 35 104 96 81 48 48 49 17 17 17
+2 2 2 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 5 5 5 39 39 39 103 92 56
+141 109 44 175 122 13 187 136 12 189 138 9 207 152 19 228 170 11
+239 182 13 239 182 13 215 161 11 175 122 13 41 33 20 2 2 6
+15 15 17 20 20 22 20 20 22 20 20 22 20 20 22 8 8 10
+4 4 6 97 67 8 189 138 9 231 174 11 239 182 13 226 168 11
+189 138 9 126 107 64 59 59 59 21 21 21 5 5 5 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 17 17 17
+34 34 34 57 57 57 84 78 65 103 92 56 125 101 41 140 112 39
+175 122 13 175 122 13 175 122 13 97 67 8 72 67 58 84 78 65
+60 60 60 56 56 56 56 56 56 56 56 56 57 57 57 65 65 65
+86 86 86 95 73 34 175 122 13 187 136 12 187 136 12 175 122 13
+103 92 56 41 41 41 10 10 10 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+2 2 2 4 4 4 12 12 12 24 24 24 40 40 40 70 70 70
+86 77 61 95 73 34 88 72 41 72 67 58 36 36 36 10 10 10
+5 5 5 5 5 5 5 5 5 4 4 4 5 5 5 6 6 6
+22 22 22 61 61 59 88 72 41 112 86 32 112 86 32 84 78 65
+32 32 32 6 6 6 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 10 10 10
+21 21 21 33 33 33 31 31 31 16 16 16 2 2 2 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+2 2 2 12 12 12 30 30 31 40 40 40 32 32 32 16 16 16
+2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0
--- ps3-linux-2.6.20-rc7.orig/include/linux/linux_logo.h
+++ ps3-linux-2.6.20-rc7/include/linux/linux_logo.h
@@ -44,6 +44,7 @@ extern struct linux_logo logo_superh_mon
extern struct linux_logo logo_superh_vga16;
extern struct linux_logo logo_superh_clut224;
extern struct linux_logo logo_m32r_clut224;
+extern struct linux_logo logo_spe_clut224;
extern const struct linux_logo *fb_find_logo(int depth);
#ifdef CONFIG_LOGO
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 7/7] Cell: Draw SPE helper penguin logos
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
` (6 preceding siblings ...)
2007-01-31 12:44 ` [PATCH 6/7] fbdev: SPE helper penguin logo Geert Uytterhoeven
@ 2007-01-31 12:44 ` Geert Uytterhoeven
2007-02-01 16:51 ` [Cbe-oss-dev] [PATCH 0/7] RFC: Cell SPE logos Geoff Levand
` (3 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-01-31 12:44 UTC (permalink / raw)
To: James Simmons
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
Let spu_management_ops.enumerate_spus() return the number of found SPEs
and use that information to draw some little helper penguin logos.
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
---
arch/powerpc/platforms/cell/spu_base.c | 7 +++++--
arch/powerpc/platforms/cell/spu_priv1_mmio.c | 4 +++-
arch/powerpc/platforms/ps3/spu.c | 6 ++++--
3 files changed, 12 insertions(+), 5 deletions(-)
--- ps3-linux-2.6.20-rc7.orig/arch/powerpc/platforms/cell/spu_base.c
+++ ps3-linux-2.6.20-rc7/arch/powerpc/platforms/cell/spu_base.c
@@ -31,6 +31,7 @@
#include <linux/mm.h>
#include <linux/io.h>
#include <linux/mutex.h>
+#include <linux/linux_logo.h>
#include <asm/spu.h>
#include <asm/spu_priv1.h>
#include <asm/xmon.h>
@@ -676,16 +677,18 @@ static int __init init_spu_base(void)
ret = spu_enumerate_spus(create_spu);
- if (ret) {
+ if (ret < 0) {
printk(KERN_WARNING "%s: Error initializing spus\n",
__FUNCTION__);
cleanup_spu_base();
return ret;
}
+ if (ret > 0)
+ fb_append_extra_logo(&logo_spe_clut224, ret);
xmon_register_spus(&spu_full_list);
- return ret;
+ return 0;
}
module_init(init_spu_base);
--- ps3-linux-2.6.20-rc7.orig/arch/powerpc/platforms/cell/spu_priv1_mmio.c
+++ ps3-linux-2.6.20-rc7/arch/powerpc/platforms/cell/spu_priv1_mmio.c
@@ -331,6 +331,7 @@ static int __init of_enumerate_spus(int
{
int ret;
struct device_node *node;
+ unsigned int n = 0;
ret = -ENODEV;
for (node = of_find_node_by_type(NULL, "spe");
@@ -341,8 +342,9 @@ static int __init of_enumerate_spus(int
__FUNCTION__, node->name);
break;
}
+ n++;
}
- return ret;
+ return ret ? ret : n;
}
static int __init of_create_spu(struct spu *spu, void *data)
--- ps3-linux-2.6.20-rc7.orig/arch/powerpc/platforms/ps3/spu.c
+++ ps3-linux-2.6.20-rc7/arch/powerpc/platforms/ps3/spu.c
@@ -438,11 +438,13 @@ static int __init ps3_enumerate_spus(int
}
}
- if (result)
+ if (result) {
printk(KERN_WARNING "%s:%d: Error initializing spus\n",
__func__, __LINE__);
+ return result;
+ }
- return result;
+ return num_resource_id;
}
const struct spu_management_ops spu_management_ps3_ops = {
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Cbe-oss-dev] [PATCH 0/7] RFC: Cell SPE logos
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
` (7 preceding siblings ...)
2007-01-31 12:44 ` [PATCH 7/7] Cell: Draw SPE helper penguin logos Geert Uytterhoeven
@ 2007-02-01 16:51 ` Geoff Levand
2007-02-04 13:32 ` Pavel Machek
` (2 subsequent siblings)
11 siblings, 0 replies; 20+ messages in thread
From: Geoff Levand @ 2007-02-01 16:51 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: James Simmons, Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
Geert Uytterhoeven wrote:
> To emphasize the existence of the SPEs (which can be used under Linux), we
> added a second row of (smaller) helper penguin logos, one for each SPE.
> I attached a PNG version of the helper penguin logo for reference.
For anyone interested, I put a screen shot here:
http://www.kernel.org/pub/linux/kernel/people/geoff/cell/debian-penguin-shot.png
It may take some time for it to go out to the mirrors.
-Geoff
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/7] RFC: Cell SPE logos
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
` (8 preceding siblings ...)
2007-02-01 16:51 ` [Cbe-oss-dev] [PATCH 0/7] RFC: Cell SPE logos Geoff Levand
@ 2007-02-04 13:32 ` Pavel Machek
2007-02-04 17:44 ` [Linux-fbdev-devel] " Geert Uytterhoeven
2007-02-05 2:14 ` [Cbe-oss-dev] " Benjamin Herrenschmidt
2007-02-06 22:06 ` James Simmons
2007-02-12 13:54 ` Geert Uytterhoeven
11 siblings, 2 replies; 20+ messages in thread
From: Pavel Machek @ 2007-02-04 13:32 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: James Simmons, Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
Hi1
> I would like to hear your opinions about the patchset below (updated version
> compared to yesterday, lkml added to the CC list).
Can you just blast these pictures from userspace? There's really no
excuse to advertise SPEs from kernel....
What's next, I have powerful Intel graphics chipset in here, perhaps
it is as powerful as SPE, shall I start adding little pictures for its
pipelines?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Linux-fbdev-devel] [PATCH 0/7] RFC: Cell SPE logos
2007-02-04 13:32 ` Pavel Machek
@ 2007-02-04 17:44 ` Geert Uytterhoeven
2007-02-05 2:14 ` [Cbe-oss-dev] " Benjamin Herrenschmidt
1 sibling, 0 replies; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-02-04 17:44 UTC (permalink / raw)
To: Linux Frame Buffer Device Development
Cc: James Simmons, Cell Broadband Engine OSS Development,
Linux Kernel Development
On Sun, 4 Feb 2007, Pavel Machek wrote:
> > I would like to hear your opinions about the patchset below (updated version
> > compared to yesterday, lkml added to the CC list).
>
> Can you just blast these pictures from userspace? There's really no
> excuse to advertise SPEs from kernel....
Everything drawn on a frame buffer (penguin logos, text console, ...) can
indeed be done from userspace.
> What's next, I have powerful Intel graphics chipset in here, perhaps
> it is as powerful as SPE, shall I start adding little pictures for its
> pipelines?
Do you have in-kernel support for running generic code on those pipelines?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Cbe-oss-dev] [PATCH 0/7] RFC: Cell SPE logos
2007-02-04 13:32 ` Pavel Machek
2007-02-04 17:44 ` [Linux-fbdev-devel] " Geert Uytterhoeven
@ 2007-02-05 2:14 ` Benjamin Herrenschmidt
2007-02-06 21:42 ` [Linux-fbdev-devel] " James Simmons
2007-02-07 12:44 ` Pavel Machek
1 sibling, 2 replies; 20+ messages in thread
From: Benjamin Herrenschmidt @ 2007-02-05 2:14 UTC (permalink / raw)
To: Pavel Machek
Cc: Geert Uytterhoeven, Linux Frame Buffer Device Development,
James Simmons, Cell Broadband Engine OSS Development,
Linux Kernel Development
On Sun, 2007-02-04 at 14:32 +0100, Pavel Machek wrote:
> Hi1
>
> > I would like to hear your opinions about the patchset below (updated version
> > compared to yesterday, lkml added to the CC list).
>
> Can you just blast these pictures from userspace? There's really no
> excuse to advertise SPEs from kernel....
>
> What's next, I have powerful Intel graphics chipset in here, perhaps
> it is as powerful as SPE, shall I start adding little pictures for its
> pipelines?
By the same token, there is no excuse to have the logo code at all in
the kernel in the first place... it's cool though :-) And it's a config
option, so you don't have to have it....
Ben
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Linux-fbdev-devel] [Cbe-oss-dev] [PATCH 0/7] RFC: Cell SPE logos
2007-02-05 2:14 ` [Cbe-oss-dev] " Benjamin Herrenschmidt
@ 2007-02-06 21:42 ` James Simmons
2007-02-07 12:44 ` Pavel Machek
1 sibling, 0 replies; 20+ messages in thread
From: James Simmons @ 2007-02-06 21:42 UTC (permalink / raw)
To: Linux Frame Buffer Device Development
Cc: Pavel Machek, Geert Uytterhoeven,
Cell Broadband Engine OSS Development, Linux Kernel Development
> On Sun, 2007-02-04 at 14:32 +0100, Pavel Machek wrote:
> > Hi1
> >
> > > I would like to hear your opinions about the patchset below (updated version
> > > compared to yesterday, lkml added to the CC list).
> >
> > Can you just blast these pictures from userspace? There's really no
> > excuse to advertise SPEs from kernel....
> >
> > What's next, I have powerful Intel graphics chipset in here, perhaps
> > it is as powerful as SPE, shall I start adding little pictures for its
> > pipelines?
>
> By the same token, there is no excuse to have the logo code at all in
> the kernel in the first place... it's cool though :-) And it's a config
> option, so you don't have to have it....
True. Of course we would need a userland interface to splash a logo. I
found the logo to be useful to know if the graphics device is alive and
working properly.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Cbe-oss-dev] [PATCH 0/7] RFC: Cell SPE logos
2007-02-05 2:14 ` [Cbe-oss-dev] " Benjamin Herrenschmidt
2007-02-06 21:42 ` [Linux-fbdev-devel] " James Simmons
@ 2007-02-07 12:44 ` Pavel Machek
1 sibling, 0 replies; 20+ messages in thread
From: Pavel Machek @ 2007-02-07 12:44 UTC (permalink / raw)
To: Benjamin Herrenschmidt
Cc: Geert Uytterhoeven, Linux Frame Buffer Device Development,
James Simmons, Cell Broadband Engine OSS Development,
Linux Kernel Development
Hi!
> > > I would like to hear your opinions about the patchset below (updated version
> > > compared to yesterday, lkml added to the CC list).
> >
> > Can you just blast these pictures from userspace? There's really no
> > excuse to advertise SPEs from kernel....
> >
> > What's next, I have powerful Intel graphics chipset in here, perhaps
> > it is as powerful as SPE, shall I start adding little pictures for its
> > pipelines?
>
> By the same token, there is no excuse to have the logo code at all in
> the kernel in the first place... it's cool though :-) And it's a config
> option, so you don't have to have it....
I believe the old logo code was originally created for compatibility
with Solaris? :-).
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/7] RFC: Cell SPE logos
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
` (9 preceding siblings ...)
2007-02-04 13:32 ` Pavel Machek
@ 2007-02-06 22:06 ` James Simmons
2007-02-12 13:54 ` Geert Uytterhoeven
11 siblings, 0 replies; 20+ messages in thread
From: James Simmons @ 2007-02-06 22:06 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
> I would like to hear your opinions about the patchset below (updated version
> compared to yesterday, lkml added to the CC list).
>
> The Cell Broadband Engine contains a 64-bit PowerPC core with 2 hardware
> threads (called PPEs) and 8 Synergistic Processing Engines (called SPEs).
> When booting Linux, 2 penguins logos are shown on the graphical console by
> the standard frame buffer console logo code.
>
> To emphasize the existence of the SPEs (which can be used under Linux), we
> added a second row of (smaller) helper penguin logos, one for each SPE.
> I attached a PNG version of the helper penguin logo for reference.
>
> Summaries:
> [PATCH 1/7] fbdev: Avoid vertical overflow when making space for the logo
> [PATCH 2/7] fbdev: fb_do_show_logo() updates
> [PATCH 3/7] fbdev: extract fb_show_logo_line()
> [PATCH 4/7] fbdev: move logo externs to header file
> [PATCH 5/7] fbdev: Add fb_append_extra_logo()
> [PATCH 6/7] fbdev: SPE helper penguin logo
> [PATCH 7/7] Cell: Draw SPE helper penguin logos
>
> Thanks for your comments!
Now that their are patches for the logo I would like to see a few more
improvements that I haven't gotten too. I really like to see the logo
drawn outside of fbcon. This way for embedded platforms without fbcon we
could have the logo to know if the graphics device worked.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/7] RFC: Cell SPE logos
2007-01-31 12:27 [PATCH 0/7] RFC: Cell SPE logos Geert Uytterhoeven
` (10 preceding siblings ...)
2007-02-06 22:06 ` James Simmons
@ 2007-02-12 13:54 ` Geert Uytterhoeven
2007-02-13 20:51 ` James Simmons
11 siblings, 1 reply; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-02-12 13:54 UTC (permalink / raw)
To: James Simmons
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development
On Wed, 31 Jan 2007, Geert Uytterhoeven wrote:
> I would like to hear your opinions about the patchset below (updated version
> compared to yesterday, lkml added to the CC list).
>
> The Cell Broadband Engine contains a 64-bit PowerPC core with 2 hardware
> threads (called PPEs) and 8 Synergistic Processing Engines (called SPEs).
> When booting Linux, 2 penguins logos are shown on the graphical console by
> the standard frame buffer console logo code.
>
> To emphasize the existence of the SPEs (which can be used under Linux), we
> added a second row of (smaller) helper penguin logos, one for each SPE.
> I attached a PNG version of the helper penguin logo for reference.
>
> Summaries:
> [PATCH 1/7] fbdev: Avoid vertical overflow when making space for the logo
> [PATCH 2/7] fbdev: fb_do_show_logo() updates
> [PATCH 3/7] fbdev: extract fb_show_logo_line()
> [PATCH 4/7] fbdev: move logo externs to header file
> [PATCH 5/7] fbdev: Add fb_append_extra_logo()
> [PATCH 6/7] fbdev: SPE helper penguin logo
> [PATCH 7/7] Cell: Draw SPE helper penguin logos
The helper penguins overlap with the main penguins when using console rotation
(fbcon=rotate:x, with x != 0). Here's a fix:
---
Correct the image offsets when rotating the logo. Before image->dx and
image->dy were always zero, so nobody ever noticed.
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
---
drivers/video/fbmem.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
--- ps3-linux-2.6.20.orig/drivers/video/fbmem.c
+++ ps3-linux-2.6.20/drivers/video/fbmem.c
@@ -355,22 +355,26 @@ static void fb_rotate_logo(struct fb_inf
if (rotate == FB_ROTATE_UD) {
fb_rotate_logo_ud(image->data, dst, image->width,
image->height);
- image->dx = info->var.xres - image->width;
- image->dy = info->var.yres - image->height;
+ image->dx = info->var.xres - image->width - image->dx;
+ image->dy = info->var.yres - image->height - image->dy;
} else if (rotate == FB_ROTATE_CW) {
fb_rotate_logo_cw(image->data, dst, image->width,
image->height);
tmp = image->width;
image->width = image->height;
image->height = tmp;
- image->dx = info->var.xres - image->width;
+ tmp = image->dy;
+ image->dy = image->dx;
+ image->dx = info->var.xres - image->width - tmp;
} else if (rotate == FB_ROTATE_CCW) {
fb_rotate_logo_ccw(image->data, dst, image->width,
image->height);
tmp = image->width;
image->width = image->height;
image->height = tmp;
- image->dy = info->var.yres - image->height;
+ tmp = image->dx;
+ image->dx = image->dy;
+ image->dy = info->var.yres - image->height - tmp;
}
image->data = dst;
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/7] RFC: Cell SPE logos
2007-02-12 13:54 ` Geert Uytterhoeven
@ 2007-02-13 20:51 ` James Simmons
2007-02-14 17:33 ` Geert Uytterhoeven
0 siblings, 1 reply; 20+ messages in thread
From: James Simmons @ 2007-02-13 20:51 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development,
Andrew Morton
Andrew please apply.
Acked-By: James Simmons <jsimmons@infradead.org>
On Mon, 12 Feb 2007, Geert Uytterhoeven wrote:
> On Wed, 31 Jan 2007, Geert Uytterhoeven wrote:
> > I would like to hear your opinions about the patchset below (updated version
> > compared to yesterday, lkml added to the CC list).
> >
> > The Cell Broadband Engine contains a 64-bit PowerPC core with 2 hardware
> > threads (called PPEs) and 8 Synergistic Processing Engines (called SPEs).
> > When booting Linux, 2 penguins logos are shown on the graphical console by
> > the standard frame buffer console logo code.
> >
> > To emphasize the existence of the SPEs (which can be used under Linux), we
> > added a second row of (smaller) helper penguin logos, one for each SPE.
> > I attached a PNG version of the helper penguin logo for reference.
> >
> > Summaries:
> > [PATCH 1/7] fbdev: Avoid vertical overflow when making space for the logo
> > [PATCH 2/7] fbdev: fb_do_show_logo() updates
> > [PATCH 3/7] fbdev: extract fb_show_logo_line()
> > [PATCH 4/7] fbdev: move logo externs to header file
> > [PATCH 5/7] fbdev: Add fb_append_extra_logo()
> > [PATCH 6/7] fbdev: SPE helper penguin logo
> > [PATCH 7/7] Cell: Draw SPE helper penguin logos
>
> The helper penguins overlap with the main penguins when using console rotation
> (fbcon=rotate:x, with x != 0). Here's a fix:
>
> ---
>
> Correct the image offsets when rotating the logo. Before image->dx and
> image->dy were always zero, so nobody ever noticed.
>
> Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
> ---
> drivers/video/fbmem.c | 12 ++++++++----
> 1 files changed, 8 insertions(+), 4 deletions(-)
>
> --- ps3-linux-2.6.20.orig/drivers/video/fbmem.c
> +++ ps3-linux-2.6.20/drivers/video/fbmem.c
> @@ -355,22 +355,26 @@ static void fb_rotate_logo(struct fb_inf
> if (rotate == FB_ROTATE_UD) {
> fb_rotate_logo_ud(image->data, dst, image->width,
> image->height);
> - image->dx = info->var.xres - image->width;
> - image->dy = info->var.yres - image->height;
> + image->dx = info->var.xres - image->width - image->dx;
> + image->dy = info->var.yres - image->height - image->dy;
> } else if (rotate == FB_ROTATE_CW) {
> fb_rotate_logo_cw(image->data, dst, image->width,
> image->height);
> tmp = image->width;
> image->width = image->height;
> image->height = tmp;
> - image->dx = info->var.xres - image->width;
> + tmp = image->dy;
> + image->dy = image->dx;
> + image->dx = info->var.xres - image->width - tmp;
> } else if (rotate == FB_ROTATE_CCW) {
> fb_rotate_logo_ccw(image->data, dst, image->width,
> image->height);
> tmp = image->width;
> image->width = image->height;
> image->height = tmp;
> - image->dy = info->var.yres - image->height;
> + tmp = image->dx;
> + image->dx = image->dy;
> + image->dy = info->var.yres - image->height - tmp;
> }
>
> image->data = dst;
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
> Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
> Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/7] RFC: Cell SPE logos
2007-02-13 20:51 ` James Simmons
@ 2007-02-14 17:33 ` Geert Uytterhoeven
0 siblings, 0 replies; 20+ messages in thread
From: Geert Uytterhoeven @ 2007-02-14 17:33 UTC (permalink / raw)
To: James Simmons
Cc: Linux Frame Buffer Device Development,
Cell Broadband Engine OSS Development, Linux Kernel Development,
Andrew Morton
On Tue, 13 Feb 2007, James Simmons wrote:
> Andrew please apply.
Thanks!
Andrew, I will resend the whole series again, against current linus.git.
> Acked-By: James Simmons <jsimmons@infradead.org>
>
> On Mon, 12 Feb 2007, Geert Uytterhoeven wrote:
>
> > On Wed, 31 Jan 2007, Geert Uytterhoeven wrote:
> > > I would like to hear your opinions about the patchset below (updated version
> > > compared to yesterday, lkml added to the CC list).
> > >
> > > The Cell Broadband Engine contains a 64-bit PowerPC core with 2 hardware
> > > threads (called PPEs) and 8 Synergistic Processing Engines (called SPEs).
> > > When booting Linux, 2 penguins logos are shown on the graphical console by
> > > the standard frame buffer console logo code.
> > >
> > > To emphasize the existence of the SPEs (which can be used under Linux), we
> > > added a second row of (smaller) helper penguin logos, one for each SPE.
> > > I attached a PNG version of the helper penguin logo for reference.
> > >
> > > Summaries:
> > > [PATCH 1/7] fbdev: Avoid vertical overflow when making space for the logo
> > > [PATCH 2/7] fbdev: fb_do_show_logo() updates
> > > [PATCH 3/7] fbdev: extract fb_show_logo_line()
> > > [PATCH 4/7] fbdev: move logo externs to header file
> > > [PATCH 5/7] fbdev: Add fb_append_extra_logo()
> > > [PATCH 6/7] fbdev: SPE helper penguin logo
> > > [PATCH 7/7] Cell: Draw SPE helper penguin logos
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven@sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
^ permalink raw reply [flat|nested] 20+ messages in thread