* [PATCH v2 0/2] virtio_mmio: add support to set IRQ of a virtio device as wakeup source
@ 2022-06-10 8:58 Minghao Xue
2022-06-10 8:58 ` [PATCH v2 1/2] dt-bindings: virtio: mmio: add optional wakeup-source property Minghao Xue
2022-06-10 8:58 ` [PATCH v2 2/2] virtio_mmio: add support to set IRQ of a virtio device as wakeup source Minghao Xue
0 siblings, 2 replies; 3+ messages in thread
From: Minghao Xue @ 2022-06-10 8:58 UTC (permalink / raw)
To: Michael S. Tsirkin, Jason Wang, Rob Herring
Cc: Minghao Xue, Jean-Philippe Brucker, virtualization, devicetree,
linux-kernel, quic_ztu
Hi,
Some systems want to set the interrupt of virtio_mmio device as a wakeup source of system.
This patch series add support for such use case. And it can be enbaled by adding "wakeup-source" property to the device tree.
Patch 1: Add an optional "wakeup-source" property into binding file of virtio_mmio device.
Patch 2: Set IRQ of virtio_mmio device as wakeup source in virtqueue initialization, if "wakeup-source" is set in the device tree.
Version 2 changes (mostly feedback from Krzysztof Kozlowski)
-rename property from "virtio,wakeup" to "wakeup-source"
Minghao Xue (2):
dt-bindings: virtio: mmio: add optional wakeup-source property
virtio_mmio: add support to set IRQ of a virtio device as wakeup
source
Documentation/devicetree/bindings/virtio/mmio.yaml | 4 ++++
drivers/virtio/virtio_mmio.c | 3 +++
2 files changed, 7 insertions(+)
--
2.7.4
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH v2 1/2] dt-bindings: virtio: mmio: add optional wakeup-source property
2022-06-10 8:58 [PATCH v2 0/2] virtio_mmio: add support to set IRQ of a virtio device as wakeup source Minghao Xue
@ 2022-06-10 8:58 ` Minghao Xue
2022-06-10 8:58 ` [PATCH v2 2/2] virtio_mmio: add support to set IRQ of a virtio device as wakeup source Minghao Xue
1 sibling, 0 replies; 3+ messages in thread
From: Minghao Xue @ 2022-06-10 8:58 UTC (permalink / raw)
To: Michael S. Tsirkin, Jason Wang, Rob Herring
Cc: Minghao Xue, Jean-Philippe Brucker, virtualization, devicetree,
linux-kernel, quic_ztu
Some systems want to set the interrupt of virtio_mmio device
as a wakeup source. On such systems, we'll use the existence
of the "wakeup-source" property as a signal of requirement.
Signed-off-by: Minghao Xue <quic_mingxue@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Documentation/devicetree/bindings/virtio/mmio.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/virtio/mmio.yaml b/Documentation/devicetree/bindings/virtio/mmio.yaml
index 10c22b5..0aa8433 100644
--- a/Documentation/devicetree/bindings/virtio/mmio.yaml
+++ b/Documentation/devicetree/bindings/virtio/mmio.yaml
@@ -33,6 +33,10 @@ properties:
description: Required for devices making accesses thru an IOMMU.
maxItems: 1
+ wakeup-source:
+ type: boolean
+ description: Required for setting irq of a virtio_mmio device as wakeup source.
+
required:
- compatible
- reg
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH v2 2/2] virtio_mmio: add support to set IRQ of a virtio device as wakeup source
2022-06-10 8:58 [PATCH v2 0/2] virtio_mmio: add support to set IRQ of a virtio device as wakeup source Minghao Xue
2022-06-10 8:58 ` [PATCH v2 1/2] dt-bindings: virtio: mmio: add optional wakeup-source property Minghao Xue
@ 2022-06-10 8:58 ` Minghao Xue
1 sibling, 0 replies; 3+ messages in thread
From: Minghao Xue @ 2022-06-10 8:58 UTC (permalink / raw)
To: Michael S. Tsirkin, Jason Wang, Rob Herring
Cc: Minghao Xue, Jean-Philippe Brucker, virtualization, devicetree,
linux-kernel, quic_ztu
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>
---
drivers/virtio/virtio_mmio.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
index f9a36bc..c144442 100644
--- a/drivers/virtio/virtio_mmio.c
+++ b/drivers/virtio/virtio_mmio.c
@@ -486,6 +486,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;
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-06-10 8:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-10 8:58 [PATCH v2 0/2] virtio_mmio: add support to set IRQ of a virtio device as wakeup source Minghao Xue
2022-06-10 8:58 ` [PATCH v2 1/2] dt-bindings: virtio: mmio: add optional wakeup-source property Minghao Xue
2022-06-10 8:58 ` [PATCH v2 2/2] virtio_mmio: add support to set IRQ of a virtio device as wakeup source Minghao Xue
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).