Re: [U-Boot] [PATCH 06/14] cfb_console: Add function console_clear and console_clear_line

2012-01-25 Thread Marek Vasut
  * console_clear - clear full console framebuffer output
  * console_clear_line - clear part of specified line (or full)
 
 Signed-off-by: Pali Rohár pali.ro...@gmail.com
 ---
 Changes since original version:
- Fixed commit message
 
  drivers/video/cfb_console.c |   64
 +++ 1 files changed, 52
 insertions(+), 12 deletions(-)
 
 diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
 index 9092399..b74d6d0 100644
 --- a/drivers/video/cfb_console.c
 +++ b/drivers/video/cfb_console.c
 @@ -683,6 +683,57 @@ static void memcpyl(int *d, int *s, int c)
  }
  #endif
 
 +static void console_clear(void)

Do you use this function AT ALL?

 +{
 +#ifdef VIDEO_HW_RECTFILL
 + video_hw_rectfill(VIDEO_PIXEL_SIZE, /* bytes per pixel */
 +   0,/* dest pos x */
 +   video_logo_height,/* dest pos y */
 +   VIDEO_VISIBLE_COLS,   /* frame width */
 +   VIDEO_VISIBLE_ROWS,   /* frame height */
 +   bgx   /* fill color */
 + );
 +#else
 + memsetl(CONSOLE_ROW_FIRST, CONSOLE_SIZE, bgx);
 +#endif
 +}
 +
 +static void console_clear_line(int line, int begin, int end)
 +{
 +#ifdef VIDEO_HW_RECTFILL
 + video_hw_rectfill(VIDEO_PIXEL_SIZE, /* bytes per pixel */
 +   /* FIXME: correct? */
 +   VIDEO_FONT_WIDTH * begin, /* dest pos x */
 +   /* FIXME: correct? */
 +   video_logo_height +
 +   CONSOLE_ROW_SIZE * line,  /* dest pos y */
 +   /* FIXME: correct? */
 +   VIDEO_FONT_WIDTH * (end - begin), /* frame width */
 +   VIDEO_FONT_HEIGHT,/* frame height */
 +   bgx   /* fill color */
 + );
 +#else
 + int i;
 + if (begin == 0  end == CONSOLE_COLS)
 + memsetl(CONSOLE_ROW_FIRST +
 + CONSOLE_ROW_SIZE * line,/* offset of row */
 + CONSOLE_ROW_SIZE  2,  /* length of row */
 + bgx /* fill color */
 + );
 + else
 + for (i = 0; i  VIDEO_FONT_HEIGHT; ++i)
 + memsetl(CONSOLE_ROW_FIRST +
 + CONSOLE_ROW_SIZE * line + /* offset of row */
 + VIDEO_FONT_WIDTH *
 + VIDEO_PIXEL_SIZE * begin + /* offset of col */
 + i * VIDEO_LINE_LEN, /* col offset of i line */
 + (VIDEO_FONT_WIDTH * VIDEO_PIXEL_SIZE *
 + (end - begin + 1))  2, /* length to end */
 + bgx /* fill color */
 + );
 +#endif
 +}
 +
  static void console_scrollup(void)
  {
   /* copy up rows ignoring the first one */
 @@ -705,18 +756,7 @@ static void console_scrollup(void)
  #endif
 
   /* clear the last one */
 -#ifdef VIDEO_HW_RECTFILL
 - video_hw_rectfill(VIDEO_PIXEL_SIZE, /* bytes per pixel */
 -   0,/* dest pos x */
 -   VIDEO_VISIBLE_ROWS
 -   - VIDEO_FONT_HEIGHT,  /* dest pos y */
 -   VIDEO_VISIBLE_COLS,   /* frame width */
 -   VIDEO_FONT_HEIGHT,/* frame height */
 -   CONSOLE_BG_COL/* fill color */
 - );
 -#else
 - memsetl(CONSOLE_ROW_LAST, CONSOLE_ROW_SIZE  2, CONSOLE_BG_COL);
 -#endif
 + console_clear_line(CONSOLE_ROWS-1, 0, CONSOLE_COLS);
  }
 
  static void console_back(void)
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 06/14] cfb_console: Add function console_clear and console_clear_line

2012-01-25 Thread Pali Rohár
On Wednesday 25 January 2012 19:08:31 Marek Vasut wrote:
 
  +static void console_clear(void)

 Do you use this function AT ALL?


Yes, in patch which add ANSI terminal support to cfb_console.

--
Pali Rohár
pali.ro...@gmail.com

signature.asc
Description: This is a digitally signed message part.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 06/14] cfb_console: Add function console_clear and console_clear_line

2012-01-25 Thread Marek Vasut
 On Wednesday 25 January 2012 19:08:31 Marek Vasut wrote:
   +static void console_clear(void)
  
  Do you use this function AT ALL?
 
 Yes, in patch which add ANSI terminal support to cfb_console.

Why do you even need the support for ANSI terminal in the first place?
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 06/14] cfb_console: Add function console_clear and console_clear_line

2012-01-24 Thread Pali Rohár
 * console_clear - clear full console framebuffer output
 * console_clear_line - clear part of specified line (or full)

Signed-off-by: Pali Rohár pali.ro...@gmail.com
---
Changes since original version:
   - Fixed commit message

 drivers/video/cfb_console.c |   64 +++
 1 files changed, 52 insertions(+), 12 deletions(-)

diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index 9092399..b74d6d0 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -683,6 +683,57 @@ static void memcpyl(int *d, int *s, int c)
 }
 #endif
 
+static void console_clear(void)
+{
+#ifdef VIDEO_HW_RECTFILL
+   video_hw_rectfill(VIDEO_PIXEL_SIZE, /* bytes per pixel */
+ 0,/* dest pos x */
+ video_logo_height,/* dest pos y */
+ VIDEO_VISIBLE_COLS,   /* frame width */
+ VIDEO_VISIBLE_ROWS,   /* frame height */
+ bgx   /* fill color */
+   );
+#else
+   memsetl(CONSOLE_ROW_FIRST, CONSOLE_SIZE, bgx);
+#endif
+}
+
+static void console_clear_line(int line, int begin, int end)
+{
+#ifdef VIDEO_HW_RECTFILL
+   video_hw_rectfill(VIDEO_PIXEL_SIZE, /* bytes per pixel */
+ /* FIXME: correct? */
+ VIDEO_FONT_WIDTH * begin, /* dest pos x */
+ /* FIXME: correct? */
+ video_logo_height +
+ CONSOLE_ROW_SIZE * line,  /* dest pos y */
+ /* FIXME: correct? */
+ VIDEO_FONT_WIDTH * (end - begin), /* frame width */
+ VIDEO_FONT_HEIGHT,/* frame height */
+ bgx   /* fill color */
+   );
+#else
+   int i;
+   if (begin == 0  end == CONSOLE_COLS)
+   memsetl(CONSOLE_ROW_FIRST +
+   CONSOLE_ROW_SIZE * line,/* offset of row */
+   CONSOLE_ROW_SIZE  2,  /* length of row */
+   bgx /* fill color */
+   );
+   else
+   for (i = 0; i  VIDEO_FONT_HEIGHT; ++i)
+   memsetl(CONSOLE_ROW_FIRST +
+   CONSOLE_ROW_SIZE * line + /* offset of row */
+   VIDEO_FONT_WIDTH *
+   VIDEO_PIXEL_SIZE * begin + /* offset of col */
+   i * VIDEO_LINE_LEN, /* col offset of i line */
+   (VIDEO_FONT_WIDTH * VIDEO_PIXEL_SIZE *
+   (end - begin + 1))  2, /* length to end */
+   bgx /* fill color */
+   );
+#endif
+}
+
 static void console_scrollup(void)
 {
/* copy up rows ignoring the first one */
@@ -705,18 +756,7 @@ static void console_scrollup(void)
 #endif
 
/* clear the last one */
-#ifdef VIDEO_HW_RECTFILL
-   video_hw_rectfill(VIDEO_PIXEL_SIZE, /* bytes per pixel */
- 0,/* dest pos x */
- VIDEO_VISIBLE_ROWS
- - VIDEO_FONT_HEIGHT,  /* dest pos y */
- VIDEO_VISIBLE_COLS,   /* frame width */
- VIDEO_FONT_HEIGHT,/* frame height */
- CONSOLE_BG_COL/* fill color */
-   );
-#else
-   memsetl(CONSOLE_ROW_LAST, CONSOLE_ROW_SIZE  2, CONSOLE_BG_COL);
-#endif
+   console_clear_line(CONSOLE_ROWS-1, 0, CONSOLE_COLS);
 }
 
 static void console_back(void)
-- 
1.7.5.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot