dm: video: Fix cache flushes
authorRob Clark <robdclark@gmail.com>
Wed, 13 Sep 2017 22:12:20 +0000 (18:12 -0400)
committerAnatolij Gustschin <agust@denx.de>
Fri, 29 Sep 2017 15:51:29 +0000 (17:51 +0200)
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

index b5afd72..e081d5a 100644 (file)
@@ -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;
 }