Lines Matching refs:dma_list

436  * @dma_list:	The OCS DMA list mapping the data to hash.
444 const struct ocs_hcu_dma_list *dma_list,
450 if (!dma_list)
471 writel(dma_list->dma_addr, hcu_dev->io_base + OCS_HCU_DMA_NEXT_SRC_DESCR);
492 struct ocs_hcu_dma_list *dma_list;
494 dma_list = kmalloc(sizeof(*dma_list), GFP_KERNEL);
495 if (!dma_list)
499 dma_list->head = dma_alloc_coherent(hcu_dev->dev,
500 sizeof(*dma_list->head) * max_nents,
501 &dma_list->dma_addr, GFP_KERNEL);
502 if (!dma_list->head) {
503 kfree(dma_list);
506 dma_list->max_nents = max_nents;
507 dma_list->tail = NULL;
509 return dma_list;
513 struct ocs_hcu_dma_list *dma_list)
515 if (!dma_list)
519 sizeof(*dma_list->head) * dma_list->max_nents,
520 dma_list->head, dma_list->dma_addr);
522 kfree(dma_list);
527 struct ocs_hcu_dma_list *dma_list,
537 if (!dma_list)
546 old_tail = dma_list->tail;
547 new_tail = old_tail ? old_tail + 1 : dma_list->head;
550 if (new_tail - dma_list->head >= dma_list->max_nents)
563 old_tail->nxt_desc = dma_list->dma_addr +
564 sizeof(*dma_list->tail) * (new_tail -
565 dma_list->head);
574 dma_list->tail = new_tail;
603 * @dma_list: The OCS DMA list mapping the input data to process.
609 const struct ocs_hcu_dma_list *dma_list)
626 rc = ocs_hcu_ll_dma_start(hcu_dev, dma_list, false);
638 * @dma_list: The OCS DMA list mapping the input data to process.
646 const struct ocs_hcu_dma_list *dma_list,
664 rc = ocs_hcu_ll_dma_start(hcu_dev, dma_list, true);
770 * @dma_list: The OCS DMA list mapping the input data to process.
779 const struct ocs_hcu_dma_list *dma_list,
797 rc = ocs_hcu_ll_dma_start(hcu_dev, dma_list, true);