On Fri, 27 May 2022 14:01:16 +0800, Jason Wang <jasowang@xxxxxxxxxx> wrote: > Simply synchronize the platform irq that is used by us. > > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxx> > Cc: Marc Zyngier <maz@xxxxxxxxxx> > Cc: Halil Pasic <pasic@xxxxxxxxxxxxx> > Cc: Cornelia Huck <cohuck@xxxxxxxxxx> > Cc: Vineeth Vijayan <vneethv@xxxxxxxxxxxxx> > Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxx> > Cc: linux-s390@xxxxxxxxxxxxxxx > Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx> > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Reviewed-by: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> > --- > 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 >