public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Anatolij Gustschin <agust@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/6] video: cfb_console: logo can be positioned via the splashpos variable
Date: Sun, 2 Sep 2012 00:50:45 +0200	[thread overview]
Message-ID: <20120902005045.46f464fc@wker> (raw)
In-Reply-To: <1344583606-12778-3-git-send-email-Bastian.Ruppert@Sewerin.de>

Hi Bastian,

there is a number of issues with this patch, please see comments
below.

On Fri, 10 Aug 2012 09:26:43 +0200
Bastian Ruppert <Bastian.Ruppert@Sewerin.de> wrote:

> Signed-off-by: Bastian Ruppert <Bastian.Ruppert@Sewerin.de>
> CC: Anatolij Gustschin <agust@denx.de>
> CC: Tom Rini <trini@ti.com>
> CC: Stefano Babic <sbabic@denx.de>
> ---
>  drivers/video/cfb_console.c |   61 ++++++++++++++++++++++++++++---------------
>  1 files changed, 40 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
> index 19d061f..21b52bd 100644
> --- a/drivers/video/cfb_console.c
> +++ b/drivers/video/cfb_console.c
> @@ -66,7 +66,11 @@
>   * CONFIG_CONSOLE_TIME	      - display time/date in upper right
>   *				corner, needs CONFIG_CMD_DATE and
>   *				CONFIG_CONSOLE_CURSOR
> - * CONFIG_VIDEO_LOGO	      - display Linux Logo in upper left corner
> + * CONFIG_VIDEO_LOGO	      - display Linux Logo in upper left corner.
> + *				Use CONFIG_SPLASH_SCREEN_ALIGN with
> + *				environment variable "splashpos" to place
> + *				the logo on other position. In this case
> + *				no CONSOLE_EXTRA_INFO is possible.
>   * CONFIG_VIDEO_BMP_LOGO      - use bmp_logo instead of linux_logo
>   * CONFIG_CONSOLE_EXTRA_INFO  - display additional board information
>   *				strings that normaly goes to serial
> @@ -369,6 +373,8 @@ 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 video_logo_xpos;
> +static int video_logo_ypos;
>  
>  static int __maybe_unused cursor_state;
>  static int __maybe_unused old_col;
> @@ -1594,40 +1600,53 @@ static void *video_logo(void)
>  	__maybe_unused int y_off = 0;
>  
>  #ifdef CONFIG_SPLASH_SCREEN
> -	char *s;
>  	ulong addr;
> -
> -	s = getenv("splashimage");
> +#endif
> +#if defined(CONFIG_SPLASH_SCREEN) || defined(CONFIG_SPLASH_SCREEN_ALIGN)
> +	char *s;
> +#endif

these ifdefs should be better reduced, I think we can use __maybe_unused
here, like for y_off above.

> +#ifdef CONFIG_SPLASH_SCREEN_ALIGN
> +	s = getenv("splashpos");
>  	if (s != NULL) {
> -		int x = 0, y = 0;
> +		if (s[0] == 'm')
> +			video_logo_xpos = BMP_ALIGN_CENTER;

The 'm' case will work with splashscreen, but not with the video logo.
There is no proper offset calculation in logo_plot() if xpos or ypos
are set to BMP_ALIGN_CENTER. As a result the logo offset will be wrong
and an access to wrong offset can even brick the board (on boards with
small frame buffers).

...
> +
> +		if (video_display_bitmap(addr,			\
> +					video_logo_xpos,	\

no need to use "\" here.

...
> +	logo_plot(video_fb_address,		\
> +		VIDEO_COLS,			\
> +		video_logo_xpos,		\

ditto.

...
> +#ifdef CONFIG_SPLASH_SCREEN_ALIGN
> +	/* when using splashpos for video_logo, no console output */
> +	return (video_fb_address + video_logo_height * VIDEO_LINE_LEN);

The returned address is used as text console offset, so if the logo is
moved down, the video_logo_height should be increased by video_logo_ypos.
Otherwise the text and cursor positions will be wrong in the video
console.

I've fixed these issues and submitted a patch v2 3/6. Please test.

Thanks,

Anatolij

  parent reply	other threads:[~2012-09-01 22:50 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-10  7:26 [U-Boot] [PATCH 1/6] davinci: ea20: reorganisation LCD startup Bastian Ruppert
2012-08-10  7:26 ` [U-Boot] [PATCH 2/6] davinci: ea20: the console is always set to the serial line Bastian Ruppert
2012-08-15 17:04   ` Stefano Babic
2012-08-10  7:26 ` [U-Boot] [PATCH 3/6] video: cfb_console: logo can be positioned via the splashpos variable Bastian Ruppert
2012-09-01 22:29   ` [U-Boot] [PATCH v2 " Anatolij Gustschin
2012-09-05 10:52     ` Bastian.Ruppert at sewerin.de
2012-09-05 11:11       ` Anatolij Gustschin
2012-09-06  6:07     ` [U-Boot] [PATCH v3 1/6] davinci: ea20: reorganisation LCD startup Bastian Ruppert
2012-09-06  6:07     ` [U-Boot] [PATCH v3 2/6] davinci: ea20: the console is always set to the serial line Bastian Ruppert
2012-09-06  6:07     ` [U-Boot] [PATCH v3 3/6] video: cfb_console: logo can be positioned via the splashpos variable Bastian Ruppert
2012-09-06 18:55       ` Anatolij Gustschin
2012-09-06  6:07     ` [U-Boot] [PATCH v3 4/6] video: cfb_console: add function to plot the logo area black Bastian Ruppert
2012-09-06 18:56       ` Anatolij Gustschin
2012-09-06  6:07     ` [U-Boot] [PATCH v3 5/6] da850/omap-l138: davinci_emac: Suppress auto negotiation if needed Bastian Ruppert
2012-09-07  8:08       ` Prabhakar Lad
2012-09-09  2:14         ` Tom Rini
2012-09-10  6:01           ` Bastian.Ruppert at sewerin.de
2012-09-10 16:08             ` Tom Rini
2012-09-11  4:16               ` Prabhakar Lad
2012-09-11  5:32                 ` Bastian.Ruppert at sewerin.de
2012-09-12 16:15                   ` Tom Rini
2012-09-06  6:07     ` [U-Boot] [PATCH v3 6/6] davinci: ea20: add some configs and default environmet variables Bastian Ruppert
2012-09-01 22:50   ` Anatolij Gustschin [this message]
2012-09-05 10:52     ` [U-Boot] [PATCH 3/6] video: cfb_console: logo can be positioned via the splashpos variable Bastian.Ruppert at sewerin.de
2012-09-14  8:28     ` [U-Boot] [PATCH v4 1/6] davinci: ea20: reorganisation LCD startup Bastian Ruppert
2012-09-14  8:29     ` [U-Boot] [PATCH v4 2/6] davinci: ea20: the console is always set to the serial line Bastian Ruppert
2012-09-14  8:29     ` [U-Boot] [PATCH v4 3/6] video: cfb_console: logo can be positioned via the splashpos variable Bastian Ruppert
2012-09-14  8:29     ` [U-Boot] [PATCH v4 4/6] video: cfb_console: add function to plot the logo area black Bastian Ruppert
2012-09-14  8:29     ` [U-Boot] [PATCH v4 5/6] da850/omap-l138: davinci_emac: Suppress auto negotiation if needed Bastian Ruppert
2012-09-17  5:19       ` Prabhakar Lad
2012-09-14  8:29     ` [U-Boot] [PATCH v4 6/6] davinci: ea20: add some configs and default environmet variables Bastian Ruppert
2012-08-10  7:26 ` [U-Boot] [PATCH 4/6] video: cfb_console: add function to plot the logo area black Bastian Ruppert
2012-08-10  7:26 ` [U-Boot] [PATCH 5/6] da850/omap-l138: davinci_emac: Suppress auto negotiation if needed Bastian Ruppert
2012-08-15 17:04   ` Stefano Babic
2012-08-10  7:26 ` [U-Boot] [PATCH 6/6] davinci: ea20: add some configs and default environmet variables Bastian Ruppert
2012-08-15 17:03   ` Stefano Babic
2012-08-15 16:55 ` [U-Boot] [PATCH 1/6] davinci: ea20: reorganisation LCD startup Tom Rini
2012-08-24 17:55   ` Tom Rini
2012-09-07  4:48     ` Bastian.Ruppert at sewerin.de
2012-08-15 17:04 ` Stefano Babic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120902005045.46f464fc@wker \
    --to=agust@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox