Lines Matching refs:fsl_queue
295 struct fsl_qdma_queue *fsl_queue = fsl_chan->queue; in fsl_qdma_free_chan_resources() local
307 if (!fsl_queue->comp_pool && !fsl_queue->comp_pool) in fsl_qdma_free_chan_resources()
311 &fsl_queue->comp_used, list) { in fsl_qdma_free_chan_resources()
312 dma_pool_free(fsl_queue->comp_pool, in fsl_qdma_free_chan_resources()
315 dma_pool_free(fsl_queue->desc_pool, in fsl_qdma_free_chan_resources()
323 &fsl_queue->comp_free, list) { in fsl_qdma_free_chan_resources()
324 dma_pool_free(fsl_queue->comp_pool, in fsl_qdma_free_chan_resources()
327 dma_pool_free(fsl_queue->desc_pool, in fsl_qdma_free_chan_resources()
334 dma_pool_destroy(fsl_queue->comp_pool); in fsl_qdma_free_chan_resources()
335 dma_pool_destroy(fsl_queue->desc_pool); in fsl_qdma_free_chan_resources()
338 fsl_queue->comp_pool = NULL; in fsl_qdma_free_chan_resources()
339 fsl_queue->desc_pool = NULL; in fsl_qdma_free_chan_resources()
624 struct fsl_qdma_queue *fsl_queue = fsl_qdma->queue; in fsl_qdma_queue_transfer_complete() local
646 temp_queue = fsl_queue + i; in fsl_qdma_queue_transfer_complete()
824 struct fsl_qdma_queue *fsl_queue = fsl_qdma->queue; in fsl_qdma_reg_init() local
849 temp = fsl_queue + i + (j * fsl_qdma->n_queues); in fsl_qdma_reg_init()
942 struct fsl_qdma_queue *fsl_queue = fsl_chan->queue; in fsl_qdma_enqueue_desc() local
943 void __iomem *block = fsl_queue->block_base; in fsl_qdma_enqueue_desc()
945 reg = qdma_readl(fsl_chan->qdma, block + FSL_QDMA_BCQSR(fsl_queue->id)); in fsl_qdma_enqueue_desc()
954 memcpy(fsl_queue->virt_head++, in fsl_qdma_enqueue_desc()
956 if (fsl_queue->virt_head == fsl_queue->cq + fsl_queue->n_cq) in fsl_qdma_enqueue_desc()
957 fsl_queue->virt_head = fsl_queue->cq; in fsl_qdma_enqueue_desc()
959 list_add_tail(&fsl_comp->list, &fsl_queue->comp_used); in fsl_qdma_enqueue_desc()
961 reg = qdma_readl(fsl_chan->qdma, block + FSL_QDMA_BCQMR(fsl_queue->id)); in fsl_qdma_enqueue_desc()
963 qdma_writel(fsl_chan->qdma, reg, block + FSL_QDMA_BCQMR(fsl_queue->id)); in fsl_qdma_enqueue_desc()
971 struct fsl_qdma_queue *fsl_queue; in fsl_qdma_free_desc() local
974 fsl_queue = fsl_comp->qchan->queue; in fsl_qdma_free_desc()
976 spin_lock_irqsave(&fsl_queue->queue_lock, flags); in fsl_qdma_free_desc()
977 list_add_tail(&fsl_comp->list, &fsl_queue->comp_free); in fsl_qdma_free_desc()
978 spin_unlock_irqrestore(&fsl_queue->queue_lock, flags); in fsl_qdma_free_desc()
985 struct fsl_qdma_queue *fsl_queue = fsl_chan->queue; in fsl_qdma_issue_pending() local
987 spin_lock_irqsave(&fsl_queue->queue_lock, flags); in fsl_qdma_issue_pending()
992 spin_unlock_irqrestore(&fsl_queue->queue_lock, flags); in fsl_qdma_issue_pending()
1020 struct fsl_qdma_queue *fsl_queue = fsl_chan->queue; in fsl_qdma_alloc_chan_resources() local
1022 if (fsl_queue->comp_pool && fsl_queue->desc_pool) in fsl_qdma_alloc_chan_resources()
1025 INIT_LIST_HEAD(&fsl_queue->comp_free); in fsl_qdma_alloc_chan_resources()
1030 fsl_queue->comp_pool = in fsl_qdma_alloc_chan_resources()
1035 if (!fsl_queue->comp_pool) in fsl_qdma_alloc_chan_resources()
1041 fsl_queue->desc_pool = in fsl_qdma_alloc_chan_resources()
1046 if (!fsl_queue->desc_pool) in fsl_qdma_alloc_chan_resources()
1049 ret = fsl_qdma_pre_request_enqueue_desc(fsl_queue); in fsl_qdma_alloc_chan_resources()
1060 dma_pool_destroy(fsl_queue->desc_pool); in fsl_qdma_alloc_chan_resources()
1062 dma_pool_destroy(fsl_queue->comp_pool); in fsl_qdma_alloc_chan_resources()