lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 6 Jul 2023 21:33:05 +0200
From:   Miguel Ojeda <miguel.ojeda.sandonis@...il.com>
To:     Hugo Villeneuve <hugo@...ovil.com>
Cc:     Miguel Ojeda <ojeda@...nel.org>,
        Hugo Villeneuve <hvilleneuve@...onoff.com>,
        linux-kernel@...r.kernel.org, Lars Poeschel <poeschel@...onage.de>,
        geert@...ux-m68k.org
Subject: Re: [PATCH] auxdisplay: hd44780: move cursor home after clear display command

On Thu, Jul 6, 2023 at 8:51 PM Hugo Villeneuve <hugo@...ovil.com> wrote:
>
> The "clear display" command on the NewHaven NHD-0220DZW-AG5 display
> does NOT change the DDRAM address to 00h (home position) like the
> standard Hitachi HD44780 controller. As a consequence, the starting
> position of the initial string LCD_INIT_TEXT is not guaranteed to be
> at 0,0 depending on where the cursor was before the clear display
> command.
>
> Extract of CLEAR_DISPLAY command from datasheets of:
>
>     Hitachi HD44780:
>         ... It then sets DDRAM address 0 into the address counter...
>
>     NewHaven NHD-0220DZW-AG5 datasheet:
>         ... This instruction does not change the DDRAM Address
>
> Move the cursor home after sending clear display command to support
> non-standard LCDs.
>
> Signed-off-by: Hugo Villeneuve <hvilleneuve@...onoff.com>

Thanks! Sounds good to me, as long the extra command does not
introduce some issue with the actual HD44780 -- can we double-check
the HD44780 still works as expected?

Cc'ing Lars and Geert since they may be able to give it a quick test.

> +       /*
> +        * Some LCDs (ex: NewHaven) do not reset the DDRAM address when
> +        * executing the CLEAR_DISPLAY command. Explicitely move cursor
> +        * to home position to account for these non-standard LCDs:
> +        */
> +       return hd44780_common_home(lcd);

Few nits:

  - Explicitely -> Explicitly.
  - Isn't the command `DISPLAY_CLEAR` instead of `CLEAR_DISPLAY`? (at
least the identifier above is `LCD_CMD_DISPLAY_CLEAR`).
  - `:` -> `.`.

What about something like:

    The Hitachi HD44780 controller (and compatible ones) reset the
DDRAM address when executing the `DISPLAY_CLEAR` command, thus the
following call is not required. However, other controllers do not
(e.g. NewHaven NHD-0220DZW-AG5), thus move the cursor to home
unconditionally to support both.

Cheers,
Miguel

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ