[Spice-devel] [PATCH v2 qxl-win] miniport: halve QXL_IO_UPDATE_IRQ calls
Yonit Halperin
yhalperi at redhat.com
Tue Jul 30 05:38:44 PDT 2013
Ack. looks good.
On 07/30/2013 06:22 AM, Alon Levy wrote:
> 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);
>
More information about the Spice-devel
mailing list