Message ID | 20170910132236.14318-10-robdclark@gmail.com |
---|---|
State | Superseded, archived |
Delegated to: | Alexander Graf |
Headers | show |
Series | efi_loader+video: support for Shell.efi | expand |
On 09/10/2017 03:22 PM, Rob Clark wrote: > Content can come to screen via putc() and we cannot always rely on > updates ending with a puts(). The commit message does not explain why you are modifying videconsole_puts. Probably you wanted to refer to a newline character '\n' which leads to calling video_sync without your patch. Please, update the commit message. The code change looks correct to me. Acked-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > This is the case with efi_console output > to vidconsole. Fixes corruption with Shell.efi. > > Signed-off-by: Rob Clark <robdclark@gmail.com> > --- > drivers/video/vidconsole-uclass.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c > index b5afd72227..e081d5a0ee 100644 > --- a/drivers/video/vidconsole-uclass.c > +++ b/drivers/video/vidconsole-uclass.c > @@ -163,6 +163,7 @@ static void vidconsole_putc(struct stdio_dev *sdev, const char ch) > struct udevice *dev = sdev->priv; > > vidconsole_put_char(dev, ch); > + video_sync(dev->parent); > } > > static void vidconsole_puts(struct stdio_dev *sdev, const char *s) > @@ -260,6 +261,8 @@ static int do_video_puts(cmd_tbl_t *cmdtp, int flag, int argc, > for (s = argv[1]; *s; s++) > vidconsole_put_char(dev, *s); > > + video_sync(dev->parent); > + > return 0; > } > >
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c index b5afd72227..e081d5a0ee 100644 --- a/drivers/video/vidconsole-uclass.c +++ b/drivers/video/vidconsole-uclass.c @@ -163,6 +163,7 @@ static void vidconsole_putc(struct stdio_dev *sdev, const char ch) struct udevice *dev = sdev->priv; vidconsole_put_char(dev, ch); + video_sync(dev->parent); } static void vidconsole_puts(struct stdio_dev *sdev, const char *s) @@ -260,6 +261,8 @@ static int do_video_puts(cmd_tbl_t *cmdtp, int flag, int argc, for (s = argv[1]; *s; s++) vidconsole_put_char(dev, *s); + video_sync(dev->parent); + return 0; }
Content can come to screen via putc() and we cannot always rely on updates ending with a puts(). This is the case with efi_console output to vidconsole. Fixes corruption with Shell.efi. Signed-off-by: Rob Clark <robdclark@gmail.com> --- drivers/video/vidconsole-uclass.c | 3 +++ 1 file changed, 3 insertions(+)