Lines Matching defs:flow

698 		/* Default flow + extra ones */
718 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_num];
720 if (IS_ERR_OR_NULL(flow->udma_rflow))
723 if (flow->ringrxfdq)
724 k3_ringacc_ring_free(flow->ringrxfdq);
726 if (flow->ringrx)
727 k3_ringacc_ring_free(flow->ringrx);
729 xudma_rflow_put(rx_chn->common.udmax, flow->udma_rflow);
730 flow->udma_rflow = NULL;
738 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_idx];
746 flow->udma_rflow = xudma_rflow_get(rx_chn->common.udmax,
747 flow->udma_rflow_id);
748 if (IS_ERR(flow->udma_rflow)) {
749 ret = PTR_ERR(flow->udma_rflow);
754 if (flow->udma_rflow_id != xudma_rflow_get_id(flow->udma_rflow)) {
760 rx_ringfdq_id = flow->udma_rflow_id +
771 &flow->ringrxfdq,
772 &flow->ringrx);
788 ret = k3_ringacc_ring_cfg(flow->ringrx, &flow_cfg->rx_cfg);
794 ret = k3_ringacc_ring_cfg(flow->ringrxfdq, &flow_cfg->rxfdq_cfg);
804 rx_ring_id = k3_ringacc_get_ring_id(flow->ringrx);
805 rx_ringfdq_id = k3_ringacc_get_ring_id(flow->ringrxfdq);
825 req.flow_index = flow->udma_rflow_id;
845 dev_err(dev, "flow%d config failed: %d\n", flow->udma_rflow_id,
851 dev_dbg(dev, "flow%d config done. ready:%d\n",
852 flow->udma_rflow_id, rx_chn->flows_ready);
857 k3_ringacc_ring_free(flow->ringrxfdq);
858 k3_ringacc_ring_free(flow->ringrx);
861 xudma_rflow_put(rx_chn->common.udmax, flow->udma_rflow);
862 flow->udma_rflow = NULL;
1020 dev_err(dev, "Invalid flow range requested\n");
1028 /* Use RX channel id as flow id: target dev can't generate flow_id */
1060 /* init default RX flow only if flow_num = 1 */
1275 struct k3_udma_glue_rx_flow *flow;
1280 flow = &rx_chn->flows[flow_idx];
1282 return k3_ringacc_get_ring_id(flow->ringrxfdq);
1295 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_idx];
1306 rx_ring_id = k3_ringacc_get_ring_id(flow->ringrx);
1307 rx_ringfdq_id = k3_ringacc_get_ring_id(flow->ringrxfdq);
1318 req.flow_index = flow->udma_rflow_id;
1327 dev_err(dev, "flow%d enable failed: %d\n", flow->udma_rflow_id,
1338 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_idx];
1355 req.flow_index = flow->udma_rflow_id;
1364 dev_err(dev, "flow%d disable failed: %d\n", flow->udma_rflow_id,
1461 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_num];
1467 occ_rx = k3_ringacc_ring_get_occ(flow->ringrx);
1468 dev_dbg(dev, "RX reset flow %u occ_rx %u\n", flow_num, occ_rx);
1481 occ_rx = k3_ringacc_ring_get_occ(flow->ringrxfdq);
1482 dev_dbg(dev, "RX reset flow %u occ_rx_fdq %u\n", flow_num, occ_rx);
1485 ret = k3_ringacc_ring_pop(flow->ringrxfdq, &desc_dma);
1494 k3_ringacc_ring_reset_dma(flow->ringrxfdq, occ_rx);
1497 k3_ringacc_ring_reset(flow->ringrx);
1505 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_num];
1507 return k3_ringacc_ring_push(flow->ringrxfdq, &desc_dma);
1514 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_num];
1516 return k3_ringacc_ring_pop(flow->ringrx, desc_dma);
1523 struct k3_udma_glue_rx_flow *flow;
1525 flow = &rx_chn->flows[flow_num];
1528 flow->virq = xudma_pktdma_rflow_get_irq(rx_chn->common.udmax,
1529 flow->udma_rflow_id);
1531 flow->virq = k3_ringacc_get_ring_irq_num(flow->ringrx);
1534 return flow->virq;