search for: virtio_ccw_setup_vq

Displaying 20 results from an estimated 49 matches for "virtio_ccw_setup_vq".

2017 May 16
0
[PATCH 2/3] s390: virtio: Improve a size determination in virtio_ccw_setup_vq()
...| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c index 447fe718c0ab..bfb845d7faa7 100644 --- a/drivers/s390/virtio/virtio_ccw.c +++ b/drivers/s390/virtio/virtio_ccw.c @@ -495,5 +495,5 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, unsigned long flags; /* Allocate queue. */ - info = kzalloc(sizeof(struct virtio_ccw_vq_info), GFP_KERNEL); + info = kzalloc(sizeof(*info), GFP_KERNEL); if (!info) { -- 2.13.0
2017 May 16
3
[PATCH 0/3] S390-virtio: Adjustments for three function implementations
...us Elfring <elfring at users.sourceforge.net> Date: Tue, 16 May 2017 17:43:21 +0200 A few update suggestions were taken into account from static source code analysis. Markus Elfring (3): Delete error messages for failed memory allocations in two functions Improve a size determination in virtio_ccw_setup_vq() Adjust a null pointer check in two functions drivers/s390/virtio/virtio_ccw.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) -- 2.13.0
2017 May 16
3
[PATCH 0/3] S390-virtio: Adjustments for three function implementations
...us Elfring <elfring at users.sourceforge.net> Date: Tue, 16 May 2017 17:43:21 +0200 A few update suggestions were taken into account from static source code analysis. Markus Elfring (3): Delete error messages for failed memory allocations in two functions Improve a size determination in virtio_ccw_setup_vq() Adjust a null pointer check in two functions drivers/s390/virtio/virtio_ccw.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) -- 2.13.0
2019 Apr 08
1
[RFC PATCH 01/12] virtio/s390: use vring_create_virtqueue
...s(+), 19 deletions(-) > > diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c > index 74c328321889..edf4afe2d688 100644 > --- a/drivers/s390/virtio/virtio_ccw.c > +++ b/drivers/s390/virtio/virtio_ccw.c > @@ -516,17 +512,10 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, > err = info->num; > goto out_err; > } > - size = PAGE_ALIGN(vring_size(info->num, KVM_VIRTIO_CCW_RING_ALIGN)); > - info->queue = alloc_pages_exact(size, GFP_KERNEL | __GFP_ZERO); > - if (info->queue == NULL) { > - dev_warn(&...
2019 Apr 26
0
[PATCH 01/10] virtio/s390: use vring_create_virtqueue
..._vq(struct virtqueue *vq, struct ccw1 *ccw) ret, index); vring_del_virtqueue(vq); - size = PAGE_ALIGN(vring_size(info->num, KVM_VIRTIO_CCW_RING_ALIGN)); - free_pages_exact(info->queue, size); kfree(info->info_block); kfree(info); } @@ -494,8 +490,9 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, int err; struct virtqueue *vq = NULL; struct virtio_ccw_vq_info *info; - unsigned long size = 0; /* silence the compiler */ + u64 queue; unsigned long flags; + bool may_reduce; /* Allocate queue. */ info = kzalloc(sizeof(struct virtio_ccw_vq_info), GFP_KERN...
2015 Sep 10
0
[PATCH 1/1] virtio/s390: handle failures of READ_VQ_CONF ccw
From: Pierre Morel <pmorel at linux.vnet.ibm.com> In virtio_ccw_read_vq_conf() the return value of ccw_io_helper() was not checked. If the configuration could not be read properly, we'd wrongly assume a queue size of 0. Let's propagate any I/O error to virtio_ccw_setup_vq() so it may properly fail. Signed-off-by: Pierre Morel <pmorel at linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck at de.ibm.com> --- drivers/s390/virtio/virtio_ccw.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/s390/virtio/virti...
2015 Sep 10
2
[PATCH 0/1] virtio/s390: one bugfix
Michael, here's a bugfix for the virtio-ccw driver. Question: How would you like to get patches? This one is formatted against your current linux-next branch; I can prepare a branch for you to pull from as well. Pierre Morel (1): virtio/s390: handle failures of READ_VQ_CONF ccw drivers/s390/virtio/virtio_ccw.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) -- 2.3.8
2015 Sep 10
2
[PATCH 0/1] virtio/s390: one bugfix
Michael, here's a bugfix for the virtio-ccw driver. Question: How would you like to get patches? This one is formatted against your current linux-next branch; I can prepare a branch for you to pull from as well. Pierre Morel (1): virtio/s390: handle failures of READ_VQ_CONF ccw drivers/s390/virtio/virtio_ccw.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) -- 2.3.8
2019 Jan 04
0
[RFC PATCH 1/1] s390/virtio: handle find on invalid queue gracefully
...> return -ENOMEM; > > for (i = 0; i < nvqs; ++i) { > vqs[i] = virtio_ccw_setup_vq(vdev, i, callbacks[i], names[i], > ctx ? ctx[i] : false, ccw); > if (IS_ERR(vqs[i])) { > ret = PTR_ERR(vqs[i]); >...
2018 Dec 28
0
[PATCH v1 2/2] virtio: don't allocate vqs when names[i] = NULL
...*indicatorp = NULL; - int ret, i; + int ret, i, queue_idx = 0; struct ccw1 *ccw; ccw = kzalloc(sizeof(*ccw), GFP_DMA | GFP_KERNEL); @@ -643,8 +643,14 @@ static int virtio_ccw_find_vqs(struct virtio_device *vdev, unsigned nvqs, return -ENOMEM; for (i = 0; i < nvqs; ++i) { - vqs[i] = virtio_ccw_setup_vq(vdev, i, callbacks[i], names[i], - ctx ? ctx[i] : false, ccw); + if (!names[i]) { + vqs[i] = NULL; + continue; + } + + vqs[i] = virtio_ccw_setup_vq(vdev, queue_idx++, callbacks[i], + names[i], ctx ? ctx[i] : false, + ccw); if (IS_ERR(vqs[i])) { ret = PTR_ERR...
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...th_data(struct virtqueue *vq) > +{ > + return virtio_ccw_do_kvm_notify(vq, vring_notification_data(vq)); > +} > + > static int virtio_ccw_read_vq_conf(struct virtio_ccw_device *vcdev, > struct ccw1 *ccw, int index) > { > @@ -501,6 +511,9 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, > u64 queue; > unsigned long flags; > bool may_reduce; > + bool (*notify)(struct virtqueue *vq) = __virtio_test_bit(vdev, > + VIRTIO_F_NOTIFICATION_DATA) ? > + virtio_ccw_kvm_notify_with_data : virtio_ccw_kvm_notify; > > /* Allocate queu...
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...g_notification_data(vq)); > > > +} > > > + > > > static int virtio_ccw_read_vq_conf(struct virtio_ccw_device *vcdev, > > > struct ccw1 *ccw, int index) > > > { > > > @@ -501,6 +511,9 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, > > > u64 queue; > > > unsigned long flags; > > > bool may_reduce; > > > + bool (*notify)(struct virtqueue *vq) = __virtio_test_bit(vdev, > > > + VIRTIO_F_NOTIFICATION_DATA) ? > > > +...
2019 Apr 26
0
[PATCH 09/10] virtio/s390: use DMA memory for ccw I/O and classic notifiers
..._alloc_struct(vdev, ccw); if (!ccw) return; @@ -488,7 +508,7 @@ static void virtio_ccw_del_vqs(struct virtio_device *vdev) list_for_each_entry_safe(vq, n, &vdev->vqs, list) virtio_ccw_del_vq(vq, ccw); - kfree(ccw); + vc_dma_free_struct(vdev, ccw); } static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, @@ -511,8 +531,7 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, err = -ENOMEM; goto out_err; } - info->info_block = kzalloc(sizeof(*info->info_block), - GFP_DMA | GFP_KERNEL); + vc_dma_alloc_struct(vdev, info->info_bloc...
2019 May 23
0
[PATCH v2 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
..._alloc_struct(vdev, ccw); if (!ccw) return; @@ -489,7 +509,7 @@ static void virtio_ccw_del_vqs(struct virtio_device *vdev) list_for_each_entry_safe(vq, n, &vdev->vqs, list) virtio_ccw_del_vq(vq, ccw); - kfree(ccw); + vc_dma_free_struct(vdev, ccw); } static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, @@ -512,8 +532,7 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, err = -ENOMEM; goto out_err; } - info->info_block = kzalloc(sizeof(*info->info_block), - GFP_DMA | GFP_KERNEL); + vc_dma_alloc_struct(vdev, info->info_bloc...
2019 May 29
0
[PATCH v3 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
..._alloc_struct(vdev, ccw); if (!ccw) return; @@ -489,7 +509,7 @@ static void virtio_ccw_del_vqs(struct virtio_device *vdev) list_for_each_entry_safe(vq, n, &vdev->vqs, list) virtio_ccw_del_vq(vq, ccw); - kfree(ccw); + vc_dma_free_struct(vdev, ccw); } static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, @@ -512,8 +532,7 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, err = -ENOMEM; goto out_err; } - info->info_block = kzalloc(sizeof(*info->info_block), - GFP_DMA | GFP_KERNEL); + vc_dma_alloc_struct(vdev, info->info_bloc...
2019 Jun 06
0
[PATCH v4 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...if (!ccw) return; @@ -489,7 +494,7 @@ static void virtio_ccw_del_vqs(struct virtio_device *vdev) list_for_each_entry_safe(vq, n, &vdev->vqs, list) virtio_ccw_del_vq(vq, ccw); - kfree(ccw); + ccw_device_dma_free(vcdev->cdev, ccw, sizeof(*ccw)); } static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, @@ -512,8 +517,8 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, err = -ENOMEM; goto out_err; } - info->info_block = kzalloc(sizeof(*info->info_block), - GFP_DMA | GFP_KERNEL); + info->info_block = ccw_device_dma_zalloc(...
2019 Jun 12
0
[PATCH v5 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...if (!ccw) return; @@ -489,7 +494,7 @@ static void virtio_ccw_del_vqs(struct virtio_device *vdev) list_for_each_entry_safe(vq, n, &vdev->vqs, list) virtio_ccw_del_vq(vq, ccw); - kfree(ccw); + ccw_device_dma_free(vcdev->cdev, ccw, sizeof(*ccw)); } static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, @@ -512,8 +517,8 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, err = -ENOMEM; goto out_err; } - info->info_block = kzalloc(sizeof(*info->info_block), - GFP_DMA | GFP_KERNEL); + info->info_block = ccw_device_dma_zalloc(...
2023 Mar 23
0
[PATCH v5] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...h_data(struct virtqueue *vq) > +{ > + return virtio_ccw_do_kvm_notify(vq, vring_notification_data(vq)); > +} > + > static int virtio_ccw_read_vq_conf(struct virtio_ccw_device *vcdev, > struct ccw1 *ccw, int index) > { > @@ -501,6 +511,12 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, > u64 queue; > unsigned long flags; > bool may_reduce; > + bool (*notify)(struct virtqueue *vq); Generally speaking, the longest statement should be placed at the top. Other LGTM. Reviewed-by: Xuan Zhuo <xuanzhuo at linux.alibaba.com> > +...
2023 Mar 22
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...th_data(struct virtqueue *vq) > +{ > + return virtio_ccw_do_kvm_notify(vq, vring_notification_data(vq)); > +} > + > static int virtio_ccw_read_vq_conf(struct virtio_ccw_device *vcdev, > struct ccw1 *ccw, int index) > { > @@ -501,6 +511,9 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, > u64 queue; > unsigned long flags; > bool may_reduce; > + bool (*notify)(struct virtqueue *vq) = __virtio_test_bit(vdev, > + VIRTIO_F_NOTIFICATION_DATA) ? > + virtio_ccw_kvm_notify_with_data : virtio_ccw_kvm_notify; > > /* Allocate qu...
2017 Mar 29
2
[PATCH 2/6] virtio: add context flag to find vqs
...} diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c index 0ed209f..2a76ea7 100644 --- a/drivers/s390/virtio/virtio_ccw.c +++ b/drivers/s390/virtio/virtio_ccw.c @@ -484,7 +484,7 @@ static void virtio_ccw_del_vqs(struct virtio_device *vdev) static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev, int i, vq_callback_t *callback, - const char *name, + const char *name, bool ctx, struct ccw1 *ccw) { struct virtio_ccw_device *vcdev = to_vc_device(vdev); @@ -522,7 +522,7 @@ static struct virtqueue *virtio_ccw_setup_vq(struct...