search for: virtio_ccw_vq_info

Displaying 20 results from an estimated 29 matches for "virtio_ccw_vq_info".

2019 Apr 26
0
[PATCH 01/10] virtio/s390: use vring_create_virtqueue
...ile changed, 11 insertions(+), 19 deletions(-) diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c index 74c328321889..2c66941ef3d0 100644 --- a/drivers/s390/virtio/virtio_ccw.c +++ b/drivers/s390/virtio/virtio_ccw.c @@ -108,7 +108,6 @@ struct virtio_rev_info { struct virtio_ccw_vq_info { struct virtqueue *vq; int num; - void *queue; union { struct vq_info_block s; struct vq_info_block_legacy l; @@ -423,7 +422,6 @@ static void virtio_ccw_del_vq(struct virtqueue *vq, struct ccw1 *ccw) struct virtio_ccw_device *vcdev = to_vc_device(vq->vdev); struct virtio_ccw_vq_...
2013 Jun 07
2
[PATCH RFC 0/2] KVM: s390: virtio-ccw adapter interrupts.
Hi, here's the guest driver support for adapter interrupts in virtio-ccw. We use one summary indicator per page of indicators. For each device, we try to find a space in an indicator where all of its virtqueues fit. Locking probably needs some more love, but it seems to work fine so far. Cornelia Huck (2): KVM: s390: virtio-ccw: Handle command rejects. KVM: s390: virtio-ccw adapter
2013 Jun 07
2
[PATCH RFC 0/2] KVM: s390: virtio-ccw adapter interrupts.
Hi, here's the guest driver support for adapter interrupts in virtio-ccw. We use one summary indicator per page of indicators. For each device, we try to find a space in an indicator where all of its virtqueues fit. Locking probably needs some more love, but it seems to work fine so far. Cornelia Huck (2): KVM: s390: virtio-ccw: Handle command rejects. KVM: s390: virtio-ccw adapter
2013 Jul 09
3
[RFC PATCH v2 0/2] KVM: s390: virtio-ccw adapter interrupts.
Hi, next version of the guest exploitation of virtio-ccw adapter interrupts. Changes from the last version: - adapt to latest kvm-next - changed housekeeping for indicator locations: we now use cacheline-sized and aligned areas - minor tweaks Cornelia Huck (2): KVM: s390: virtio-ccw: Handle command rejects. KVM: s390: virtio-ccw adapter interrupt support. arch/s390/include/asm/irq.h
2013 Jul 09
3
[RFC PATCH v2 0/2] KVM: s390: virtio-ccw adapter interrupts.
Hi, next version of the guest exploitation of virtio-ccw adapter interrupts. Changes from the last version: - adapt to latest kvm-next - changed housekeeping for indicator locations: we now use cacheline-sized and aligned areas - minor tweaks Cornelia Huck (2): KVM: s390: virtio-ccw: Handle command rejects. KVM: s390: virtio-ccw adapter interrupt support. arch/s390/include/asm/irq.h
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...icator(struct virtio_ccw_device *vcdev, > ccw_device_dma_free(vcdev->cdev, thinint_area, sizeof(*thinint_area)); > } > > -static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > +static inline bool virtio_ccw_do_kvm_notify(struct virtqueue *vq, u32 data) > { > struct virtio_ccw_vq_info *info = vq->priv; > struct virtio_ccw_device *vcdev; > @@ -402,12 +402,22 @@ static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > BUILD_BUG_ON(sizeof(struct subchannel_id) != sizeof(unsigned int)); > info->cookie = kvm_hypercall3(KVM_S390_VIRTIO_CCW_NOTIFY, >...
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...ee(vcdev->cdev, thinint_area, sizeof(*thinint_area)); > > > } > > > > > > -static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > > > +static inline bool virtio_ccw_do_kvm_notify(struct virtqueue *vq, u32 data) > > > { > > > struct virtio_ccw_vq_info *info = vq->priv; > > > struct virtio_ccw_device *vcdev; > > > @@ -402,12 +402,22 @@ static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > > > BUILD_BUG_ON(sizeof(struct subchannel_id) != sizeof(unsigned int)); > > > info->cookie = kvm...
2013 Feb 26
4
[PATCH v3 0/5] kvm: Make ioeventfd usable on s390.
On Mon, Feb 25, 2013 at 04:27:45PM +0100, Cornelia Huck wrote: > Here's the latest version of my patch series enabling ioeventfds > on s390, again against kvm-next. > > Patches 1 and 2 (cleaning up initialization and exporting the virtio-ccw > api) would make sense even independent of the ioeventfd enhancements. > > Patches 3-5 are concerned with adding a new type of
2013 Feb 26
4
[PATCH v3 0/5] kvm: Make ioeventfd usable on s390.
On Mon, Feb 25, 2013 at 04:27:45PM +0100, Cornelia Huck wrote: > Here's the latest version of my patch series enabling ioeventfds > on s390, again against kvm-next. > > Patches 1 and 2 (cleaning up initialization and exporting the virtio-ccw > api) would make sense even independent of the ioeventfd enhancements. > > Patches 3-5 are concerned with adding a new type of
2023 Mar 23
0
[PATCH v5] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...icator(struct virtio_ccw_device *vcdev, > ccw_device_dma_free(vcdev->cdev, thinint_area, sizeof(*thinint_area)); > } > > -static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > +static inline bool virtio_ccw_do_kvm_notify(struct virtqueue *vq, u32 data) > { > struct virtio_ccw_vq_info *info = vq->priv; > struct virtio_ccw_device *vcdev; > @@ -402,12 +402,22 @@ static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > BUILD_BUG_ON(sizeof(struct subchannel_id) != sizeof(unsigned int)); > info->cookie = kvm_hypercall3(KVM_S390_VIRTIO_CCW_NOTIFY, >...
2023 Mar 22
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...ator(struct virtio_ccw_device *vcdev, > ccw_device_dma_free(vcdev->cdev, thinint_area, sizeof(*thinint_area)); > } > > -static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > +static inline bool virtio_ccw_do_kvm_notify(struct virtqueue *vq, u32 data) > { > struct virtio_ccw_vq_info *info = vq->priv; > struct virtio_ccw_device *vcdev; > @@ -402,12 +402,22 @@ static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > BUILD_BUG_ON(sizeof(struct subchannel_id) != sizeof(unsigned int)); > info->cookie = kvm_hypercall3(KVM_S390_VIRTIO_CCW_NOTIFY, >...
2017 May 16
0
[PATCH 2/3] s390: virtio: Improve a size determination in virtio_ccw_setup_vq()
...io_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
2019 Jan 02
0
[RFC PATCH 1/1] s390/virtio: handle find on invalid queue gracefully
...virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c > index fc9dbad476c0..147927ed4fca 100644 > --- a/drivers/s390/virtio/virtio_ccw.c > +++ b/drivers/s390/virtio/virtio_ccw.c > @@ -272,6 +272,8 @@ static void virtio_ccw_drop_indicators(struct virtio_ccw_device *vcdev) > { > struct virtio_ccw_vq_info *info; > > + if (!vcdev->airq_info) > + return; Which case is this guarding against? names[i] was NULL for every index? > list_for_each_entry(info, &vcdev->virtqueues, node) > drop_airq_indicator(info->vq, vcdev->airq_info); > } > @@ -514,6 +516,10 @@...
2014 Oct 07
0
[PATCH RFC 11/11] KVM: s390: enable virtio-ccw revision 1
...vers/s390/kvm/virtio_ccw.c index f97d3fb..a2e0c33 100644 --- a/drivers/s390/kvm/virtio_ccw.c +++ b/drivers/s390/kvm/virtio_ccw.c @@ -103,7 +103,7 @@ struct virtio_rev_info { }; /* the highest virtio-ccw revision we support */ -#define VIRTIO_CCW_REV_MAX 0 +#define VIRTIO_CCW_REV_MAX 1 struct virtio_ccw_vq_info { struct virtqueue *vq; -- 1.7.9.5
2014 Oct 07
0
[PATCH RFC 10/11] KVM: s390: virtio-ccw revision 1 SET_VQ
...ock_legacy { __u64 queue; __u32 align; __u16 index; __u16 num; } __packed; +struct vq_info_block { + __u64 desc; + __u32 res0; + __u16 index; + __u16 num; + __u64 avail; + __u64 used; +} __packed; + struct virtio_feature_desc { __u32 features; __u8 index; @@ -100,7 +109,10 @@ struct virtio_ccw_vq_info { struct virtqueue *vq; int num; void *queue; - struct vq_info_block *info_block; + union { + struct vq_info_block s; + struct vq_info_block_legacy l; + } *info_block; int bit_nr; struct list_head node; long cookie; @@ -411,13 +423,22 @@ static void virtio_ccw_del_vq(struct virtqueue...
2014 Oct 07
0
[PATCH RFC 09/11] KVM: s390: Set virtio-ccw transport revision
...it_q; spinlock_t lock; struct list_head virtqueues; @@ -86,6 +87,15 @@ struct virtio_thinint_area { u8 isc; } __packed; +struct virtio_rev_info { + __u16 revision; + __u16 length; + __u8 data[]; +}; + +/* the highest virtio-ccw revision we support */ +#define VIRTIO_CCW_REV_MAX 0 + struct virtio_ccw_vq_info { struct virtqueue *vq; int num; @@ -122,6 +132,7 @@ static struct airq_info *airq_areas[MAX_AIRQ_AREAS]; #define CCW_CMD_WRITE_STATUS 0x31 #define CCW_CMD_READ_VQ_CONF 0x32 #define CCW_CMD_SET_IND_ADAPTER 0x73 +#define CCW_CMD_SET_VIRTIO_REV 0x83 #define VIRTIO_CCW_DOING_SET_VQ 0x0001000...
2019 Jan 04
0
[RFC PATCH 1/1] s390/virtio: handle find on invalid queue gracefully
...t; index fc9dbad476c0..147927ed4fca 100644 > > > --- a/drivers/s390/virtio/virtio_ccw.c > > > +++ b/drivers/s390/virtio/virtio_ccw.c > > > @@ -272,6 +272,8 @@ static void virtio_ccw_drop_indicators(struct virtio_ccw_device *vcdev) > > > { > > > struct virtio_ccw_vq_info *info; > > > > > > + if (!vcdev->airq_info) > > > + return; > > > > Which case is this guarding against? names[i] was NULL for every index? > > > > Consider: > static int virtio_ccw_find_vqs(struct virtio_device *vdev, unsigned nvqs...
2017 May 16
3
[PATCH 0/3] S390-virtio: Adjustments for three function implementations
From: Markus 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
2017 May 16
3
[PATCH 0/3] S390-virtio: Adjustments for three function implementations
From: Markus 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
2023 Mar 21
0
[PATCH v3] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c > index 954fc31b4bc7..c33172c5b8d5 100644 > --- a/drivers/s390/virtio/virtio_ccw.c > +++ b/drivers/s390/virtio/virtio_ccw.c > @@ -396,13 +396,15 @@ static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > struct virtio_ccw_vq_info *info = vq->priv; > struct virtio_ccw_device *vcdev; > struct subchannel_id schid; > + u32 data = __virtio_test_bit(vq->vdev, VIRTIO_F_NOTIFICATION_DATA) ? > + vring_notification_data(vq) : vq->index; > > vcdev = to_vc_device(info->vq->vdev); > ccw_de...