phy_db 118 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c struct iwl_phy_db *phy_db = kzalloc(sizeof(struct iwl_phy_db), phy_db 121 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (!phy_db) phy_db 122 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c return phy_db; phy_db 124 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c phy_db->trans = trans; phy_db 126 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c phy_db->n_group_txp = -1; phy_db 127 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c phy_db->n_group_papd = -1; phy_db 130 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c return phy_db; phy_db 139 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c iwl_phy_db_get_section(struct iwl_phy_db *phy_db, phy_db 143 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (!phy_db || type >= IWL_PHY_DB_MAX) phy_db 148 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c return &phy_db->cfg; phy_db 150 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c return &phy_db->calib_nch; phy_db 152 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (chg_id >= phy_db->n_group_papd) phy_db 154 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c return &phy_db->calib_ch_group_papd[chg_id]; phy_db 156 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (chg_id >= phy_db->n_group_txp) phy_db 158 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c return &phy_db->calib_ch_group_txp[chg_id]; phy_db 165 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c static void iwl_phy_db_free_section(struct iwl_phy_db *phy_db, phy_db 170 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c iwl_phy_db_get_section(phy_db, type, chg_id); phy_db 179 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c void iwl_phy_db_free(struct iwl_phy_db *phy_db) phy_db 183 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (!phy_db) phy_db 186 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c iwl_phy_db_free_section(phy_db, IWL_PHY_DB_CFG, 0); phy_db 187 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c iwl_phy_db_free_section(phy_db, IWL_PHY_DB_CALIB_NCH, 0); phy_db 189 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c for (i = 0; i < phy_db->n_group_papd; i++) phy_db 190 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c iwl_phy_db_free_section(phy_db, IWL_PHY_DB_CALIB_CHG_PAPD, i); phy_db 191 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c kfree(phy_db->calib_ch_group_papd); phy_db 193 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c for (i = 0; i < phy_db->n_group_txp; i++) phy_db 194 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c iwl_phy_db_free_section(phy_db, IWL_PHY_DB_CALIB_CHG_TXP, i); phy_db 195 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c kfree(phy_db->calib_ch_group_txp); phy_db 197 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c kfree(phy_db); phy_db 201 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c int iwl_phy_db_set_section(struct iwl_phy_db *phy_db, phy_db 211 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (!phy_db) phy_db 216 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (phy_db && !phy_db->calib_ch_group_papd) { phy_db 221 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c phy_db->calib_ch_group_papd = kcalloc(chg_id + 1, phy_db 224 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (!phy_db->calib_ch_group_papd) phy_db 226 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c phy_db->n_group_papd = chg_id + 1; phy_db 230 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (phy_db && !phy_db->calib_ch_group_txp) { phy_db 235 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c phy_db->calib_ch_group_txp = kcalloc(chg_id + 1, phy_db 238 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (!phy_db->calib_ch_group_txp) phy_db 240 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c phy_db->n_group_txp = chg_id + 1; phy_db 244 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c entry = iwl_phy_db_get_section(phy_db, type, chg_id); phy_db 257 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_DEBUG_INFO(phy_db->trans, phy_db 304 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c static u16 channel_id_to_txp(struct iwl_phy_db *phy_db, u16 ch_id) phy_db 312 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c for (i = 0; i < phy_db->n_group_txp; i++) { phy_db 313 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c txp_chg = (void *)phy_db->calib_ch_group_txp[i].data; phy_db 326 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c int iwl_phy_db_get_section_data(struct iwl_phy_db *phy_db, phy_db 332 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c if (!phy_db) phy_db 339 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c ch_group_id = channel_id_to_txp(phy_db, ch_id); phy_db 341 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c entry = iwl_phy_db_get_section(phy_db, type, ch_group_id); phy_db 348 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_DEBUG_INFO(phy_db->trans, phy_db 355 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c static int iwl_send_phy_db_cmd(struct iwl_phy_db *phy_db, u16 type, phy_db 363 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_DEBUG_INFO(phy_db->trans, phy_db 378 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c return iwl_trans_send_cmd(phy_db->trans, &cmd); phy_db 382 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c struct iwl_phy_db *phy_db, phy_db 392 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c entry = iwl_phy_db_get_section(phy_db, phy_db 402 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c err = iwl_send_phy_db_cmd(phy_db, phy_db 407 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_ERR(phy_db->trans, phy_db 413 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_DEBUG_INFO(phy_db->trans, phy_db 421 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c int iwl_send_phy_db_data(struct iwl_phy_db *phy_db) phy_db 427 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_DEBUG_INFO(phy_db->trans, phy_db 431 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c err = iwl_phy_db_get_section_data(phy_db, IWL_PHY_DB_CFG, phy_db 434 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_ERR(phy_db->trans, "Cannot get Phy DB cfg section\n"); phy_db 438 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c err = iwl_send_phy_db_cmd(phy_db, IWL_PHY_DB_CFG, size, data); phy_db 440 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_ERR(phy_db->trans, phy_db 445 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c err = iwl_phy_db_get_section_data(phy_db, IWL_PHY_DB_CALIB_NCH, phy_db 448 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_ERR(phy_db->trans, phy_db 453 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c err = iwl_send_phy_db_cmd(phy_db, IWL_PHY_DB_CALIB_NCH, size, data); phy_db 455 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_ERR(phy_db->trans, phy_db 461 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c err = iwl_phy_db_send_all_channel_groups(phy_db, phy_db 463 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c phy_db->n_group_papd); phy_db 465 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_ERR(phy_db->trans, phy_db 471 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c err = iwl_phy_db_send_all_channel_groups(phy_db, phy_db 473 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c phy_db->n_group_txp); phy_db 475 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_ERR(phy_db->trans, phy_db 480 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c IWL_DEBUG_INFO(phy_db->trans, phy_db 69 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.h void iwl_phy_db_free(struct iwl_phy_db *phy_db); phy_db 71 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.h int iwl_phy_db_set_section(struct iwl_phy_db *phy_db, phy_db 75 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.h int iwl_send_phy_db_data(struct iwl_phy_db *phy_db); phy_db 295 drivers/net/wireless/intel/iwlwifi/mvm/fw.c struct iwl_phy_db *phy_db = data; phy_db 302 drivers/net/wireless/intel/iwlwifi/mvm/fw.c WARN_ON(iwl_phy_db_set_section(phy_db, pkt)); phy_db 568 drivers/net/wireless/intel/iwlwifi/mvm/fw.c mvm->phy_db); phy_db 1356 drivers/net/wireless/intel/iwlwifi/mvm/fw.c ret = iwl_send_phy_db_data(mvm->phy_db); phy_db 1539 drivers/net/wireless/intel/iwlwifi/mvm/fw.c ret = iwl_send_phy_db_data(mvm->phy_db); phy_db 837 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h struct iwl_phy_db *phy_db; phy_db 798 drivers/net/wireless/intel/iwlwifi/mvm/ops.c mvm->phy_db = iwl_phy_db_init(trans); phy_db 799 drivers/net/wireless/intel/iwlwifi/mvm/ops.c if (!mvm->phy_db) { phy_db 864 drivers/net/wireless/intel/iwlwifi/mvm/ops.c iwl_phy_db_free(mvm->phy_db); phy_db 892 drivers/net/wireless/intel/iwlwifi/mvm/ops.c iwl_phy_db_free(mvm->phy_db); phy_db 893 drivers/net/wireless/intel/iwlwifi/mvm/ops.c mvm->phy_db = NULL;