Lines Matching full:cmd
16 #include "cmd.h"
64 * @cmd: the command ID
68 static u8 is_command_allowed_in_ps(u16 cmd) in is_command_allowed_in_ps() argument
70 switch (cmd) { in is_command_allowed_in_ps()
91 struct cmd_ds_get_hw_spec cmd; in lbs_update_hw_spec() local
95 memset(&cmd, 0, sizeof(cmd)); in lbs_update_hw_spec()
96 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_update_hw_spec()
97 memcpy(cmd.permanentaddr, priv->current_addr, ETH_ALEN); in lbs_update_hw_spec()
98 ret = lbs_cmd_with_response(priv, CMD_GET_HW_SPEC, &cmd); in lbs_update_hw_spec()
102 priv->fwcapinfo = le32_to_cpu(cmd.fwcapinfo); in lbs_update_hw_spec()
106 priv->fwrelease = le32_to_cpu(cmd.fwrelease); in lbs_update_hw_spec()
115 cmd.permanentaddr, in lbs_update_hw_spec()
122 cmd.hwifversion, cmd.version); in lbs_update_hw_spec()
132 priv->regioncode = (le16_to_cpu(cmd.regioncode) >> 8) & 0xFF; in lbs_update_hw_spec()
134 priv->regioncode = le16_to_cpu(cmd.regioncode) & 0xFF; in lbs_update_hw_spec()
150 memmove(priv->current_addr, cmd.permanentaddr, ETH_ALEN); in lbs_update_hw_spec()
232 struct cmd_ds_802_11_ps_mode cmd; in lbs_set_ps_mode() local
235 memset(&cmd, 0, sizeof(cmd)); in lbs_set_ps_mode()
236 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_set_ps_mode()
237 cmd.action = cpu_to_le16(cmd_action); in lbs_set_ps_mode()
241 cmd.multipledtim = cpu_to_le16(1); /* Default DTIM multiple */ in lbs_set_ps_mode()
254 ret = lbs_cmd_with_response(priv, CMD_802_11_PS_MODE, &cmd); in lbs_set_ps_mode()
256 lbs_cmd_async(priv, CMD_802_11_PS_MODE, &cmd.hdr, sizeof (cmd)); in lbs_set_ps_mode()
265 struct cmd_ds_802_11_sleep_params cmd; in lbs_cmd_802_11_sleep_params() local
269 memset(&cmd, 0, sizeof(cmd)); in lbs_cmd_802_11_sleep_params()
271 cmd.error = cpu_to_le16(sp->sp_error); in lbs_cmd_802_11_sleep_params()
272 cmd.offset = cpu_to_le16(sp->sp_offset); in lbs_cmd_802_11_sleep_params()
273 cmd.stabletime = cpu_to_le16(sp->sp_stabletime); in lbs_cmd_802_11_sleep_params()
274 cmd.calcontrol = sp->sp_calcontrol; in lbs_cmd_802_11_sleep_params()
275 cmd.externalsleepclk = sp->sp_extsleepclk; in lbs_cmd_802_11_sleep_params()
276 cmd.reserved = cpu_to_le16(sp->sp_reserved); in lbs_cmd_802_11_sleep_params()
278 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_cmd_802_11_sleep_params()
279 cmd.action = cpu_to_le16(cmd_action); in lbs_cmd_802_11_sleep_params()
281 ret = lbs_cmd_with_response(priv, CMD_802_11_SLEEP_PARAMS, &cmd); in lbs_cmd_802_11_sleep_params()
286 le16_to_cpu(cmd.error), le16_to_cpu(cmd.offset), in lbs_cmd_802_11_sleep_params()
287 le16_to_cpu(cmd.stabletime), cmd.calcontrol, in lbs_cmd_802_11_sleep_params()
288 cmd.externalsleepclk); in lbs_cmd_802_11_sleep_params()
290 sp->sp_error = le16_to_cpu(cmd.error); in lbs_cmd_802_11_sleep_params()
291 sp->sp_offset = le16_to_cpu(cmd.offset); in lbs_cmd_802_11_sleep_params()
292 sp->sp_stabletime = le16_to_cpu(cmd.stabletime); in lbs_cmd_802_11_sleep_params()
293 sp->sp_calcontrol = cmd.calcontrol; in lbs_cmd_802_11_sleep_params()
294 sp->sp_extsleepclk = cmd.externalsleepclk; in lbs_cmd_802_11_sleep_params()
295 sp->sp_reserved = le16_to_cpu(cmd.reserved); in lbs_cmd_802_11_sleep_params()
351 struct cmd_header *cmd) in lbs_ret_host_sleep_activate() argument
361 struct cmd_header cmd; in lbs_set_host_sleep() local
367 memset(&cmd, 0, sizeof(cmd)); in lbs_set_host_sleep()
379 &cmd, in lbs_set_host_sleep()
380 sizeof(cmd), in lbs_set_host_sleep()
419 struct cmd_ds_802_11_snmp_mib cmd; in lbs_set_snmp_mib() local
422 memset(&cmd, 0, sizeof (cmd)); in lbs_set_snmp_mib()
423 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_set_snmp_mib()
424 cmd.action = cpu_to_le16(CMD_ACT_SET); in lbs_set_snmp_mib()
425 cmd.oid = cpu_to_le16((u16) oid); in lbs_set_snmp_mib()
429 cmd.bufsize = cpu_to_le16(sizeof(u8)); in lbs_set_snmp_mib()
430 cmd.value[0] = val; in lbs_set_snmp_mib()
437 cmd.bufsize = cpu_to_le16(sizeof(u16)); in lbs_set_snmp_mib()
438 *((__le16 *)(&cmd.value)) = cpu_to_le16(val); in lbs_set_snmp_mib()
447 le16_to_cpu(cmd.oid), le16_to_cpu(cmd.bufsize), val); in lbs_set_snmp_mib()
449 ret = lbs_cmd_with_response(priv, CMD_802_11_SNMP_MIB, &cmd); in lbs_set_snmp_mib()
468 struct cmd_ds_802_11_rf_tx_power cmd; in lbs_get_tx_power() local
471 memset(&cmd, 0, sizeof(cmd)); in lbs_get_tx_power()
472 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_get_tx_power()
473 cmd.action = cpu_to_le16(CMD_ACT_GET); in lbs_get_tx_power()
475 ret = lbs_cmd_with_response(priv, CMD_802_11_RF_TX_POWER, &cmd); in lbs_get_tx_power()
477 *curlevel = le16_to_cpu(cmd.curlevel); in lbs_get_tx_power()
479 *minlevel = cmd.minlevel; in lbs_get_tx_power()
481 *maxlevel = cmd.maxlevel; in lbs_get_tx_power()
498 struct cmd_ds_802_11_monitor_mode cmd; in lbs_set_monitor_mode() local
501 memset(&cmd, 0, sizeof(cmd)); in lbs_set_monitor_mode()
502 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_set_monitor_mode()
503 cmd.action = cpu_to_le16(CMD_ACT_SET); in lbs_set_monitor_mode()
505 cmd.mode = cpu_to_le16(0x1); in lbs_set_monitor_mode()
509 ret = lbs_cmd_with_response(priv, CMD_802_11_MONITOR_MODE, &cmd); in lbs_set_monitor_mode()
527 struct cmd_ds_802_11_rf_channel cmd; in lbs_get_channel() local
530 memset(&cmd, 0, sizeof(cmd)); in lbs_get_channel()
531 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_get_channel()
532 cmd.action = cpu_to_le16(CMD_OPT_802_11_RF_CHANNEL_GET); in lbs_get_channel()
534 ret = lbs_cmd_with_response(priv, CMD_802_11_RF_CHANNEL, &cmd); in lbs_get_channel()
538 ret = le16_to_cpu(cmd.channel); in lbs_get_channel()
569 struct cmd_ds_802_11_rf_channel cmd; in lbs_set_channel() local
575 memset(&cmd, 0, sizeof(cmd)); in lbs_set_channel()
576 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_set_channel()
577 cmd.action = cpu_to_le16(CMD_OPT_802_11_RF_CHANNEL_SET); in lbs_set_channel()
578 cmd.channel = cpu_to_le16(channel); in lbs_set_channel()
580 ret = lbs_cmd_with_response(priv, CMD_802_11_RF_CHANNEL, &cmd); in lbs_set_channel()
584 priv->channel = (uint8_t) le16_to_cpu(cmd.channel); in lbs_set_channel()
603 struct cmd_ds_802_11_rssi cmd; in lbs_get_rssi() local
609 memset(&cmd, 0, sizeof(cmd)); in lbs_get_rssi()
610 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_get_rssi()
612 cmd.n_or_snr = cpu_to_le16(8); in lbs_get_rssi()
614 ret = lbs_cmd_with_response(priv, CMD_802_11_RSSI, &cmd); in lbs_get_rssi()
616 *nf = CAL_NF(le16_to_cpu(cmd.nf)); in lbs_get_rssi()
617 *rssi = CAL_RSSI(le16_to_cpu(cmd.n_or_snr), le16_to_cpu(cmd.nf)); in lbs_get_rssi()
635 struct cmd_ds_802_11d_domain_info cmd; in lbs_set_11d_domain_info() local
636 struct mrvl_ie_domain_param_set *domain = &cmd.domain; in lbs_set_11d_domain_info()
650 memset(&cmd, 0, sizeof(cmd)); in lbs_set_11d_domain_info()
651 cmd.action = cpu_to_le16(CMD_ACT_SET); in lbs_set_11d_domain_info()
731 (u8 *) &cmd.domain.country_code, in lbs_set_11d_domain_info()
734 cmd.hdr.size = cpu_to_le16(sizeof(cmd.hdr) + in lbs_set_11d_domain_info()
735 sizeof(cmd.action) + in lbs_set_11d_domain_info()
736 sizeof(cmd.domain.header) + in lbs_set_11d_domain_info()
737 sizeof(cmd.domain.country_code) + in lbs_set_11d_domain_info()
740 ret = lbs_cmd_with_response(priv, CMD_802_11D_DOMAIN_INFO, &cmd); in lbs_set_11d_domain_info()
759 struct cmd_ds_reg_access cmd; in lbs_get_reg() local
764 memset(&cmd, 0, sizeof(cmd)); in lbs_get_reg()
765 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_get_reg()
766 cmd.action = cpu_to_le16(CMD_ACT_GET); in lbs_get_reg()
767 cmd.offset = cpu_to_le16(offset); in lbs_get_reg()
776 ret = lbs_cmd_with_response(priv, reg, &cmd); in lbs_get_reg()
779 *value = cmd.value.bbp_rf; in lbs_get_reg()
781 *value = le32_to_cpu(cmd.value.mac); in lbs_get_reg()
801 struct cmd_ds_reg_access cmd; in lbs_set_reg() local
804 memset(&cmd, 0, sizeof(cmd)); in lbs_set_reg()
805 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_set_reg()
806 cmd.action = cpu_to_le16(CMD_ACT_SET); in lbs_set_reg()
807 cmd.offset = cpu_to_le16(offset); in lbs_set_reg()
810 cmd.value.bbp_rf = (u8) (value & 0xFF); in lbs_set_reg()
812 cmd.value.mac = cpu_to_le32(value); in lbs_set_reg()
818 ret = lbs_cmd_with_response(priv, reg, &cmd); in lbs_set_reg()
835 lbs_deb_host("DNLD_CMD: cmd size is zero\n"); in lbs_queue_cmd()
870 struct cmd_header *cmd; in lbs_submit_command() local
876 cmd = cmdnode->cmdbuf; in lbs_submit_command()
880 cmd->seqnum = cpu_to_le16(priv->seqnum); in lbs_submit_command()
884 cmdsize = le16_to_cpu(cmd->size); in lbs_submit_command()
885 command = le16_to_cpu(cmd->command); in lbs_submit_command()
892 command, le16_to_cpu(cmd->seqnum), cmdsize); in lbs_submit_command()
895 ret = priv->hw_host_to_card(priv, MVMS_CMD, (u8 *) cmd, cmdsize); in lbs_submit_command()
942 void __lbs_complete_command(struct lbs_private *priv, struct cmd_ctrl_node *cmd, in __lbs_complete_command() argument
951 list_del_init(&cmd->list); in __lbs_complete_command()
953 cmd->result = result; in __lbs_complete_command()
954 cmd->cmdwaitqwoken = 1; in __lbs_complete_command()
955 wake_up(&cmd->cmdwait_q); in __lbs_complete_command()
957 if (!cmd->callback || cmd->callback == lbs_cmd_async_callback) in __lbs_complete_command()
958 __lbs_cleanup_and_insert_cmd(priv, cmd); in __lbs_complete_command()
963 void lbs_complete_command(struct lbs_private *priv, struct cmd_ctrl_node *cmd, in lbs_complete_command() argument
968 __lbs_complete_command(priv, cmd, result); in lbs_complete_command()
974 struct cmd_ds_802_11_radio_control cmd; in lbs_set_radio() local
977 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_set_radio()
978 cmd.action = cpu_to_le16(CMD_ACT_SET); in lbs_set_radio()
979 cmd.control = 0; in lbs_set_radio()
987 cmd.control = cpu_to_le16(preamble); in lbs_set_radio()
995 cmd.control |= cpu_to_le16(0x1); in lbs_set_radio()
997 cmd.control &= cpu_to_le16(~0x1); in lbs_set_radio()
1006 ret = lbs_cmd_with_response(priv, CMD_802_11_RADIO_CONTROL, &cmd); in lbs_set_radio()
1014 struct cmd_ds_mac_control cmd; in lbs_set_mac_control() local
1016 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_set_mac_control()
1017 cmd.action = cpu_to_le16(priv->mac_control); in lbs_set_mac_control()
1018 cmd.reserved = 0; in lbs_set_mac_control()
1020 lbs_cmd_async(priv, CMD_MAC_CONTROL, &cmd.hdr, sizeof(cmd)); in lbs_set_mac_control()
1025 struct cmd_ds_mac_control cmd; in lbs_set_mac_control_sync() local
1028 cmd.hdr.size = cpu_to_le16(sizeof(cmd)); in lbs_set_mac_control_sync()
1029 cmd.action = cpu_to_le16(priv->mac_control); in lbs_set_mac_control_sync()
1030 cmd.reserved = 0; in lbs_set_mac_control_sync()
1031 ret = lbs_cmd_with_response(priv, CMD_MAC_CONTROL, &cmd); in lbs_set_mac_control_sync()
1101 /* need to check if cmd array is allocated or not */ in lbs_free_cmd_buffer()
1171 struct cmd_header *cmd; in lbs_execute_next_command() local
1196 cmd = cmdnode->cmdbuf; in lbs_execute_next_command()
1198 if (is_command_allowed_in_ps(le16_to_cpu(cmd->command))) { in lbs_execute_next_command()
1202 "EXEC_NEXT_CMD: cannot send cmd 0x%04x in psstate %d\n", in lbs_execute_next_command()
1203 le16_to_cpu(cmd->command), in lbs_execute_next_command()
1210 le16_to_cpu(cmd->command), priv->psstate); in lbs_execute_next_command()
1223 if (cmd->command != cpu_to_le16(CMD_802_11_PS_MODE)) { in lbs_execute_next_command()
1245 struct cmd_ds_802_11_ps_mode *psm = (void *)cmd; in lbs_execute_next_command()
1248 "EXEC_NEXT_CMD: PS cmd, action 0x%02x\n", in lbs_execute_next_command()
1253 "EXEC_NEXT_CMD: ignore ENTER_PS cmd\n"); in lbs_execute_next_command()
1263 "EXEC_NEXT_CMD: ignore EXIT_PS cmd in sleep\n"); in lbs_execute_next_command()
1279 le16_to_cpu(cmd->command)); in lbs_execute_next_command()