Lines Matching refs:cmd

536 iwx_lookup_cmd_ver(struct iwx_softc *sc, uint8_t grp, uint8_t cmd)
543 if (entry->group == grp && entry->cmd == cmd)
551 iwx_lookup_notif_ver(struct iwx_softc *sc, uint8_t grp, uint8_t cmd)
558 if (entry->group == grp && entry->cmd == cmd)
2095 printf("%s: could not allocate cmd DMA memory\n", DEVNAME(sc));
2098 ring->cmd = ring->cmd_dma.vaddr;
2991 struct iwx_session_prot_cmd cmd = {
3002 err = iwx_send_cmd_pdu(sc, cmd_id, 0, sizeof(cmd), &cmd);
3011 struct iwx_session_prot_cmd cmd = {
3025 if (iwx_send_cmd_pdu(sc, cmd_id, 0, sizeof(cmd), &cmd) == 0)
3382 struct iwx_rx_baid_cfg_cmd cmd;
3388 memset(&cmd, 0, sizeof(cmd));
3391 cmd.action = IWX_RX_BAID_ACTION_ADD;
3392 cmd.alloc.sta_id_mask = htole32(1 << IWX_STATION_ID);
3393 cmd.alloc.tid = tid;
3394 cmd.alloc.ssn = htole16(ssn);
3395 cmd.alloc.win_size = htole16(winsize);
3404 cmd.action = IWX_RX_BAID_ACTION_REMOVE;
3407 cmd.remove_v1.baid = rxba->baid;
3409 cmd.remove.sta_id_mask = htole32(1 << IWX_STATION_ID);
3410 cmd.remove.tid = tid;
3415 IWX_RX_BAID_ALLOCATION_CONFIG_CMD), sizeof(cmd), &cmd, &new_baid);
3433 struct iwx_add_sta_cmd cmd;
3440 memset(&cmd, 0, sizeof(cmd));
3442 cmd.sta_id = IWX_STATION_ID;
3443 cmd.mac_id_n_color
3445 cmd.add_modify = IWX_STA_MODE_MODIFY;
3448 cmd.add_immediate_ba_tid = (uint8_t)tid;
3449 cmd.add_immediate_ba_ssn = htole16(ssn);
3450 cmd.rx_ba_window = htole16(winsize);
3459 cmd.remove_immediate_ba_tid = (uint8_t)tid;
3461 cmd.modify_mask = start ? IWX_STA_MODIFY_ADD_BA_TID :
3465 err = iwx_send_cmd_pdu_status(sc, IWX_ADD_STA, sizeof(cmd), &cmd,
3901 struct iwx_nvm_get_info cmd = {};
3905 .data = { &cmd, },
3906 .len = { sizeof(cmd) },
4415 struct iwx_ltr_config_cmd cmd = {
4422 return iwx_send_cmd_pdu(sc, IWX_LTR_CONFIG, 0, sizeof(cmd), &cmd);
5519 struct iwx_binding_cmd cmd;
5533 memset(&cmd, 0, sizeof(cmd));
5535 cmd.id_and_color
5537 cmd.action = htole32(action);
5538 cmd.phy = htole32(IWX_FW_CMD_ID_AND_COLOR(phyctxt->id, phyctxt->color));
5540 cmd.macs[0] = htole32(mac_id);
5542 cmd.macs[i] = htole32(IWX_FW_CTXT_INVALID);
5546 cmd.lmac_id = htole32(IWX_LMAC_24G_INDEX);
5548 cmd.lmac_id = htole32(IWX_LMAC_5G_INDEX);
5551 err = iwx_send_cmd_pdu_status(sc, IWX_BINDING_CONTEXT_CMD, sizeof(cmd),
5552 &cmd, &status);
5597 struct iwx_phy_context_cmd_uhb cmd;
5601 memset(&cmd, 0, sizeof(cmd));
5602 cmd.id_and_color = htole32(IWX_FW_CMD_ID_AND_COLOR(ctxt->id,
5604 cmd.action = htole32(action);
5608 cmd.lmac_id = htole32(IWX_LMAC_24G_INDEX);
5610 cmd.lmac_id = htole32(IWX_LMAC_5G_INDEX);
5612 cmd.ci.band = IEEE80211_IS_CHAN_2GHZ(chan) ?
5614 cmd.ci.channel = htole32(ieee80211_chan2ieee(ic, chan));
5616 cmd.ci.ctrl_pos = iwx_get_vht_ctrl_pos(ic, chan);
5617 cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE80;
5621 cmd.ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_BELOW;
5622 cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE40;
5625 cmd.ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_ABOVE;
5626 cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE40;
5628 cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE20;
5629 cmd.ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_BELOW;
5632 cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE20;
5633 cmd.ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_BELOW;
5640 cmd.rxchain_info = htole32(iwx_fw_valid_rx_ant(sc) <<
5642 cmd.rxchain_info |= htole32(idle_cnt <<
5644 cmd.rxchain_info |= htole32(active_cnt <<
5648 return iwx_send_cmd_pdu(sc, IWX_PHY_CONTEXT_CMD, 0, sizeof(cmd), &cmd);
5657 struct iwx_phy_context_cmd cmd;
5661 memset(&cmd, 0, sizeof(cmd));
5662 cmd.id_and_color = htole32(IWX_FW_CMD_ID_AND_COLOR(ctxt->id,
5664 cmd.action = htole32(action);
5668 cmd.lmac_id = htole32(IWX_LMAC_24G_INDEX);
5670 cmd.lmac_id = htole32(IWX_LMAC_5G_INDEX);
5672 cmd.ci.band = IEEE80211_IS_CHAN_2GHZ(chan) ?
5674 cmd.ci.channel = ieee80211_chan2ieee(ic, chan);
5676 cmd.ci.ctrl_pos = iwx_get_vht_ctrl_pos(ic, chan);
5677 cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE80;
5681 cmd.ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_BELOW;
5682 cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE40;
5685 cmd.ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_ABOVE;
5686 cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE40;
5688 cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE20;
5689 cmd.ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_BELOW;
5692 cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE20;
5693 cmd.ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_BELOW;
5700 cmd.rxchain_info = htole32(iwx_fw_valid_rx_ant(sc) <<
5702 cmd.rxchain_info |= htole32(idle_cnt <<
5704 cmd.rxchain_info |= htole32(active_cnt <<
5708 return iwx_send_cmd_pdu(sc, IWX_PHY_CONTEXT_CMD, 0, sizeof(cmd), &cmd);
5720 printf("%s: firmware does not support phy-context-cmd v3/v4\n",
5747 struct iwx_device_cmd *cmd;
5804 hdrlen = sizeof(cmd->hdr_wide);
5805 datasz = sizeof(cmd->data_wide);
5818 printf("%s: could not get fw cmd mbuf (%zd bytes)\n",
5823 cmd = mtod(m, struct iwx_device_cmd *);
5824 err = bus_dmamap_load(sc->sc_dmat, txdata->map, cmd,
5827 printf("%s: could not load fw cmd mbuf (%zd bytes)\n",
5835 cmd = &ring->cmd[idx];
5839 memset(cmd, 0, sizeof(*cmd));
5840 cmd->hdr_wide.opcode = iwx_cmd_opcode(code);
5841 cmd->hdr_wide.group_id = group_id;
5842 cmd->hdr_wide.qid = ring->qid;
5843 cmd->hdr_wide.idx = idx;
5844 cmd->hdr_wide.length = htole16(paylen);
5845 cmd->hdr_wide.version = iwx_cmd_version(code);
5846 data = cmd->data_wide;
5873 (char *)(void *)cmd - (char *)(void *)ring->cmd_dma.vaddr,
5914 struct iwx_host_cmd cmd = {
5921 return iwx_send_cmd(sc, &cmd);
5925 iwx_send_cmd_status(struct iwx_softc *sc, struct iwx_host_cmd *cmd,
5932 KASSERT((cmd->flags & IWX_CMD_WANT_RESP) == 0);
5933 cmd->flags |= IWX_CMD_WANT_RESP;
5934 cmd->resp_pkt_len = sizeof(*pkt) + sizeof(*resp);
5936 err = iwx_send_cmd(sc, cmd);
5940 pkt = cmd->resp_pkt;
5946 iwx_free_resp(sc, cmd);
5952 iwx_free_resp(sc, cmd);
5960 struct iwx_host_cmd cmd = {
5966 return iwx_send_cmd_status(sc, &cmd, status);
6159 struct iwx_device_cmd *cmd;
6203 cmd = &ring->cmd[ring->cur];
6204 cmd->hdr.code = IWX_TX_CMD;
6205 cmd->hdr.flags = 0;
6206 cmd->hdr.qid = ring->qid;
6207 cmd->hdr.idx = ring->cur;
6268 struct iwx_tx_cmd_gen3 *tx = (void *)cmd->data;
6277 struct iwx_tx_cmd_gen2 *tx = (void *)cmd->data;
6357 (char *)(void *)cmd - (char *)(void *)ring->cmd_dma.vaddr,
6358 sizeof (*cmd), BUS_DMASYNC_PREWRITE);
6454 struct iwx_add_sta_cmd cmd;
6458 memset(&cmd, 0, sizeof(cmd));
6459 cmd.mac_id_n_color = htole32(IWX_FW_CMD_ID_AND_COLOR(in->in_id,
6461 cmd.sta_id = IWX_STATION_ID;
6462 cmd.add_modify = IWX_STA_MODE_MODIFY;
6463 cmd.station_flags = drain ? htole32(IWX_STA_FLG_DRAIN_FLOW) : 0;
6464 cmd.station_flags_msk = htole32(IWX_STA_FLG_DRAIN_FLOW);
6468 sizeof(cmd), &cmd, &status);
6518 struct iwx_beacon_filter_cmd *cmd)
6521 0, sizeof(struct iwx_beacon_filter_cmd), cmd);
6527 struct iwx_beacon_filter_cmd cmd = {
6537 return iwx_beacon_filter_send_cmd(sc, &cmd);
6542 struct iwx_mac_power_cmd *cmd)
6548 cmd->id_and_color = htole32(IWX_FW_CMD_ID_AND_COLOR(in->in_id,
6564 cmd->keep_alive_seconds = htole16(keep_alive);
6567 cmd->flags = htole16(IWX_POWER_FLAGS_POWER_SAVE_ENA_MSK);
6575 struct iwx_mac_power_cmd cmd;
6577 memset(&cmd, 0, sizeof(cmd));
6579 iwx_power_build_cmd(sc, in, &cmd);
6582 sizeof(cmd), &cmd);
6586 ba_enable = !!(cmd.flags &
6594 struct iwx_device_power_cmd cmd = { };
6598 cmd.flags = htole16(IWX_DEVICE_POWER_FLAGS_POWER_SAVE_ENA_MSK);
6601 IWX_POWER_TABLE_CMD, 0, sizeof(cmd), &cmd);
6607 struct iwx_beacon_filter_cmd cmd = {
6614 err = iwx_beacon_filter_send_cmd(sc, &cmd);
6624 struct iwx_beacon_filter_cmd cmd;
6627 memset(&cmd, 0, sizeof(cmd));
6629 err = iwx_beacon_filter_send_cmd(sc, &cmd);
7141 struct iwx_scan_req_umac_v14 *cmd;
7147 cmd = malloc(sizeof(*cmd), M_DEVBUF,
7149 if (cmd == NULL)
7152 scan_p = &cmd->scan_params;
7154 cmd->ooc_priority = htole32(IWX_SCAN_PRIORITY_EXT_6);
7155 cmd->uid = htole32(0);
7166 free(cmd, M_DEVBUF, sizeof(*cmd));
7182 hcmd.len[0] = sizeof(*cmd);
7183 hcmd.data[0] = (void *)cmd;
7187 free(cmd, M_DEVBUF, sizeof(*cmd));
7327 struct iwx_mac_ctx_cmd *cmd, uint32_t action)
7335 cmd->id_and_color = htole32(IWX_FW_CMD_ID_AND_COLOR(in->in_id,
7337 cmd->action = htole32(action);
7343 cmd->mac_type = htole32(IWX_FW_MAC_TYPE_LISTENER);
7345 cmd->mac_type = htole32(IWX_FW_MAC_TYPE_BSS_STA);
7348 cmd->tsf_id = htole32(IWX_TSF_ID_A);
7350 IEEE80211_ADDR_COPY(cmd->node_addr, ic->ic_myaddr);
7352 IEEE80211_ADDR_COPY(cmd->bssid_addr, etherbroadcastaddr);
7356 IEEE80211_ADDR_COPY(cmd->bssid_addr, in->in_macaddr);
7358 cmd->cck_rates = htole32(cck_ack_rates);
7359 cmd->ofdm_rates = htole32(ofdm_ack_rates);
7361 cmd->cck_short_preamble
7364 cmd->short_slot
7372 cmd->ac[txf].cw_min = htole16(IWX_EXP2(ac->ac_ecwmin));
7373 cmd->ac[txf].cw_max = htole16(IWX_EXP2(ac->ac_ecwmax));
7374 cmd->ac[txf].aifsn = ac->ac_aifsn;
7375 cmd->ac[txf].fifos_mask = (1 << txf);
7376 cmd->ac[txf].edca_txop = htole16(ac->ac_txoplimit * 32);
7379 cmd->qos_flags |= htole32(IWX_MAC_QOS_FLG_UPDATE_EDCA);
7389 cmd->protection_flags |=
7397 cmd->protection_flags |=
7406 cmd->qos_flags |= htole32(IWX_MAC_QOS_FLG_TGN);
7409 cmd->protection_flags |= htole32(IWX_MAC_PROT_FLG_TGG_PROTECT);
7411 cmd->filter_flags = htole32(IWX_MAC_FILTER_ACCEPT_GRP);
7446 struct iwx_mac_ctx_cmd cmd;
7454 memset(&cmd, 0, sizeof(cmd));
7456 iwx_mac_ctxt_cmd_common(sc, in, &cmd, action);
7460 sizeof(cmd), &cmd);
7464 cmd.filter_flags |= htole32(IWX_MAC_FILTER_IN_PROMISC |
7475 cmd.filter_flags |= htole32(IWX_MAC_FILTER_IN_BEACON);
7477 iwx_mac_ctxt_cmd_fill_sta(sc, in, &cmd.sta, assoc);
7478 return iwx_send_cmd_pdu(sc, IWX_MAC_CONTEXT_CMD, 0, sizeof(cmd), &cmd);
7487 struct iwx_host_cmd cmd = {
7496 err = iwx_send_cmd(sc, &cmd);
7500 iwx_free_resp(sc, &cmd);
7665 struct iwx_umac_scan_abort cmd = { 0 };
7669 0, sizeof(cmd), &cmd);
8031 struct iwx_rlc_config_cmd cmd;
8035 memset(&cmd, 0, sizeof(cmd));
8040 cmd.phy_id = htole32(phyctxt->id);
8041 cmd.rlc.rx_chain_info = htole32(iwx_fw_valid_rx_ant(sc) <<
8043 cmd.rlc.rx_chain_info |= htole32(idle_cnt << IWX_PHY_RX_CHAIN_CNT_POS);
8044 cmd.rlc.rx_chain_info |= htole32(active_cnt <<
8048 return iwx_send_cmd_pdu(sc, cmd_id, 0, sizeof(cmd), &cmd);
8468 struct iwx_add_sta_key_cmd cmd;
8481 memset(&cmd, 0, sizeof(cmd));
8483 cmd.common.key_flags = htole16(IWX_STA_KEY_FLG_CCM |
8488 cmd.common.key_offset = 1;
8489 cmd.common.key_flags |= htole16(IWX_STA_KEY_MULTICAST);
8491 cmd.common.key_offset = 0;
8493 memcpy(cmd.common.key, k->k_key, MIN(sizeof(cmd.common.key), k->k_len));
8494 cmd.common.sta_id = sta_id;
8496 cmd.transmit_seq_cnt = htole64(k->k_tsc);
8499 err = iwx_send_cmd_pdu_status(sc, IWX_ADD_STA_KEY, sizeof(cmd), &cmd,
8556 struct iwx_add_sta_key_cmd cmd;
8567 memset(&cmd, 0, sizeof(cmd));
8569 cmd.common.key_flags = htole16(IWX_STA_KEY_NOT_VALID |
8573 memcpy(cmd.common.key, k->k_key, MIN(sizeof(cmd.common.key), k->k_len));
8575 cmd.common.key_offset = 1;
8577 cmd.common.key_offset = 0;
8578 cmd.common.sta_id = IWX_STATION_ID;
8580 iwx_send_cmd_pdu(sc, IWX_ADD_STA_KEY, IWX_CMD_ASYNC, sizeof(cmd), &cmd);
8880 struct iwx_soc_configuration_cmd cmd;
8884 memset(&cmd, 0, sizeof(cmd));
8905 cmd.flags = htole32(flags);
8907 cmd.latency = htole32(sc->sc_xtal_latency);
8910 err = iwx_send_cmd_pdu(sc, cmd_id, 0, sizeof(cmd), &cmd);
8979 struct iwx_temp_report_ths_cmd cmd;
8987 memset(&cmd, 0, sizeof(cmd));
8991 0, sizeof(cmd), &cmd);
9125 struct iwx_mcast_filter_cmd *cmd;
9129 size = roundup(sizeof(*cmd), 4);
9130 cmd = malloc(size, M_DEVBUF, M_NOWAIT | M_ZERO);
9131 if (cmd == NULL)
9133 cmd->filter_own = 1;
9134 cmd->port_id = 0;
9135 cmd->count = 0;
9136 cmd->pass_all = 1;
9137 IEEE80211_ADDR_COPY(cmd->bssid, in->in_macaddr);
9140 0, size, cmd);
9141 free(cmd, M_DEVBUF, size);
9387 iwx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
9405 switch (cmd) {
9423 err = ieee80211_ioctl(ifp, cmd, data);
9516 uint32_t cmd_header; /* latest host cmd sent to UMAC */
9563 printf("%s: 0x%08X | last host cmd\n", DEVNAME(sc), table.cmd_header);
9677 printf("%s: %08X | last cmd Id\n", DEVNAME(sc), table.last_cmd_id);
10038 printf("%s: firmware error 0x%x, cmd 0x%x\n",