qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: balrog@zabor.org, i.mitsyanko@samsung.com, paul@codesourcery.com,
	Juan Quintela <quintela@trasno.org>
Subject: [Qemu-devel] [PATCH 2/7] vga: port to test_and_clear instead of test/reset
Date: Fri, 11 Oct 2013 16:20:45 +0200	[thread overview]
Message-ID: <1381501250-19351-3-git-send-email-quintela@redhat.com> (raw)
In-Reply-To: <1381501250-19351-1-git-send-email-quintela@redhat.com>

From: Juan Quintela <quintela@trasno.org>

Now page_min/max are not needed anymore.

Signed-off-by: Juan Quintela <quintela@trasno.org>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 hw/display/vga.c | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/hw/display/vga.c b/hw/display/vga.c
index 7b91d9c..d411c5c 100644
--- a/hw/display/vga.c
+++ b/hw/display/vga.c
@@ -1640,7 +1640,7 @@ static void vga_draw_graphic(VGACommonState *s, int full_update)
     DisplaySurface *surface = qemu_console_surface(s->con);
     int y1, y, update, linesize, y_start, double_scan, mask, depth;
     int width, height, shift_control, line_offset, bwidth, bits;
-    ram_addr_t page0, page1, page_min, page_max;
+    ram_addr_t page0, page1;
     int disp_width, multi_scan, multi_run;
     uint8_t *d;
     uint32_t v, addr1, addr;
@@ -1784,8 +1784,6 @@ static void vga_draw_graphic(VGACommonState *s, int full_update)
     addr1 = (s->start_addr * 4);
     bwidth = (width * bits + 7) / 8;
     y_start = -1;
-    page_min = -1;
-    page_max = 0;
     d = surface_data(surface);
     linesize = surface_stride(surface);
     y1 = 0;
@@ -1803,17 +1801,14 @@ static void vga_draw_graphic(VGACommonState *s, int full_update)
         update = full_update;
         page0 = addr;
         page1 = addr + bwidth - 1;
-        update |= memory_region_get_dirty(&s->vram, page0, page1 - page0,
-                                          DIRTY_MEMORY_VGA);
+        update |= memory_region_test_and_clear_dirty(&s->vram, page0,
+                                                     page1 - page0,
+                                                     DIRTY_MEMORY_VGA);
         /* explicit invalidation for the hardware cursor */
         update |= (s->invalidated_y_table[y >> 5] >> (y & 0x1f)) & 1;
         if (update) {
             if (y_start < 0)
                 y_start = y;
-            if (page0 < page_min)
-                page_min = page0;
-            if (page1 > page_max)
-                page_max = page1;
             if (!(is_buffer_shared(surface))) {
                 vga_draw_line(s, d, s->vram_ptr + addr, width);
                 if (s->cursor_draw_line)
@@ -1846,13 +1841,6 @@ static void vga_draw_graphic(VGACommonState *s, int full_update)
         dpy_gfx_update(s->con, 0, y_start,
                        disp_width, y - y_start);
     }
-    /* reset modified pages */
-    if (page_max >= page_min) {
-        memory_region_reset_dirty(&s->vram,
-                                  page_min,
-                                  page_max - page_min,
-                                  DIRTY_MEMORY_VGA);
-    }
     memset(s->invalidated_y_table, 0, ((height + 31) >> 5) * 4);
 }

-- 
1.8.3.1

  parent reply	other threads:[~2013-10-11 14:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-11 14:20 [Qemu-devel] [PATCH 0/7] Make vga devices use test_and_set Juan Quintela
2013-10-11 14:20 ` [Qemu-devel] [PATCH 1/7] vmware_vga: port to test_and_clear instead of test/reset Juan Quintela
2013-10-11 14:40   ` Eric Blake
2013-10-11 15:10     ` Juan Quintela
2013-10-11 14:20 ` Juan Quintela [this message]
2013-10-11 14:20 ` [Qemu-devel] [PATCH 3/7] tcx: " Juan Quintela
2013-10-11 14:20 ` [Qemu-devel] [PATCH 4/7] sm501: " Juan Quintela
2013-10-11 14:20 ` [Qemu-devel] [PATCH 5/7] g364fb: " Juan Quintela
2013-10-11 14:20 ` [Qemu-devel] [PATCH 6/7] framebufer: " Juan Quintela
2013-10-11 14:20 ` [Qemu-devel] [PATCH 7/7] exynox4210: " Juan Quintela

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1381501250-19351-3-git-send-email-quintela@redhat.com \
    --to=quintela@redhat.com \
    --cc=balrog@zabor.org \
    --cc=i.mitsyanko@samsung.com \
    --cc=paul@codesourcery.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@trasno.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).