Lines Matching refs:gpd

79 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
81 gpd->data_buff_bd_ptr_h = cpu_to_le32(upper_32_bits(data_ptr)); in t7xx_cldma_gpd_set_data_ptr()
82 gpd->data_buff_bd_ptr_l = cpu_to_le32(lower_32_bits(data_ptr)); in t7xx_cldma_gpd_set_data_ptr()
85 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
87 gpd->next_gpd_ptr_h = cpu_to_le32(upper_32_bits(next_ptr)); in t7xx_cldma_gpd_set_next_ptr()
88 gpd->next_gpd_ptr_l = cpu_to_le32(lower_32_bits(next_ptr)); in t7xx_cldma_gpd_set_next_ptr()
123 struct cldma_gpd *gpd; in t7xx_cldma_gpd_rx_from_q() local
131 gpd = req->gpd; in t7xx_cldma_gpd_rx_from_q()
132 if ((gpd->flags & GPD_FLAGS_HWO) || !req->skb) { in t7xx_cldma_gpd_rx_from_q()
161 skb_put(skb, le16_to_cpu(gpd->data_buff_len)); in t7xx_cldma_gpd_rx_from_q()
169 t7xx_cldma_gpd_set_data_ptr(gpd, 0); in t7xx_cldma_gpd_rx_from_q()
180 gpd = req->gpd; in t7xx_cldma_gpd_rx_from_q()
181 t7xx_cldma_gpd_set_data_ptr(gpd, req->mapped_buff); in t7xx_cldma_gpd_rx_from_q()
182 gpd->data_buff_len = 0; in t7xx_cldma_gpd_rx_from_q()
183 gpd->flags = GPD_FLAGS_IOC | GPD_FLAGS_HWO; in t7xx_cldma_gpd_rx_from_q()
262 struct cldma_gpd *gpd; in t7xx_cldma_gpd_tx_collect() local
274 gpd = req->gpd; in t7xx_cldma_gpd_tx_collect()
275 if ((gpd->flags & GPD_FLAGS_HWO) || !req->skb) { in t7xx_cldma_gpd_tx_collect()
281 dma_len = le16_to_cpu(gpd->data_buff_len); in t7xx_cldma_gpd_tx_collect()
313 pending_gpd = (req->gpd->flags & GPD_FLAGS_HWO) && req->skb; in t7xx_cldma_txq_empty_hndl()
383 if (req_cur->gpd) in t7xx_cldma_ring_free()
384 dma_pool_free(md_ctrl->gpd_dmapool, req_cur->gpd, req_cur->gpd_addr); in t7xx_cldma_ring_free()
400 req->gpd = dma_pool_zalloc(md_ctrl->gpd_dmapool, GFP_KERNEL, &req->gpd_addr); in t7xx_alloc_rx_request()
401 if (!req->gpd) in t7xx_alloc_rx_request()
411 dma_pool_free(md_ctrl->gpd_dmapool, req->gpd, req->gpd_addr); in t7xx_alloc_rx_request()
422 struct cldma_gpd *gpd; in t7xx_cldma_rx_ring_init() local
435 gpd = req->gpd; in t7xx_cldma_rx_ring_init()
436 t7xx_cldma_gpd_set_data_ptr(gpd, req->mapped_buff); in t7xx_cldma_rx_ring_init()
437 gpd->rx_data_allow_len = cpu_to_le16(ring->pkt_size); in t7xx_cldma_rx_ring_init()
438 gpd->flags = GPD_FLAGS_IOC | GPD_FLAGS_HWO; in t7xx_cldma_rx_ring_init()
445 t7xx_cldma_gpd_set_next_ptr(gpd, req->gpd_addr); in t7xx_cldma_rx_ring_init()
446 gpd = req->gpd; in t7xx_cldma_rx_ring_init()
460 req->gpd = dma_pool_zalloc(md_ctrl->gpd_dmapool, GFP_KERNEL, &req->gpd_addr); in t7xx_alloc_tx_request()
461 if (!req->gpd) { in t7xx_alloc_tx_request()
472 struct cldma_gpd *gpd; in t7xx_cldma_tx_ring_init() local
485 gpd = req->gpd; in t7xx_cldma_tx_ring_init()
486 gpd->flags = GPD_FLAGS_IOC; in t7xx_cldma_tx_ring_init()
493 t7xx_cldma_gpd_set_next_ptr(gpd, req->gpd_addr); in t7xx_cldma_tx_ring_init()
494 gpd = req->gpd; in t7xx_cldma_tx_ring_init()
762 struct cldma_gpd *gpd; in t7xx_cldma_clear_txq() local
768 gpd = req->gpd; in t7xx_cldma_clear_txq()
769 gpd->flags &= ~GPD_FLAGS_HWO; in t7xx_cldma_clear_txq()
770 t7xx_cldma_gpd_set_data_ptr(gpd, 0); in t7xx_cldma_clear_txq()
771 gpd->data_buff_len = 0; in t7xx_cldma_clear_txq()
782 struct cldma_gpd *gpd; in t7xx_cldma_clear_rxq() local
789 gpd = req->gpd; in t7xx_cldma_clear_rxq()
790 gpd->flags = GPD_FLAGS_IOC | GPD_FLAGS_HWO; in t7xx_cldma_clear_rxq()
791 gpd->data_buff_len = 0; in t7xx_cldma_clear_rxq()
807 t7xx_cldma_gpd_set_data_ptr(req->gpd, req->mapped_buff); in t7xx_cldma_clear_rxq()
847 struct cldma_gpd *gpd = tx_req->gpd; in t7xx_cldma_gpd_handle_tx_request() local
858 t7xx_cldma_gpd_set_data_ptr(gpd, tx_req->mapped_buff); in t7xx_cldma_gpd_handle_tx_request()
859 gpd->data_buff_len = cpu_to_le16(skb->len); in t7xx_cldma_gpd_handle_tx_request()
866 gpd->flags |= GPD_FLAGS_HWO; in t7xx_cldma_gpd_handle_tx_request()