[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