Lines Matching refs:cmd_node

21 		      struct cmd_ctrl_node *cmd_node,  in nxpwifi_init_cmd_node()  argument
24 cmd_node->priv = priv; in nxpwifi_init_cmd_node()
25 cmd_node->cmd_no = cmd_no; in nxpwifi_init_cmd_node()
28 cmd_node->wait_q_enabled = true; in nxpwifi_init_cmd_node()
29 cmd_node->cmd_wait_q_woken = false; in nxpwifi_init_cmd_node()
30 cmd_node->condition = &cmd_node->cmd_wait_q_woken; in nxpwifi_init_cmd_node()
32 cmd_node->data_buf = data_buf; in nxpwifi_init_cmd_node()
33 cmd_node->cmd_skb = cmd_node->skb; in nxpwifi_init_cmd_node()
34 cmd_node->cmd_resp = NULL; in nxpwifi_init_cmd_node()
41 struct cmd_ctrl_node *cmd_node; in nxpwifi_get_cmd_node() local
50 cmd_node = list_first_entry(&adapter->cmd_free_q, in nxpwifi_get_cmd_node()
52 list_del(&cmd_node->list); in nxpwifi_get_cmd_node()
55 return cmd_node; in nxpwifi_get_cmd_node()
61 struct cmd_ctrl_node *cmd_node) in nxpwifi_clean_cmd_node() argument
63 cmd_node->cmd_no = 0; in nxpwifi_clean_cmd_node()
64 cmd_node->cmd_flag = 0; in nxpwifi_clean_cmd_node()
65 cmd_node->data_buf = NULL; in nxpwifi_clean_cmd_node()
66 cmd_node->wait_q_enabled = false; in nxpwifi_clean_cmd_node()
68 if (cmd_node->cmd_skb) in nxpwifi_clean_cmd_node()
69 skb_trim(cmd_node->cmd_skb, 0); in nxpwifi_clean_cmd_node()
71 if (cmd_node->resp_skb) { in nxpwifi_clean_cmd_node()
72 adapter->if_ops.cmdrsp_complete(adapter, cmd_node->resp_skb); in nxpwifi_clean_cmd_node()
73 cmd_node->resp_skb = NULL; in nxpwifi_clean_cmd_node()
80 struct cmd_ctrl_node *cmd_node) in nxpwifi_insert_cmd_to_free_q() argument
82 if (!cmd_node) in nxpwifi_insert_cmd_to_free_q()
85 if (cmd_node->wait_q_enabled) in nxpwifi_insert_cmd_to_free_q()
86 nxpwifi_complete_cmd(adapter, cmd_node); in nxpwifi_insert_cmd_to_free_q()
88 nxpwifi_clean_cmd_node(adapter, cmd_node); in nxpwifi_insert_cmd_to_free_q()
92 list_add_tail(&cmd_node->list, &adapter->cmd_free_q); in nxpwifi_insert_cmd_to_free_q()
98 struct cmd_ctrl_node *cmd_node) in nxpwifi_recycle_cmd_node() argument
100 struct host_cmd_ds_command *host_cmd = (void *)cmd_node->cmd_skb->data; in nxpwifi_recycle_cmd_node()
102 nxpwifi_insert_cmd_to_free_q(adapter, cmd_node); in nxpwifi_recycle_cmd_node()
113 struct cmd_ctrl_node *cmd_node) in nxpwifi_cmd_host_cmd() argument
118 cmd = (struct host_cmd_ds_command *)cmd_node->skb->data; in nxpwifi_cmd_host_cmd()
119 pcmd_ptr = (struct nxpwifi_ds_misc_cmd *)cmd_node->data_buf; in nxpwifi_cmd_host_cmd()
130 struct cmd_ctrl_node *cmd_node) in nxpwifi_dnld_cmd_to_fw() argument
138 if (!adapter || !cmd_node) in nxpwifi_dnld_cmd_to_fw()
141 host_cmd = (struct host_cmd_ds_command *)(cmd_node->cmd_skb->data); in nxpwifi_dnld_cmd_to_fw()
148 if (cmd_node->wait_q_enabled) in nxpwifi_dnld_cmd_to_fw()
150 nxpwifi_recycle_cmd_node(adapter, cmd_node); in nxpwifi_dnld_cmd_to_fw()
155 cmd_node->cmd_no = cmd_code; in nxpwifi_dnld_cmd_to_fw()
164 nxpwifi_recycle_cmd_node(adapter, cmd_node); in nxpwifi_dnld_cmd_to_fw()
173 cmd_node->priv->bss_num, in nxpwifi_dnld_cmd_to_fw()
174 cmd_node->priv->bss_type)); in nxpwifi_dnld_cmd_to_fw()
177 adapter->curr_cmd = cmd_node; in nxpwifi_dnld_cmd_to_fw()
181 if (cmd_node->cmd_skb->len > cmd_size) in nxpwifi_dnld_cmd_to_fw()
186 skb_trim(cmd_node->cmd_skb, cmd_size); in nxpwifi_dnld_cmd_to_fw()
187 else if (cmd_node->cmd_skb->len < cmd_size) in nxpwifi_dnld_cmd_to_fw()
193 skb_put(cmd_node->cmd_skb, cmd_size - cmd_node->cmd_skb->len); in nxpwifi_dnld_cmd_to_fw()
202 skb_push(cmd_node->cmd_skb, adapter->intf_hdr_len); in nxpwifi_dnld_cmd_to_fw()
204 cmd_node->cmd_skb, NULL); in nxpwifi_dnld_cmd_to_fw()
205 skb_pull(cmd_node->cmd_skb, adapter->intf_hdr_len); in nxpwifi_dnld_cmd_to_fw()
210 if (cmd_node->wait_q_enabled) in nxpwifi_dnld_cmd_to_fw()
433 struct cmd_ctrl_node *cmd_node; in nxpwifi_send_cmd() local
480 cmd_node = nxpwifi_get_cmd_node(adapter); in nxpwifi_send_cmd()
482 if (!cmd_node) { in nxpwifi_send_cmd()
489 nxpwifi_init_cmd_node(priv, cmd_node, cmd_no, data_buf, sync); in nxpwifi_send_cmd()
491 if (!cmd_node->cmd_skb) { in nxpwifi_send_cmd()
497 skb_put_zero(cmd_node->cmd_skb, sizeof(struct host_cmd_ds_command)); in nxpwifi_send_cmd()
510 ret = nxpwifi_uap_prepare_cmd(priv, cmd_node, in nxpwifi_send_cmd()
514 ret = nxpwifi_sta_prepare_cmd(priv, cmd_node, in nxpwifi_send_cmd()
519 ret = nxpwifi_cmd_host_cmd(priv, cmd_node); in nxpwifi_send_cmd()
520 cmd_node->cmd_flag |= CMD_F_HOSTCMD; in nxpwifi_send_cmd()
528 nxpwifi_insert_cmd_to_free_q(adapter, cmd_node); in nxpwifi_send_cmd()
535 nxpwifi_queue_scan_cmd(priv, cmd_node); in nxpwifi_send_cmd()
537 nxpwifi_insert_cmd_to_pending_q(adapter, cmd_node); in nxpwifi_send_cmd()
539 if (cmd_node->wait_q_enabled) in nxpwifi_send_cmd()
540 ret = nxpwifi_wait_queue_complete(adapter, cmd_node); in nxpwifi_send_cmd()
549 struct cmd_ctrl_node *cmd_node) in nxpwifi_insert_cmd_to_pending_q() argument
555 host_cmd = (struct host_cmd_ds_command *)(cmd_node->cmd_skb->data); in nxpwifi_insert_cmd_to_pending_q()
585 list_add_tail(&cmd_node->list, &adapter->cmd_pending_q); in nxpwifi_insert_cmd_to_pending_q()
587 list_add(&cmd_node->list, &adapter->cmd_pending_q); in nxpwifi_insert_cmd_to_pending_q()
600 struct cmd_ctrl_node *cmd_node; in nxpwifi_exec_next_cmd() local
619 cmd_node = list_first_entry(&adapter->cmd_pending_q, in nxpwifi_exec_next_cmd()
622 host_cmd = (struct host_cmd_ds_command *)(cmd_node->cmd_skb->data); in nxpwifi_exec_next_cmd()
623 priv = cmd_node->priv; in nxpwifi_exec_next_cmd()
634 list_del(&cmd_node->list); in nxpwifi_exec_next_cmd()
638 ret = nxpwifi_dnld_cmd_to_fw(priv, cmd_node); in nxpwifi_exec_next_cmd()
845 struct cmd_ctrl_node *cmd_node; in nxpwifi_cmd_timeout_func() local
853 cmd_node = adapter->curr_cmd; in nxpwifi_cmd_timeout_func()
854 if (cmd_node) { in nxpwifi_cmd_timeout_func()
915 if (cmd_node->wait_q_enabled) { in nxpwifi_cmd_timeout_func()
931 struct cmd_ctrl_node *cmd_node = NULL, *tmp_node; in nxpwifi_cancel_pending_scan_cmd() local
935 list_for_each_entry_safe(cmd_node, tmp_node, in nxpwifi_cancel_pending_scan_cmd()
937 list_del(&cmd_node->list); in nxpwifi_cancel_pending_scan_cmd()
938 cmd_node->wait_q_enabled = false; in nxpwifi_cancel_pending_scan_cmd()
939 nxpwifi_insert_cmd_to_free_q(adapter, cmd_node); in nxpwifi_cancel_pending_scan_cmd()
950 struct cmd_ctrl_node *cmd_node = NULL, *tmp_node; in nxpwifi_cancel_all_pending_cmd() local
962 list_for_each_entry_safe(cmd_node, tmp_node, in nxpwifi_cancel_all_pending_cmd()
964 list_del(&cmd_node->list); in nxpwifi_cancel_all_pending_cmd()
966 if (cmd_node->wait_q_enabled) in nxpwifi_cancel_all_pending_cmd()
968 nxpwifi_recycle_cmd_node(adapter, cmd_node); in nxpwifi_cancel_all_pending_cmd()
980 struct cmd_ctrl_node *cmd_node = NULL; in nxpwifi_cancel_pending_ioctl() local
985 cmd_node = adapter->curr_cmd; in nxpwifi_cancel_pending_ioctl()
995 nxpwifi_recycle_cmd_node(adapter, cmd_node); in nxpwifi_cancel_pending_ioctl()