On Fri, 26 Apr 2019 20:32:37 +0200
Halil Pasic <pa...@linux.ibm.com> wrote:

> Currently virtio-ccw devices do not work if the device has
> VIRTIO_F_IOMMU_PLATFORM. In future we do want to support DMA API with
> virtio-ccw.
> 
> Let us do the plumbing, so the feature VIRTIO_F_IOMMU_PLATFORM works
> with virtio-ccw.
> 
> Let us also switch from legacy avail/used accessors to the DMA aware
> ones (even if it isn't strictly necessary), and remove the legacy
> accessors (we were the last users).
> 
> Signed-off-by: Halil Pasic <pa...@linux.ibm.com>
> ---
>  drivers/s390/virtio/virtio_ccw.c | 22 +++++++++++++++-------
>  include/linux/virtio.h           | 17 -----------------
>  2 files changed, 15 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/s390/virtio/virtio_ccw.c 
> b/drivers/s390/virtio/virtio_ccw.c
> index 2c66941ef3d0..42832a164546 100644
> --- a/drivers/s390/virtio/virtio_ccw.c
> +++ b/drivers/s390/virtio/virtio_ccw.c

(...)

> @@ -1258,6 +1257,16 @@ static int virtio_ccw_online(struct ccw_device *cdev)
>               ret = -ENOMEM;
>               goto out_free;
>       }
> +
> +     vcdev->vdev.dev.parent = &cdev->dev;
> +     cdev->dev.dma_mask = &vcdev->dma_mask;
> +     /* we are fine with common virtio infrastructure using 64 bit DMA */
> +     ret = dma_set_mask_and_coherent(&cdev->dev, DMA_BIT_MASK(64));
> +     if (ret) {
> +             dev_warn(&cdev->dev, "Failed to enable 64-bit DMA.\n");

Drop the trailing period?

> +             goto out_free;
> +     }
> +
>       vcdev->config_block = kzalloc(sizeof(*vcdev->config_block),
>                                  GFP_DMA | GFP_KERNEL);
>       if (!vcdev->config_block) {

(...)

Reviewed-by: Cornelia Huck <coh...@redhat.com>

Also 5.2 material, I think.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to