linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 0/4] Cell SPE logos
@ 2007-07-10 12:27 Geert Uytterhoeven
  2007-07-10 12:27 ` [patch 1/4] fbdev: extract fb_show_logo_line() Geert Uytterhoeven
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-10 12:27 UTC (permalink / raw)
  To: Antonino A. Daplas, Andrew Morton
  Cc: Arnd Bergmann, James Simmons, linux-fbdev-devel, cbe-oss-dev,
	linux-kernel

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.

A sample screenshot can be found at
http://www.kernel.org/pub/linux/kernel/people/geoff/cell/debian-penguin-shot.png
(or on the ps3linux T-shirts we wore at OLS :-)

Summaries:
  [1] fbdev: extract fb_show_logo_line()
  [2] fbdev: Add fb_append_extra_logo()
  [3] fbdev: SPE helper penguin logo
  [4] Cell: Draw SPE helper penguin logos

Thanks for applying!

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 · Swift GEBABEBB08A · IBAN BE39001382358619

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [patch 1/4] fbdev: extract fb_show_logo_line()
  2007-07-10 12:27 [patch 0/4] Cell SPE logos Geert Uytterhoeven
@ 2007-07-10 12:27 ` Geert Uytterhoeven
  2007-07-10 12:27 ` [patch 2/4] fbdev: Add fb_append_extra_logo() Geert Uytterhoeven
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-10 12:27 UTC (permalink / raw)
  To: Antonino A. Daplas, Andrew Morton
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	Geert Uytterhoeven, James Simmons, cbe-oss-dev

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: spe-logo/fb_show_logo_line.diff --]
[-- Type: text/plain, Size: 3986 bytes --]

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>
Acked-By: James Simmons <jsimmons@infradead.org>
---
 drivers/video/fbmem.c |   39 +++++++++++++++++++++++----------------
 1 files changed, 23 insertions(+), 16 deletions(-)

--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -477,22 +477,24 @@ 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 ||
 	    info->flags & FBINFO_MODULE)
 		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) {
@@ -501,17 +503,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)
@@ -519,29 +520,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; }

-- 
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 ������ Swift GEBABEBB08A ������ IBAN BE39001382358619



[-- Attachment #2: Type: text/plain, Size: 286 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

[-- Attachment #3: Type: text/plain, Size: 182 bytes --]

_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [patch 2/4] fbdev: Add fb_append_extra_logo()
  2007-07-10 12:27 [patch 0/4] Cell SPE logos Geert Uytterhoeven
  2007-07-10 12:27 ` [patch 1/4] fbdev: extract fb_show_logo_line() Geert Uytterhoeven
@ 2007-07-10 12:27 ` Geert Uytterhoeven
  2007-07-13  0:15   ` Antonino A. Daplas
  2007-07-10 12:27 ` [patch 3/4] fbdev: SPE helper penguin logo Geert Uytterhoeven
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-10 12:27 UTC (permalink / raw)
  To: Antonino A. Daplas, Andrew Morton
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	Geert Uytterhoeven, James Simmons, cbe-oss-dev

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: spe-logo/fb_append_extra_logo.diff --]
[-- Type: text/plain, Size: 3772 bytes --]

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>
Acked-By: James Simmons <jsimmons@infradead.org>
---
 drivers/video/fbmem.c      |   50 +++++++++++++++++++++++++++++++++++++++++----
 include/linux/linux_logo.h |    8 +++++++
 2 files changed, 54 insertions(+), 4 deletions(-)

--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -318,6 +318,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;
+
 static void fb_rotate_logo_ud(const u8 *in, u8 *out, u32 width, u32 height)
 {
 	u32 size = width * height, i;
@@ -411,10 +418,22 @@ static void fb_do_show_logo(struct fb_in
 	}
 }
 
+#ifdef CONFIG_FB
+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++;
+}
+#endif
+
 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));
 
@@ -474,7 +493,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,
@@ -547,8 +580,17 @@ 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
 int fb_prepare_logo(struct fb_info *info, int rotate) { return 0; }
--- a/include/linux/linux_logo.h
+++ b/include/linux/linux_logo.h
@@ -33,5 +33,13 @@ struct linux_logo {
 };
 
 extern const struct linux_logo *fb_find_logo(int depth);
+#if defined(CONFIG_LOGO) && defined(CONFIG_FB)
+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 */

-- 
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 ������ Swift GEBABEBB08A ������ IBAN BE39001382358619



[-- Attachment #2: Type: text/plain, Size: 286 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

[-- Attachment #3: Type: text/plain, Size: 182 bytes --]

_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [patch 3/4] fbdev: SPE helper penguin logo
  2007-07-10 12:27 [patch 0/4] Cell SPE logos Geert Uytterhoeven
  2007-07-10 12:27 ` [patch 1/4] fbdev: extract fb_show_logo_line() Geert Uytterhoeven
  2007-07-10 12:27 ` [patch 2/4] fbdev: Add fb_append_extra_logo() Geert Uytterhoeven
@ 2007-07-10 12:27 ` Geert Uytterhoeven
  2007-07-10 12:27 ` [patch 4/4] Cell: Draw SPE helper penguin logos Geert Uytterhoeven
  2007-07-12 23:06 ` [patch 0/4] Cell SPE logos Andrew Morton
  4 siblings, 0 replies; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-10 12:27 UTC (permalink / raw)
  To: Antonino A. Daplas, Andrew Morton
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	Geert Uytterhoeven, James Simmons, cbe-oss-dev

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: spe-logo/logo_spe_clut224.diff --]
[-- Type: text/plain, Size: 16110 bytes --]

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>
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-By: James Simmons <jsimmons@infradead.org>
---
 drivers/video/logo/Makefile             |    2 
 drivers/video/logo/logo_spe_clut224.ppm |  283 ++++++++++++++++++++++++++++++++
 2 files changed, 285 insertions(+)

--- a/drivers/video/logo/Makefile
+++ b/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
+++ b/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

-- 
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 ������ Swift GEBABEBB08A ������ IBAN BE39001382358619



[-- Attachment #2: Type: text/plain, Size: 286 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

[-- Attachment #3: Type: text/plain, Size: 182 bytes --]

_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [patch 4/4] Cell: Draw SPE helper penguin logos
  2007-07-10 12:27 [patch 0/4] Cell SPE logos Geert Uytterhoeven
                   ` (2 preceding siblings ...)
  2007-07-10 12:27 ` [patch 3/4] fbdev: SPE helper penguin logo Geert Uytterhoeven
@ 2007-07-10 12:27 ` Geert Uytterhoeven
  2007-07-10 16:54   ` [Cbe-oss-dev] " Arnd Bergmann
  2007-07-12 23:06 ` [patch 0/4] Cell SPE logos Andrew Morton
  4 siblings, 1 reply; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-10 12:27 UTC (permalink / raw)
  To: Antonino A. Daplas, Andrew Morton
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	Geert Uytterhoeven, James Simmons, cbe-oss-dev

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: spe-logo/logo-extra-spe-glue-2.6.21.diff --]
[-- Type: text/plain, Size: 3144 bytes --]

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>
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-By: James Simmons <jsimmons@infradead.org>
---
 arch/powerpc/platforms/cell/spu_base.c   |   15 ++++++++++++++-
 arch/powerpc/platforms/cell/spu_manage.c |    4 +++-
 arch/powerpc/platforms/ps3/spu.c         |    6 ++++--
 3 files changed, 21 insertions(+), 4 deletions(-)

--- a/arch/powerpc/platforms/cell/spu_base.c
+++ b/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>
@@ -603,12 +604,24 @@ 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__);
 		goto out_unregister_sysdev_class;
 	}
 
+	if (ret > 0) {
+		/*
+		 * We cannot put the forward declaration in
+		 * <linux/linux_logo.h> because of conflicting session type
+		 * conflicts for const and __initdata with different compiler
+		 * versions
+		 */
+		extern const struct linux_logo logo_spe_clut224;
+
+		fb_append_extra_logo(&logo_spe_clut224, ret);
+	}
+
 	xmon_register_spus(&spu_full_list);
 
 	return 0;
--- a/arch/powerpc/platforms/cell/spu_manage.c
+++ b/arch/powerpc/platforms/cell/spu_manage.c
@@ -279,6 +279,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");
@@ -289,8 +290,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)
--- a/arch/powerpc/platforms/ps3/spu.c
+++ b/arch/powerpc/platforms/ps3/spu.c
@@ -400,11 +400,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 = {

-- 
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 ������ Swift GEBABEBB08A ������ IBAN BE39001382358619



[-- Attachment #2: Type: text/plain, Size: 286 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

[-- Attachment #3: Type: text/plain, Size: 182 bytes --]

_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Cbe-oss-dev] [patch 4/4] Cell: Draw SPE helper penguin logos
  2007-07-10 12:27 ` [patch 4/4] Cell: Draw SPE helper penguin logos Geert Uytterhoeven
@ 2007-07-10 16:54   ` Arnd Bergmann
  0 siblings, 0 replies; 19+ messages in thread
From: Arnd Bergmann @ 2007-07-10 16:54 UTC (permalink / raw)
  To: cbe-oss-dev
  Cc: James Simmons, Antonino A. Daplas, linux-kernel,
	Geert Uytterhoeven, linux-fbdev-devel, Andrew Morton

On Tuesday 10 July 2007, Geert Uytterhoeven wrote:
> 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>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Acked-By: James Simmons <jsimmons@infradead.org>

Acked-by: Arnd Bergmann <arnd@arndb.de>

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 0/4] Cell SPE logos
  2007-07-10 12:27 [patch 0/4] Cell SPE logos Geert Uytterhoeven
                   ` (3 preceding siblings ...)
  2007-07-10 12:27 ` [patch 4/4] Cell: Draw SPE helper penguin logos Geert Uytterhoeven
@ 2007-07-12 23:06 ` Andrew Morton
  2007-07-13  8:52   ` Geert Uytterhoeven
  4 siblings, 1 reply; 19+ messages in thread
From: Andrew Morton @ 2007-07-12 23:06 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Antonino A. Daplas, Arnd Bergmann, James Simmons,
	linux-fbdev-devel, cbe-oss-dev, linux-kernel, Paul Mackerras,
	Benjamin Herrenschmidt

On Tue, 10 Jul 2007 14:27:02 +0200
Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:

> 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.
> 
> A sample screenshot can be found at
> http://www.kernel.org/pub/linux/kernel/people/geoff/cell/debian-penguin-shot.png
> (or on the ps3linux T-shirts we wore at OLS :-)

Does this mean I'll get penguins on my PS3 now?

> Summaries:
>   [1] fbdev: extract fb_show_logo_line()
>   [2] fbdev: Add fb_append_extra_logo()

This one does give additional code and data to all fbdev users while only
being useful to cell machines.  Should we fix that?

>   [3] fbdev: SPE helper penguin logo
>   [4] Cell: Draw SPE helper penguin logos

I queued #4 up along with the fbdev patches, even though it isn't really an
fbdev patch.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 2/4] fbdev: Add fb_append_extra_logo()
  2007-07-10 12:27 ` [patch 2/4] fbdev: Add fb_append_extra_logo() Geert Uytterhoeven
@ 2007-07-13  0:15   ` Antonino A. Daplas
  2007-07-13  6:56     ` Geert Uytterhoeven
  2007-07-13  6:58     ` Geert Uytterhoeven
  0 siblings, 2 replies; 19+ messages in thread
From: Antonino A. Daplas @ 2007-07-13  0:15 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	James Simmons, Andrew Morton, cbe-oss-dev

On Tue, 2007-07-10 at 14:27 +0200, Geert Uytterhoeven wrote:
> plain text document attachment (spe-logo)
> 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>
> Acked-By: James Simmons <jsimmons@infradead.org>
> ---
>  drivers/video/fbmem.c      |   50 +++++++++++++++++++++++++++++++++++++++++----
>  include/linux/linux_logo.h |    8 +++++++
>  2 files changed, 54 insertions(+), 4 deletions(-)
> 
> --- a/drivers/video/fbmem.c
> +++ b/drivers/video/fbmem.c
> @@ -318,6 +318,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;
> +
>  static void fb_rotate_logo_ud(const u8 *in, u8 *out, u32 width, u32 height)
>  {
>  	u32 size = width * height, i;
> @@ -411,10 +418,22 @@ static void fb_do_show_logo(struct fb_in
>  	}
>  }
>  
> +#ifdef CONFIG_FB

The #ifdef is redundant.

> +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++;
> +}
> +#endif
> +
>  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));
>  
> @@ -474,7 +493,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,
> @@ -547,8 +580,17 @@ 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
>  int fb_prepare_logo(struct fb_info *info, int rotate) { return 0; }
> --- a/include/linux/linux_logo.h
> +++ b/include/linux/linux_logo.h
> @@ -33,5 +33,13 @@ struct linux_logo {
>  };
>  
>  extern const struct linux_logo *fb_find_logo(int depth);
> +#if defined(CONFIG_LOGO) && defined(CONFIG_FB)

The CONFIG_LOGO is also probably redundant, but that's arguable.

Tony



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 2/4] fbdev: Add fb_append_extra_logo()
  2007-07-13  0:15   ` Antonino A. Daplas
@ 2007-07-13  6:56     ` Geert Uytterhoeven
  2007-07-13 11:45       ` Antonino A. Daplas
  2007-07-13  6:58     ` Geert Uytterhoeven
  1 sibling, 1 reply; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-13  6:56 UTC (permalink / raw)
  To: Antonino A. Daplas
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	James Simmons, Andrew Morton, cbe-oss-dev

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1471 bytes --]

On Fri, 13 Jul 2007, Antonino A. Daplas wrote:
> On Tue, 2007-07-10 at 14:27 +0200, Geert Uytterhoeven wrote:
> > --- a/drivers/video/fbmem.c
> > +++ b/drivers/video/fbmem.c
> > @@ -318,6 +318,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;
> > +
> >  static void fb_rotate_logo_ud(const u8 *in, u8 *out, u32 width, u32 height)
> >  {
> >  	u32 size = width * height, i;
> > @@ -411,10 +418,22 @@ static void fb_do_show_logo(struct fb_in
> >  	}
> >  }
> >  
> > +#ifdef CONFIG_FB
> 
> The #ifdef is redundant.

IIRC, it's needed for the CONFIG_FB=m case.

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 · Swift GEBABEBB08A · IBAN BE39001382358619

[-- Attachment #2: Type: text/plain, Size: 286 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

[-- Attachment #3: Type: text/plain, Size: 182 bytes --]

_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 2/4] fbdev: Add fb_append_extra_logo()
  2007-07-13  0:15   ` Antonino A. Daplas
  2007-07-13  6:56     ` Geert Uytterhoeven
@ 2007-07-13  6:58     ` Geert Uytterhoeven
  2007-07-13 11:53       ` Antonino A. Daplas
  1 sibling, 1 reply; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-13  6:58 UTC (permalink / raw)
  To: Antonino A. Daplas
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	James Simmons, Andrew Morton, cbe-oss-dev

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1143 bytes --]

On Fri, 13 Jul 2007, Antonino A. Daplas wrote:
> On Tue, 2007-07-10 at 14:27 +0200, Geert Uytterhoeven wrote:
> > --- a/include/linux/linux_logo.h
> > +++ b/include/linux/linux_logo.h
> > @@ -33,5 +33,13 @@ struct linux_logo {
> >  };
> >  
> >  extern const struct linux_logo *fb_find_logo(int depth);
> > +#if defined(CONFIG_LOGO) && defined(CONFIG_FB)
> 
> The CONFIG_LOGO is also probably redundant, but that's arguable.

You can have CONFIG_LOGO without CONFIG_FB (depends on FB ||
SGI_NEWPORT_CONSOLE).

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 · Swift GEBABEBB08A · IBAN BE39001382358619

[-- Attachment #2: Type: text/plain, Size: 286 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

[-- Attachment #3: Type: text/plain, Size: 182 bytes --]

_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 0/4] Cell SPE logos
  2007-07-12 23:06 ` [patch 0/4] Cell SPE logos Andrew Morton
@ 2007-07-13  8:52   ` Geert Uytterhoeven
  2007-07-13  9:06     ` Andrew Morton
  2007-07-13 10:05     ` [Cbe-oss-dev] " Arnd Bergmann
  0 siblings, 2 replies; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-13  8:52 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-fbdev-devel, Antonino A. Daplas, Arnd Bergmann,
	Benjamin Herrenschmidt, linux-kernel, Paul Mackerras,
	James Simmons, cbe-oss-dev

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2021 bytes --]

On Thu, 12 Jul 2007, Andrew Morton wrote:
> On Tue, 10 Jul 2007 14:27:02 +0200
> Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:
> 
> > 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.
> > 
> > A sample screenshot can be found at
> > http://www.kernel.org/pub/linux/kernel/people/geoff/cell/debian-penguin-shot.png
> > (or on the ps3linux T-shirts we wore at OLS :-)
> 
> Does this mean I'll get penguins on my PS3 now?

Sure!

> > Summaries:
> >   [1] fbdev: extract fb_show_logo_line()
> >   [2] fbdev: Add fb_append_extra_logo()
> 
> This one does give additional code and data to all fbdev users while only
> being useful to cell machines.  Should we fix that?

I can protect it by #ifdef CONFIG_PPC_CELL (as long as there are no other
users). Would that be OK?

> >   [3] fbdev: SPE helper penguin logo
> >   [4] Cell: Draw SPE helper penguin logos
> 
> I queued #4 up along with the fbdev patches, even though it isn't really an
> fbdev patch.

OK, thanks!

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 · Swift GEBABEBB08A · IBAN BE39001382358619

[-- Attachment #2: Type: text/plain, Size: 286 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

[-- Attachment #3: Type: text/plain, Size: 182 bytes --]

_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 0/4] Cell SPE logos
  2007-07-13  8:52   ` Geert Uytterhoeven
@ 2007-07-13  9:06     ` Andrew Morton
  2007-07-13  9:09       ` Geert Uytterhoeven
  2007-07-13 10:05     ` [Cbe-oss-dev] " Arnd Bergmann
  1 sibling, 1 reply; 19+ messages in thread
From: Andrew Morton @ 2007-07-13  9:06 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Antonino A. Daplas, Arnd Bergmann, James Simmons,
	linux-fbdev-devel, cbe-oss-dev, linux-kernel, Paul Mackerras,
	Benjamin Herrenschmidt

On Fri, 13 Jul 2007 10:52:10 +0200 (CEST) Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:

> > > Summaries:
> > >   [1] fbdev: extract fb_show_logo_line()
> > >   [2] fbdev: Add fb_append_extra_logo()
> > 
> > This one does give additional code and data to all fbdev users while only
> > being useful to cell machines.  Should we fix that?
> 
> I can protect it by #ifdef CONFIG_PPC_CELL (as long as there are no other
> users). Would that be OK?

umm, your call.  If that makes sense, sure.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 0/4] Cell SPE logos
  2007-07-13  9:06     ` Andrew Morton
@ 2007-07-13  9:09       ` Geert Uytterhoeven
  2007-07-13 12:30         ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-13  9:09 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-fbdev-devel, Antonino A. Daplas, Arnd Bergmann,
	Benjamin Herrenschmidt, linux-kernel, Paul Mackerras,
	James Simmons, cbe-oss-dev

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1360 bytes --]

On Fri, 13 Jul 2007, Andrew Morton wrote:
> On Fri, 13 Jul 2007 10:52:10 +0200 (CEST) Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:
> 
> > > > Summaries:
> > > >   [1] fbdev: extract fb_show_logo_line()
> > > >   [2] fbdev: Add fb_append_extra_logo()
> > > 
> > > This one does give additional code and data to all fbdev users while only
> > > being useful to cell machines.  Should we fix that?
> > 
> > I can protect it by #ifdef CONFIG_PPC_CELL (as long as there are no other
> > users). Would that be OK?
> 
> umm, your call.  If that makes sense, sure.

I just don't like putting platform-specific checks in common code.

Perhaps I better add CONFIG_FB_LOGO_EXTRA and make it depend on
CONFIG_PPC_CELL?

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 · Swift GEBABEBB08A · IBAN BE39001382358619

[-- Attachment #2: Type: text/plain, Size: 286 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

[-- Attachment #3: Type: text/plain, Size: 182 bytes --]

_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Cbe-oss-dev] [patch 0/4] Cell SPE logos
  2007-07-13  8:52   ` Geert Uytterhoeven
  2007-07-13  9:06     ` Andrew Morton
@ 2007-07-13 10:05     ` Arnd Bergmann
  1 sibling, 0 replies; 19+ messages in thread
From: Arnd Bergmann @ 2007-07-13 10:05 UTC (permalink / raw)
  To: cbe-oss-dev
  Cc: James Simmons, Antonino A. Daplas, linux-kernel,
	Geert Uytterhoeven, linux-fbdev-devel, Andrew Morton

On Friday 13 July 2007, Geert Uytterhoeven wrote:
> > > Summaries:
> > >   [1] fbdev: extract fb_show_logo_line()
> > >   [2] fbdev: Add fb_append_extra_logo()
> > 
> > This one does give additional code and data to all fbdev users while only
> > being useful to cell machines.  Should we fix that?
> 
> I can protect it by #ifdef CONFIG_PPC_CELL (as long as there are no other
> users). Would that be OK?

If you want to have an #ifdef in there, it should probably be
CONFIG_FB_EXTRA_LOGO and have that autoselected by CONFIG_SPU_BASE.

A nicer alternative to the #ifdef might be to mark it __init, so
that it will just go away after boot. Not sure if that's safe
though.

	Arnd <><

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 2/4] fbdev: Add fb_append_extra_logo()
  2007-07-13  6:56     ` Geert Uytterhoeven
@ 2007-07-13 11:45       ` Antonino A. Daplas
  2007-07-13 12:02         ` Geert Uytterhoeven
  0 siblings, 1 reply; 19+ messages in thread
From: Antonino A. Daplas @ 2007-07-13 11:45 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	James Simmons, Andrew Morton, cbe-oss-dev

On Fri, 2007-07-13 at 08:56 +0200, Geert Uytterhoeven wrote:
> On Fri, 13 Jul 2007, Antonino A. Daplas wrote:
> > On Tue, 2007-07-10 at 14:27 +0200, Geert Uytterhoeven wrote:
> > > --- a/drivers/video/fbmem.c
> > > +++ b/drivers/video/fbmem.c
> > > @@ -318,6 +318,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;
> > > +
> > >  static void fb_rotate_logo_ud(const u8 *in, u8 *out, u32 width, u32 height)
> > >  {
> > >  	u32 size = width * height, i;
> > > @@ -411,10 +418,22 @@ static void fb_do_show_logo(struct fb_in
> > >  	}
> > >  }
> > >  
> > > +#ifdef CONFIG_FB
> > 
> > The #ifdef is redundant.
> 
> IIRC, it's needed for the CONFIG_FB=m case.

What would happen if CONFIG_FB=m? (We already have a patch that prevents
logo drawing if the driver or fbcon is modular)

Tony



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 2/4] fbdev: Add fb_append_extra_logo()
  2007-07-13  6:58     ` Geert Uytterhoeven
@ 2007-07-13 11:53       ` Antonino A. Daplas
  0 siblings, 0 replies; 19+ messages in thread
From: Antonino A. Daplas @ 2007-07-13 11:53 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	James Simmons, Andrew Morton, cbe-oss-dev

On Fri, 2007-07-13 at 08:58 +0200, Geert Uytterhoeven wrote:
> On Fri, 13 Jul 2007, Antonino A. Daplas wrote:
> > On Tue, 2007-07-10 at 14:27 +0200, Geert Uytterhoeven wrote:
> > > --- a/include/linux/linux_logo.h
> > > +++ b/include/linux/linux_logo.h
> > > @@ -33,5 +33,13 @@ struct linux_logo {
> > >  };
> > >  
> > >  extern const struct linux_logo *fb_find_logo(int depth);
> > > +#if defined(CONFIG_LOGO) && defined(CONFIG_FB)
> > 
> > The CONFIG_LOGO is also probably redundant, but that's arguable.
> 
> You can have CONFIG_LOGO without CONFIG_FB (depends on FB ||
> SGI_NEWPORT_CONSOLE).
> 

Okay.

Tony 



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 2/4] fbdev: Add fb_append_extra_logo()
  2007-07-13 11:45       ` Antonino A. Daplas
@ 2007-07-13 12:02         ` Geert Uytterhoeven
  0 siblings, 0 replies; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-13 12:02 UTC (permalink / raw)
  To: Antonino A. Daplas
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	James Simmons, Andrew Morton, cbe-oss-dev

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1895 bytes --]

On Fri, 13 Jul 2007, Antonino A. Daplas wrote:
> On Fri, 2007-07-13 at 08:56 +0200, Geert Uytterhoeven wrote:
> > On Fri, 13 Jul 2007, Antonino A. Daplas wrote:
> > > On Tue, 2007-07-10 at 14:27 +0200, Geert Uytterhoeven wrote:
> > > > --- a/drivers/video/fbmem.c
> > > > +++ b/drivers/video/fbmem.c
> > > > @@ -318,6 +318,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;
> > > > +
> > > >  static void fb_rotate_logo_ud(const u8 *in, u8 *out, u32 width, u32 height)
> > > >  {
> > > >  	u32 size = width * height, i;
> > > > @@ -411,10 +418,22 @@ static void fb_do_show_logo(struct fb_in
> > > >  	}
> > > >  }
> > > >  
> > > > +#ifdef CONFIG_FB
> > > 
> > > The #ifdef is redundant.
> > 
> > IIRC, it's needed for the CONFIG_FB=m case.
> 
> What would happen if CONFIG_FB=m? (We already have a patch that prevents
> logo drawing if the driver or fbcon is modular)

Then we use the dummy fb_append_extra_logo() in <linux/linux_logo.h>.

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 · Swift GEBABEBB08A · IBAN BE39001382358619

[-- Attachment #2: Type: text/plain, Size: 286 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

[-- Attachment #3: Type: text/plain, Size: 182 bytes --]

_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch 0/4] Cell SPE logos
  2007-07-13  9:09       ` Geert Uytterhoeven
@ 2007-07-13 12:30         ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 19+ messages in thread
From: Benjamin Herrenschmidt @ 2007-07-13 12:30 UTC (permalink / raw)
  To: linux-fbdev-devel
  Cc: James Simmons, Antonino A. Daplas, Arnd Bergmann, linux-kernel,
	Paul Mackerras, Andrew Morton, cbe-oss-dev

On Fri, 2007-07-13 at 11:09 +0200, Geert Uytterhoeven wrote:
> On Fri, 13 Jul 2007, Andrew Morton wrote:
> > On Fri, 13 Jul 2007 10:52:10 +0200 (CEST) Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:
> > 
> > > > > Summaries:
> > > > >   [1] fbdev: extract fb_show_logo_line()
> > > > >   [2] fbdev: Add fb_append_extra_logo()
> > > > 
> > > > This one does give additional code and data to all fbdev users while only
> > > > being useful to cell machines.  Should we fix that?
> > > 
> > > I can protect it by #ifdef CONFIG_PPC_CELL (as long as there are no other
> > > users). Would that be OK?
> > 
> > umm, your call.  If that makes sense, sure.
> 
> I just don't like putting platform-specific checks in common code.
> 
> Perhaps I better add CONFIG_FB_LOGO_EXTRA and make it depend on
> CONFIG_PPC_CELL?

I hate depends when it's not a dependency... the logo extra code doesn't
-depend- technically on cell (it doesn't call cell only stuff). However,
cell wants it enabled, thus I'd rather use either the "default y if
PP_CELL" construct or select it from the cell option.

Ben.
 


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [patch 2/4] fbdev: Add fb_append_extra_logo()
  2007-07-16 13:55 Geert Uytterhoeven
@ 2007-07-16 13:55 ` Geert Uytterhoeven
  0 siblings, 0 replies; 19+ messages in thread
From: Geert Uytterhoeven @ 2007-07-16 13:55 UTC (permalink / raw)
  To: Antonino A. Daplas, Andrew Morton
  Cc: linux-fbdev-devel, Geoff Levand, Arnd Bergmann, linux-kernel,
	Geert Uytterhoeven, James Simmons, cbe-oss-dev

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: spe-logo/fb_append_extra_logo.diff --]
[-- Type: text/plain, Size: 7447 bytes --]

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>
Acked-By: James Simmons <jsimmons@infradead.org>
---
Changes since last version:
  - Introduce CONFIG_FB_LOGO_EXTRA to protect all new code
  - Move fb_prepare_logo() down to satisfy declaration dependencies

 drivers/video/fbmem.c      |  210 ++++++++++++++++++++++++++++++---------------
 drivers/video/logo/Kconfig |    4 
 include/linux/linux_logo.h |    8 +
 3 files changed, 154 insertions(+), 68 deletions(-)

--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -411,72 +411,6 @@ static void fb_do_show_logo(struct fb_in
 	}
 }
 
-int fb_prepare_logo(struct fb_info *info, int rotate)
-{
-	int depth = fb_get_color_depth(&info->var, &info->fix);
-	int yres;
-
-	memset(&fb_logo, 0, sizeof(struct logo_data));
-
-	if (info->flags & FBINFO_MISC_TILEBLITTING ||
-	    info->flags & FBINFO_MODULE)
-		return 0;
-
-	if (info->fix.visual == FB_VISUAL_DIRECTCOLOR) {
-		depth = info->var.blue.length;
-		if (info->var.red.length < depth)
-			depth = info->var.red.length;
-		if (info->var.green.length < depth)
-			depth = info->var.green.length;
-	}
-
-	if (info->fix.visual == FB_VISUAL_STATIC_PSEUDOCOLOR && depth > 4) {
-		/* assume console colormap */
-		depth = 4;
-	}
-
-	if (depth >= 8) {
-		switch (info->fix.visual) {
-		case FB_VISUAL_TRUECOLOR:
-			fb_logo.needs_truepalette = 1;
-			break;
-		case FB_VISUAL_DIRECTCOLOR:
-			fb_logo.needs_directpalette = 1;
-			fb_logo.needs_cmapreset = 1;
-			break;
-		case FB_VISUAL_PSEUDOCOLOR:
-			fb_logo.needs_cmapreset = 1;
-			break;
-		}
-	}
-
-	/* Return if no suitable logo was found */
-	fb_logo.logo = fb_find_logo(depth);
-
-	if (!fb_logo.logo) {
-		return 0;
-	}
-	
-	if (rotate == FB_ROTATE_UR || rotate == FB_ROTATE_UD)
-		yres = info->var.yres;
-	else
-		yres = info->var.xres;
-
-	if (fb_logo.logo->height > yres) {
-		fb_logo.logo = NULL;
-		return 0;
-	}
-
-	/* What depth we asked for might be different from what we get */
-	if (fb_logo.logo->type == LINUX_LOGO_CLUT224)
-		fb_logo.depth = 8;
-	else if (fb_logo.logo->type == LINUX_LOGO_VGA16)
-		fb_logo.depth = 4;
-	else
-		fb_logo.depth = 1;		
-	return fb_logo.logo->height;
-}
-
 static int fb_show_logo_line(struct fb_info *info, int rotate,
 			     const struct linux_logo *logo, int y,
 			     unsigned int n)
@@ -545,10 +479,150 @@ static int fb_show_logo_line(struct fb_i
 	return logo->height;
 }
 
+
+#ifdef CONFIG_FB_LOGO_EXTRA
+
+#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;
+
+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++;
+}
+
+static int fb_prepare_extra_logos(struct fb_info *info, unsigned int height,
+				  unsigned int yres)
+{
+	unsigned int i;
+
+	/* FIXME: logo_ex supports only truecolor fb. */
+	if (info->fix.visual != FB_VISUAL_TRUECOLOR)
+		fb_logo_ex_num = 0;
+
+	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_extra_logos(struct fb_info *info, int y, int rotate)
+{
+	unsigned int i;
+
+	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 /* !CONFIG_FB_LOGO_EXTRA */
+
+static inline int fb_prepare_extra_logos(struct fb_info *info,
+					 unsigned int height,
+					 unsigned int yres)
+{
+	return height;
+}
+
+static inline int fb_show_extra_logos(struct fb_info *info, int y, int rotate)
+{
+	return y;
+}
+
+#endif /* CONFIG_FB_LOGO_EXTRA */
+
+
+int fb_prepare_logo(struct fb_info *info, int rotate)
+{
+	int depth = fb_get_color_depth(&info->var, &info->fix);
+	unsigned int yres;
+
+	memset(&fb_logo, 0, sizeof(struct logo_data));
+
+	if (info->flags & FBINFO_MISC_TILEBLITTING ||
+	    info->flags & FBINFO_MODULE)
+		return 0;
+
+	if (info->fix.visual == FB_VISUAL_DIRECTCOLOR) {
+		depth = info->var.blue.length;
+		if (info->var.red.length < depth)
+			depth = info->var.red.length;
+		if (info->var.green.length < depth)
+			depth = info->var.green.length;
+	}
+
+	if (info->fix.visual == FB_VISUAL_STATIC_PSEUDOCOLOR && depth > 4) {
+		/* assume console colormap */
+		depth = 4;
+	}
+
+	if (depth >= 8) {
+		switch (info->fix.visual) {
+		case FB_VISUAL_TRUECOLOR:
+			fb_logo.needs_truepalette = 1;
+			break;
+		case FB_VISUAL_DIRECTCOLOR:
+			fb_logo.needs_directpalette = 1;
+			fb_logo.needs_cmapreset = 1;
+			break;
+		case FB_VISUAL_PSEUDOCOLOR:
+			fb_logo.needs_cmapreset = 1;
+			break;
+		}
+	}
+
+	/* Return if no suitable logo was found */
+	fb_logo.logo = fb_find_logo(depth);
+
+	if (!fb_logo.logo) {
+		return 0;
+	}
+
+	if (rotate == FB_ROTATE_UR || rotate == FB_ROTATE_UD)
+		yres = info->var.yres;
+	else
+		yres = info->var.xres;
+
+	if (fb_logo.logo->height > yres) {
+		fb_logo.logo = NULL;
+		return 0;
+	}
+
+	/* What depth we asked for might be different from what we get */
+	if (fb_logo.logo->type == LINUX_LOGO_CLUT224)
+		fb_logo.depth = 8;
+	else if (fb_logo.logo->type == LINUX_LOGO_VGA16)
+		fb_logo.depth = 4;
+	else
+		fb_logo.depth = 1;
+
+	return fb_prepare_extra_logos(info, fb_logo.logo->height, yres);
+}
+
 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;
+
+	y = fb_show_logo_line(info, rotate, fb_logo.logo, 0,
+			      num_online_cpus());
+	y = fb_show_extra_logos(info, y, rotate);
+
+	return y;
 }
 #else
 int fb_prepare_logo(struct fb_info *info, int rotate) { return 0; }
--- a/drivers/video/logo/Kconfig
+++ b/drivers/video/logo/Kconfig
@@ -10,6 +10,10 @@ menuconfig LOGO
 
 if LOGO
 
+config FB_LOGO_EXTRA
+	bool
+	depends on FB
+
 config LOGO_LINUX_MONO
 	bool "Standard black and white Linux logo"
 	default y
--- a/include/linux/linux_logo.h
+++ b/include/linux/linux_logo.h
@@ -33,5 +33,13 @@ struct linux_logo {
 };
 
 extern const struct linux_logo *fb_find_logo(int depth);
+#ifdef CONFIG_FB_LOGO_EXTRA
+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 */

-- 
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 ������ Swift GEBABEBB08A ������ IBAN BE39001382358619



[-- Attachment #2: Type: text/plain, Size: 286 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

[-- Attachment #3: Type: text/plain, Size: 182 bytes --]

_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2007-07-16 14:01 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-10 12:27 [patch 0/4] Cell SPE logos Geert Uytterhoeven
2007-07-10 12:27 ` [patch 1/4] fbdev: extract fb_show_logo_line() Geert Uytterhoeven
2007-07-10 12:27 ` [patch 2/4] fbdev: Add fb_append_extra_logo() Geert Uytterhoeven
2007-07-13  0:15   ` Antonino A. Daplas
2007-07-13  6:56     ` Geert Uytterhoeven
2007-07-13 11:45       ` Antonino A. Daplas
2007-07-13 12:02         ` Geert Uytterhoeven
2007-07-13  6:58     ` Geert Uytterhoeven
2007-07-13 11:53       ` Antonino A. Daplas
2007-07-10 12:27 ` [patch 3/4] fbdev: SPE helper penguin logo Geert Uytterhoeven
2007-07-10 12:27 ` [patch 4/4] Cell: Draw SPE helper penguin logos Geert Uytterhoeven
2007-07-10 16:54   ` [Cbe-oss-dev] " Arnd Bergmann
2007-07-12 23:06 ` [patch 0/4] Cell SPE logos Andrew Morton
2007-07-13  8:52   ` Geert Uytterhoeven
2007-07-13  9:06     ` Andrew Morton
2007-07-13  9:09       ` Geert Uytterhoeven
2007-07-13 12:30         ` Benjamin Herrenschmidt
2007-07-13 10:05     ` [Cbe-oss-dev] " Arnd Bergmann
  -- strict thread matches above, loose matches on Subject: below --
2007-07-16 13:55 Geert Uytterhoeven
2007-07-16 13:55 ` [patch 2/4] fbdev: Add fb_append_extra_logo() Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).