summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/video-uclass.c10
-rw-r--r--include/video.h14
2 files changed, 24 insertions, 0 deletions
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
index a1d527529f..91d078a9d5 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
@@ -290,6 +290,16 @@ int video_sync_copy(struct udevice *dev, void *from, void *to)
return 0;
}
+
+int video_sync_copy_all(struct udevice *dev)
+{
+ struct video_priv *priv = dev_get_uclass_priv(dev);
+
+ video_sync_copy(dev, priv->fb, priv->fb + priv->fb_size);
+
+ return 0;
+}
+
#endif
/* Set up the colour map */
diff --git a/include/video.h b/include/video.h
index 74d822fadb..827733305e 100644
--- a/include/video.h
+++ b/include/video.h
@@ -246,11 +246,25 @@ void video_set_default_colors(struct udevice *dev, bool invert);
* frame buffer start
*/
int video_sync_copy(struct udevice *dev, void *from, void *to);
+
+/**
+ * video_sync_copy_all() - Sync the entire framebuffer to the copy
+ *
+ * @dev: Vidconsole device being updated
+ * @return 0 (always)
+ */
+int video_sync_copy_all(struct udevice *dev);
#else
static inline int video_sync_copy(struct udevice *dev, void *from, void *to)
{
return 0;
}
+
+static inline int video_sync_copy_all(struct udevice *dev)
+{
+ return 0;
+}
+
#endif
#ifndef CONFIG_DM_VIDEO