[Spice-devel] [PATCH v2 qxl-win] miniport: halve QXL_IO_UPDATE_IRQ calls

Alon Levy alevy at redhat.com
Tue Jul 30 03:22:02 PDT 2013


QXL_IO_UPDATE_IRQ causes the device to check int_mask and int_pending
and issue an interrupt if that is required. Since we just zeroed
int_mask, no interrupt will ever be issued. Since we issue another
QXL_IO_UPDATE_IRQ in the interrupt routine DPC right after resetting
int_mask any pending interrupt will be raised then.

RHBZ: 856246
---

Yonit, this is what I came up with after our talk, much simpler, doesn't change int_mask, tell me if it makes sense.

The other patch (change to int_mask to include only handled interrupts, not ~0) remains, still needs review, thanks!

 miniport/qxl.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/miniport/qxl.c b/miniport/qxl.c
index f5d6b48..ce37f07 100644
--- a/miniport/qxl.c
+++ b/miniport/qxl.c
@@ -1321,7 +1321,6 @@ BOOLEAN Interrupt(PVOID dev_extension)
         return FALSE;
     }
     dev_ext->ram_header->int_mask = 0;
-    VideoPortWritePortUchar((PUCHAR)dev_ext->io_base + QXL_IO_UPDATE_IRQ, 0);
 
     if (!VideoPortQueueDpc(dev_extension, InterruptCallback, NULL)) {
         VideoPortLogError(dev_extension, NULL, E_UNEXPECTED, QXLERR_INT_DELIVERY);
-- 
1.8.3.1



More information about the Spice-devel mailing list