virtio_mmio: add support to set IRQ of a virtio device as wakeup source
authorMinghao Xue <quic_mingxue@quicinc.com>
Fri, 10 Jun 2022 08:58:27 +0000 (16:58 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 11 Aug 2022 08:06:38 +0000 (04:06 -0400)
According to virtio_mmio wakeup flag in device trees, set its IRQ
as wakeup source in virtqueue initialization.

Signed-off-by: Minghao Xue <quic_mingxue@quicinc.com>
Message-Id: <1654851507-13891-3-git-send-email-quic_mingxue@quicinc.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/virtio/virtio_mmio.c

index 083ff1e..945cb8f 100644 (file)
@@ -487,6 +487,9 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned int nvqs,
        if (err)
                return err;
 
+       if (of_property_read_bool(vm_dev->pdev->dev.of_node, "wakeup-source"))
+               enable_irq_wake(irq);
+
        for (i = 0; i < nvqs; ++i) {
                if (!names[i]) {
                        vqs[i] = NULL;