diff options
author | Rob Clark <robdclark@gmail.com> | 2017-09-13 18:12:20 -0400 |
---|---|---|
committer | Anatolij Gustschin <agust@denx.de> | 2017-09-29 17:51:29 +0200 |
commit | 889808da9b78d193e5a117a6bf6bc9366d6a3f30 (patch) | |
tree | 3110d34ea7e51cab5f018b70a94364e88eb22dda /drivers | |
parent | 40f3429415292566af97720d781263b27bbcaeeb (diff) |
dm: video: Fix cache flushes
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/vidconsole-uclass.c | 3 |
1 files changed, 3 insertions, 0 deletions
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; } |