search for: gp_dma

Displaying 20 results from an estimated 33 matches for "gp_dma".

Did you mean: gfp_dma
2019 May 27
3
[PATCH v2 2/8] s390/cio: introduce DMA pools to cio
...t; +/* Currently cio supports only a single css */ This comment looks misplaced. > +#define CIO_DMA_GFP (GFP_KERNEL | __GFP_ZERO) > + > + > +struct device *cio_get_dma_css_dev(void) > +{ > + return &channel_subsystems[0]->device; > +} > + > +struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) > +{ > + struct gen_pool *gp_dma; > + void *cpu_addr; > + dma_addr_t dma_addr; > + int i; > + > + gp_dma = gen_pool_create(3, -1); > + if (!gp_dma) > + return NULL; > + for (i = 0; i < nr_pages; ++i) { > + cpu_addr =...
2019 May 27
3
[PATCH v2 2/8] s390/cio: introduce DMA pools to cio
...t; +/* Currently cio supports only a single css */ This comment looks misplaced. > +#define CIO_DMA_GFP (GFP_KERNEL | __GFP_ZERO) > + > + > +struct device *cio_get_dma_css_dev(void) > +{ > + return &channel_subsystems[0]->device; > +} > + > +struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) > +{ > + struct gen_pool *gp_dma; > + void *cpu_addr; > + dma_addr_t dma_addr; > + int i; > + > + gp_dma = gen_pool_create(3, -1); > + if (!gp_dma) > + return NULL; > + for (i = 0; i < nr_pages; ++i) { > + cpu_addr =...
2019 May 23
0
[PATCH v2 2/8] s390/cio: introduce DMA pools to cio
...tic inline u8 pathmask_to_pos(u8 mask) void channel_subsystem_reinit(void); extern void css_schedule_reprobe(void); +extern void *cio_dma_zalloc(size_t size); +extern void cio_dma_free(void *cpu_addr, size_t size); +extern struct device *cio_get_dma_css_dev(void); + +struct gen_pool; +void *cio_gp_dma_zalloc(struct gen_pool *gp_dma, struct device *dma_dev, + size_t size); +void cio_gp_dma_free(struct gen_pool *gp_dma, void *cpu_addr, size_t size); +void cio_gp_dma_destroy(struct gen_pool *gp_dma, struct device *dma_dev); +struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages)...
2019 Apr 26
0
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...tic inline u8 pathmask_to_pos(u8 mask) void channel_subsystem_reinit(void); extern void css_schedule_reprobe(void); +extern void *cio_dma_zalloc(size_t size); +extern void cio_dma_free(void *cpu_addr, size_t size); +extern struct device *cio_get_dma_css_dev(void); + +struct gen_pool; +void *cio_gp_dma_zalloc(struct gen_pool *gp_dma, struct device *dma_dev, + size_t size); +void cio_gp_dma_free(struct gen_pool *gp_dma, void *cpu_addr, size_t size); +void cio_gp_dma_destroy(struct gen_pool *gp_dma, struct device *dma_dev); +struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages)...
2019 May 29
0
[PATCH v3 2/8] s390/cio: introduce DMA pools to cio
...tic inline u8 pathmask_to_pos(u8 mask) void channel_subsystem_reinit(void); extern void css_schedule_reprobe(void); +extern void *cio_dma_zalloc(size_t size); +extern void cio_dma_free(void *cpu_addr, size_t size); +extern struct device *cio_get_dma_css_dev(void); + +struct gen_pool; +void *cio_gp_dma_zalloc(struct gen_pool *gp_dma, struct device *dma_dev, + size_t size); +void cio_gp_dma_free(struct gen_pool *gp_dma, void *cpu_addr, size_t size); +void cio_gp_dma_destroy(struct gen_pool *gp_dma, struct device *dma_dev); +struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages)...
2019 Jun 06
0
[PATCH v4 2/8] s390/cio: introduce DMA pools to cio
...8,6 +329,16 @@ static inline u8 pathmask_to_pos(u8 mask) void channel_subsystem_reinit(void); extern void css_schedule_reprobe(void); +extern void *cio_dma_zalloc(size_t size); +extern void cio_dma_free(void *cpu_addr, size_t size); +extern struct device *cio_get_dma_css_dev(void); + +void *cio_gp_dma_zalloc(struct gen_pool *gp_dma, struct device *dma_dev, + size_t size); +void cio_gp_dma_free(struct gen_pool *gp_dma, void *cpu_addr, size_t size); +void cio_gp_dma_destroy(struct gen_pool *gp_dma, struct device *dma_dev); +struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages)...
2019 Jun 12
0
[PATCH v5 2/8] s390/cio: introduce DMA pools to cio
...8,6 +329,16 @@ static inline u8 pathmask_to_pos(u8 mask) void channel_subsystem_reinit(void); extern void css_schedule_reprobe(void); +extern void *cio_dma_zalloc(size_t size); +extern void cio_dma_free(void *cpu_addr, size_t size); +extern struct device *cio_get_dma_css_dev(void); + +void *cio_gp_dma_zalloc(struct gen_pool *gp_dma, struct device *dma_dev, + size_t size); +void cio_gp_dma_free(struct gen_pool *gp_dma, void *cpu_addr, size_t size); +void cio_gp_dma_destroy(struct gen_pool *gp_dma, struct device *dma_dev); +struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages)...
2019 May 27
0
[PATCH v2 2/8] s390/cio: introduce DMA pools to cio
...Right! Move to ... > > > +#define CIO_DMA_GFP (GFP_KERNEL | __GFP_ZERO) > > + > > + ... here? > > +struct device *cio_get_dma_css_dev(void) > > +{ > > + return &channel_subsystems[0]->device; > > +} > > + > > +struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) > > +{ > > + struct gen_pool *gp_dma; > > + void *cpu_addr; > > + dma_addr_t dma_addr; > > + int i; > > + > > + gp_dma = gen_pool_create(3, -1); > > + if (!gp_dma) > > + return NULL; > > + for...
2019 May 10
3
[PATCH 05/10] s390/cio: introduce DMA pools to cio
On Fri, 10 May 2019 00:11:12 +0200 Halil Pasic <pasic at linux.ibm.com> wrote: > On Thu, 9 May 2019 12:11:06 +0200 > Cornelia Huck <cohuck at redhat.com> wrote: > > > On Wed, 8 May 2019 23:22:10 +0200 > > Halil Pasic <pasic at linux.ibm.com> wrote: > > > > > On Wed, 8 May 2019 15:18:10 +0200 (CEST) > > > Sebastian Ott <sebott
2019 May 10
3
[PATCH 05/10] s390/cio: introduce DMA pools to cio
On Fri, 10 May 2019 00:11:12 +0200 Halil Pasic <pasic at linux.ibm.com> wrote: > On Thu, 9 May 2019 12:11:06 +0200 > Cornelia Huck <cohuck at redhat.com> wrote: > > > On Wed, 8 May 2019 23:22:10 +0200 > > Halil Pasic <pasic at linux.ibm.com> wrote: > > > > > On Wed, 8 May 2019 15:18:10 +0200 (CEST) > > > Sebastian Ott <sebott
2019 May 13
2
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...tor, iv_size(iv->bits)); > kfree(iv->avail); > kfree(iv); > } > diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c > index 7087cc3..88d9c92 100644 > --- a/drivers/s390/cio/css.c > +++ b/drivers/s390/cio/css.c > @@ -1063,7 +1063,10 @@ struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) > static void __gp_dma_free_dma(struct gen_pool *pool, > struct gen_pool_chunk *chunk, void *data) > { > - dma_free_coherent((struct device *) data, PAGE_SIZE, > + > + size_t chunk_size = chunk->end_addr - chunk->start...
2019 May 13
2
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...tor, iv_size(iv->bits)); > kfree(iv->avail); > kfree(iv); > } > diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c > index 7087cc3..88d9c92 100644 > --- a/drivers/s390/cio/css.c > +++ b/drivers/s390/cio/css.c > @@ -1063,7 +1063,10 @@ struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) > static void __gp_dma_free_dma(struct gen_pool *pool, > struct gen_pool_chunk *chunk, void *data) > { > - dma_free_coherent((struct device *) data, PAGE_SIZE, > + > + size_t chunk_size = chunk->end_addr - chunk->start...
2019 May 12
0
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...t;vector_dma); + cio_dma_free(iv->vector, iv_size(iv->bits)); kfree(iv->avail); kfree(iv); } diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index 7087cc3..88d9c92 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c @@ -1063,7 +1063,10 @@ struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) static void __gp_dma_free_dma(struct gen_pool *pool, struct gen_pool_chunk *chunk, void *data) { - dma_free_coherent((struct device *) data, PAGE_SIZE, + + size_t chunk_size = chunk->end_addr - chunk->start_addr + 1; + + dma_free_cohere...
2019 May 15
0
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...kfree(iv->avail); > > kfree(iv); > > } > > diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c > > index 7087cc3..88d9c92 100644 > > --- a/drivers/s390/cio/css.c > > +++ b/drivers/s390/cio/css.c > > @@ -1063,7 +1063,10 @@ struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) > > static void __gp_dma_free_dma(struct gen_pool *pool, > > struct gen_pool_chunk *chunk, void *data) > > { > > - dma_free_coherent((struct device *) data, PAGE_SIZE, > > + > > + size_t chunk_size = chunk-...
2019 Jun 06
15
[PATCH v4 0/8] s390: virtio: support protected virtualization
...(Connie) * fixed error handling in virtio_ccw_init() (Connie) * got rid of the *vc_dma* wrappers (Connie) * added some Reviewed-bys * rebased on top of current master, no changes were necessary v2 --> v3: * patch 2/8 potential cio_dma_pool_init() returning NULL issue fixed potential cio_gp_dma_create() returning NULL issue fixed warning issues with doc type comments fixed unused define statement removed * patch 3/8 potential cio_gp_dma_create() returning NULL issue fixed whitespace issue fixed warning issues with doc type comments fixed * patch 8/8 potential cio_...
2019 Jun 06
15
[PATCH v4 0/8] s390: virtio: support protected virtualization
...(Connie) * fixed error handling in virtio_ccw_init() (Connie) * got rid of the *vc_dma* wrappers (Connie) * added some Reviewed-bys * rebased on top of current master, no changes were necessary v2 --> v3: * patch 2/8 potential cio_dma_pool_init() returning NULL issue fixed potential cio_gp_dma_create() returning NULL issue fixed warning issues with doc type comments fixed unused define statement removed * patch 3/8 potential cio_gp_dma_create() returning NULL issue fixed whitespace issue fixed warning issues with doc type comments fixed * patch 8/8 potential cio_...
2019 May 23
18
[PATCH v2 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
5
[PATCH v3 2/8] s390/cio: introduce DMA pools to cio
...; > +extern void *cio_dma_zalloc(size_t size); > +extern void cio_dma_free(void *cpu_addr, size_t size); > +extern struct device *cio_get_dma_css_dev(void); > + > +struct gen_pool; That forward declaration is a bit ugly... I guess the alternative was include hell? > +void *cio_gp_dma_zalloc(struct gen_pool *gp_dma, struct device *dma_dev, > + size_t size); > +void cio_gp_dma_free(struct gen_pool *gp_dma, void *cpu_addr, size_t size); > +void cio_gp_dma_destroy(struct gen_pool *gp_dma, struct device *dma_dev); > +struct gen_pool *cio_gp_dma_create(struct device *dm...
2019 Jun 03
5
[PATCH v3 2/8] s390/cio: introduce DMA pools to cio
...; > +extern void *cio_dma_zalloc(size_t size); > +extern void cio_dma_free(void *cpu_addr, size_t size); > +extern struct device *cio_get_dma_css_dev(void); > + > +struct gen_pool; That forward declaration is a bit ugly... I guess the alternative was include hell? > +void *cio_gp_dma_zalloc(struct gen_pool *gp_dma, struct device *dma_dev, > + size_t size); > +void cio_gp_dma_free(struct gen_pool *gp_dma, void *cpu_addr, size_t size); > +void cio_gp_dma_destroy(struct gen_pool *gp_dma, struct device *dma_dev); > +struct gen_pool *cio_gp_dma_create(struct device *dm...
2019 Jun 03
0
[PATCH v3 2/8] s390/cio: introduce DMA pools to cio
...v(void); >> + >> +struct gen_pool; > > That forward declaration is a bit ugly... I guess the alternative was > include hell? That's an easy one. #include <linux/bitops.h> +#include <linux/genalloc.h> #include <asm/types.h> > >> +void *cio_gp_dma_zalloc(struct gen_pool *gp_dma, struct device *dma_dev, >> + size_t size); >> +void cio_gp_dma_free(struct gen_pool *gp_dma, void *cpu_addr, size_t size); >> +void cio_gp_dma_destroy(struct gen_pool *gp_dma, struct device *dma_dev); >> +struct gen_pool *cio_gp_dma_create(s...