Lines Matching refs:phy_db
138 struct iwl_phy_db *phy_db = kzalloc(sizeof(struct iwl_phy_db), in iwl_phy_db_init() local
141 if (!phy_db) in iwl_phy_db_init()
142 return phy_db; in iwl_phy_db_init()
144 phy_db->trans = trans; in iwl_phy_db_init()
147 return phy_db; in iwl_phy_db_init()
156 iwl_phy_db_get_section(struct iwl_phy_db *phy_db, in iwl_phy_db_get_section() argument
160 if (!phy_db || type >= IWL_PHY_DB_MAX) in iwl_phy_db_get_section()
165 return &phy_db->cfg; in iwl_phy_db_get_section()
167 return &phy_db->calib_nch; in iwl_phy_db_get_section()
171 return &phy_db->calib_ch_group_papd[chg_id]; in iwl_phy_db_get_section()
175 return &phy_db->calib_ch_group_txp[chg_id]; in iwl_phy_db_get_section()
182 static void iwl_phy_db_free_section(struct iwl_phy_db *phy_db, in iwl_phy_db_free_section() argument
187 iwl_phy_db_get_section(phy_db, type, chg_id); in iwl_phy_db_free_section()
196 void iwl_phy_db_free(struct iwl_phy_db *phy_db) in iwl_phy_db_free() argument
200 if (!phy_db) in iwl_phy_db_free()
203 iwl_phy_db_free_section(phy_db, IWL_PHY_DB_CFG, 0); in iwl_phy_db_free()
204 iwl_phy_db_free_section(phy_db, IWL_PHY_DB_CALIB_NCH, 0); in iwl_phy_db_free()
206 iwl_phy_db_free_section(phy_db, IWL_PHY_DB_CALIB_CHG_PAPD, i); in iwl_phy_db_free()
208 iwl_phy_db_free_section(phy_db, IWL_PHY_DB_CALIB_CHG_TXP, i); in iwl_phy_db_free()
210 kfree(phy_db); in iwl_phy_db_free()
214 int iwl_phy_db_set_section(struct iwl_phy_db *phy_db, struct iwl_rx_packet *pkt, in iwl_phy_db_set_section() argument
224 if (!phy_db) in iwl_phy_db_set_section()
231 entry = iwl_phy_db_get_section(phy_db, type, chg_id); in iwl_phy_db_set_section()
244 IWL_DEBUG_INFO(phy_db->trans, in iwl_phy_db_set_section()
291 static u16 channel_id_to_txp(struct iwl_phy_db *phy_db, u16 ch_id) in channel_id_to_txp() argument
300 txp_chg = (void *)phy_db->calib_ch_group_txp[i].data; in channel_id_to_txp()
313 int iwl_phy_db_get_section_data(struct iwl_phy_db *phy_db, in iwl_phy_db_get_section_data() argument
319 if (!phy_db) in iwl_phy_db_get_section_data()
326 ch_group_id = channel_id_to_txp(phy_db, ch_id); in iwl_phy_db_get_section_data()
328 entry = iwl_phy_db_get_section(phy_db, type, ch_group_id); in iwl_phy_db_get_section_data()
335 IWL_DEBUG_INFO(phy_db->trans, in iwl_phy_db_get_section_data()
342 static int iwl_send_phy_db_cmd(struct iwl_phy_db *phy_db, u16 type, in iwl_send_phy_db_cmd() argument
350 IWL_DEBUG_INFO(phy_db->trans, in iwl_send_phy_db_cmd()
365 return iwl_trans_send_cmd(phy_db->trans, &cmd); in iwl_send_phy_db_cmd()
369 struct iwl_phy_db *phy_db, in iwl_phy_db_send_all_channel_groups() argument
379 entry = iwl_phy_db_get_section(phy_db, in iwl_phy_db_send_all_channel_groups()
389 err = iwl_send_phy_db_cmd(phy_db, in iwl_phy_db_send_all_channel_groups()
394 IWL_ERR(phy_db->trans, in iwl_phy_db_send_all_channel_groups()
400 IWL_DEBUG_INFO(phy_db->trans, in iwl_phy_db_send_all_channel_groups()
408 int iwl_send_phy_db_data(struct iwl_phy_db *phy_db) in iwl_send_phy_db_data() argument
414 IWL_DEBUG_INFO(phy_db->trans, in iwl_send_phy_db_data()
418 err = iwl_phy_db_get_section_data(phy_db, IWL_PHY_DB_CFG, in iwl_send_phy_db_data()
421 IWL_ERR(phy_db->trans, "Cannot get Phy DB cfg section\n"); in iwl_send_phy_db_data()
425 err = iwl_send_phy_db_cmd(phy_db, IWL_PHY_DB_CFG, size, data); in iwl_send_phy_db_data()
427 IWL_ERR(phy_db->trans, in iwl_send_phy_db_data()
432 err = iwl_phy_db_get_section_data(phy_db, IWL_PHY_DB_CALIB_NCH, in iwl_send_phy_db_data()
435 IWL_ERR(phy_db->trans, in iwl_send_phy_db_data()
440 err = iwl_send_phy_db_cmd(phy_db, IWL_PHY_DB_CALIB_NCH, size, data); in iwl_send_phy_db_data()
442 IWL_ERR(phy_db->trans, in iwl_send_phy_db_data()
448 err = iwl_phy_db_send_all_channel_groups(phy_db, in iwl_send_phy_db_data()
452 IWL_ERR(phy_db->trans, in iwl_send_phy_db_data()
458 err = iwl_phy_db_send_all_channel_groups(phy_db, in iwl_send_phy_db_data()
462 IWL_ERR(phy_db->trans, in iwl_send_phy_db_data()
467 IWL_DEBUG_INFO(phy_db->trans, in iwl_send_phy_db_data()