Lines Matching full:rx_chn

45 			    struct prueth_rx_chn *rx_chn,  in prueth_cleanup_rx_chns()  argument
48 if (rx_chn->desc_pool) in prueth_cleanup_rx_chns()
49 k3_cppi_desc_pool_destroy(rx_chn->desc_pool); in prueth_cleanup_rx_chns()
51 if (rx_chn->rx_chn) in prueth_cleanup_rx_chns()
52 k3_udma_glue_release_rx_chn(rx_chn->rx_chn); in prueth_cleanup_rx_chns()
355 struct prueth_rx_chn *rx_chn, in prueth_init_rx_chns() argument
371 snprintf(rx_chn->name, sizeof(rx_chn->name), "%s%d", name, slice); in prueth_init_rx_chns()
381 rx_chn->dev = dev; in prueth_init_rx_chns()
382 rx_chn->descs_num = max_desc_num; in prueth_init_rx_chns()
384 rx_chn->rx_chn = k3_udma_glue_request_rx_chn(dev, rx_chn->name, in prueth_init_rx_chns()
386 if (IS_ERR(rx_chn->rx_chn)) { in prueth_init_rx_chns()
387 ret = PTR_ERR(rx_chn->rx_chn); in prueth_init_rx_chns()
388 rx_chn->rx_chn = NULL; in prueth_init_rx_chns()
393 rx_chn->dma_dev = k3_udma_glue_rx_get_dma_device(rx_chn->rx_chn); in prueth_init_rx_chns()
394 rx_chn->desc_pool = k3_cppi_desc_pool_create_name(rx_chn->dma_dev, in prueth_init_rx_chns()
395 rx_chn->descs_num, in prueth_init_rx_chns()
397 rx_chn->name); in prueth_init_rx_chns()
398 if (IS_ERR(rx_chn->desc_pool)) { in prueth_init_rx_chns()
399 ret = PTR_ERR(rx_chn->desc_pool); in prueth_init_rx_chns()
400 rx_chn->desc_pool = NULL; in prueth_init_rx_chns()
405 flow_id_base = k3_udma_glue_rx_get_flow_id_base(rx_chn->rx_chn); in prueth_init_rx_chns()
438 ret = k3_udma_glue_rx_flow_init(rx_chn->rx_chn, in prueth_init_rx_chns()
446 fdqring_id = k3_udma_glue_rx_flow_get_fdq_id(rx_chn->rx_chn, in prueth_init_rx_chns()
448 ret = k3_udma_glue_rx_get_irq(rx_chn->rx_chn, i); in prueth_init_rx_chns()
453 rx_chn->irq[i] = ret; in prueth_init_rx_chns()
459 prueth_cleanup_rx_chns(emac, rx_chn, max_rflows); in prueth_init_rx_chns()
466 struct prueth_rx_chn *rx_chn) in prueth_dma_rx_push() argument
475 desc_rx = k3_cppi_desc_pool_alloc(rx_chn->desc_pool); in prueth_dma_rx_push()
480 desc_dma = k3_cppi_desc_pool_virt2dma(rx_chn->desc_pool, desc_rx); in prueth_dma_rx_push()
482 buf_dma = dma_map_single(rx_chn->dma_dev, skb->data, pkt_len, DMA_FROM_DEVICE); in prueth_dma_rx_push()
483 if (unlikely(dma_mapping_error(rx_chn->dma_dev, buf_dma))) { in prueth_dma_rx_push()
484 k3_cppi_desc_pool_free(rx_chn->desc_pool, desc_rx); in prueth_dma_rx_push()
491 k3_udma_glue_rx_dma_to_cppi5_addr(rx_chn->rx_chn, &buf_dma); in prueth_dma_rx_push()
497 return k3_udma_glue_push_rx_chn(rx_chn->rx_chn, 0, in prueth_dma_rx_push()
540 struct prueth_rx_chn *rx_chn = &emac->rx_chns; in emac_rx_packet() local
550 ret = k3_udma_glue_pop_rx_chn(rx_chn->rx_chn, flow_id, &desc_dma); in emac_rx_packet()
560 desc_rx = k3_cppi_desc_pool_dma2virt(rx_chn->desc_pool, desc_dma); in emac_rx_packet()
571 k3_udma_glue_rx_cppi5_to_dma_addr(rx_chn->rx_chn, &buf_dma); in emac_rx_packet()
577 dma_unmap_single(rx_chn->dma_dev, buf_dma, buf_dma_len, DMA_FROM_DEVICE); in emac_rx_packet()
578 k3_cppi_desc_pool_free(rx_chn->desc_pool, desc_rx); in emac_rx_packet()
612 struct prueth_rx_chn *rx_chn = data; in prueth_rx_cleanup() local
619 desc_rx = k3_cppi_desc_pool_dma2virt(rx_chn->desc_pool, desc_dma); in prueth_rx_cleanup()
623 k3_udma_glue_rx_cppi5_to_dma_addr(rx_chn->rx_chn, &buf_dma); in prueth_rx_cleanup()
625 dma_unmap_single(rx_chn->dma_dev, buf_dma, buf_dma_len, in prueth_rx_cleanup()
627 k3_cppi_desc_pool_free(rx_chn->desc_pool, desc_rx); in prueth_rx_cleanup()
957 k3_udma_glue_reset_rx_chn(chn->rx_chn, i, chn, in prueth_reset_rx_chan()
960 k3_udma_glue_disable_rx_chn(chn->rx_chn); in prueth_reset_rx_chan()