lkml.org 
[lkml]   [2007]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH 0/7] RFC: Cell SPE logos
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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2007-02-12 14:57    [W:0.099 / U:2.532 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site