card_utils.c (fd54349ddb61445a8a42459b3dc09237c55e6f78) card_utils.c (23baf831a32c04f9a968812511540b1b3e648bf5)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * IBM Accelerator Family 'GenWQE'
4 *
5 * (C) Copyright IBM Corp. 2013
6 *
7 * Author: Frank Haverkamp <haver@linux.vnet.ibm.com>
8 * Author: Joerg-Stephan Vogt <jsvogt@de.ibm.com>

--- 196 unchanged lines hidden (view full) ---

205 crc = (crc << 8) ^ crc32_tab[i];
206 }
207 return crc;
208}
209
210void *__genwqe_alloc_consistent(struct genwqe_dev *cd, size_t size,
211 dma_addr_t *dma_handle)
212{
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * IBM Accelerator Family 'GenWQE'
4 *
5 * (C) Copyright IBM Corp. 2013
6 *
7 * Author: Frank Haverkamp <haver@linux.vnet.ibm.com>
8 * Author: Joerg-Stephan Vogt <jsvogt@de.ibm.com>

--- 196 unchanged lines hidden (view full) ---

205 crc = (crc << 8) ^ crc32_tab[i];
206 }
207 return crc;
208}
209
210void *__genwqe_alloc_consistent(struct genwqe_dev *cd, size_t size,
211 dma_addr_t *dma_handle)
212{
213 if (get_order(size) >= MAX_ORDER)
213 if (get_order(size) > MAX_ORDER)
214 return NULL;
215
216 return dma_alloc_coherent(&cd->pci_dev->dev, size, dma_handle,
217 GFP_KERNEL);
218}
219
220void __genwqe_free_consistent(struct genwqe_dev *cd, size_t size,
221 void *vaddr, dma_addr_t dma_handle)

--- 81 unchanged lines hidden (view full) ---

303 __func__, user_addr, user_size, sgl->nr_pages,
304 sgl->fpage_offs, sgl->fpage_size, sgl->lpage_size);
305
306 sgl->user_addr = user_addr;
307 sgl->user_size = user_size;
308 sgl->write = write;
309 sgl->sgl_size = genwqe_sgl_size(sgl->nr_pages);
310
214 return NULL;
215
216 return dma_alloc_coherent(&cd->pci_dev->dev, size, dma_handle,
217 GFP_KERNEL);
218}
219
220void __genwqe_free_consistent(struct genwqe_dev *cd, size_t size,
221 void *vaddr, dma_addr_t dma_handle)

--- 81 unchanged lines hidden (view full) ---

303 __func__, user_addr, user_size, sgl->nr_pages,
304 sgl->fpage_offs, sgl->fpage_size, sgl->lpage_size);
305
306 sgl->user_addr = user_addr;
307 sgl->user_size = user_size;
308 sgl->write = write;
309 sgl->sgl_size = genwqe_sgl_size(sgl->nr_pages);
310
311 if (get_order(sgl->sgl_size) >= MAX_ORDER) {
311 if (get_order(sgl->sgl_size) > MAX_ORDER) {
312 dev_err(&pci_dev->dev,
313 "[%s] err: too much memory requested!\n", __func__);
314 return ret;
315 }
316
317 sgl->sgl = __genwqe_alloc_consistent(cd, sgl->sgl_size,
318 &sgl->sgl_dma_addr);
319 if (sgl->sgl == NULL) {

--- 730 unchanged lines hidden ---
312 dev_err(&pci_dev->dev,
313 "[%s] err: too much memory requested!\n", __func__);
314 return ret;
315 }
316
317 sgl->sgl = __genwqe_alloc_consistent(cd, sgl->sgl_size,
318 &sgl->sgl_dma_addr);
319 if (sgl->sgl == NULL) {

--- 730 unchanged lines hidden ---