Re: [PATCH V6 5/9] virtio-mmio: implement synchronize_cbs()

Xuan Zhuo
2022-05-27T07:32:46Z

On Fri, 27 May 2022 14:01:16 +0800, Jason Wang <jasowang@redhat.com> wrote:
> Simply synchronize the platform irq that is used by us.
>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: "Paul E. McKenney" <paulmck@kernel.org>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Halil Pasic <pasic@linux.ibm.com>
> Cc: Cornelia Huck <cohuck@redhat.com>
> Cc: Vineeth Vijayan <vneethv@linux.ibm.com>
> Cc: Peter Oberparleiter <oberpar@linux.ibm.com>
> Cc: linux-s390@vger.kernel.org
> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: Jason Wang <jasowang@redhat.com>

Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>

> ---
> drivers/virtio/virtio_mmio.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
> index 839684d672af..c9699a59f93c 100644
> --- a/drivers/virtio/virtio_mmio.c
> +++ b/drivers/virtio/virtio_mmio.c
> @@ -345,6 +345,13 @@ static void vm_del_vqs(struct virtio_device *vdev)
> free_irq(platform_get_irq(vm_dev->pdev, 0), vm_dev);
> }
>
> +static void vm_synchronize_cbs(struct virtio_device *vdev)
> +{
> + struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev);
> +
> + synchronize_irq(platform_get_irq(vm_dev->pdev, 0));
> +}
> +
> static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned int index,
> void (*callback)(struct virtqueue *vq),
> const char *name, bool ctx)
> @@ -541,6 +548,7 @@ static const struct virtio_config_ops virtio_mmio_config_ops = {
> .finalize_features = vm_finalize_features,
> .bus_name = vm_bus_name,
> .get_shm_region = vm_get_shm_region,
> + .synchronize_cbs = vm_synchronize_cbs,
> };
>
>
> --
> 2.25.1
>