Lines Matching defs:data

178 /* rate data (static) */
272 struct iwl_nvm_data *data)
280 data->calib_version = hdr->version;
281 data->calib_voltage = hdr->voltage;
305 * struct iwl_eeprom_channel - EEPROM channel data
351 static s8 iwl_get_max_txpwr_half_dbm(const struct iwl_nvm_data *data,
357 if (data->valid_tx_ant & ANT_A && txp->chain_a_max > result)
360 if (data->valid_tx_ant & ANT_B && txp->chain_b_max > result)
363 if (data->valid_tx_ant & ANT_C && txp->chain_c_max > result)
366 if ((data->valid_tx_ant == ANT_AB ||
367 data->valid_tx_ant == ANT_BC ||
368 data->valid_tx_ant == ANT_AC) && txp->mimo2_max > result)
371 if (data->valid_tx_ant == ANT_ABC && txp->mimo3_max > result)
385 iwl_eeprom_enh_txp_read_element(struct iwl_nvm_data *data,
396 struct ieee80211_channel *chan = &data->channels[ch_idx];
398 /* update matching channel or from common data only */
413 struct iwl_nvm_data *data,
463 max_txp_avg_halfdbm = iwl_get_max_txpwr_half_dbm(data, txp);
465 iwl_eeprom_enh_txp_read_element(data, txp, n_channels,
468 if (max_txp_avg_halfdbm > data->max_tx_pwr_half_dbm)
469 data->max_tx_pwr_half_dbm = max_txp_avg_halfdbm;
525 struct iwl_nvm_data *data, int n_channels,
534 if (data->channels[i].band != band)
536 if (data->channels[i].hw_value != channel)
538 chan = &data->channels[i];
568 struct iwl_nvm_data *data,
602 channel = &data->channels[n_channels];
624 /* Initialize regulatory-based run-time data */
654 iwl_eeprom_enhanced_txpower(dev, data, eeprom, eeprom_size,
657 /* All others use data from channel map */
660 data->max_tx_pwr_half_dbm = -128;
663 data->max_tx_pwr_half_dbm =
664 max_t(s8, data->max_tx_pwr_half_dbm,
665 data->channels[i].max_power * 2);
690 iwl_mod_ht40_chan_info(dev, data, n_channels, ieeeband,
696 iwl_mod_ht40_chan_info(dev, data, n_channels, ieeeband,
706 int iwl_init_sband_channels(struct iwl_nvm_data *data,
710 struct ieee80211_channel *chan = &data->channels[0];
714 chan = &data->channels[++idx];
716 sband->channels = &data->channels[idx];
719 chan = &data->channels[++idx];
732 struct iwl_nvm_data *data,
746 if (!(data->sku_cap_11n_enable) ||
753 if (data->sku_cap_mimo_disabled)
795 /* Highest supported Rx data rate */
810 struct iwl_nvm_data *data,
814 int n_channels = iwl_init_channel_map(dev, cfg, data,
819 sband = &data->bands[NL80211_BAND_2GHZ];
823 n_used += iwl_init_sband_channels(data, sband, n_channels,
825 iwl_init_ht_hw_capab(trans, data, &sband->ht_cap, NL80211_BAND_2GHZ,
826 data->valid_tx_ant, data->valid_rx_ant);
828 sband = &data->bands[NL80211_BAND_5GHZ];
832 n_used += iwl_init_sband_channels(data, sband, n_channels,
834 iwl_init_ht_hw_capab(trans, data, &sband->ht_cap, NL80211_BAND_5GHZ,
835 data->valid_tx_ant, data->valid_rx_ant);
842 /* EEPROM data functions */
848 struct iwl_nvm_data *data;
856 data = kzalloc(struct_size(data, channels, IWL_NUM_CHANNELS),
858 if (!data)
865 memcpy(data->hw_addr, tmp, ETH_ALEN);
866 data->n_hw_addrs = iwl_eeprom_query16(eeprom, eeprom_size,
869 if (iwl_eeprom_read_calib(eeprom, eeprom_size, data))
875 memcpy(data->xtal_calib, tmp, sizeof(data->xtal_calib));
881 data->raw_temperature = *(__le16 *)tmp;
887 data->kelvin_temperature = *(__le16 *)tmp;
888 data->kelvin_voltage = *((__le16 *)tmp + 1);
892 data->radio_cfg_dash = EEPROM_RF_CFG_DASH_MSK(radio_cfg);
893 data->radio_cfg_pnum = EEPROM_RF_CFG_PNUM_MSK(radio_cfg);
894 data->radio_cfg_step = EEPROM_RF_CFG_STEP_MSK(radio_cfg);
895 data->radio_cfg_type = EEPROM_RF_CFG_TYPE_MSK(radio_cfg);
896 data->valid_rx_ant = EEPROM_RF_CFG_RX_ANT_MSK(radio_cfg);
897 data->valid_tx_ant = EEPROM_RF_CFG_TX_ANT_MSK(radio_cfg);
901 data->sku_cap_11n_enable = sku & EEPROM_SKU_CAP_11N_ENABLE;
902 data->sku_cap_amt_enable = sku & EEPROM_SKU_CAP_AMT_ENABLE;
903 data->sku_cap_band_24ghz_enable = sku & EEPROM_SKU_CAP_BAND_24GHZ;
904 data->sku_cap_band_52ghz_enable = sku & EEPROM_SKU_CAP_BAND_52GHZ;
905 data->sku_cap_ipan_enable = sku & EEPROM_SKU_CAP_IPAN_ENABLE;
907 data->sku_cap_11n_enable = false;
909 data->nvm_version = iwl_eeprom_query16(eeprom, eeprom_size,
914 data->valid_tx_ant = cfg->valid_tx_ant;
916 data->valid_rx_ant = cfg->valid_rx_ant;
918 if (!data->valid_tx_ant || !data->valid_rx_ant) {
920 data->valid_tx_ant, data->valid_rx_ant);
924 iwl_init_sbands(trans, cfg, data, eeprom, eeprom_size);
926 return data;
928 kfree(data);