Lines Matching refs:rx_chn

45 			    struct prueth_rx_chn *rx_chn,  in prueth_cleanup_rx_chns()  argument
48 if (rx_chn->pg_pool) { in prueth_cleanup_rx_chns()
49 page_pool_destroy(rx_chn->pg_pool); in prueth_cleanup_rx_chns()
50 rx_chn->pg_pool = NULL; in prueth_cleanup_rx_chns()
53 if (rx_chn->desc_pool) in prueth_cleanup_rx_chns()
54 k3_cppi_desc_pool_destroy(rx_chn->desc_pool); in prueth_cleanup_rx_chns()
56 if (rx_chn->rx_chn) in prueth_cleanup_rx_chns()
57 k3_udma_glue_release_rx_chn(rx_chn->rx_chn); in prueth_cleanup_rx_chns()
366 struct prueth_rx_chn *rx_chn, in prueth_init_rx_chns() argument
382 snprintf(rx_chn->name, sizeof(rx_chn->name), "%s%d", name, slice); in prueth_init_rx_chns()
392 rx_chn->dev = dev; in prueth_init_rx_chns()
393 rx_chn->descs_num = max_desc_num; in prueth_init_rx_chns()
395 rx_chn->rx_chn = k3_udma_glue_request_rx_chn(dev, rx_chn->name, in prueth_init_rx_chns()
397 if (IS_ERR(rx_chn->rx_chn)) { in prueth_init_rx_chns()
398 ret = PTR_ERR(rx_chn->rx_chn); in prueth_init_rx_chns()
399 rx_chn->rx_chn = NULL; in prueth_init_rx_chns()
404 rx_chn->dma_dev = k3_udma_glue_rx_get_dma_device(rx_chn->rx_chn); in prueth_init_rx_chns()
405 rx_chn->desc_pool = k3_cppi_desc_pool_create_name(rx_chn->dma_dev, in prueth_init_rx_chns()
406 rx_chn->descs_num, in prueth_init_rx_chns()
408 rx_chn->name); in prueth_init_rx_chns()
409 if (IS_ERR(rx_chn->desc_pool)) { in prueth_init_rx_chns()
410 ret = PTR_ERR(rx_chn->desc_pool); in prueth_init_rx_chns()
411 rx_chn->desc_pool = NULL; in prueth_init_rx_chns()
416 flow_id_base = k3_udma_glue_rx_get_flow_id_base(rx_chn->rx_chn); in prueth_init_rx_chns()
449 ret = k3_udma_glue_rx_flow_init(rx_chn->rx_chn, in prueth_init_rx_chns()
457 fdqring_id = k3_udma_glue_rx_flow_get_fdq_id(rx_chn->rx_chn, in prueth_init_rx_chns()
459 ret = k3_udma_glue_rx_get_irq(rx_chn->rx_chn, i); in prueth_init_rx_chns()
464 rx_chn->irq[i] = ret; in prueth_init_rx_chns()
470 prueth_cleanup_rx_chns(emac, rx_chn, max_rflows); in prueth_init_rx_chns()
476 struct prueth_rx_chn *rx_chn, in prueth_dma_rx_push_mapped() argument
486 desc_rx = k3_cppi_desc_pool_alloc(rx_chn->desc_pool); in prueth_dma_rx_push_mapped()
491 desc_dma = k3_cppi_desc_pool_virt2dma(rx_chn->desc_pool, desc_rx); in prueth_dma_rx_push_mapped()
495 k3_udma_glue_rx_dma_to_cppi5_addr(rx_chn->rx_chn, &buf_dma); in prueth_dma_rx_push_mapped()
502 return k3_udma_glue_push_rx_chn(rx_chn->rx_chn, PRUETH_RX_FLOW_DATA, in prueth_dma_rx_push_mapped()
699 struct prueth_rx_chn *rx_chn = &emac->rx_chns; in emac_rx_packet() local
714 pool = rx_chn->pg_pool; in emac_rx_packet()
715 ret = k3_udma_glue_pop_rx_chn(rx_chn->rx_chn, flow_id, &desc_dma); in emac_rx_packet()
725 desc_rx = k3_cppi_desc_pool_dma2virt(rx_chn->desc_pool, desc_dma); in emac_rx_packet()
729 k3_cppi_desc_pool_free(rx_chn->desc_pool, desc_rx); in emac_rx_packet()
736 k3_udma_glue_rx_cppi5_to_dma_addr(rx_chn->rx_chn, &buf_dma); in emac_rx_packet()
742 k3_cppi_desc_pool_free(rx_chn->desc_pool, desc_rx); in emac_rx_packet()
756 xdp_init_buff(&xdp, PAGE_SIZE, &rx_chn->xdp_rxq); in emac_rx_packet()
809 struct prueth_rx_chn *rx_chn = data; in prueth_rx_cleanup() local
815 pool = rx_chn->pg_pool; in prueth_rx_cleanup()
816 desc_rx = k3_cppi_desc_pool_dma2virt(rx_chn->desc_pool, desc_dma); in prueth_rx_cleanup()
823 k3_cppi_desc_pool_free(rx_chn->desc_pool, desc_rx); in prueth_rx_cleanup()
1213 k3_udma_glue_reset_rx_chn(chn->rx_chn, i, chn, in prueth_reset_rx_chan()
1216 k3_udma_glue_disable_rx_chn(chn->rx_chn); in prueth_reset_rx_chan()