diff options
Diffstat (limited to 'drivers/video/console_normal.c')
-rw-r--r-- | drivers/video/console_normal.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/drivers/video/console_normal.c b/drivers/video/console_normal.c index 6f4194a1814..07db613ac53 100644 --- a/drivers/video/console_normal.c +++ b/drivers/video/console_normal.c @@ -35,9 +35,11 @@ static int console_set_row(struct udevice *dev, uint row, int clr) fill_pixel_and_goto_next(&dst, clr, pbytes, pbytes); end = dst; - ret = vidconsole_sync_copy(dev, line, end); - if (ret) - return ret; + video_damage(dev->parent, + 0, + fontdata->height * row, + vid_priv->xsize, + fontdata->height); return 0; } @@ -51,14 +53,17 @@ static int console_move_rows(struct udevice *dev, uint rowdst, void *dst; void *src; int size; - int ret; dst = vid_priv->fb + rowdst * fontdata->height * vid_priv->line_length; src = vid_priv->fb + rowsrc * fontdata->height * vid_priv->line_length; size = fontdata->height * vid_priv->line_length * count; - ret = vidconsole_memmove(dev, dst, src, size); - if (ret) - return ret; + memmove(dst, src, size); + + video_damage(dev->parent, + 0, + fontdata->height * rowdst, + vid_priv->xsize, + fontdata->height * count); return 0; } @@ -91,9 +96,11 @@ static int console_putc_xy(struct udevice *dev, uint x_frac, uint y, int cp) if (ret) return ret; - ret = vidconsole_sync_copy(dev, start, line); - if (ret) - return ret; + video_damage(dev->parent, + x, + y, + fontdata->width, + fontdata->height); return VID_TO_POS(fontdata->width); } |