Dear Anatolij,

In message <1263294391-15715-1-git-send-email-matthias.weis...@graf-syteco.de> 
Matthias Weisser wrote:
> If a splashscreen is used the console scrolling used the
> scroll size as needed when a logo was displayd. This
> patch sets the scroll size to the whole screen if
> a splashscreen is shown.
> 
> Signed-off-by: Matthias Weisser <matthias.weis...@graf-syteco.de>
> ---
>  drivers/video/cfb_console.c |   21 ++++++++++++---------
>  1 files changed, 12 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
> index 506337b..2391f31 100644
> --- a/drivers/video/cfb_console.c
> +++ b/drivers/video/cfb_console.c
> @@ -260,7 +260,7 @@ void      console_cursor (int state);
>  #define CURSOR_ON
>  #define CURSOR_OFF
>  #define CURSOR_SET video_set_hw_cursor(console_col * VIDEO_FONT_WIDTH, \
> -               (console_row * VIDEO_FONT_HEIGHT) + VIDEO_LOGO_HEIGHT);
> +               (console_row * VIDEO_FONT_HEIGHT) + video_logo_height);
>  #endif       /* CONFIG_VIDEO_HW_CURSOR */
>  
>  #ifdef       CONFIG_VIDEO_LOGO
> @@ -298,7 +298,7 @@ void      console_cursor (int state);
>  #define VIDEO_BURST_LEN              (VIDEO_COLS/8)
>  
>  #ifdef       CONFIG_VIDEO_LOGO
> -#define CONSOLE_ROWS         ((VIDEO_ROWS - VIDEO_LOGO_HEIGHT) / 
> VIDEO_FONT_HEIGHT)
> +#define CONSOLE_ROWS         ((VIDEO_ROWS - video_logo_height) / 
> VIDEO_FONT_HEIGHT)
>  #else
>  #define CONSOLE_ROWS         (VIDEO_ROWS / VIDEO_FONT_HEIGHT)
>  #endif
> @@ -349,6 +349,8 @@ static GraphicDevice *pGD;        /* Pointer to Graphic 
> array */
>  static void *video_fb_address;               /* frame buffer address */
>  static void *video_console_address;  /* console buffer start address */
>  
> +static int video_logo_height = VIDEO_LOGO_HEIGHT;
> +
>  static int console_col = 0; /* cursor col */
>  static int console_row = 0; /* cursor row */
>  
> @@ -527,7 +529,7 @@ static inline void video_drawstring (int xx, int yy, 
> unsigned char *s)
>  
>  static void video_putchar (int xx, int yy, unsigned char c)
>  {
> -     video_drawchars (xx, yy + VIDEO_LOGO_HEIGHT, &c, 1);
> +     video_drawchars (xx, yy + video_logo_height, &c, 1);
>  }
>  
>  
> /*****************************************************************************/
> @@ -620,11 +622,11 @@ static void console_scrollup (void)
>  #ifdef VIDEO_HW_BITBLT
>       video_hw_bitblt (VIDEO_PIXEL_SIZE,      /* bytes per pixel */
>                        0,     /* source pos x */
> -                      VIDEO_LOGO_HEIGHT + VIDEO_FONT_HEIGHT, /* source pos y 
> */
> +                      video_logo_height + VIDEO_FONT_HEIGHT, /* source pos y 
> */
>                        0,     /* dest pos x */
> -                      VIDEO_LOGO_HEIGHT,     /* dest pos y */
> +                      video_logo_height,     /* dest pos y */
>                        VIDEO_VISIBLE_COLS,    /* frame width */
> -                      VIDEO_VISIBLE_ROWS - VIDEO_LOGO_HEIGHT - 
> VIDEO_FONT_HEIGHT     /* frame height */
> +                      VIDEO_VISIBLE_ROWS - video_logo_height - 
> VIDEO_FONT_HEIGHT     /* frame height */
>               );
>  #else
>       memcpyl (CONSOLE_ROW_FIRST, CONSOLE_ROW_SECOND,
> @@ -1101,7 +1103,7 @@ void logo_plot (void *screen, int width, int x, int y)
>  
>       int xcount, i;
>       int skip   = (width - VIDEO_LOGO_WIDTH) * VIDEO_PIXEL_SIZE;
> -     int ycount = VIDEO_LOGO_HEIGHT;
> +     int ycount = video_logo_height;
>       unsigned char r, g, b, *logo_red, *logo_blue, *logo_green;
>       unsigned char *source;
>       unsigned char *dest = (unsigned char *)screen +
> @@ -1225,6 +1227,7 @@ static void *video_logo (void)
>  #endif /* CONFIG_SPLASH_SCREEN_ALIGN */
>  
>               if (video_display_bitmap (addr, x, y) == 0) {
> +                     video_logo_height = 0;
>                       return ((void *) (video_fb_address));
>               }
>       }
> @@ -1249,7 +1252,7 @@ static void *video_logo (void)
>  
>  #ifdef CONFIG_CONSOLE_EXTRA_INFO
>       {
> -             int i, n = ((VIDEO_LOGO_HEIGHT - VIDEO_FONT_HEIGHT) / 
> VIDEO_FONT_HEIGHT);
> +             int i, n = ((video_logo_height - VIDEO_FONT_HEIGHT) / 
> VIDEO_FONT_HEIGHT);
>  
>               for (i = 1; i < n; i++) {
>                       video_get_info_str (i, info);
> @@ -1278,7 +1281,7 @@ static void *video_logo (void)
>       }
>  #endif
>  
> -     return (video_fb_address + VIDEO_LOGO_HEIGHT * VIDEO_LINE_LEN);
> +     return (video_fb_address + video_logo_height * VIDEO_LINE_LEN);
>  }
>  #endif
>  
> -- 

What's the status of this patch? Is it on your queue?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
They're usually so busy thinking about what  happens  next  that  the
only  time they ever find out what is happening now is when they come
to look back on it.                 - Terry Pratchett, _Wyrd Sisters_
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to