Merge tag 'dm-9oct18' of git://git.denx.de/u-boot-dm
[platform/kernel/u-boot.git] / drivers / video / video-uclass.c
index 93fdc68..44dfa71 100644 (file)
@@ -1,7 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (c) 2015 Google, Inc
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
@@ -87,7 +86,7 @@ int video_reserve(ulong *addrp)
        return 0;
 }
 
-void video_clear(struct udevice *dev)
+int video_clear(struct udevice *dev)
 {
        struct video_priv *priv = dev_get_uclass_priv(dev);
 
@@ -112,6 +111,8 @@ void video_clear(struct udevice *dev)
                memset(priv->fb, priv->colour_bg, priv->fb_size);
                break;
        }
+
+       return 0;
 }
 
 void video_set_default_colors(struct video_priv *priv)
@@ -129,7 +130,7 @@ void video_set_default_colors(struct video_priv *priv)
 }
 
 /* Flush video activity to the caches */
-void video_sync(struct udevice *vid)
+void video_sync(struct udevice *vid, bool force)
 {
        /*
         * flush_dcache_range() is declared in common.h but it seems that some
@@ -148,7 +149,7 @@ void video_sync(struct udevice *vid)
        struct video_priv *priv = dev_get_uclass_priv(vid);
        static ulong last_sync;
 
-       if (get_timer(last_sync) > 10) {
+       if (force || get_timer(last_sync) > 10) {
                sandbox_sdl_sync(priv->fb);
                last_sync = get_timer(0);
        }
@@ -163,7 +164,7 @@ void video_sync_all(void)
             dev;
             uclass_find_next_device(&dev)) {
                if (device_active(dev))
-                       video_sync(dev);
+                       video_sync(dev, true);
        }
 }