Lines Matching defs:trans
483 static void iwl_init_vht_hw_capab(struct iwl_trans *trans,
488 const struct iwl_cfg *cfg = trans->cfg;
501 if (!trans->cfg->ht_params->stbc)
519 if (trans->cfg->ht_params->stbc && num_tx_ants > 1)
526 if (trans->trans_cfg->mq_rx_supported)
533 if (trans->trans_cfg->mq_rx_supported)
835 static void iwl_init_he_6ghz_capa(struct iwl_trans *trans,
851 iwl_init_ht_hw_capab(trans, data, &ht_cap, NL80211_BAND_5GHZ,
854 iwl_init_vht_hw_capab(trans, data, &vht_cap, tx_chains, rx_chains);
873 IWL_DEBUG_EEPROM(trans->dev, "he_6ghz_capa=0x%x\n", he_6ghz_capa);
882 iwl_nvm_fixup_sband_iftd(struct iwl_trans *trans,
892 no_320 = !trans->trans_cfg->integrated &&
893 trans->pcie_link_speed < PCI_EXP_LNKSTA_CLS_8_0GB;
983 if (trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_AX210 && !is_ap)
987 switch (CSR_HW_RFID_TYPE(trans->hw_rf_id)) {
1001 if (CSR_HW_REV_TYPE(trans->hw_rev) == IWL_CFG_MAC_TYPE_GL &&
1030 if (trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_22000 &&
1036 if (!trans->cfg->ht_params->stbc) {
1044 static void iwl_init_he_hw_capab(struct iwl_trans *trans,
1082 iwl_nvm_fixup_sband_iftd(trans, data, sband, &iftype_data[i],
1085 iwl_init_he_6ghz_capa(trans, data, sband, tx_chains, rx_chains);
1088 static void iwl_init_sbands(struct iwl_trans *trans,
1094 struct device *dev = trans->dev;
1095 const struct iwl_cfg *cfg = trans->cfg;
1108 iwl_init_ht_hw_capab(trans, data, &sband->ht_cap, NL80211_BAND_2GHZ,
1112 iwl_init_he_hw_capab(trans, data, sband, tx_chains, rx_chains,
1121 iwl_init_ht_hw_capab(trans, data, &sband->ht_cap, NL80211_BAND_5GHZ,
1124 iwl_init_vht_hw_capab(trans, data, &sband->vht_cap,
1128 iwl_init_he_hw_capab(trans, data, sband, tx_chains, rx_chains,
1141 iwl_init_he_hw_capab(trans, data, sband, tx_chains, rx_chains,
1226 static void iwl_set_hw_address_from_csr(struct iwl_trans *trans,
1229 __le32 mac_addr0 = cpu_to_le32(iwl_read32(trans,
1230 CSR_MAC_ADDR0_STRAP(trans)));
1231 __le32 mac_addr1 = cpu_to_le32(iwl_read32(trans,
1232 CSR_MAC_ADDR1_STRAP(trans)));
1242 mac_addr0 = cpu_to_le32(iwl_read32(trans, CSR_MAC_ADDR0_OTP(trans)));
1243 mac_addr1 = cpu_to_le32(iwl_read32(trans, CSR_MAC_ADDR1_OTP(trans)));
1248 static void iwl_set_hw_address_family_8000(struct iwl_trans *trans,
1278 IWL_ERR(trans,
1284 __le32 mac_addr0 = cpu_to_le32(iwl_trans_read_prph(trans,
1286 __le32 mac_addr1 = cpu_to_le32(iwl_trans_read_prph(trans,
1294 IWL_ERR(trans, "mac address is not found\n");
1297 static int iwl_set_hw_address(struct iwl_trans *trans,
1303 iwl_set_hw_address_from_csr(trans, data);
1315 iwl_set_hw_address_family_8000(trans, cfg, data,
1320 IWL_ERR(trans, "no valid mac address was found\n");
1324 if (!trans->csme_own)
1325 IWL_INFO(trans, "base HW address: %pM, OTP minor version: 0x%x\n",
1326 data->hw_addr, iwl_read_prph(trans, REG_OTP_MINOR));
1332 iwl_nvm_no_wide_in_5ghz(struct iwl_trans *trans, const struct iwl_cfg *cfg,
1344 if (trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_7000) {
1353 IWL_DEBUG_EEPROM(trans->dev,
1364 iwl_parse_mei_nvm_data(struct iwl_trans *trans, const struct iwl_cfg *cfg,
1407 if (iwl_set_hw_address(trans, cfg, data, NULL, NULL)) {
1416 iwl_init_sbands(trans, data, mei_nvm->channels, tx_chains, rx_chains,
1424 iwl_parse_nvm_data(struct iwl_trans *trans, const struct iwl_cfg *cfg,
1477 IWL_ERR(trans,
1504 if (iwl_set_hw_address(trans, cfg, data, nvm_hw, mac_override)) {
1513 if (iwl_nvm_no_wide_in_5ghz(trans, cfg, nvm_hw))
1516 iwl_init_sbands(trans, data, ch_section, tx_chains, rx_chains,
1800 int iwl_read_external_nvm(struct iwl_trans *trans,
1825 IWL_DEBUG_EEPROM(trans->dev, "Read from external NVM\n");
1828 if (trans->cfg->nvm_type != IWL_NVM_EXT)
1839 ret = request_firmware(&fw_entry, nvm_file_name, trans->dev);
1841 IWL_ERR(trans, "ERROR: %s isn't available %d\n",
1846 IWL_INFO(trans, "Loaded NVM file %s (%zu bytes)\n",
1850 IWL_ERR(trans, "NVM file too large\n");
1869 IWL_INFO(trans, "NVM Version %08X\n", le32_to_cpu(dword_buff[2]));
1870 IWL_INFO(trans, "NVM Manufacturing date %08X\n",
1874 if (trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_8000 &&
1875 trans->hw_rev_step == SILICON_C_STEP &&
1886 IWL_ERR(trans,
1898 if (trans->cfg->nvm_type != IWL_NVM_EXT) {
1910 IWL_ERR(trans, "ERROR - section too large (%d)\n",
1917 IWL_ERR(trans, "ERROR - section empty\n");
1923 IWL_ERR(trans,
1942 iwl_nvm_fixups(trans->hw_id, section_id, temp, section_size);
1957 struct iwl_nvm_data *iwl_get_nvm(struct iwl_trans *trans,
1985 ret = iwl_trans_send_cmd(trans, &hcmd);
2000 IWL_INFO(trans, "OTP is empty\n");
2008 iwl_set_hw_address_from_csr(trans, nvm);
2012 IWL_ERR(trans, "no valid mac address was found\n");
2017 IWL_INFO(trans, "base HW address: %pM\n", nvm->hw_addr);
2023 IWL_WARN(trans,
2041 if (CSR_HW_RFID_TYPE(trans->hw_rf_id) >= IWL_CFG_RF_TYPE_FM)
2059 iwl_init_sbands(trans, nvm,