Lines Matching refs:gpd

81 static void t7xx_cldma_gpd_set_data_ptr(struct cldma_gpd *gpd, dma_addr_t data_ptr)  in t7xx_cldma_gpd_set_data_ptr()  argument
83 gpd->data_buff_bd_ptr_h = cpu_to_le32(upper_32_bits(data_ptr)); in t7xx_cldma_gpd_set_data_ptr()
84 gpd->data_buff_bd_ptr_l = cpu_to_le32(lower_32_bits(data_ptr)); in t7xx_cldma_gpd_set_data_ptr()
87 static void t7xx_cldma_gpd_set_next_ptr(struct cldma_gpd *gpd, dma_addr_t next_ptr) in t7xx_cldma_gpd_set_next_ptr() argument
89 gpd->next_gpd_ptr_h = cpu_to_le32(upper_32_bits(next_ptr)); in t7xx_cldma_gpd_set_next_ptr()
90 gpd->next_gpd_ptr_l = cpu_to_le32(lower_32_bits(next_ptr)); in t7xx_cldma_gpd_set_next_ptr()
125 struct cldma_gpd *gpd; in t7xx_cldma_gpd_rx_from_q() local
133 gpd = req->gpd; in t7xx_cldma_gpd_rx_from_q()
134 if ((gpd->flags & GPD_FLAGS_HWO) || !req->skb) { in t7xx_cldma_gpd_rx_from_q()
163 skb_put(skb, le16_to_cpu(gpd->data_buff_len)); in t7xx_cldma_gpd_rx_from_q()
171 t7xx_cldma_gpd_set_data_ptr(gpd, 0); in t7xx_cldma_gpd_rx_from_q()
182 gpd = req->gpd; in t7xx_cldma_gpd_rx_from_q()
183 t7xx_cldma_gpd_set_data_ptr(gpd, req->mapped_buff); in t7xx_cldma_gpd_rx_from_q()
184 gpd->data_buff_len = 0; in t7xx_cldma_gpd_rx_from_q()
185 gpd->flags = GPD_FLAGS_IOC | GPD_FLAGS_HWO; in t7xx_cldma_gpd_rx_from_q()
264 struct cldma_gpd *gpd; in t7xx_cldma_gpd_tx_collect() local
276 gpd = req->gpd; in t7xx_cldma_gpd_tx_collect()
277 if ((gpd->flags & GPD_FLAGS_HWO) || !req->skb) { in t7xx_cldma_gpd_tx_collect()
283 dma_len = le16_to_cpu(gpd->data_buff_len); in t7xx_cldma_gpd_tx_collect()
315 pending_gpd = (req->gpd->flags & GPD_FLAGS_HWO) && req->skb; in t7xx_cldma_txq_empty_hndl()
385 if (req_cur->gpd) in t7xx_cldma_ring_free()
386 dma_pool_free(md_ctrl->gpd_dmapool, req_cur->gpd, req_cur->gpd_addr); in t7xx_cldma_ring_free()
402 req->gpd = dma_pool_zalloc(md_ctrl->gpd_dmapool, GFP_KERNEL, &req->gpd_addr); in t7xx_alloc_rx_request()
403 if (!req->gpd) in t7xx_alloc_rx_request()
413 dma_pool_free(md_ctrl->gpd_dmapool, req->gpd, req->gpd_addr); in t7xx_alloc_rx_request()
424 struct cldma_gpd *gpd; in t7xx_cldma_rx_ring_init() local
437 gpd = req->gpd; in t7xx_cldma_rx_ring_init()
438 t7xx_cldma_gpd_set_data_ptr(gpd, req->mapped_buff); in t7xx_cldma_rx_ring_init()
439 gpd->rx_data_allow_len = cpu_to_le16(ring->pkt_size); in t7xx_cldma_rx_ring_init()
440 gpd->flags = GPD_FLAGS_IOC | GPD_FLAGS_HWO; in t7xx_cldma_rx_ring_init()
447 t7xx_cldma_gpd_set_next_ptr(gpd, req->gpd_addr); in t7xx_cldma_rx_ring_init()
448 gpd = req->gpd; in t7xx_cldma_rx_ring_init()
462 req->gpd = dma_pool_zalloc(md_ctrl->gpd_dmapool, GFP_KERNEL, &req->gpd_addr); in t7xx_alloc_tx_request()
463 if (!req->gpd) { in t7xx_alloc_tx_request()
474 struct cldma_gpd *gpd; in t7xx_cldma_tx_ring_init() local
487 gpd = req->gpd; in t7xx_cldma_tx_ring_init()
488 gpd->flags = GPD_FLAGS_IOC; in t7xx_cldma_tx_ring_init()
495 t7xx_cldma_gpd_set_next_ptr(gpd, req->gpd_addr); in t7xx_cldma_tx_ring_init()
496 gpd = req->gpd; in t7xx_cldma_tx_ring_init()
764 struct cldma_gpd *gpd; in t7xx_cldma_clear_txq() local
770 gpd = req->gpd; in t7xx_cldma_clear_txq()
771 gpd->flags &= ~GPD_FLAGS_HWO; in t7xx_cldma_clear_txq()
772 t7xx_cldma_gpd_set_data_ptr(gpd, 0); in t7xx_cldma_clear_txq()
773 gpd->data_buff_len = 0; in t7xx_cldma_clear_txq()
784 struct cldma_gpd *gpd; in t7xx_cldma_clear_rxq() local
791 gpd = req->gpd; in t7xx_cldma_clear_rxq()
792 gpd->flags = GPD_FLAGS_IOC | GPD_FLAGS_HWO; in t7xx_cldma_clear_rxq()
793 gpd->data_buff_len = 0; in t7xx_cldma_clear_rxq()
809 t7xx_cldma_gpd_set_data_ptr(req->gpd, req->mapped_buff); in t7xx_cldma_clear_rxq()
849 struct cldma_gpd *gpd = tx_req->gpd; in t7xx_cldma_gpd_handle_tx_request() local
860 t7xx_cldma_gpd_set_data_ptr(gpd, tx_req->mapped_buff); in t7xx_cldma_gpd_handle_tx_request()
861 gpd->data_buff_len = cpu_to_le16(skb->len); in t7xx_cldma_gpd_handle_tx_request()
868 gpd->flags |= GPD_FLAGS_HWO; in t7xx_cldma_gpd_handle_tx_request()