Lines Matching refs:dmem
52 static int nicvf_alloc_q_desc_mem(struct nicvf *nic, struct q_desc_mem *dmem, in nicvf_alloc_q_desc_mem() argument
55 dmem->q_len = q_len; in nicvf_alloc_q_desc_mem()
56 dmem->size = (desc_size * q_len) + align_bytes; in nicvf_alloc_q_desc_mem()
58 dmem->unalign_base = dma_zalloc_coherent(&nic->pdev->dev, dmem->size, in nicvf_alloc_q_desc_mem()
59 &dmem->dma, GFP_KERNEL); in nicvf_alloc_q_desc_mem()
60 if (!dmem->unalign_base) in nicvf_alloc_q_desc_mem()
64 dmem->phys_base = NICVF_ALIGNED_ADDR((u64)dmem->dma, align_bytes); in nicvf_alloc_q_desc_mem()
65 dmem->base = dmem->unalign_base + (dmem->phys_base - dmem->dma); in nicvf_alloc_q_desc_mem()
70 static void nicvf_free_q_desc_mem(struct nicvf *nic, struct q_desc_mem *dmem) in nicvf_free_q_desc_mem() argument
72 if (!dmem) in nicvf_free_q_desc_mem()
75 dma_free_coherent(&nic->pdev->dev, dmem->size, in nicvf_free_q_desc_mem()
76 dmem->unalign_base, dmem->dma); in nicvf_free_q_desc_mem()
77 dmem->unalign_base = NULL; in nicvf_free_q_desc_mem()
78 dmem->base = NULL; in nicvf_free_q_desc_mem()
168 err = nicvf_alloc_q_desc_mem(nic, &rbdr->dmem, ring_len, in nicvf_init_rbdr()
174 rbdr->desc = rbdr->dmem.base; in nicvf_init_rbdr()
205 if (!rbdr->dmem.base) in nicvf_free_rbdr()
218 head &= (rbdr->dmem.q_len - 1); in nicvf_free_rbdr()
227 nicvf_free_q_desc_mem(nic, &rbdr->dmem); in nicvf_free_rbdr()
265 tail &= (rbdr->dmem.q_len - 1); in nicvf_refill_rbdr()
327 err = nicvf_alloc_q_desc_mem(nic, &cq->dmem, q_len, CMP_QUEUE_DESC_SIZE, in nicvf_init_cmp_queue()
332 cq->desc = cq->dmem.base; in nicvf_init_cmp_queue()
343 if (!cq->dmem.base) in nicvf_free_cmp_queue()
346 nicvf_free_q_desc_mem(nic, &cq->dmem); in nicvf_free_cmp_queue()
355 err = nicvf_alloc_q_desc_mem(nic, &sq->dmem, q_len, SND_QUEUE_DESC_SIZE, in nicvf_init_snd_queue()
360 sq->desc = sq->dmem.base; in nicvf_init_snd_queue()
383 if (!sq->dmem.base) in nicvf_free_snd_queue()
388 sq->dmem.q_len * TSO_HEADER_SIZE, in nicvf_free_snd_queue()
392 nicvf_free_q_desc_mem(nic, &sq->dmem); in nicvf_free_snd_queue()
583 qidx, (u64)(cq->dmem.phys_base)); in nicvf_cmp_queue_config()
632 qidx, (u64)(sq->dmem.phys_base)); in nicvf_snd_queue_config()
668 qidx, (u64)(rbdr->dmem.phys_base)); in nicvf_rbdr_config()
845 sq->tail &= (sq->dmem.q_len - 1); in nicvf_get_sq_desc()
855 sq->head &= (sq->dmem.q_len - 1); in nicvf_put_sq_desc()
861 qentry &= (sq->dmem.q_len - 1); in nicvf_get_nxt_sqentry()
1024 qentry &= (sq->dmem.q_len - 1); in nicvf_sq_add_gather_subdesc()