* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
@ 2021-10-13 11:00 ` Viresh Kumar
2021-10-13 11:03 ` David Hildenbrand
` (9 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Viresh Kumar @ 2021-10-13 11:00 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Latchesar Ionkov, nvdimm, Dominique Martinet, Stefan Hajnoczi,
kvm, David Hildenbrand, David Airlie, Viresh Kumar, Jason Wang,
linux-remoteproc, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
linux-scsi, Will Deacon, v9fs-developer, Anton Ivanov,
Jean-Philippe Brucker, Linus Walleij, Dave Jiang, Herbert Xu,
linux-arm-kernel, Miklos Szeredi, Richard Weinberger,
Bartosz Golaszewski, Takashi Iwai, Gonglei, Kalle Valo,
Martin K. Petersen, James E.J. Bottomley, Jakub Kicinski,
Ira Weiny, virtualization, Jeff Dike, Vivek Goyal,
Stefano Garzarella, Ohad Ben-Cohen, Johan Hedberg, Arnd Bergmann,
Amit Shah, Eric Van Hensbergen, Marcel Holtmann, linux-um,
linux-crypto, linux-block, Vishal Verma, Luiz Augusto von Dentz,
Matt Mackall, Dan Williams, Jaroslav Kysela, Cristian Marussi,
Jens Axboe, Jie Deng, Mathieu Poirier, linux-gpio,
Greg Kroah-Hartman, linux-wireless, linux-kernel, linux-i2c,
linux-bluetooth, iommu, Anton Yakovlev, Daniel Vetter,
Sudeep Holla, linux-fsdevel, Paolo Bonzini, Johannes Berg,
Enrico Weigelt, metux IT consult, David S. Miller
On 13-10-21, 06:55, Michael S. Tsirkin wrote:
> This will enable cleanups down the road.
> The idea is to disable cbs, then add "flush_queued_cbs" callback
> as a parameter, this way drivers can flush any work
> queued after callbacks have been disabled.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> drivers/gpio/gpio-virtio.c | 2 +-
> drivers/i2c/busses/i2c-virtio.c | 2 +-
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
2021-10-13 11:00 ` Viresh Kumar
@ 2021-10-13 11:03 ` David Hildenbrand
2021-10-13 12:17 ` Michael S. Tsirkin
2021-10-13 13:16 ` Vivek Goyal
` (8 subsequent siblings)
10 siblings, 1 reply; 14+ messages in thread
From: David Hildenbrand @ 2021-10-13 11:03 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Latchesar Ionkov, nvdimm, v9fs-developer, Stefan Hajnoczi, kvm,
Dominique Martinet, David Airlie, Viresh Kumar, Linus Walleij,
linux-remoteproc, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
linux-scsi, Will Deacon, Anton Ivanov, Jean-Philippe Brucker,
Dave Jiang, Herbert Xu, linux-arm-kernel, Miklos Szeredi,
Richard Weinberger, Bartosz Golaszewski, Gonglei, Kalle Valo,
Martin K. Petersen, James E.J. Bottomley, Jakub Kicinski,
Ira Weiny, virtualization, Marcel Holtmann, Vivek Goyal,
Stefano Garzarella, Ohad Ben-Cohen, Johan Hedberg, Arnd Bergmann,
Amit Shah, Eric Van Hensbergen, Jeff Dike, linux-um, linux-crypto,
linux-block, Vishal Verma, Luiz Augusto von Dentz, Matt Mackall,
Dan Williams, Jaroslav Kysela, Cristian Marussi, Jens Axboe,
Jie Deng, Mathieu Poirier, linux-gpio, Greg Kroah-Hartman,
Jason Wang, linux-wireless, Takashi Iwai, linux-i2c,
linux-bluetooth, iommu, Anton Yakovlev, Daniel Vetter,
Sudeep Holla, linux-fsdevel, Paolo Bonzini, Johannes Berg,
Enrico Weigelt, metux IT consult, David S. Miller
On 13.10.21 12:55, Michael S. Tsirkin wrote:
> This will enable cleanups down the road.
> The idea is to disable cbs, then add "flush_queued_cbs" callback
> as a parameter, this way drivers can flush any work
> queued after callbacks have been disabled.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> arch/um/drivers/virt-pci.c | 2 +-
> drivers/block/virtio_blk.c | 4 ++--
> drivers/bluetooth/virtio_bt.c | 2 +-
> drivers/char/hw_random/virtio-rng.c | 2 +-
> drivers/char/virtio_console.c | 4 ++--
> drivers/crypto/virtio/virtio_crypto_core.c | 8 ++++----
> drivers/firmware/arm_scmi/virtio.c | 2 +-
> drivers/gpio/gpio-virtio.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
> drivers/i2c/busses/i2c-virtio.c | 2 +-
> drivers/iommu/virtio-iommu.c | 2 +-
> drivers/net/caif/caif_virtio.c | 2 +-
> drivers/net/virtio_net.c | 4 ++--
> drivers/net/wireless/mac80211_hwsim.c | 2 +-
> drivers/nvdimm/virtio_pmem.c | 2 +-
> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
> drivers/scsi/virtio_scsi.c | 2 +-
> drivers/virtio/virtio.c | 5 +++++
> drivers/virtio/virtio_balloon.c | 2 +-
> drivers/virtio/virtio_input.c | 2 +-
> drivers/virtio/virtio_mem.c | 2 +-
> fs/fuse/virtio_fs.c | 4 ++--
> include/linux/virtio.h | 1 +
> net/9p/trans_virtio.c | 2 +-
> net/vmw_vsock/virtio_transport.c | 4 ++--
> sound/virtio/virtio_card.c | 4 ++--
> 26 files changed, 39 insertions(+), 33 deletions(-)
>
> diff --git a/arch/um/drivers/virt-pci.c b/arch/um/drivers/virt-pci.c
> index c08066633023..22c4d87c9c15 100644
> --- a/arch/um/drivers/virt-pci.c
> +++ b/arch/um/drivers/virt-pci.c
> @@ -616,7 +616,7 @@ static void um_pci_virtio_remove(struct virtio_device *vdev)
> int i;
>
> /* Stop all virtqueues */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->config->del_vqs(vdev);
Nit: virtio_device_reset()?
Because I see:
int virtio_device_freeze(struct virtio_device *dev);
int virtio_device_restore(struct virtio_device *dev);
void virtio_device_ready(struct virtio_device *dev)
But well, there is:
void virtio_break_device(struct virtio_device *dev);
--
Thanks,
David / dhildenb
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 11:03 ` David Hildenbrand
@ 2021-10-13 12:17 ` Michael S. Tsirkin
2021-10-13 16:00 ` David Hildenbrand
0 siblings, 1 reply; 14+ messages in thread
From: Michael S. Tsirkin @ 2021-10-13 12:17 UTC (permalink / raw)
To: David Hildenbrand
Cc: Latchesar Ionkov, nvdimm, v9fs-developer, Stefan Hajnoczi, kvm,
Dominique Martinet, David Airlie, Viresh Kumar, Jason Wang,
linux-remoteproc, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
linux-scsi, Will Deacon, Anton Ivanov, Jean-Philippe Brucker,
Linus Walleij, Dave Jiang, Herbert Xu, linux-arm-kernel,
Miklos Szeredi, Richard Weinberger, Bartosz Golaszewski,
Takashi Iwai, Gonglei, Kalle Valo, Martin K. Petersen,
James E.J. Bottomley, Jakub Kicinski, Ira Weiny, virtualization,
Jeff Dike, Vivek Goyal, Stefano Garzarella, Ohad Ben-Cohen,
Johan Hedberg, Arnd Bergmann, Amit Shah, Eric Van Hensbergen,
Marcel Holtmann, linux-um, linux-crypto, linux-block,
Vishal Verma, Luiz Augusto von Dentz, Matt Mackall, Dan Williams,
Jaroslav Kysela, Cristian Marussi, Jens Axboe, Jie Deng,
Mathieu Poirier, linux-gpio, Greg Kroah-Hartman, linux-wireless,
linux-kernel, linux-i2c, linux-bluetooth, iommu, Anton Yakovlev,
Daniel Vetter, Sudeep Holla, linux-fsdevel, Paolo Bonzini,
Johannes Berg, Enrico Weigelt, metux IT consult, David S. Miller
On Wed, Oct 13, 2021 at 01:03:46PM +0200, David Hildenbrand wrote:
> On 13.10.21 12:55, Michael S. Tsirkin wrote:
> > This will enable cleanups down the road.
> > The idea is to disable cbs, then add "flush_queued_cbs" callback
> > as a parameter, this way drivers can flush any work
> > queued after callbacks have been disabled.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > ---
> > arch/um/drivers/virt-pci.c | 2 +-
> > drivers/block/virtio_blk.c | 4 ++--
> > drivers/bluetooth/virtio_bt.c | 2 +-
> > drivers/char/hw_random/virtio-rng.c | 2 +-
> > drivers/char/virtio_console.c | 4 ++--
> > drivers/crypto/virtio/virtio_crypto_core.c | 8 ++++----
> > drivers/firmware/arm_scmi/virtio.c | 2 +-
> > drivers/gpio/gpio-virtio.c | 2 +-
> > drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
> > drivers/i2c/busses/i2c-virtio.c | 2 +-
> > drivers/iommu/virtio-iommu.c | 2 +-
> > drivers/net/caif/caif_virtio.c | 2 +-
> > drivers/net/virtio_net.c | 4 ++--
> > drivers/net/wireless/mac80211_hwsim.c | 2 +-
> > drivers/nvdimm/virtio_pmem.c | 2 +-
> > drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
> > drivers/scsi/virtio_scsi.c | 2 +-
> > drivers/virtio/virtio.c | 5 +++++
> > drivers/virtio/virtio_balloon.c | 2 +-
> > drivers/virtio/virtio_input.c | 2 +-
> > drivers/virtio/virtio_mem.c | 2 +-
> > fs/fuse/virtio_fs.c | 4 ++--
> > include/linux/virtio.h | 1 +
> > net/9p/trans_virtio.c | 2 +-
> > net/vmw_vsock/virtio_transport.c | 4 ++--
> > sound/virtio/virtio_card.c | 4 ++--
> > 26 files changed, 39 insertions(+), 33 deletions(-)
> >
> > diff --git a/arch/um/drivers/virt-pci.c b/arch/um/drivers/virt-pci.c
> > index c08066633023..22c4d87c9c15 100644
> > --- a/arch/um/drivers/virt-pci.c
> > +++ b/arch/um/drivers/virt-pci.c
> > @@ -616,7 +616,7 @@ static void um_pci_virtio_remove(struct virtio_device *vdev)
> > int i;
> > /* Stop all virtqueues */
> > - vdev->config->reset(vdev);
> > + virtio_reset_device(vdev);
> > vdev->config->del_vqs(vdev);
>
> Nit: virtio_device_reset()?
>
> Because I see:
>
> int virtio_device_freeze(struct virtio_device *dev);
> int virtio_device_restore(struct virtio_device *dev);
> void virtio_device_ready(struct virtio_device *dev)
>
> But well, there is:
> void virtio_break_device(struct virtio_device *dev);
Exactly. I don't know what's best, so I opted for plain english :)
> --
> Thanks,
>
> David / dhildenb
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 12:17 ` Michael S. Tsirkin
@ 2021-10-13 16:00 ` David Hildenbrand
0 siblings, 0 replies; 14+ messages in thread
From: David Hildenbrand @ 2021-10-13 16:00 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Latchesar Ionkov, nvdimm, v9fs-developer, Stefan Hajnoczi, kvm,
Dominique Martinet, David Airlie, Viresh Kumar, Jason Wang,
linux-remoteproc, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
linux-scsi, Will Deacon, Anton Ivanov, Jean-Philippe Brucker,
Linus Walleij, Dave Jiang, Herbert Xu, linux-arm-kernel,
Miklos Szeredi, Richard Weinberger, Bartosz Golaszewski,
Takashi Iwai, Gonglei, Kalle Valo, Martin K. Petersen,
James E.J. Bottomley, Jakub Kicinski, Ira Weiny, virtualization,
Jeff Dike, Vivek Goyal, Stefano Garzarella, Ohad Ben-Cohen,
Johan Hedberg, Arnd Bergmann, Amit Shah, Eric Van Hensbergen,
Marcel Holtmann, linux-um, linux-crypto, linux-block,
Vishal Verma, Luiz Augusto von Dentz, Matt Mackall, Dan Williams,
Jaroslav Kysela, Cristian Marussi, Jens Axboe, Jie Deng,
Mathieu Poirier, linux-gpio, Greg Kroah-Hartman, linux-wireless,
linux-kernel, linux-i2c, linux-bluetooth, iommu, Anton Yakovlev,
Daniel Vetter, Sudeep Holla, linux-fsdevel, Paolo Bonzini,
Johannes Berg, Enrico Weigelt, metux IT consult, David S. Miller
On 13.10.21 14:17, Michael S. Tsirkin wrote:
> On Wed, Oct 13, 2021 at 01:03:46PM +0200, David Hildenbrand wrote:
>> On 13.10.21 12:55, Michael S. Tsirkin wrote:
>>> This will enable cleanups down the road.
>>> The idea is to disable cbs, then add "flush_queued_cbs" callback
>>> as a parameter, this way drivers can flush any work
>>> queued after callbacks have been disabled.
>>>
>>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>>> ---
>>> arch/um/drivers/virt-pci.c | 2 +-
>>> drivers/block/virtio_blk.c | 4 ++--
>>> drivers/bluetooth/virtio_bt.c | 2 +-
>>> drivers/char/hw_random/virtio-rng.c | 2 +-
>>> drivers/char/virtio_console.c | 4 ++--
>>> drivers/crypto/virtio/virtio_crypto_core.c | 8 ++++----
>>> drivers/firmware/arm_scmi/virtio.c | 2 +-
>>> drivers/gpio/gpio-virtio.c | 2 +-
>>> drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
>>> drivers/i2c/busses/i2c-virtio.c | 2 +-
>>> drivers/iommu/virtio-iommu.c | 2 +-
>>> drivers/net/caif/caif_virtio.c | 2 +-
>>> drivers/net/virtio_net.c | 4 ++--
>>> drivers/net/wireless/mac80211_hwsim.c | 2 +-
>>> drivers/nvdimm/virtio_pmem.c | 2 +-
>>> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
>>> drivers/scsi/virtio_scsi.c | 2 +-
>>> drivers/virtio/virtio.c | 5 +++++
>>> drivers/virtio/virtio_balloon.c | 2 +-
>>> drivers/virtio/virtio_input.c | 2 +-
>>> drivers/virtio/virtio_mem.c | 2 +-
>>> fs/fuse/virtio_fs.c | 4 ++--
>>> include/linux/virtio.h | 1 +
>>> net/9p/trans_virtio.c | 2 +-
>>> net/vmw_vsock/virtio_transport.c | 4 ++--
>>> sound/virtio/virtio_card.c | 4 ++--
>>> 26 files changed, 39 insertions(+), 33 deletions(-)
>>>
>>> diff --git a/arch/um/drivers/virt-pci.c b/arch/um/drivers/virt-pci.c
>>> index c08066633023..22c4d87c9c15 100644
>>> --- a/arch/um/drivers/virt-pci.c
>>> +++ b/arch/um/drivers/virt-pci.c
>>> @@ -616,7 +616,7 @@ static void um_pci_virtio_remove(struct virtio_device *vdev)
>>> int i;
>>> /* Stop all virtqueues */
>>> - vdev->config->reset(vdev);
>>> + virtio_reset_device(vdev);
>>> vdev->config->del_vqs(vdev);
>>
>> Nit: virtio_device_reset()?
>>
>> Because I see:
>>
>> int virtio_device_freeze(struct virtio_device *dev);
>> int virtio_device_restore(struct virtio_device *dev);
>> void virtio_device_ready(struct virtio_device *dev)
>>
>> But well, there is:
>> void virtio_break_device(struct virtio_device *dev);
>
> Exactly. I don't know what's best, so I opted for plain english :)
Fair enough, LGTM
Reviewed-by: David Hildenbrand <david@redhat.com>
--
Thanks,
David / dhildenb
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
2021-10-13 11:00 ` Viresh Kumar
2021-10-13 11:03 ` David Hildenbrand
@ 2021-10-13 13:16 ` Vivek Goyal
2021-10-13 15:46 ` Mathieu Poirier
` (7 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Vivek Goyal @ 2021-10-13 13:16 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Latchesar Ionkov, nvdimm, v9fs-developer, Stefan Hajnoczi, kvm,
David Hildenbrand, David Airlie, Viresh Kumar, Jason Wang,
linux-remoteproc, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
linux-scsi, Will Deacon, Anton Ivanov, Jean-Philippe Brucker,
Linus Walleij, Dave Jiang, Herbert Xu, linux-arm-kernel,
Miklos Szeredi, Richard Weinberger, Bartosz Golaszewski,
Takashi Iwai, Gonglei, Kalle Valo, Martin K. Petersen,
James E.J. Bottomley, Jakub Kicinski, Ira Weiny, virtualization,
Jeff Dike, Dominique Martinet, Stefano Garzarella, Ohad Ben-Cohen,
Johan Hedberg, Arnd Bergmann, Amit Shah, Eric Van Hensbergen,
Marcel Holtmann, linux-um, linux-crypto, linux-block,
Vishal Verma, Luiz Augusto von Dentz, Matt Mackall, Dan Williams,
Jaroslav Kysela, Cristian Marussi, Jens Axboe, Jie Deng,
Mathieu Poirier, linux-gpio, Greg Kroah-Hartman, linux-wireless,
linux-kernel, linux-i2c, linux-bluetooth, iommu, Anton Yakovlev,
Daniel Vetter, Sudeep Holla, linux-fsdevel, Paolo Bonzini,
Johannes Berg, Enrico Weigelt, metux IT consult, David S. Miller
On Wed, Oct 13, 2021 at 06:55:31AM -0400, Michael S. Tsirkin wrote:
> This will enable cleanups down the road.
> The idea is to disable cbs, then add "flush_queued_cbs" callback
> as a parameter, this way drivers can flush any work
> queued after callbacks have been disabled.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> arch/um/drivers/virt-pci.c | 2 +-
> drivers/block/virtio_blk.c | 4 ++--
> drivers/bluetooth/virtio_bt.c | 2 +-
> drivers/char/hw_random/virtio-rng.c | 2 +-
> drivers/char/virtio_console.c | 4 ++--
> drivers/crypto/virtio/virtio_crypto_core.c | 8 ++++----
> drivers/firmware/arm_scmi/virtio.c | 2 +-
> drivers/gpio/gpio-virtio.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
> drivers/i2c/busses/i2c-virtio.c | 2 +-
> drivers/iommu/virtio-iommu.c | 2 +-
> drivers/net/caif/caif_virtio.c | 2 +-
> drivers/net/virtio_net.c | 4 ++--
> drivers/net/wireless/mac80211_hwsim.c | 2 +-
> drivers/nvdimm/virtio_pmem.c | 2 +-
> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
> drivers/scsi/virtio_scsi.c | 2 +-
> drivers/virtio/virtio.c | 5 +++++
> drivers/virtio/virtio_balloon.c | 2 +-
> drivers/virtio/virtio_input.c | 2 +-
> drivers/virtio/virtio_mem.c | 2 +-
> fs/fuse/virtio_fs.c | 4 ++--
fs/fuse/virtio_fs.c changes look good to me.
Reviewed-by: Vivek Goyal <vgoyal@redhat.com>
Vivek
[..]
> diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c
> index 0ad89c6629d7..27c3b74070a2 100644
> --- a/fs/fuse/virtio_fs.c
> +++ b/fs/fuse/virtio_fs.c
> @@ -895,7 +895,7 @@ static int virtio_fs_probe(struct virtio_device *vdev)
> return 0;
>
> out_vqs:
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> virtio_fs_cleanup_vqs(vdev, fs);
> kfree(fs->vqs);
>
> @@ -927,7 +927,7 @@ static void virtio_fs_remove(struct virtio_device *vdev)
> list_del_init(&fs->list);
> virtio_fs_stop_all_queues(fs);
> virtio_fs_drain_all_queues_locked(fs);
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> virtio_fs_cleanup_vqs(vdev, fs);
>
> vdev->priv = NULL;
Thanks
Vivek
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
` (2 preceding siblings ...)
2021-10-13 13:16 ` Vivek Goyal
@ 2021-10-13 15:46 ` Mathieu Poirier
2021-10-13 16:18 ` Cristian Marussi
` (6 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Mathieu Poirier @ 2021-10-13 15:46 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Latchesar Ionkov, nvdimm, Dominique Martinet, Stefan Hajnoczi,
kvm, David Hildenbrand, David Airlie, Viresh Kumar, Jason Wang,
linux-remoteproc, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
linux-scsi, Will Deacon, v9fs-developer, Anton Ivanov,
Jean-Philippe Brucker, Linus Walleij, Dave Jiang, Herbert Xu,
linux-arm-kernel, Miklos Szeredi, Richard Weinberger,
Bartosz Golaszewski, Takashi Iwai, Gonglei, Kalle Valo,
James E.J. Bottomley, Jakub Kicinski, Ira Weiny, virtualization,
Jeff Dike, Vivek Goyal, Stefano Garzarella, Ohad Ben-Cohen,
Johan Hedberg, Arnd Bergmann, Amit Shah, Eric Van Hensbergen,
Marcel Holtmann, linux-um, linux-crypto, linux-block,
Vishal Verma, Luiz Augusto von Dentz, Matt Mackall, Dan Williams,
Jaroslav Kysela, Cristian Marussi, Jens Axboe, Jie Deng,
Martin K. Petersen, linux-gpio, Greg Kroah-Hartman,
linux-wireless, linux-kernel, linux-i2c, linux-bluetooth, iommu,
Anton Yakovlev, Daniel Vetter, Sudeep Holla, linux-fsdevel,
Paolo Bonzini, Johannes Berg, Enrico Weigelt, metux IT consult,
David S. Miller
On Wed, Oct 13, 2021 at 06:55:31AM -0400, Michael S. Tsirkin wrote:
> This will enable cleanups down the road.
> The idea is to disable cbs, then add "flush_queued_cbs" callback
> as a parameter, this way drivers can flush any work
> queued after callbacks have been disabled.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> arch/um/drivers/virt-pci.c | 2 +-
> drivers/block/virtio_blk.c | 4 ++--
> drivers/bluetooth/virtio_bt.c | 2 +-
> drivers/char/hw_random/virtio-rng.c | 2 +-
> drivers/char/virtio_console.c | 4 ++--
> drivers/crypto/virtio/virtio_crypto_core.c | 8 ++++----
> drivers/firmware/arm_scmi/virtio.c | 2 +-
> drivers/gpio/gpio-virtio.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
> drivers/i2c/busses/i2c-virtio.c | 2 +-
> drivers/iommu/virtio-iommu.c | 2 +-
> drivers/net/caif/caif_virtio.c | 2 +-
> drivers/net/virtio_net.c | 4 ++--
> drivers/net/wireless/mac80211_hwsim.c | 2 +-
> drivers/nvdimm/virtio_pmem.c | 2 +-
> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
> drivers/scsi/virtio_scsi.c | 2 +-
> drivers/virtio/virtio.c | 5 +++++
> drivers/virtio/virtio_balloon.c | 2 +-
> drivers/virtio/virtio_input.c | 2 +-
> drivers/virtio/virtio_mem.c | 2 +-
> fs/fuse/virtio_fs.c | 4 ++--
> include/linux/virtio.h | 1 +
> net/9p/trans_virtio.c | 2 +-
> net/vmw_vsock/virtio_transport.c | 4 ++--
> sound/virtio/virtio_card.c | 4 ++--
> 26 files changed, 39 insertions(+), 33 deletions(-)
>
> static struct virtio_driver virtio_pmem_driver = {
> diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c
> index 8e49a3bacfc7..6a11952822df 100644
> --- a/drivers/rpmsg/virtio_rpmsg_bus.c
> +++ b/drivers/rpmsg/virtio_rpmsg_bus.c
> @@ -1015,7 +1015,7 @@ static void rpmsg_remove(struct virtio_device *vdev)
> size_t total_buf_space = vrp->num_bufs * vrp->buf_size;
> int ret;
>
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
> ret = device_for_each_child(&vdev->dev, NULL, rpmsg_remove_device);
> if (ret)
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
` (3 preceding siblings ...)
2021-10-13 15:46 ` Mathieu Poirier
@ 2021-10-13 16:18 ` Cristian Marussi
2021-10-13 16:26 ` Pankaj Gupta
` (5 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Cristian Marussi @ 2021-10-13 16:18 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Latchesar Ionkov, nvdimm, Dominique Martinet, Stefan Hajnoczi,
kvm, David Hildenbrand, David Airlie, Viresh Kumar, Linus Walleij,
Jeff Dike, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
Will Deacon, v9fs-developer, Anton Ivanov, Jean-Philippe Brucker,
Dave Jiang, Herbert Xu, linux-scsi, Miklos Szeredi,
Richard Weinberger, Bartosz Golaszewski, Takashi Iwai, Gonglei,
linux-arm-kernel, Martin K. Petersen, James E.J. Bottomley,
Jakub Kicinski, Ira Weiny, virtualization, Jason Wang,
Vivek Goyal, Stefano Garzarella, Ohad Ben-Cohen, Johan Hedberg,
Arnd Bergmann, Amit Shah, Eric Van Hensbergen, linux-remoteproc,
Marcel Holtmann, linux-um, linux-crypto, linux-block,
Vishal Verma, Luiz Augusto von Dentz, Matt Mackall, Dan Williams,
Jaroslav Kysela, Kalle Valo, Jens Axboe, Jie Deng,
Mathieu Poirier, linux-gpio, Greg Kroah-Hartman, linux-wireless,
linux-kernel, linux-i2c, linux-bluetooth, iommu, Anton Yakovlev,
Daniel Vetter, Sudeep Holla, linux-fsdevel, Paolo Bonzini,
Johannes Berg, Enrico Weigelt, metux IT consult, David S. Miller
On Wed, Oct 13, 2021 at 06:55:31AM -0400, Michael S. Tsirkin wrote:
> This will enable cleanups down the road.
> The idea is to disable cbs, then add "flush_queued_cbs" callback
> as a parameter, this way drivers can flush any work
> queued after callbacks have been disabled.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> arch/um/drivers/virt-pci.c | 2 +-
> drivers/block/virtio_blk.c | 4 ++--
> drivers/bluetooth/virtio_bt.c | 2 +-
> drivers/char/hw_random/virtio-rng.c | 2 +-
> drivers/char/virtio_console.c | 4 ++--
> drivers/crypto/virtio/virtio_crypto_core.c | 8 ++++----
> drivers/firmware/arm_scmi/virtio.c | 2 +-
> drivers/gpio/gpio-virtio.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
> drivers/i2c/busses/i2c-virtio.c | 2 +-
> drivers/iommu/virtio-iommu.c | 2 +-
> drivers/net/caif/caif_virtio.c | 2 +-
> drivers/net/virtio_net.c | 4 ++--
> drivers/net/wireless/mac80211_hwsim.c | 2 +-
> drivers/nvdimm/virtio_pmem.c | 2 +-
> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
> drivers/scsi/virtio_scsi.c | 2 +-
> drivers/virtio/virtio.c | 5 +++++
> drivers/virtio/virtio_balloon.c | 2 +-
> drivers/virtio/virtio_input.c | 2 +-
> drivers/virtio/virtio_mem.c | 2 +-
> fs/fuse/virtio_fs.c | 4 ++--
> include/linux/virtio.h | 1 +
> net/9p/trans_virtio.c | 2 +-
> net/vmw_vsock/virtio_transport.c | 4 ++--
> sound/virtio/virtio_card.c | 4 ++--
> 26 files changed, 39 insertions(+), 33 deletions(-)
>
[snip]
> diff --git a/drivers/firmware/arm_scmi/virtio.c b/drivers/firmware/arm_scmi/virtio.c
> index 11e8efb71375..6b8d93fe8848 100644
> --- a/drivers/firmware/arm_scmi/virtio.c
> +++ b/drivers/firmware/arm_scmi/virtio.c
> @@ -452,7 +452,7 @@ static void scmi_vio_remove(struct virtio_device *vdev)
> * outstanding message on any vqueue to be ignored by complete_cb: now
> * we can just stop processing buffers and destroy the vqueues.
> */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->config->del_vqs(vdev);
> /* Ensure scmi_vdev is visible as NULL */
> smp_store_mb(scmi_vdev, NULL);
Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Thanks,
Cristian
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
` (4 preceding siblings ...)
2021-10-13 16:18 ` Cristian Marussi
@ 2021-10-13 16:26 ` Pankaj Gupta
2021-10-14 6:11 ` Anton Yakovlev
` (4 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Pankaj Gupta @ 2021-10-13 16:26 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Latchesar Ionkov, Linux NVDIMM, Dominique Martinet,
Stefan Hajnoczi, kvm, David Hildenbrand, David Airlie,
Viresh Kumar, Jason Wang, linux-remoteproc, alsa-devel, dri-devel,
netdev, Gerd Hoffmann, linux-scsi, Will Deacon, v9fs-developer,
Anton Ivanov, Jean-Philippe Brucker, Linus Walleij, Dave Jiang,
Herbert Xu, linux-arm-kernel, Miklos Szeredi, Richard Weinberger,
Bartosz Golaszewski, Takashi Iwai, Gonglei, Kalle Valo,
Martin K. Petersen, James E.J. Bottomley, Jakub Kicinski,
Ira Weiny, virtualization, Jeff Dike, Vivek Goyal,
Stefano Garzarella, Ohad Ben-Cohen, Johan Hedberg, Arnd Bergmann,
Amit Shah, Eric Van Hensbergen, Marcel Holtmann, linux-um,
linux-crypto, linux-block, Vishal Verma, Luiz Augusto von Dentz,
Matt Mackall, Dan Williams, Jaroslav Kysela, Cristian Marussi,
Jens Axboe, Jie Deng, Mathieu Poirier, linux-gpio,
Greg Kroah-Hartman, linux-wireless, LKML, linux-i2c,
linux-bluetooth, iommu, Anton Yakovlev, Daniel Vetter,
Sudeep Holla, linux-fsdevel, Paolo Bonzini, Johannes Berg,
Enrico Weigelt, metux IT consult, David S. Miller
> This will enable cleanups down the road.
> The idea is to disable cbs, then add "flush_queued_cbs" callback
> as a parameter, this way drivers can flush any work
> queued after callbacks have been disabled.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> arch/um/drivers/virt-pci.c | 2 +-
> drivers/block/virtio_blk.c | 4 ++--
> drivers/bluetooth/virtio_bt.c | 2 +-
> drivers/char/hw_random/virtio-rng.c | 2 +-
> drivers/char/virtio_console.c | 4 ++--
> drivers/crypto/virtio/virtio_crypto_core.c | 8 ++++----
> drivers/firmware/arm_scmi/virtio.c | 2 +-
> drivers/gpio/gpio-virtio.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
> drivers/i2c/busses/i2c-virtio.c | 2 +-
> drivers/iommu/virtio-iommu.c | 2 +-
> drivers/net/caif/caif_virtio.c | 2 +-
> drivers/net/virtio_net.c | 4 ++--
> drivers/net/wireless/mac80211_hwsim.c | 2 +-
> drivers/nvdimm/virtio_pmem.c | 2 +-
> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
> drivers/scsi/virtio_scsi.c | 2 +-
> drivers/virtio/virtio.c | 5 +++++
> drivers/virtio/virtio_balloon.c | 2 +-
> drivers/virtio/virtio_input.c | 2 +-
> drivers/virtio/virtio_mem.c | 2 +-
> fs/fuse/virtio_fs.c | 4 ++--
> include/linux/virtio.h | 1 +
> net/9p/trans_virtio.c | 2 +-
> net/vmw_vsock/virtio_transport.c | 4 ++--
> sound/virtio/virtio_card.c | 4 ++--
> 26 files changed, 39 insertions(+), 33 deletions(-)
>
> diff --git a/arch/um/drivers/virt-pci.c b/arch/um/drivers/virt-pci.c
> index c08066633023..22c4d87c9c15 100644
> --- a/arch/um/drivers/virt-pci.c
> +++ b/arch/um/drivers/virt-pci.c
> @@ -616,7 +616,7 @@ static void um_pci_virtio_remove(struct virtio_device *vdev)
> int i;
>
> /* Stop all virtqueues */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->config->del_vqs(vdev);
>
> device_set_wakeup_enable(&vdev->dev, false);
> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index 303caf2d17d0..83d0af3fbf30 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -910,7 +910,7 @@ static void virtblk_remove(struct virtio_device *vdev)
> mutex_lock(&vblk->vdev_mutex);
>
> /* Stop all the virtqueues. */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
> /* Virtqueues are stopped, nothing can use vblk->vdev anymore. */
> vblk->vdev = NULL;
> @@ -929,7 +929,7 @@ static int virtblk_freeze(struct virtio_device *vdev)
> struct virtio_blk *vblk = vdev->priv;
>
> /* Ensure we don't receive any more interrupts */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
> /* Make sure no work handler is accessing the device. */
> flush_work(&vblk->config_work);
> diff --git a/drivers/bluetooth/virtio_bt.c b/drivers/bluetooth/virtio_bt.c
> index 57908ce4fae8..24a9258962fa 100644
> --- a/drivers/bluetooth/virtio_bt.c
> +++ b/drivers/bluetooth/virtio_bt.c
> @@ -364,7 +364,7 @@ static void virtbt_remove(struct virtio_device *vdev)
> struct hci_dev *hdev = vbt->hdev;
>
> hci_unregister_dev(hdev);
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
> hci_free_dev(hdev);
> vbt->hdev = NULL;
> diff --git a/drivers/char/hw_random/virtio-rng.c b/drivers/char/hw_random/virtio-rng.c
> index a90001e02bf7..95980489514b 100644
> --- a/drivers/char/hw_random/virtio-rng.c
> +++ b/drivers/char/hw_random/virtio-rng.c
> @@ -134,7 +134,7 @@ static void remove_common(struct virtio_device *vdev)
> vi->hwrng_removed = true;
> vi->data_avail = 0;
> complete(&vi->have_data);
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vi->busy = false;
> if (vi->hwrng_register_done)
> hwrng_unregister(&vi->hwrng);
> diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
> index 7eaf303a7a86..08bbd693436f 100644
> --- a/drivers/char/virtio_console.c
> +++ b/drivers/char/virtio_console.c
> @@ -1957,7 +1957,7 @@ static void virtcons_remove(struct virtio_device *vdev)
> spin_unlock_irq(&pdrvdata_lock);
>
> /* Disable interrupts for vqs */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> /* Finish up work that's lined up */
> if (use_multiport(portdev))
> cancel_work_sync(&portdev->control_work);
> @@ -2139,7 +2139,7 @@ static int virtcons_freeze(struct virtio_device *vdev)
>
> portdev = vdev->priv;
>
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
> if (use_multiport(portdev))
> virtqueue_disable_cb(portdev->c_ivq);
> diff --git a/drivers/crypto/virtio/virtio_crypto_core.c b/drivers/crypto/virtio/virtio_crypto_core.c
> index e2375d992308..8e977b7627cb 100644
> --- a/drivers/crypto/virtio/virtio_crypto_core.c
> +++ b/drivers/crypto/virtio/virtio_crypto_core.c
> @@ -404,7 +404,7 @@ static int virtcrypto_probe(struct virtio_device *vdev)
> free_engines:
> virtcrypto_clear_crypto_engines(vcrypto);
> free_vqs:
> - vcrypto->vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> virtcrypto_del_vqs(vcrypto);
> free_dev:
> virtcrypto_devmgr_rm_dev(vcrypto);
> @@ -436,7 +436,7 @@ static void virtcrypto_remove(struct virtio_device *vdev)
>
> if (virtcrypto_dev_started(vcrypto))
> virtcrypto_dev_stop(vcrypto);
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> virtcrypto_free_unused_reqs(vcrypto);
> virtcrypto_clear_crypto_engines(vcrypto);
> virtcrypto_del_vqs(vcrypto);
> @@ -456,7 +456,7 @@ static int virtcrypto_freeze(struct virtio_device *vdev)
> {
> struct virtio_crypto *vcrypto = vdev->priv;
>
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> virtcrypto_free_unused_reqs(vcrypto);
> if (virtcrypto_dev_started(vcrypto))
> virtcrypto_dev_stop(vcrypto);
> @@ -492,7 +492,7 @@ static int virtcrypto_restore(struct virtio_device *vdev)
> free_engines:
> virtcrypto_clear_crypto_engines(vcrypto);
> free_vqs:
> - vcrypto->vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> virtcrypto_del_vqs(vcrypto);
> return err;
> }
> diff --git a/drivers/firmware/arm_scmi/virtio.c b/drivers/firmware/arm_scmi/virtio.c
> index 11e8efb71375..6b8d93fe8848 100644
> --- a/drivers/firmware/arm_scmi/virtio.c
> +++ b/drivers/firmware/arm_scmi/virtio.c
> @@ -452,7 +452,7 @@ static void scmi_vio_remove(struct virtio_device *vdev)
> * outstanding message on any vqueue to be ignored by complete_cb: now
> * we can just stop processing buffers and destroy the vqueues.
> */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->config->del_vqs(vdev);
> /* Ensure scmi_vdev is visible as NULL */
> smp_store_mb(scmi_vdev, NULL);
> diff --git a/drivers/gpio/gpio-virtio.c b/drivers/gpio/gpio-virtio.c
> index d24f1c9264bc..5029f01966f4 100644
> --- a/drivers/gpio/gpio-virtio.c
> +++ b/drivers/gpio/gpio-virtio.c
> @@ -203,7 +203,7 @@ static void virtio_gpio_request_vq(struct virtqueue *vq)
>
> static void virtio_gpio_free_vqs(struct virtio_device *vdev)
> {
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->config->del_vqs(vdev);
> }
>
> diff --git a/drivers/gpu/drm/virtio/virtgpu_kms.c b/drivers/gpu/drm/virtio/virtgpu_kms.c
> index f3379059f324..6aa605b8d3a1 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_kms.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_kms.c
> @@ -257,7 +257,7 @@ void virtio_gpu_deinit(struct drm_device *dev)
> flush_work(&vgdev->ctrlq.dequeue_work);
> flush_work(&vgdev->cursorq.dequeue_work);
> flush_work(&vgdev->config_changed_work);
> - vgdev->vdev->config->reset(vgdev->vdev);
> + virtio_reset_device(vgdev->vdev);
> vgdev->vdev->config->del_vqs(vgdev->vdev);
> }
>
> diff --git a/drivers/i2c/busses/i2c-virtio.c b/drivers/i2c/busses/i2c-virtio.c
> index f10a603b13fb..eb3261ac64dc 100644
> --- a/drivers/i2c/busses/i2c-virtio.c
> +++ b/drivers/i2c/busses/i2c-virtio.c
> @@ -177,7 +177,7 @@ static int virtio_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
>
> static void virtio_i2c_del_vqs(struct virtio_device *vdev)
> {
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->config->del_vqs(vdev);
> }
>
> diff --git a/drivers/iommu/virtio-iommu.c b/drivers/iommu/virtio-iommu.c
> index 80930ce04a16..1d4e1e7cf175 100644
> --- a/drivers/iommu/virtio-iommu.c
> +++ b/drivers/iommu/virtio-iommu.c
> @@ -1115,7 +1115,7 @@ static void viommu_remove(struct virtio_device *vdev)
> iommu_device_unregister(&viommu->iommu);
>
> /* Stop all virtqueues */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->config->del_vqs(vdev);
>
> dev_info(&vdev->dev, "device removed\n");
> diff --git a/drivers/net/caif/caif_virtio.c b/drivers/net/caif/caif_virtio.c
> index 91230894692d..444ef6a342f6 100644
> --- a/drivers/net/caif/caif_virtio.c
> +++ b/drivers/net/caif/caif_virtio.c
> @@ -754,7 +754,7 @@ static void cfv_remove(struct virtio_device *vdev)
> debugfs_remove_recursive(cfv->debugfs);
>
> vringh_kiov_cleanup(&cfv->ctx.riov);
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->vringh_config->del_vrhs(cfv->vdev);
> cfv->vr_rx = NULL;
> vdev->config->del_vqs(cfv->vdev);
> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> index 79bd2585ec6b..8c10fcad73a4 100644
> --- a/drivers/net/virtio_net.c
> +++ b/drivers/net/virtio_net.c
> @@ -3274,7 +3274,7 @@ static int virtnet_probe(struct virtio_device *vdev)
> return 0;
>
> free_unregister_netdev:
> - vi->vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
> unregister_netdev(dev);
> free_failover:
> @@ -3290,7 +3290,7 @@ static int virtnet_probe(struct virtio_device *vdev)
>
> static void remove_vq_common(struct virtnet_info *vi)
> {
> - vi->vdev->config->reset(vi->vdev);
> + virtio_reset_device(vi->vdev);
>
> /* Free unused buffers in both send and recv, if any. */
> free_unused_bufs(vi);
> diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
> index 0adae76eb8df..9ee430c1d4a2 100644
> --- a/drivers/net/wireless/mac80211_hwsim.c
> +++ b/drivers/net/wireless/mac80211_hwsim.c
> @@ -4369,7 +4369,7 @@ static void remove_vqs(struct virtio_device *vdev)
> {
> int i;
>
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
> for (i = 0; i < ARRAY_SIZE(hwsim_vqs); i++) {
> struct virtqueue *vq = hwsim_vqs[i];
> diff --git a/drivers/nvdimm/virtio_pmem.c b/drivers/nvdimm/virtio_pmem.c
> index 726c7354d465..995b6cdc67ed 100644
> --- a/drivers/nvdimm/virtio_pmem.c
> +++ b/drivers/nvdimm/virtio_pmem.c
> @@ -105,7 +105,7 @@ static void virtio_pmem_remove(struct virtio_device *vdev)
>
> nvdimm_bus_unregister(nvdimm_bus);
> vdev->config->del_vqs(vdev);
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> }
>
> static struct virtio_driver virtio_pmem_driver = {
> diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c
> index 8e49a3bacfc7..6a11952822df 100644
> --- a/drivers/rpmsg/virtio_rpmsg_bus.c
> +++ b/drivers/rpmsg/virtio_rpmsg_bus.c
> @@ -1015,7 +1015,7 @@ static void rpmsg_remove(struct virtio_device *vdev)
> size_t total_buf_space = vrp->num_bufs * vrp->buf_size;
> int ret;
>
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
> ret = device_for_each_child(&vdev->dev, NULL, rpmsg_remove_device);
> if (ret)
> diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c
> index 07d0250f17c3..f2502a8a5213 100644
> --- a/drivers/scsi/virtio_scsi.c
> +++ b/drivers/scsi/virtio_scsi.c
> @@ -778,7 +778,7 @@ static void virtscsi_init_vq(struct virtio_scsi_vq *virtscsi_vq,
> static void virtscsi_remove_vqs(struct virtio_device *vdev)
> {
> /* Stop all the virtqueues. */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->config->del_vqs(vdev);
> }
>
> diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
> index 0a5b54034d4b..a67dd0eca578 100644
> --- a/drivers/virtio/virtio.c
> +++ b/drivers/virtio/virtio.c
> @@ -204,6 +204,11 @@ int virtio_finalize_features(struct virtio_device *dev)
> }
> EXPORT_SYMBOL_GPL(virtio_finalize_features);
>
> +static void virtio_reset_device(struct virtio_device *dev)
> +{
> + dev->config->reset(dev);
> +}
> +
> static int virtio_dev_probe(struct device *_d)
> {
> int err, i;
> diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
> index c22ff0117b46..f4c34a2a6b8e 100644
> --- a/drivers/virtio/virtio_balloon.c
> +++ b/drivers/virtio/virtio_balloon.c
> @@ -1056,7 +1056,7 @@ static void remove_common(struct virtio_balloon *vb)
> return_free_pages_to_mm(vb, ULONG_MAX);
>
> /* Now we reset the device so we can clean up the queues. */
> - vb->vdev->config->reset(vb->vdev);
> + virtio_reset_device(vb->vdev);
>
> vb->vdev->config->del_vqs(vb->vdev);
> }
> diff --git a/drivers/virtio/virtio_input.c b/drivers/virtio/virtio_input.c
> index ce51ae165943..3aa46703872d 100644
> --- a/drivers/virtio/virtio_input.c
> +++ b/drivers/virtio/virtio_input.c
> @@ -347,7 +347,7 @@ static void virtinput_remove(struct virtio_device *vdev)
> spin_unlock_irqrestore(&vi->lock, flags);
>
> input_unregister_device(vi->idev);
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> while ((buf = virtqueue_detach_unused_buf(vi->sts)) != NULL)
> kfree(buf);
> vdev->config->del_vqs(vdev);
> diff --git a/drivers/virtio/virtio_mem.c b/drivers/virtio/virtio_mem.c
> index bef8ad6bf466..3bab0a625a4b 100644
> --- a/drivers/virtio/virtio_mem.c
> +++ b/drivers/virtio/virtio_mem.c
> @@ -2722,7 +2722,7 @@ static void virtio_mem_remove(struct virtio_device *vdev)
> }
>
> /* reset the device and cleanup the queues */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->config->del_vqs(vdev);
>
> kfree(vm);
> diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c
> index 0ad89c6629d7..27c3b74070a2 100644
> --- a/fs/fuse/virtio_fs.c
> +++ b/fs/fuse/virtio_fs.c
> @@ -895,7 +895,7 @@ static int virtio_fs_probe(struct virtio_device *vdev)
> return 0;
>
> out_vqs:
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> virtio_fs_cleanup_vqs(vdev, fs);
> kfree(fs->vqs);
>
> @@ -927,7 +927,7 @@ static void virtio_fs_remove(struct virtio_device *vdev)
> list_del_init(&fs->list);
> virtio_fs_stop_all_queues(fs);
> virtio_fs_drain_all_queues_locked(fs);
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> virtio_fs_cleanup_vqs(vdev, fs);
>
> vdev->priv = NULL;
> diff --git a/include/linux/virtio.h b/include/linux/virtio.h
> index 41edbc01ffa4..72292a62cd90 100644
> --- a/include/linux/virtio.h
> +++ b/include/linux/virtio.h
> @@ -138,6 +138,7 @@ int virtio_finalize_features(struct virtio_device *dev);
> int virtio_device_freeze(struct virtio_device *dev);
> int virtio_device_restore(struct virtio_device *dev);
> #endif
> +void virtio_reset_device(struct virtio_device *dev);
>
> size_t virtio_max_dma_size(struct virtio_device *vdev);
>
> diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
> index 490a4c900339..19c69821dd04 100644
> --- a/net/9p/trans_virtio.c
> +++ b/net/9p/trans_virtio.c
> @@ -721,7 +721,7 @@ static void p9_virtio_remove(struct virtio_device *vdev)
>
> mutex_unlock(&virtio_9p_lock);
>
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
> vdev->config->del_vqs(vdev);
>
> sysfs_remove_file(&(vdev->dev.kobj), &dev_attr_mount_tag.attr);
> diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c
> index 4f7c99dfd16c..fb3302fff627 100644
> --- a/net/vmw_vsock/virtio_transport.c
> +++ b/net/vmw_vsock/virtio_transport.c
> @@ -665,7 +665,7 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
> vsock_for_each_connected_socket(virtio_vsock_reset_sock);
>
> /* Stop all work handlers to make sure no one is accessing the device,
> - * so we can safely call vdev->config->reset().
> + * so we can safely call virtio_reset_device().
> */
> mutex_lock(&vsock->rx_lock);
> vsock->rx_run = false;
> @@ -682,7 +682,7 @@ static void virtio_vsock_remove(struct virtio_device *vdev)
> /* Flush all device writes and interrupts, device will not use any
> * more buffers.
> */
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
> mutex_lock(&vsock->rx_lock);
> while ((pkt = virtqueue_detach_unused_buf(vsock->vqs[VSOCK_VQ_RX])))
> diff --git a/sound/virtio/virtio_card.c b/sound/virtio/virtio_card.c
> index 150ab3e37013..e2847c040f75 100644
> --- a/sound/virtio/virtio_card.c
> +++ b/sound/virtio/virtio_card.c
> @@ -350,7 +350,7 @@ static void virtsnd_remove(struct virtio_device *vdev)
> snd_card_free(snd->card);
>
> vdev->config->del_vqs(vdev);
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
> for (i = 0; snd->substreams && i < snd->nsubstreams; ++i) {
> struct virtio_pcm_substream *vss = &snd->substreams[i];
> @@ -379,7 +379,7 @@ static int virtsnd_freeze(struct virtio_device *vdev)
> virtsnd_ctl_msg_cancel_all(snd);
>
> vdev->config->del_vqs(vdev);
> - vdev->config->reset(vdev);
> + virtio_reset_device(vdev);
>
> for (i = 0; i < snd->nsubstreams; ++i)
> cancel_work_sync(&snd->substreams[i].elapsed_period);
Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
` (5 preceding siblings ...)
2021-10-13 16:26 ` Pankaj Gupta
@ 2021-10-14 6:11 ` Anton Yakovlev
2021-10-14 8:36 ` Jean-Philippe Brucker
` (3 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Anton Yakovlev @ 2021-10-14 6:11 UTC (permalink / raw)
To: Michael S. Tsirkin, linux-kernel
Cc: Latchesar Ionkov, nvdimm, Dominique Martinet, Stefan Hajnoczi,
kvm, David Hildenbrand, David Airlie, Viresh Kumar, Linus Walleij,
linux-remoteproc, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
linux-scsi, Will Deacon, v9fs-developer, Anton Ivanov,
Jean-Philippe Brucker, Dave Jiang, Herbert Xu, linux-arm-kernel,
Miklos Szeredi, Richard Weinberger, Bartosz Golaszewski, Gonglei,
Kalle Valo, Martin K. Petersen, James E.J. Bottomley,
Jakub Kicinski, Ira Weiny, virtualization, Marcel Holtmann,
Vivek Goyal, Stefano Garzarella, Ohad Ben-Cohen, Johan Hedberg,
Arnd Bergmann, Amit Shah, Eric Van Hensbergen, Jeff Dike,
linux-um, linux-block, Vishal Verma, Luiz Augusto von Dentz,
Matt Mackall, Dan Williams, Jaroslav Kysela, Cristian Marussi,
Jens Axboe, Jie Deng, Mathieu Poirier, linux-gpio,
Greg Kroah-Hartman, Jason Wang, linux-wireless, Takashi Iwai,
linux-i2c, linux-bluetooth, iommu, linux-crypto, Daniel Vetter,
Sudeep Holla, linux-fsdevel, Paolo Bonzini, Johannes Berg,
Enrico Weigelt, metux IT consult, David S. Miller
On 13.10.2021 12:55, Michael S. Tsirkin wrote:
> This will enable cleanups down the road.
> The idea is to disable cbs, then add "flush_queued_cbs" callback
> as a parameter, this way drivers can flush any work
> queued after callbacks have been disabled.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> sound/virtio/virtio_card.c | 4 ++--
>
Reviewed-by: Anton Yakovlev <anton.yakovlev@opensynergy.com>
--
Anton Yakovlev
Senior Software Engineer
OpenSynergy GmbH
Rotherstr. 20, 10245 Berlin
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
` (6 preceding siblings ...)
2021-10-14 6:11 ` Anton Yakovlev
@ 2021-10-14 8:36 ` Jean-Philippe Brucker
2021-10-17 14:12 ` Wolfram Sang
` (2 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Jean-Philippe Brucker @ 2021-10-14 8:36 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Latchesar Ionkov, nvdimm, Dominique Martinet, Stefan Hajnoczi,
kvm, David Hildenbrand, David Airlie, Viresh Kumar, Jason Wang,
linux-remoteproc, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
linux-scsi, Will Deacon, v9fs-developer, Anton Ivanov,
Linus Walleij, Dave Jiang, Herbert Xu, linux-arm-kernel,
Miklos Szeredi, Richard Weinberger, Bartosz Golaszewski,
Takashi Iwai, Gonglei, Kalle Valo, Martin K. Petersen,
James E.J. Bottomley, Jakub Kicinski, Ira Weiny, virtualization,
Jeff Dike, Vivek Goyal, Stefano Garzarella, Ohad Ben-Cohen,
Johan Hedberg, Arnd Bergmann, Amit Shah, Eric Van Hensbergen,
Marcel Holtmann, linux-um, linux-crypto, linux-block,
Vishal Verma, Luiz Augusto von Dentz, Matt Mackall, Dan Williams,
Jaroslav Kysela, Cristian Marussi, Jens Axboe, Jie Deng,
Mathieu Poirier, linux-gpio, Greg Kroah-Hartman, linux-wireless,
linux-kernel, linux-i2c, linux-bluetooth, iommu, Anton Yakovlev,
Daniel Vetter, Sudeep Holla, linux-fsdevel, Paolo Bonzini,
Johannes Berg, Enrico Weigelt, metux IT consult, David S. Miller
On Wed, Oct 13, 2021 at 06:55:31AM -0400, Michael S. Tsirkin wrote:
> This will enable cleanups down the road.
> The idea is to disable cbs, then add "flush_queued_cbs" callback
> as a parameter, this way drivers can flush any work
> queued after callbacks have been disabled.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> drivers/iommu/virtio-iommu.c | 2 +-
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
` (7 preceding siblings ...)
2021-10-14 8:36 ` Jean-Philippe Brucker
@ 2021-10-17 14:12 ` Wolfram Sang
2021-10-18 9:11 ` Stefan Hajnoczi
2021-10-18 9:24 ` Stefano Garzarella
10 siblings, 0 replies; 14+ messages in thread
From: Wolfram Sang @ 2021-10-17 14:12 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Latchesar Ionkov, nvdimm, Dominique Martinet, Stefan Hajnoczi,
kvm, David Hildenbrand, David Airlie, Viresh Kumar, Jason Wang,
linux-remoteproc, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
linux-scsi, Will Deacon, v9fs-developer, Anton Ivanov,
Jean-Philippe Brucker, Linus Walleij, Dave Jiang, Herbert Xu,
linux-arm-kernel, Miklos Szeredi, Richard Weinberger,
Bartosz Golaszewski, Takashi Iwai, Gonglei, Kalle Valo,
Martin K. Petersen, James E.J. Bottomley, Jakub Kicinski,
Ira Weiny, virtualization, Jeff Dike, Vivek Goyal,
Stefano Garzarella, Ohad Ben-Cohen, Johan Hedberg, Arnd Bergmann,
Amit Shah, Eric Van Hensbergen, Marcel Holtmann, linux-um,
linux-crypto, linux-block, Vishal Verma, Luiz Augusto von Dentz,
Matt Mackall, Dan Williams, Jaroslav Kysela, Cristian Marussi,
Jens Axboe, Jie Deng, Mathieu Poirier, linux-gpio,
Greg Kroah-Hartman, linux-wireless, linux-kernel, linux-i2c,
linux-bluetooth, iommu, Anton Yakovlev, Daniel Vetter,
Sudeep Holla, linux-fsdevel, Paolo Bonzini, Johannes Berg,
Enrico Weigelt, metux IT consult, David S. Miller
[-- Attachment #1.1: Type: text/plain, Size: 403 bytes --]
On Wed, Oct 13, 2021 at 06:55:31AM -0400, Michael S. Tsirkin wrote:
> This will enable cleanups down the road.
> The idea is to disable cbs, then add "flush_queued_cbs" callback
> as a parameter, this way drivers can flush any work
> queued after callbacks have been disabled.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Wolfram Sang <wsa@kernel.org> # for I2C changes
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 156 bytes --]
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
` (8 preceding siblings ...)
2021-10-17 14:12 ` Wolfram Sang
@ 2021-10-18 9:11 ` Stefan Hajnoczi
2021-10-18 9:24 ` Stefano Garzarella
10 siblings, 0 replies; 14+ messages in thread
From: Stefan Hajnoczi @ 2021-10-18 9:11 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Latchesar Ionkov, nvdimm, Dominique Martinet, kvm,
David Hildenbrand, David Airlie, Linus Walleij, Jeff Dike,
alsa-devel, dri-devel, netdev, Gerd Hoffmann, linux-scsi,
Will Deacon, v9fs-developer, Anton Ivanov, Jean-Philippe Brucker,
Dave Jiang, Herbert Xu, linux-arm-kernel, Miklos Szeredi,
Viresh Kumar, Bartosz Golaszewski, Takashi Iwai, Gonglei,
Kalle Valo, Martin K. Petersen, James E.J. Bottomley,
Jakub Kicinski, Ira Weiny, virtualization, Jason Wang,
Vivek Goyal, Stefano Garzarella, Ohad Ben-Cohen, Johan Hedberg,
Arnd Bergmann, Amit Shah, Eric Van Hensbergen, linux-remoteproc,
Marcel Holtmann, Sudeep Holla, linux-um, linux-crypto,
linux-block, Vishal Verma, Luiz Augusto von Dentz, Matt Mackall,
Dan Williams, Jaroslav Kysela, Cristian Marussi, Jens Axboe,
Jie Deng, Mathieu Poirier, linux-gpio, Greg Kroah-Hartman,
linux-wireless, linux-kernel, linux-i2c, linux-bluetooth, iommu,
Anton Yakovlev, Daniel Vetter, Richard Weinberger, linux-fsdevel,
Paolo Bonzini, Johannes Berg, Enrico Weigelt, metux IT consult,
David S. Miller
[-- Attachment #1.1: Type: text/plain, Size: 1881 bytes --]
On Wed, Oct 13, 2021 at 06:55:31AM -0400, Michael S. Tsirkin wrote:
> This will enable cleanups down the road.
> The idea is to disable cbs, then add "flush_queued_cbs" callback
> as a parameter, this way drivers can flush any work
> queued after callbacks have been disabled.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> arch/um/drivers/virt-pci.c | 2 +-
> drivers/block/virtio_blk.c | 4 ++--
> drivers/bluetooth/virtio_bt.c | 2 +-
> drivers/char/hw_random/virtio-rng.c | 2 +-
> drivers/char/virtio_console.c | 4 ++--
> drivers/crypto/virtio/virtio_crypto_core.c | 8 ++++----
> drivers/firmware/arm_scmi/virtio.c | 2 +-
> drivers/gpio/gpio-virtio.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
> drivers/i2c/busses/i2c-virtio.c | 2 +-
> drivers/iommu/virtio-iommu.c | 2 +-
> drivers/net/caif/caif_virtio.c | 2 +-
> drivers/net/virtio_net.c | 4 ++--
> drivers/net/wireless/mac80211_hwsim.c | 2 +-
> drivers/nvdimm/virtio_pmem.c | 2 +-
> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
> drivers/scsi/virtio_scsi.c | 2 +-
> drivers/virtio/virtio.c | 5 +++++
> drivers/virtio/virtio_balloon.c | 2 +-
> drivers/virtio/virtio_input.c | 2 +-
> drivers/virtio/virtio_mem.c | 2 +-
> fs/fuse/virtio_fs.c | 4 ++--
> include/linux/virtio.h | 1 +
> net/9p/trans_virtio.c | 2 +-
> net/vmw_vsock/virtio_transport.c | 4 ++--
> sound/virtio/virtio_card.c | 4 ++--
> 26 files changed, 39 insertions(+), 33 deletions(-)
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 156 bytes --]
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH RFC] virtio: wrap config->reset calls
2021-10-13 10:55 [PATCH RFC] virtio: wrap config->reset calls Michael S. Tsirkin
` (9 preceding siblings ...)
2021-10-18 9:11 ` Stefan Hajnoczi
@ 2021-10-18 9:24 ` Stefano Garzarella
10 siblings, 0 replies; 14+ messages in thread
From: Stefano Garzarella @ 2021-10-18 9:24 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Latchesar Ionkov, nvdimm, Dominique Martinet, Stefan Hajnoczi,
kvm, David Hildenbrand, David Airlie, Viresh Kumar, Jason Wang,
linux-remoteproc, alsa-devel, dri-devel, netdev, Gerd Hoffmann,
linux-scsi, Will Deacon, v9fs-developer, Anton Ivanov,
Jean-Philippe Brucker, Linus Walleij, Dave Jiang, Herbert Xu,
linux-arm-kernel, Miklos Szeredi, Richard Weinberger,
Bartosz Golaszewski, Takashi Iwai, Gonglei, Kalle Valo,
Martin K. Petersen, James E.J. Bottomley, Jakub Kicinski,
Ira Weiny, virtualization, Jeff Dike, Vivek Goyal, linux-crypto,
Ohad Ben-Cohen, Johan Hedberg, Arnd Bergmann, Amit Shah,
Eric Van Hensbergen, Marcel Holtmann, linux-um, linux-block,
Vishal Verma, Luiz Augusto von Dentz, Matt Mackall, Dan Williams,
Jaroslav Kysela, Cristian Marussi, Jens Axboe, Jie Deng,
Mathieu Poirier, linux-gpio, Greg Kroah-Hartman, linux-wireless,
linux-kernel, linux-i2c, linux-bluetooth, iommu, Anton Yakovlev,
Daniel Vetter, Sudeep Holla, linux-fsdevel, Paolo Bonzini,
Johannes Berg, Enrico Weigelt, metux IT consult, David S. Miller
On Wed, Oct 13, 2021 at 06:55:31AM -0400, Michael S. Tsirkin wrote:
>This will enable cleanups down the road.
>The idea is to disable cbs, then add "flush_queued_cbs" callback
>as a parameter, this way drivers can flush any work
>queued after callbacks have been disabled.
>
>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>---
> arch/um/drivers/virt-pci.c | 2 +-
> drivers/block/virtio_blk.c | 4 ++--
> drivers/bluetooth/virtio_bt.c | 2 +-
> drivers/char/hw_random/virtio-rng.c | 2 +-
> drivers/char/virtio_console.c | 4 ++--
> drivers/crypto/virtio/virtio_crypto_core.c | 8 ++++----
> drivers/firmware/arm_scmi/virtio.c | 2 +-
> drivers/gpio/gpio-virtio.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_kms.c | 2 +-
> drivers/i2c/busses/i2c-virtio.c | 2 +-
> drivers/iommu/virtio-iommu.c | 2 +-
> drivers/net/caif/caif_virtio.c | 2 +-
> drivers/net/virtio_net.c | 4 ++--
> drivers/net/wireless/mac80211_hwsim.c | 2 +-
> drivers/nvdimm/virtio_pmem.c | 2 +-
> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +-
> drivers/scsi/virtio_scsi.c | 2 +-
> drivers/virtio/virtio.c | 5 +++++
> drivers/virtio/virtio_balloon.c | 2 +-
> drivers/virtio/virtio_input.c | 2 +-
> drivers/virtio/virtio_mem.c | 2 +-
> fs/fuse/virtio_fs.c | 4 ++--
> include/linux/virtio.h | 1 +
> net/9p/trans_virtio.c | 2 +-
> net/vmw_vsock/virtio_transport.c | 4 ++--
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 14+ messages in thread