search for: ccw_device_dma_free

Displaying 20 results from an estimated 27 matches for "ccw_device_dma_free".

2019 Jun 06
0
[PATCH v4 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...return; *indicatorp = 0; @@ -369,8 +373,8 @@ static void virtio_ccw_drop_indicator(struct virtio_ccw_device *vcdev, "Failed to deregister indicators (%d)\n", ret); else if (vcdev->is_thinint) virtio_ccw_drop_indicators(vcdev); - kfree(indicatorp); - kfree(thinint_area); + ccw_device_dma_free(vcdev->cdev, indicatorp, sizeof(indicators(vcdev))); + ccw_device_dma_free(vcdev->cdev, thinint_area, sizeof(*thinint_area)); } static inline long __do_kvm_notify(struct subchannel_id schid, @@ -417,15 +421,15 @@ static int virtio_ccw_read_vq_conf(struct virtio_ccw_device *vcdev, { int...
2019 Jun 12
0
[PATCH v5 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...return; *indicatorp = 0; @@ -369,8 +373,8 @@ static void virtio_ccw_drop_indicator(struct virtio_ccw_device *vcdev, "Failed to deregister indicators (%d)\n", ret); else if (vcdev->is_thinint) virtio_ccw_drop_indicators(vcdev); - kfree(indicatorp); - kfree(thinint_area); + ccw_device_dma_free(vcdev->cdev, indicatorp, sizeof(indicators(vcdev))); + ccw_device_dma_free(vcdev->cdev, thinint_area, sizeof(*thinint_area)); } static inline long __do_kvm_notify(struct subchannel_id schid, @@ -417,15 +421,15 @@ static int virtio_ccw_read_vq_conf(struct virtio_ccw_device *vcdev, { int...
2019 Jun 12
21
[PATCH v5 0/8] s390: virtio: support protected virtualization
Enhanced virtualization protection technology may require the use of bounce buffers for I/O. While support for this was built into the virtio core, virtio-ccw wasn't changed accordingly. Some background on technology (not part of this series) and the terminology used. * Protected Virtualization (PV): Protected Virtualization guarantees, that non-shared memory of a guest that operates in PV
2019 Jun 12
21
[PATCH v5 0/8] s390: virtio: support protected virtualization
Enhanced virtualization protection technology may require the use of bounce buffers for I/O. While support for this was built into the virtio core, virtio-ccw wasn't changed accordingly. Some background on technology (not part of this series) and the terminology used. * Protected Virtualization (PV): Protected Virtualization guarantees, that non-shared memory of a guest that operates in PV
2019 Jun 06
15
[PATCH v4 0/8] s390: virtio: support protected virtualization
Enhanced virtualization protection technology may require the use of bounce buffers for I/O. While support for this was built into the virtio core, virtio-ccw wasn't changed accordingly. Some background on technology (not part of this series) and the terminology used. * Protected Virtualization (PV): Protected Virtualization guarantees, that non-shared memory of a guest that operates in PV
2019 Jun 06
15
[PATCH v4 0/8] s390: virtio: support protected virtualization
Enhanced virtualization protection technology may require the use of bounce buffers for I/O. While support for this was built into the virtio core, virtio-ccw wasn't changed accordingly. Some background on technology (not part of this series) and the terminology used. * Protected Virtualization (PV): Protected Virtualization guarantees, that non-shared memory of a guest that operates in PV
2019 Jun 03
2
[PATCH v3 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...static inline void *__vc_dma_alloc(struct virtio_device *vdev, size_t size) > +{ > + return ccw_device_dma_zalloc(to_vc_device(vdev)->cdev, size); > +} > + > +static inline void __vc_dma_free(struct virtio_device *vdev, size_t size, > + void *cpu_addr) > +{ > + return ccw_device_dma_free(to_vc_device(vdev)->cdev, cpu_addr, size); > +} > + > +#define vc_dma_alloc_struct(vdev, ptr) \ > + ({ptr = __vc_dma_alloc(vdev, sizeof(*(ptr))); }) > +#define vc_dma_free_struct(vdev, ptr) \ > + __vc_dma_free(vdev, sizeof(*(ptr)), (ptr)) > + I *still* don't like these...
2019 Jun 03
2
[PATCH v3 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...static inline void *__vc_dma_alloc(struct virtio_device *vdev, size_t size) > +{ > + return ccw_device_dma_zalloc(to_vc_device(vdev)->cdev, size); > +} > + > +static inline void __vc_dma_free(struct virtio_device *vdev, size_t size, > + void *cpu_addr) > +{ > + return ccw_device_dma_free(to_vc_device(vdev)->cdev, cpu_addr, size); > +} > + > +#define vc_dma_alloc_struct(vdev, ptr) \ > + ({ptr = __vc_dma_alloc(vdev, sizeof(*(ptr))); }) > +#define vc_dma_free_struct(vdev, ptr) \ > + __vc_dma_free(vdev, sizeof(*(ptr)), (ptr)) > + I *still* don't like these...
2019 Jun 04
0
[PATCH v3 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...t virtio_device *vdev, size_t size) > > +{ > > + return ccw_device_dma_zalloc(to_vc_device(vdev)->cdev, size); > > +} > > + > > +static inline void __vc_dma_free(struct virtio_device *vdev, size_t size, > > + void *cpu_addr) > > +{ > > + return ccw_device_dma_free(to_vc_device(vdev)->cdev, cpu_addr, size); > > +} > > + > > +#define vc_dma_alloc_struct(vdev, ptr) \ > > + ({ptr = __vc_dma_alloc(vdev, sizeof(*(ptr))); }) > > +#define vc_dma_free_struct(vdev, ptr) \ > > + __vc_dma_free(vdev, sizeof(*(ptr)), (ptr)) > >...
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...ers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c > index 954fc31b4bc7..3619676effb8 100644 > --- a/drivers/s390/virtio/virtio_ccw.c > +++ b/drivers/s390/virtio/virtio_ccw.c > @@ -391,7 +391,7 @@ static void virtio_ccw_drop_indicator(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_d...
2019 Apr 26
0
[PATCH 06/10] s390/cio: add basic protected virtualization support
...e/asm/ccwdev.h @@ -226,6 +226,10 @@ extern int ccw_device_enable_console(struct ccw_device *); extern void ccw_device_wait_idle(struct ccw_device *); extern int ccw_device_force_console(struct ccw_device *); +extern void *ccw_device_dma_zalloc(struct ccw_device *cdev, size_t size); +extern void ccw_device_dma_free(struct ccw_device *cdev, + void *cpu_addr, size_t size); + int ccw_device_siosl(struct ccw_device *); extern void ccw_device_get_schid(struct ccw_device *, struct subchannel_id *); diff --git a/drivers/s390/cio/ccwreq.c b/drivers/s390/cio/ccwreq.c index 603268a33ea1..dafbceb311b3 100644 ---...
2019 May 23
0
[PATCH v2 3/8] s390/cio: add basic protected virtualization support
...e/asm/ccwdev.h @@ -226,6 +226,10 @@ extern int ccw_device_enable_console(struct ccw_device *); extern void ccw_device_wait_idle(struct ccw_device *); extern int ccw_device_force_console(struct ccw_device *); +extern void *ccw_device_dma_zalloc(struct ccw_device *cdev, size_t size); +extern void ccw_device_dma_free(struct ccw_device *cdev, + void *cpu_addr, size_t size); + int ccw_device_siosl(struct ccw_device *); extern void ccw_device_get_schid(struct ccw_device *, struct subchannel_id *); diff --git a/drivers/s390/cio/ccwreq.c b/drivers/s390/cio/ccwreq.c index 603268a33ea1..73582a0a2622 100644 ---...
2019 May 29
0
[PATCH v3 3/8] s390/cio: add basic protected virtualization support
...e/asm/ccwdev.h @@ -226,6 +226,10 @@ extern int ccw_device_enable_console(struct ccw_device *); extern void ccw_device_wait_idle(struct ccw_device *); extern int ccw_device_force_console(struct ccw_device *); +extern void *ccw_device_dma_zalloc(struct ccw_device *cdev, size_t size); +extern void ccw_device_dma_free(struct ccw_device *cdev, + void *cpu_addr, size_t size); + int ccw_device_siosl(struct ccw_device *); extern void ccw_device_get_schid(struct ccw_device *, struct subchannel_id *); diff --git a/drivers/s390/cio/ccwreq.c b/drivers/s390/cio/ccwreq.c index 603268a33ea1..73582a0a2622 100644 ---...
2019 Jun 12
0
[PATCH v5 3/8] s390/cio: add basic protected virtualization support
...e/asm/ccwdev.h @@ -226,6 +226,10 @@ extern int ccw_device_enable_console(struct ccw_device *); extern void ccw_device_wait_idle(struct ccw_device *); extern int ccw_device_force_console(struct ccw_device *); +extern void *ccw_device_dma_zalloc(struct ccw_device *cdev, size_t size); +extern void ccw_device_dma_free(struct ccw_device *cdev, + void *cpu_addr, size_t size); + int ccw_device_siosl(struct ccw_device *); extern void ccw_device_get_schid(struct ccw_device *, struct subchannel_id *); diff --git a/drivers/s390/cio/ccwreq.c b/drivers/s390/cio/ccwreq.c index 603268a33ea1..73582a0a2622 100644 ---...
2019 Jun 04
1
[PATCH v3 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...> > +{ > > > + return ccw_device_dma_zalloc(to_vc_device(vdev)->cdev, size); > > > +} > > > + > > > +static inline void __vc_dma_free(struct virtio_device *vdev, size_t size, > > > + void *cpu_addr) > > > +{ > > > + return ccw_device_dma_free(to_vc_device(vdev)->cdev, cpu_addr, size); > > > +} > > > + > > > +#define vc_dma_alloc_struct(vdev, ptr) \ > > > + ({ptr = __vc_dma_alloc(vdev, sizeof(*(ptr))); }) > > > +#define vc_dma_free_struct(vdev, ptr) \ > > > + __vc_dma_free(vdev, si...
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...tio_ccw.c > > > index 954fc31b4bc7..3619676effb8 100644 > > > --- a/drivers/s390/virtio/virtio_ccw.c > > > +++ b/drivers/s390/virtio/virtio_ccw.c > > > @@ -391,7 +391,7 @@ static void virtio_ccw_drop_indicator(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 vi...
2019 May 08
2
[PATCH 09/10] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...static inline void *__vc_dma_alloc(struct virtio_device *vdev, size_t size) > +{ > + return ccw_device_dma_zalloc(to_vc_device(vdev)->cdev, size); > +} > + > +static inline void __vc_dma_free(struct virtio_device *vdev, size_t size, > + void *cpu_addr) > +{ > + return ccw_device_dma_free(to_vc_device(vdev)->cdev, cpu_addr, size); > +} > + > +#define vc_dma_alloc_struct(vdev, ptr) \ > + ({ptr = __vc_dma_alloc(vdev, sizeof(*(ptr))); }) > +#define vc_dma_free_struct(vdev, ptr) \ > + __vc_dma_free(vdev, sizeof(*(ptr)), (ptr)) > + > static void drop_airq_ind...
2019 May 08
2
[PATCH 09/10] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...static inline void *__vc_dma_alloc(struct virtio_device *vdev, size_t size) > +{ > + return ccw_device_dma_zalloc(to_vc_device(vdev)->cdev, size); > +} > + > +static inline void __vc_dma_free(struct virtio_device *vdev, size_t size, > + void *cpu_addr) > +{ > + return ccw_device_dma_free(to_vc_device(vdev)->cdev, cpu_addr, size); > +} > + > +#define vc_dma_alloc_struct(vdev, ptr) \ > + ({ptr = __vc_dma_alloc(vdev, sizeof(*(ptr))); }) > +#define vc_dma_free_struct(vdev, ptr) \ > + __vc_dma_free(vdev, sizeof(*(ptr)), (ptr)) > + > static void drop_airq_ind...
2023 Mar 23
0
[PATCH v5] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...ers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c > index 954fc31b4bc7..9a9c5d34454c 100644 > --- a/drivers/s390/virtio/virtio_ccw.c > +++ b/drivers/s390/virtio/virtio_ccw.c > @@ -391,7 +391,7 @@ static void virtio_ccw_drop_indicator(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_d...
2023 Mar 22
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...ers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c > index 954fc31b4bc7..3619676effb8 100644 > --- a/drivers/s390/virtio/virtio_ccw.c > +++ b/drivers/s390/virtio/virtio_ccw.c > @@ -391,7 +391,7 @@ static void virtio_ccw_drop_indicator(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...