Lines Matching refs:flowid
223 u32 flowid; member
548 brcmf_msgbuf_remove_flowring(struct brcmf_msgbuf *msgbuf, u16 flowid) in brcmf_msgbuf_remove_flowring() argument
553 brcmf_dbg(MSGBUF, "Removing flowring %d\n", flowid); in brcmf_msgbuf_remove_flowring()
556 dma_buf = msgbuf->flowrings[flowid]->buf_addr; in brcmf_msgbuf_remove_flowring()
558 msgbuf->flowring_dma_handle[flowid]); in brcmf_msgbuf_remove_flowring()
560 brcmf_flowring_delete(msgbuf->flow, flowid); in brcmf_msgbuf_remove_flowring()
590 u32 flowid; in brcmf_msgbuf_flowring_create_worker() local
596 flowid = work->flowid; in brcmf_msgbuf_flowring_create_worker()
599 &msgbuf->flowring_dma_handle[flowid], in brcmf_msgbuf_flowring_create_worker()
603 brcmf_flowring_delete(msgbuf->flow, flowid); in brcmf_msgbuf_flowring_create_worker()
607 brcmf_commonring_config(msgbuf->flowrings[flowid], in brcmf_msgbuf_flowring_create_worker()
617 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_flowring_create_worker()
625 create->tid = brcmf_flowring_tid(msgbuf->flow, flowid); in brcmf_msgbuf_flowring_create_worker()
626 create->flow_ring_id = cpu_to_le16(flowid + in brcmf_msgbuf_flowring_create_worker()
630 address = (u64)msgbuf->flowring_dma_handle[flowid]; in brcmf_msgbuf_flowring_create_worker()
637 flowid, work->da, create->tid, work->ifidx); in brcmf_msgbuf_flowring_create_worker()
643 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_flowring_create_worker()
647 return flowid; in brcmf_msgbuf_flowring_create_worker()
670 u32 flowid; in brcmf_msgbuf_flowring_create() local
677 flowid = brcmf_flowring_create(msgbuf->flow, eh->h_dest, in brcmf_msgbuf_flowring_create()
679 if (flowid == BRCMF_FLOWRING_INVALID_ID) { in brcmf_msgbuf_flowring_create()
681 return flowid; in brcmf_msgbuf_flowring_create()
684 create->flowid = flowid; in brcmf_msgbuf_flowring_create()
694 return flowid; in brcmf_msgbuf_flowring_create()
698 static void brcmf_msgbuf_txflow(struct brcmf_msgbuf *msgbuf, u16 flowid) in brcmf_msgbuf_txflow() argument
711 commonring = msgbuf->flowrings[flowid]; in brcmf_msgbuf_txflow()
718 while (brcmf_flowring_qlen(flow, flowid)) { in brcmf_msgbuf_txflow()
719 skb = brcmf_flowring_dequeue(flow, flowid); in brcmf_msgbuf_txflow()
722 brcmf_flowring_qlen(flow, flowid)); in brcmf_msgbuf_txflow()
729 brcmf_flowring_reinsert(flow, flowid, skb); in brcmf_msgbuf_txflow()
737 brcmf_flowring_reinsert(flow, flowid, skb); in brcmf_msgbuf_txflow()
746 tx_msghdr->msg.ifidx = brcmf_flowring_ifidx_get(flow, flowid); in brcmf_msgbuf_txflow()
775 u32 flowid; in brcmf_msgbuf_txflow_worker() local
778 for_each_set_bit(flowid, msgbuf->flow_map, msgbuf->max_flowrings) { in brcmf_msgbuf_txflow_worker()
779 clear_bit(flowid, msgbuf->flow_map); in brcmf_msgbuf_txflow_worker()
780 brcmf_msgbuf_txflow(msgbuf, flowid); in brcmf_msgbuf_txflow_worker()
785 static int brcmf_msgbuf_schedule_txdata(struct brcmf_msgbuf *msgbuf, u32 flowid, in brcmf_msgbuf_schedule_txdata() argument
790 set_bit(flowid, msgbuf->flow_map); in brcmf_msgbuf_schedule_txdata()
791 commonring = msgbuf->flowrings[flowid]; in brcmf_msgbuf_schedule_txdata()
806 u32 flowid; in brcmf_msgbuf_tx_queue_data() local
810 flowid = brcmf_flowring_lookup(flow, eh->h_dest, skb->priority, ifidx); in brcmf_msgbuf_tx_queue_data()
811 if (flowid == BRCMF_FLOWRING_INVALID_ID) { in brcmf_msgbuf_tx_queue_data()
812 flowid = brcmf_msgbuf_flowring_create(msgbuf, ifidx, skb); in brcmf_msgbuf_tx_queue_data()
813 if (flowid == BRCMF_FLOWRING_INVALID_ID) { in brcmf_msgbuf_tx_queue_data()
816 brcmf_flowring_enqueue(flow, flowid, skb); in brcmf_msgbuf_tx_queue_data()
820 queue_count = brcmf_flowring_enqueue(flow, flowid, skb); in brcmf_msgbuf_tx_queue_data()
822 brcmf_msgbuf_schedule_txdata(msgbuf, flowid, force); in brcmf_msgbuf_tx_queue_data()
883 u16 flowid; in brcmf_msgbuf_process_txstatus() local
887 flowid = le16_to_cpu(tx_status->compl_hdr.flow_ring_id); in brcmf_msgbuf_process_txstatus()
888 flowid -= BRCMF_H2D_MSGRING_FLOWRING_IDSTART; in brcmf_msgbuf_process_txstatus()
894 set_bit(flowid, msgbuf->txstatus_done_map); in brcmf_msgbuf_process_txstatus()
895 commonring = msgbuf->flowrings[flowid]; in brcmf_msgbuf_process_txstatus()
1239 u16 flowid; in brcmf_msgbuf_process_flow_ring_create_response() local
1243 flowid = le16_to_cpu(flowring_create_resp->compl_hdr.flow_ring_id); in brcmf_msgbuf_process_flow_ring_create_response()
1244 flowid -= BRCMF_H2D_MSGRING_FLOWRING_IDSTART; in brcmf_msgbuf_process_flow_ring_create_response()
1249 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_process_flow_ring_create_response()
1252 brcmf_dbg(MSGBUF, "Flowring %d Create response status %d\n", flowid, in brcmf_msgbuf_process_flow_ring_create_response()
1255 brcmf_flowring_open(msgbuf->flow, flowid); in brcmf_msgbuf_process_flow_ring_create_response()
1257 brcmf_msgbuf_schedule_txdata(msgbuf, flowid, true); in brcmf_msgbuf_process_flow_ring_create_response()
1268 u16 flowid; in brcmf_msgbuf_process_flow_ring_delete_response() local
1272 flowid = le16_to_cpu(flowring_delete_resp->compl_hdr.flow_ring_id); in brcmf_msgbuf_process_flow_ring_delete_response()
1273 flowid -= BRCMF_H2D_MSGRING_FLOWRING_IDSTART; in brcmf_msgbuf_process_flow_ring_delete_response()
1278 brcmf_flowring_delete(msgbuf->flow, flowid); in brcmf_msgbuf_process_flow_ring_delete_response()
1281 brcmf_dbg(MSGBUF, "Flowring %d Delete response status %d\n", flowid, in brcmf_msgbuf_process_flow_ring_delete_response()
1284 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_process_flow_ring_delete_response()
1376 u32 flowid; in brcmf_proto_msgbuf_rx_trigger() local
1386 for_each_set_bit(flowid, msgbuf->txstatus_done_map, in brcmf_proto_msgbuf_rx_trigger()
1388 clear_bit(flowid, msgbuf->txstatus_done_map); in brcmf_proto_msgbuf_rx_trigger()
1389 commonring = msgbuf->flowrings[flowid]; in brcmf_proto_msgbuf_rx_trigger()
1390 qlen = brcmf_flowring_qlen(msgbuf->flow, flowid); in brcmf_proto_msgbuf_rx_trigger()
1394 brcmf_msgbuf_schedule_txdata(msgbuf, flowid, true); in brcmf_proto_msgbuf_rx_trigger()
1401 void brcmf_msgbuf_delete_flowring(struct brcmf_pub *drvr, u16 flowid) in brcmf_msgbuf_delete_flowring() argument
1406 struct brcmf_commonring *commonring_del = msgbuf->flowrings[flowid]; in brcmf_msgbuf_delete_flowring()
1415 flow->rings[flowid]->status = RING_CLOSING; in brcmf_msgbuf_delete_flowring()
1431 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_delete_flowring()
1441 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_delete_flowring()
1447 ifidx = brcmf_flowring_ifidx_get(msgbuf->flow, flowid); in brcmf_msgbuf_delete_flowring()
1453 delete->flow_ring_id = cpu_to_le16(flowid + in brcmf_msgbuf_delete_flowring()
1458 flowid, ifidx); in brcmf_msgbuf_delete_flowring()
1464 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_delete_flowring()