All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bastian.Ruppert at sewerin.de <Bastian.Ruppert@sewerin.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: Wed, 5 Sep 2012 12:52:56 +0200	[thread overview]
Message-ID: <OF1E509E27.37327712-ONC1257A70.0039BD14-C1257A70.003BE9F0@sewerin.de> (raw)
In-Reply-To: <20120902005045.46f464fc@wker>


> Hi Bastian,

Hello Anatolij,

>
> 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.

OK.

> > +#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.
>
> ...

OK.

> > +#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


Thank you for your effort,

Bastian.

  reply	other threads:[~2012-09-05 10:52 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   ` [U-Boot] [PATCH 3/6] video: cfb_console: logo can be positioned via the splashpos variable Anatolij Gustschin
2012-09-05 10:52     ` Bastian.Ruppert at sewerin.de [this message]
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=OF1E509E27.37327712-ONC1257A70.0039BD14-C1257A70.003BE9F0@sewerin.de \
    --to=bastian.ruppert@sewerin.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.