Lines Matching refs:cmd

583 iwm_lookup_cmd_ver(struct iwm_softc *sc, uint8_t grp, uint8_t cmd)
590 if (entry->group == grp && entry->cmd == cmd)
1459 * In non-DQA mode, we use rings 0 through 9 (0-3 are EDCA, 9 is cmd),
1472 printf("%s: could not allocate cmd DMA memory\n", DEVNAME(sc));
1475 ring->cmd = ring->cmd_dma.vaddr;
2447 struct iwm_scd_txq_cfg_cmd cmd;
2470 memset(&cmd, 0, sizeof(cmd));
2471 cmd.tid = tid;
2472 cmd.scd_queue = qid;
2473 cmd.enable = 1;
2474 cmd.sta_id = sta_id;
2475 cmd.tx_fifo = fifo;
2476 cmd.aggregate = aggregate;
2477 cmd.ssn = htole16(ssn);
2478 cmd.window = IWM_FRAME_LIMIT;
2481 sizeof(cmd), &cmd);
2492 struct iwm_scd_txq_cfg_cmd cmd;
2495 memset(&cmd, 0, sizeof(cmd));
2496 cmd.tid = tid;
2497 cmd.scd_queue = qid;
2498 cmd.enable = 0;
2499 cmd.sta_id = sta_id;
2501 err = iwm_send_cmd_pdu(sc, IWM_SCD_QUEUE_CFG, 0, sizeof(cmd), &cmd);
2725 struct iwm_host_cmd cmd = {
2733 cmd.data[0] = &phy_db_cmd;
2734 cmd.len[0] = sizeof(struct iwm_phy_db_cmd);
2735 cmd.data[1] = data;
2736 cmd.len[1] = length;
2738 return iwm_send_cmd(sc, &cmd);
2813 const struct iwm_time_event_cmd *cmd)
2825 hcmd.data[0] = cmd;
2826 hcmd.len[0] = sizeof(*cmd);
2947 struct iwm_host_cmd cmd = {
2957 cmd.len[0] = sizeof(struct iwm_nvm_access_cmd);
2959 err = iwm_send_cmd(sc, &cmd);
2963 pkt = cmd.resp_pkt;
2997 iwm_free_resp(sc, &cmd);
3326 struct iwm_add_sta_cmd cmd;
3342 memset(&cmd, 0, sizeof(cmd));
3344 cmd.sta_id = IWM_STATION_ID;
3345 cmd.mac_id_n_color
3347 cmd.add_modify = IWM_STA_MODE_MODIFY;
3350 cmd.add_immediate_ba_tid = (uint8_t)tid;
3351 cmd.add_immediate_ba_ssn = ssn;
3352 cmd.rx_ba_window = winsize;
3354 cmd.remove_immediate_ba_tid = (uint8_t)tid;
3356 cmd.modify_mask = start ? IWM_STA_MODIFY_ADD_BA_TID :
3361 cmdsize = sizeof(cmd);
3364 err = iwm_send_cmd_pdu_status(sc, IWM_ADD_STA, cmdsize, &cmd,
3561 struct iwm_add_sta_cmd cmd;
3588 memset(&cmd, 0, sizeof(cmd));
3590 cmd.sta_id = IWM_STATION_ID;
3591 cmd.mac_id_n_color = htole32(IWM_FW_CMD_ID_AND_COLOR(in->in_id,
3593 cmd.add_modify = IWM_STA_MODE_MODIFY;
3610 cmd.tfd_queue_msk |= htole32(in->tfd_queue_msk);
3611 cmd.tid_disable_tx = htole16(in->tid_disable_ampdu);
3612 cmd.modify_mask = (IWM_STA_MODIFY_QUEUES |
3646 cmdsize = sizeof(cmd);
3651 err = iwm_send_cmd_pdu_status(sc, IWM_ADD_STA, cmdsize, &cmd, &status);
4456 printf("%s: failed to send the paging cmd\n",
4554 struct iwm_ltr_config_cmd cmd = {
4561 return iwm_send_cmd_pdu(sc, IWM_LTR_CONFIG, 0, sizeof(cmd), &cmd);
6071 struct iwm_binding_cmd cmd;
6086 memset(&cmd, 0, sizeof(cmd));
6088 cmd.id_and_color
6090 cmd.action = htole32(action);
6091 cmd.phy = htole32(IWM_FW_CMD_ID_AND_COLOR(phyctxt->id, phyctxt->color));
6093 cmd.macs[0] = htole32(mac_id);
6095 cmd.macs[i] = htole32(IWM_FW_CTXT_INVALID);
6099 cmd.lmac_id = htole32(IWM_LMAC_24G_INDEX);
6101 cmd.lmac_id = htole32(IWM_LMAC_5G_INDEX);
6104 len = sizeof(cmd);
6108 err = iwm_send_cmd_pdu_status(sc, IWM_BINDING_CONTEXT_CMD, len, &cmd,
6118 struct iwm_phy_context_cmd *cmd, uint32_t action, uint32_t apply_time)
6120 memset(cmd, 0, sizeof(struct iwm_phy_context_cmd));
6122 cmd->id_and_color = htole32(IWM_FW_CMD_ID_AND_COLOR(ctxt->id,
6124 cmd->action = htole32(action);
6125 cmd->apply_time = htole32(apply_time);
6129 iwm_phy_ctxt_cmd_data(struct iwm_softc *sc, struct iwm_phy_context_cmd *cmd,
6136 cmd->ci.band = IEEE80211_IS_CHAN_2GHZ(chan) ?
6138 cmd->ci.channel = ieee80211_chan2ieee(ic, chan);
6140 cmd->ci.ctrl_pos = iwm_get_vht_ctrl_pos(ic, chan);
6141 cmd->ci.width = IWM_PHY_VHT_CHANNEL_MODE80;
6145 cmd->ci.ctrl_pos = IWM_PHY_VHT_CTRL_POS_1_BELOW;
6146 cmd->ci.width = IWM_PHY_VHT_CHANNEL_MODE40;
6149 cmd->ci.ctrl_pos = IWM_PHY_VHT_CTRL_POS_1_ABOVE;
6150 cmd->ci.width = IWM_PHY_VHT_CHANNEL_MODE40;
6152 cmd->ci.width = IWM_PHY_VHT_CHANNEL_MODE20;
6153 cmd->ci.ctrl_pos = IWM_PHY_VHT_CTRL_POS_1_BELOW;
6156 cmd->ci.width = IWM_PHY_VHT_CHANNEL_MODE20;
6157 cmd->ci.ctrl_pos = IWM_PHY_VHT_CTRL_POS_1_BELOW;
6164 cmd->rxchain_info = htole32(iwm_fw_valid_rx_ant(sc) <<
6166 cmd->rxchain_info |= htole32(idle_cnt << IWM_PHY_RX_CHAIN_CNT_POS);
6167 cmd->rxchain_info |= htole32(active_cnt <<
6170 cmd->txchain_info = htole32(iwm_fw_valid_tx_ant(sc));
6211 struct iwm_phy_context_cmd_uhb cmd;
6215 memset(&cmd, 0, sizeof(cmd));
6216 cmd.id_and_color = htole32(IWM_FW_CMD_ID_AND_COLOR(ctxt->id,
6218 cmd.action = htole32(action);
6219 cmd.apply_time = htole32(apply_time);
6221 cmd.ci.band = IEEE80211_IS_CHAN_2GHZ(chan) ?
6223 cmd.ci.channel = htole32(ieee80211_chan2ieee(ic, chan));
6225 cmd.ci.ctrl_pos = iwm_get_vht_ctrl_pos(ic, chan);
6226 cmd.ci.width = IWM_PHY_VHT_CHANNEL_MODE80;
6230 cmd.ci.ctrl_pos = IWM_PHY_VHT_CTRL_POS_1_BELOW;
6231 cmd.ci.width = IWM_PHY_VHT_CHANNEL_MODE40;
6234 cmd.ci.ctrl_pos = IWM_PHY_VHT_CTRL_POS_1_ABOVE;
6235 cmd.ci.width = IWM_PHY_VHT_CHANNEL_MODE40;
6237 cmd.ci.width = IWM_PHY_VHT_CHANNEL_MODE20;
6238 cmd.ci.ctrl_pos = IWM_PHY_VHT_CTRL_POS_1_BELOW;
6241 cmd.ci.width = IWM_PHY_VHT_CHANNEL_MODE20;
6242 cmd.ci.ctrl_pos = IWM_PHY_VHT_CTRL_POS_1_BELOW;
6247 cmd.rxchain_info = htole32(iwm_fw_valid_rx_ant(sc) <<
6249 cmd.rxchain_info |= htole32(idle_cnt << IWM_PHY_RX_CHAIN_CNT_POS);
6250 cmd.rxchain_info |= htole32(active_cnt <<
6252 cmd.txchain_info = htole32(iwm_fw_valid_tx_ant(sc));
6254 return iwm_send_cmd_pdu(sc, IWM_PHY_CONTEXT_CMD, 0, sizeof(cmd), &cmd);
6262 struct iwm_phy_context_cmd cmd;
6275 iwm_phy_ctxt_cmd_hdr(sc, ctxt, &cmd, action, apply_time);
6277 iwm_phy_ctxt_cmd_data(sc, &cmd, ctxt->channel,
6281 sizeof(struct iwm_phy_context_cmd), &cmd);
6290 struct iwm_device_cmd *cmd;
6334 hdrlen = sizeof(cmd->hdr_wide);
6335 datasz = sizeof(cmd->data_wide);
6337 hdrlen = sizeof(cmd->hdr);
6338 datasz = sizeof(cmd->data);
6352 printf("%s: could not get fw cmd mbuf (%zd bytes)\n",
6357 cmd = mtod(m, struct iwm_device_cmd *);
6358 err = bus_dmamap_load(sc->sc_dmat, txdata->map, cmd,
6361 printf("%s: could not load fw cmd mbuf (%zd bytes)\n",
6369 cmd = &ring->cmd[idx];
6374 cmd->hdr_wide.opcode = iwm_cmd_opcode(code);
6375 cmd->hdr_wide.group_id = group_id;
6376 cmd->hdr_wide.qid = ring->qid;
6377 cmd->hdr_wide.idx = idx;
6378 cmd->hdr_wide.length = htole16(paylen);
6379 cmd->hdr_wide.version = iwm_cmd_version(code);
6380 data = cmd->data_wide;
6382 cmd->hdr.code = code;
6383 cmd->hdr.flags = 0;
6384 cmd->hdr.qid = ring->qid;
6385 cmd->hdr.idx = idx;
6386 data = cmd->data;
6409 (char *)(void *)cmd - (char *)(void *)ring->cmd_dma.vaddr,
6463 struct iwm_host_cmd cmd = {
6470 return iwm_send_cmd(sc, &cmd);
6474 iwm_send_cmd_status(struct iwm_softc *sc, struct iwm_host_cmd *cmd,
6481 KASSERT((cmd->flags & IWM_CMD_WANT_RESP) == 0);
6482 cmd->flags |= IWM_CMD_WANT_RESP;
6483 cmd->resp_pkt_len = sizeof(*pkt) + sizeof(*resp);
6485 err = iwm_send_cmd(sc, cmd);
6489 pkt = cmd->resp_pkt;
6495 iwm_free_resp(sc, cmd);
6501 iwm_free_resp(sc, cmd);
6509 struct iwm_host_cmd cmd = {
6515 return iwm_send_cmd_status(sc, &cmd, status);
6722 struct iwm_device_cmd *cmd;
6791 cmd = &ring->cmd[ring->cur];
6792 cmd->hdr.code = IWM_TX_CMD;
6793 cmd->hdr.flags = 0;
6794 cmd->hdr.qid = ring->qid;
6795 cmd->hdr.idx = ring->cur;
6797 tx = (void *)cmd->data;
7004 (char *)(void *)cmd - (char *)(void *)ring->cmd_dma.vaddr,
7005 sizeof (*cmd), BUS_DMASYNC_PREWRITE);
7118 struct iwm_beacon_filter_cmd *cmd)
7121 0, sizeof(struct iwm_beacon_filter_cmd), cmd);
7126 struct iwm_beacon_filter_cmd *cmd)
7128 cmd->ba_enable_beacon_abort = htole32(sc->sc_bf.ba_enabled);
7134 struct iwm_beacon_filter_cmd cmd = {
7144 iwm_beacon_filter_set_cqm_params(sc, in, &cmd);
7145 return iwm_beacon_filter_send_cmd(sc, &cmd);
7150 struct iwm_mac_power_cmd *cmd)
7156 cmd->id_and_color = htole32(IWM_FW_CMD_ID_AND_COLOR(in->in_id,
7172 cmd->keep_alive_seconds = htole16(keep_alive);
7175 cmd->flags = htole16(IWM_POWER_FLAGS_POWER_SAVE_ENA_MSK);
7183 struct iwm_mac_power_cmd cmd;
7185 memset(&cmd, 0, sizeof(cmd));
7187 iwm_power_build_cmd(sc, in, &cmd);
7190 sizeof(cmd), &cmd);
7194 ba_enable = !!(cmd.flags &
7202 struct iwm_device_power_cmd cmd = { };
7206 cmd.flags = htole16(IWM_DEVICE_POWER_FLAGS_POWER_SAVE_ENA_MSK);
7209 IWM_POWER_TABLE_CMD, 0, sizeof(cmd), &cmd);
7215 struct iwm_beacon_filter_cmd cmd = {
7221 iwm_beacon_filter_set_cqm_params(sc, in, &cmd);
7222 err = iwm_beacon_filter_send_cmd(sc, &cmd);
7233 struct iwm_beacon_filter_cmd cmd;
7236 memset(&cmd, 0, sizeof(cmd));
7238 err = iwm_beacon_filter_send_cmd(sc, &cmd);
7398 struct iwm_add_sta_cmd cmd;
7414 memset(&cmd, 0, sizeof(cmd));
7415 cmd.sta_id = IWM_AUX_STA_ID;
7417 cmd.station_type = IWM_STA_AUX_ACTIVITY;
7418 cmd.mac_id_n_color =
7420 cmd.tfd_queue_msk = htole32(1 << qid);
7421 cmd.tid_disable_tx = htole16(0xffff);
7425 cmdsize = sizeof(cmd);
7428 err = iwm_send_cmd_pdu_status(sc, IWM_ADD_STA, cmdsize, &cmd,
7439 struct iwm_add_sta_cmd cmd;
7444 memset(&cmd, 0, sizeof(cmd));
7445 cmd.mac_id_n_color = htole32(IWM_FW_CMD_ID_AND_COLOR(in->in_id,
7447 cmd.sta_id = IWM_STATION_ID;
7448 cmd.add_modify = IWM_STA_MODE_MODIFY;
7449 cmd.station_flags = drain ? htole32(IWM_STA_FLG_DRAIN_FLOW) : 0;
7450 cmd.station_flags_msk = htole32(IWM_STA_FLG_DRAIN_FLOW);
7453 cmdsize = sizeof(cmd);
7459 cmdsize, &cmd, &status);
8283 struct iwm_mac_ctx_cmd *cmd, uint32_t action)
8291 cmd->id_and_color = htole32(IWM_FW_CMD_ID_AND_COLOR(in->in_id,
8293 cmd->action = htole32(action);
8296 cmd->mac_type = htole32(IWM_FW_MAC_TYPE_LISTENER);
8298 cmd->mac_type = htole32(IWM_FW_MAC_TYPE_BSS_STA);
8301 cmd->tsf_id = htole32(IWM_TSF_ID_A);
8303 IEEE80211_ADDR_COPY(cmd->node_addr, ic->ic_myaddr);
8305 IEEE80211_ADDR_COPY(cmd->bssid_addr, etherbroadcastaddr);
8309 IEEE80211_ADDR_COPY(cmd->bssid_addr, in->in_macaddr);
8311 cmd->cck_rates = htole32(cck_ack_rates);
8312 cmd->ofdm_rates = htole32(ofdm_ack_rates);
8314 cmd->cck_short_preamble
8317 cmd->short_slot
8325 cmd->ac[txf].cw_min = htole16(IWM_EXP2(ac->ac_ecwmin));
8326 cmd->ac[txf].cw_max = htole16(IWM_EXP2(ac->ac_ecwmax));
8327 cmd->ac[txf].aifsn = ac->ac_aifsn;
8328 cmd->ac[txf].fifos_mask = (1 << txf);
8329 cmd->ac[txf].edca_txop = htole16(ac->ac_txoplimit * 32);
8332 cmd->qos_flags |= htole32(IWM_MAC_QOS_FLG_UPDATE_EDCA);
8342 cmd->protection_flags |=
8350 cmd->protection_flags |=
8359 cmd->qos_flags |= htole32(IWM_MAC_QOS_FLG_TGN);
8362 cmd->protection_flags |= htole32(IWM_MAC_PROT_FLG_TGG_PROTECT);
8364 cmd->filter_flags = htole32(IWM_MAC_FILTER_ACCEPT_GRP);
8398 struct iwm_mac_ctx_cmd cmd;
8406 memset(&cmd, 0, sizeof(cmd));
8408 iwm_mac_ctxt_cmd_common(sc, in, &cmd, action);
8411 cmd.filter_flags |= htole32(IWM_MAC_FILTER_IN_PROMISC |
8422 cmd.filter_flags |= htole32(IWM_MAC_FILTER_IN_BEACON);
8424 iwm_mac_ctxt_cmd_fill_sta(sc, in, &cmd.sta, assoc);
8426 return iwm_send_cmd_pdu(sc, IWM_MAC_CONTEXT_CMD, 0, sizeof(cmd), &cmd);
8432 struct iwm_time_quota_cmd_v1 cmd;
8438 memset(&cmd, 0, sizeof(cmd));
8456 cmd.quotas[i].id_and_color = htole32(IWM_FW_CTXT_INVALID);
8471 cmd.quotas[idx].id_and_color =
8475 cmd.quotas[idx].quota = htole32(0);
8476 cmd.quotas[idx].max_duration = htole32(0);
8478 cmd.quotas[idx].quota = htole32(quota * n_ifs[i]);
8479 cmd.quotas[idx].max_duration = htole32(0);
8485 cmd.quotas[0].quota = htole32(le32toh(cmd.quotas[0].quota) + quota_rem);
8493 cmd.quotas[i].id_and_color;
8494 cmd_v2.quotas[i].quota = cmd.quotas[i].quota;
8496 cmd.quotas[i].max_duration;
8502 return iwm_send_cmd_pdu(sc, IWM_TIME_QUOTA_CMD, 0, sizeof(cmd), &cmd);
8676 struct iwm_umac_scan_abort cmd = { 0 };
8680 0, sizeof(cmd), &cmd);
8686 struct iwm_host_cmd cmd = {
8691 err = iwm_send_cmd_status(sc, &cmd, &status);
9142 struct iwm_add_sta_key_cmd_v1 cmd;
9144 memset(&cmd, 0, sizeof(cmd));
9146 cmd.common.key_flags = htole16(IWM_STA_KEY_FLG_CCM |
9151 cmd.common.key_flags |= htole16(IWM_STA_KEY_MULTICAST);
9153 memcpy(cmd.common.key, k->k_key, MIN(sizeof(cmd.common.key), k->k_len));
9154 cmd.common.key_offset = 0;
9155 cmd.common.sta_id = IWM_STATION_ID;
9158 sizeof(cmd), &cmd);
9166 struct iwm_add_sta_key_cmd cmd;
9177 memset(&cmd, 0, sizeof(cmd));
9179 cmd.common.key_flags = htole16(IWM_STA_KEY_FLG_CCM |
9184 cmd.common.key_flags |= htole16(IWM_STA_KEY_MULTICAST);
9186 memcpy(cmd.common.key, k->k_key, MIN(sizeof(cmd.common.key), k->k_len));
9187 cmd.common.key_offset = 0;
9188 cmd.common.sta_id = IWM_STATION_ID;
9190 cmd.transmit_seq_cnt = htole64(k->k_tsc);
9193 sizeof(cmd), &cmd);
9201 struct iwm_add_sta_key_cmd_v1 cmd;
9203 memset(&cmd, 0, sizeof(cmd));
9205 cmd.common.key_flags = htole16(IWM_STA_KEY_NOT_VALID |
9209 memcpy(cmd.common.key, k->k_key, MIN(sizeof(cmd.common.key), k->k_len));
9210 cmd.common.key_offset = 0;
9211 cmd.common.sta_id = IWM_STATION_ID;
9213 iwm_send_cmd_pdu(sc, IWM_ADD_STA_KEY, IWM_CMD_ASYNC, sizeof(cmd), &cmd);
9221 struct iwm_add_sta_key_cmd cmd;
9236 memset(&cmd, 0, sizeof(cmd));
9238 cmd.common.key_flags = htole16(IWM_STA_KEY_NOT_VALID |
9242 memcpy(cmd.common.key, k->k_key, MIN(sizeof(cmd.common.key), k->k_len));
9243 cmd.common.key_offset = 0;
9244 cmd.common.sta_id = IWM_STATION_ID;
9246 iwm_send_cmd_pdu(sc, IWM_ADD_STA_KEY, IWM_CMD_ASYNC, sizeof(cmd), &cmd);
9463 struct iwm_host_cmd cmd = {
9468 cmd.flags = async ? IWM_CMD_ASYNC : 0;
9492 cmd.data[0] = &lqcmd;
9493 iwm_send_cmd(sc, &cmd);
9812 struct iwm_soc_configuration_cmd cmd;
9816 memset(&cmd, 0, sizeof(cmd));
9837 cmd.flags = htole32(flags);
9839 cmd.latency = htole32(sc->sc_xtal_latency);
9842 err = iwm_send_cmd_pdu(sc, cmd_id, 0, sizeof(cmd), &cmd);
9930 struct iwm_temp_report_ths_cmd cmd;
9938 memset(&cmd, 0, sizeof(cmd));
9942 0, sizeof(cmd), &cmd);
9953 struct iwm_host_cmd cmd = {
9959 iwm_send_cmd(sc, &cmd);
10150 /* send paging cmd to FW in case CPU2 has paging image */
10372 struct iwm_mcast_filter_cmd *cmd;
10376 size = roundup(sizeof(*cmd), 4);
10377 cmd = malloc(size, M_DEVBUF, M_NOWAIT | M_ZERO);
10378 if (cmd == NULL)
10380 cmd->filter_own = 1;
10381 cmd->port_id = 0;
10382 cmd->count = 0;
10383 cmd->pass_all = 1;
10384 IEEE80211_ADDR_COPY(cmd->bssid, in->in_macaddr);
10387 0, size, cmd);
10388 free(cmd, M_DEVBUF, size);
10635 iwm_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
10653 switch (cmd) {
10671 err = ieee80211_ioctl(ifp, cmd, data);
10764 uint32_t cmd_header; /* latest host cmd sent to UMAC */
10811 printf("%s: 0x%08X | last host cmd\n", DEVNAME(sc), table.cmd_header);
10925 printf("%s: %08X | last cmd Id\n", DEVNAME(sc), table.last_cmd_id);
11273 printf("%s: firmware error 0x%x, cmd 0x%x\n",