Lines Matching refs:flowid
215 u32 flowid; member
541 brcmf_msgbuf_remove_flowring(struct brcmf_msgbuf *msgbuf, u16 flowid) in brcmf_msgbuf_remove_flowring() argument
546 brcmf_dbg(MSGBUF, "Removing flowring %d\n", flowid); in brcmf_msgbuf_remove_flowring()
549 dma_buf = msgbuf->flowrings[flowid]->buf_addr; in brcmf_msgbuf_remove_flowring()
551 msgbuf->flowring_dma_handle[flowid]); in brcmf_msgbuf_remove_flowring()
553 brcmf_flowring_delete(msgbuf->flow, flowid); in brcmf_msgbuf_remove_flowring()
582 u32 flowid; in brcmf_msgbuf_flowring_create_worker() local
588 flowid = work->flowid; in brcmf_msgbuf_flowring_create_worker()
591 &msgbuf->flowring_dma_handle[flowid], in brcmf_msgbuf_flowring_create_worker()
595 brcmf_flowring_delete(msgbuf->flow, flowid); in brcmf_msgbuf_flowring_create_worker()
599 brcmf_commonring_config(msgbuf->flowrings[flowid], in brcmf_msgbuf_flowring_create_worker()
609 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_flowring_create_worker()
617 create->tid = brcmf_flowring_tid(msgbuf->flow, flowid); in brcmf_msgbuf_flowring_create_worker()
618 create->flow_ring_id = cpu_to_le16(flowid + in brcmf_msgbuf_flowring_create_worker()
622 address = (u64)msgbuf->flowring_dma_handle[flowid]; in brcmf_msgbuf_flowring_create_worker()
629 flowid, work->da, create->tid, work->ifidx); in brcmf_msgbuf_flowring_create_worker()
635 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_flowring_create_worker()
639 return flowid; in brcmf_msgbuf_flowring_create_worker()
662 u32 flowid; in brcmf_msgbuf_flowring_create() local
669 flowid = brcmf_flowring_create(msgbuf->flow, eh->h_dest, in brcmf_msgbuf_flowring_create()
671 if (flowid == BRCMF_FLOWRING_INVALID_ID) { in brcmf_msgbuf_flowring_create()
673 return flowid; in brcmf_msgbuf_flowring_create()
676 create->flowid = flowid; in brcmf_msgbuf_flowring_create()
686 return flowid; in brcmf_msgbuf_flowring_create()
690 static void brcmf_msgbuf_txflow(struct brcmf_msgbuf *msgbuf, u8 flowid) in brcmf_msgbuf_txflow() argument
702 commonring = msgbuf->flowrings[flowid]; in brcmf_msgbuf_txflow()
709 while (brcmf_flowring_qlen(flow, flowid)) { in brcmf_msgbuf_txflow()
710 skb = brcmf_flowring_dequeue(flow, flowid); in brcmf_msgbuf_txflow()
713 brcmf_flowring_qlen(flow, flowid)); in brcmf_msgbuf_txflow()
720 brcmf_flowring_reinsert(flow, flowid, skb); in brcmf_msgbuf_txflow()
728 brcmf_flowring_reinsert(flow, flowid, skb); in brcmf_msgbuf_txflow()
737 tx_msghdr->msg.ifidx = brcmf_flowring_ifidx_get(flow, flowid); in brcmf_msgbuf_txflow()
766 u32 flowid; in brcmf_msgbuf_txflow_worker() local
769 for_each_set_bit(flowid, msgbuf->flow_map, msgbuf->nrof_flowrings) { in brcmf_msgbuf_txflow_worker()
770 clear_bit(flowid, msgbuf->flow_map); in brcmf_msgbuf_txflow_worker()
771 brcmf_msgbuf_txflow(msgbuf, flowid); in brcmf_msgbuf_txflow_worker()
776 static int brcmf_msgbuf_schedule_txdata(struct brcmf_msgbuf *msgbuf, u32 flowid, in brcmf_msgbuf_schedule_txdata() argument
781 set_bit(flowid, msgbuf->flow_map); in brcmf_msgbuf_schedule_txdata()
782 commonring = msgbuf->flowrings[flowid]; in brcmf_msgbuf_schedule_txdata()
797 u32 flowid; in brcmf_msgbuf_txdata() local
799 flowid = brcmf_flowring_lookup(flow, eh->h_dest, skb->priority, ifidx); in brcmf_msgbuf_txdata()
800 if (flowid == BRCMF_FLOWRING_INVALID_ID) { in brcmf_msgbuf_txdata()
801 flowid = brcmf_msgbuf_flowring_create(msgbuf, ifidx, skb); in brcmf_msgbuf_txdata()
802 if (flowid == BRCMF_FLOWRING_INVALID_ID) in brcmf_msgbuf_txdata()
805 brcmf_flowring_enqueue(flow, flowid, skb); in brcmf_msgbuf_txdata()
806 brcmf_msgbuf_schedule_txdata(msgbuf, flowid, false); in brcmf_msgbuf_txdata()
867 u16 flowid; in brcmf_msgbuf_process_txstatus() local
871 flowid = le16_to_cpu(tx_status->compl_hdr.flow_ring_id); in brcmf_msgbuf_process_txstatus()
872 flowid -= BRCMF_NROF_H2D_COMMON_MSGRINGS; in brcmf_msgbuf_process_txstatus()
878 set_bit(flowid, msgbuf->txstatus_done_map); in brcmf_msgbuf_process_txstatus()
879 commonring = msgbuf->flowrings[flowid]; in brcmf_msgbuf_process_txstatus()
1175 u16 flowid; in brcmf_msgbuf_process_flow_ring_create_response() local
1179 flowid = le16_to_cpu(flowring_create_resp->compl_hdr.flow_ring_id); in brcmf_msgbuf_process_flow_ring_create_response()
1180 flowid -= BRCMF_NROF_H2D_COMMON_MSGRINGS; in brcmf_msgbuf_process_flow_ring_create_response()
1185 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_process_flow_ring_create_response()
1188 brcmf_dbg(MSGBUF, "Flowring %d Create response status %d\n", flowid, in brcmf_msgbuf_process_flow_ring_create_response()
1191 brcmf_flowring_open(msgbuf->flow, flowid); in brcmf_msgbuf_process_flow_ring_create_response()
1193 brcmf_msgbuf_schedule_txdata(msgbuf, flowid, true); in brcmf_msgbuf_process_flow_ring_create_response()
1203 u16 flowid; in brcmf_msgbuf_process_flow_ring_delete_response() local
1207 flowid = le16_to_cpu(flowring_delete_resp->compl_hdr.flow_ring_id); in brcmf_msgbuf_process_flow_ring_delete_response()
1208 flowid -= BRCMF_NROF_H2D_COMMON_MSGRINGS; in brcmf_msgbuf_process_flow_ring_delete_response()
1213 brcmf_flowring_delete(msgbuf->flow, flowid); in brcmf_msgbuf_process_flow_ring_delete_response()
1216 brcmf_dbg(MSGBUF, "Flowring %d Delete response status %d\n", flowid, in brcmf_msgbuf_process_flow_ring_delete_response()
1219 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_process_flow_ring_delete_response()
1294 u32 flowid; in brcmf_proto_msgbuf_rx_trigger() local
1304 for_each_set_bit(flowid, msgbuf->txstatus_done_map, in brcmf_proto_msgbuf_rx_trigger()
1306 clear_bit(flowid, msgbuf->txstatus_done_map); in brcmf_proto_msgbuf_rx_trigger()
1307 commonring = msgbuf->flowrings[flowid]; in brcmf_proto_msgbuf_rx_trigger()
1308 qlen = brcmf_flowring_qlen(msgbuf->flow, flowid); in brcmf_proto_msgbuf_rx_trigger()
1312 brcmf_msgbuf_schedule_txdata(msgbuf, flowid, true); in brcmf_proto_msgbuf_rx_trigger()
1319 void brcmf_msgbuf_delete_flowring(struct brcmf_pub *drvr, u8 flowid) in brcmf_msgbuf_delete_flowring() argument
1334 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_delete_flowring()
1340 ifidx = brcmf_flowring_ifidx_get(msgbuf->flow, flowid); in brcmf_msgbuf_delete_flowring()
1346 delete->flow_ring_id = cpu_to_le16(flowid + in brcmf_msgbuf_delete_flowring()
1351 flowid, ifidx); in brcmf_msgbuf_delete_flowring()
1357 brcmf_msgbuf_remove_flowring(msgbuf, flowid); in brcmf_msgbuf_delete_flowring()