/* for parsing of tx power channel group data that comes from the firmware*/ struct iwl_phy_db_chg_txp {
__le32 space;
__le16 max_channel_idx;
} __packed;
/* Send all the channel specific groups to operational fw */ for (i = 0; i < max_ch_groups; i++) {
entry = iwl_phy_db_get_section(phy_db,
type,
i); if (!entry) return -EINVAL;
if (!entry->size) continue;
/* Send the requested PHY DB section */
err = iwl_send_phy_db_cmd(phy_db,
type,
entry->size,
entry->data); if (err) {
IWL_ERR(phy_db->trans, "Can't SEND phy_db section %d (%d), err %d\n",
type, i, err); return err;
}
IWL_DEBUG_INFO(phy_db->trans, "Sent PHY_DB HCMD, type = %d num = %d\n",
type, i);
}
return0;
}
int iwl_send_phy_db_data(struct iwl_phy_db *phy_db)
{
u8 *data = NULL;
u16 size = 0; int err;
IWL_DEBUG_INFO(phy_db->trans, "Sending phy db data and configuration to runtime image\n");
/* Send PHY DB CFG section */
err = iwl_phy_db_get_section_data(phy_db, IWL_PHY_DB_CFG,
&data, &size, 0); if (err) {
IWL_ERR(phy_db->trans, "Cannot get Phy DB cfg section\n"); return err;
}
err = iwl_send_phy_db_cmd(phy_db, IWL_PHY_DB_CFG, size, data); if (err) {
IWL_ERR(phy_db->trans, "Cannot send HCMD of Phy DB cfg section\n"); return err;
}
err = iwl_phy_db_get_section_data(phy_db, IWL_PHY_DB_CALIB_NCH,
&data, &size, 0); if (err) {
IWL_ERR(phy_db->trans, "Cannot get Phy DB non specific channel section\n"); return err;
}
err = iwl_send_phy_db_cmd(phy_db, IWL_PHY_DB_CALIB_NCH, size, data); if (err) {
IWL_ERR(phy_db->trans, "Cannot send HCMD of Phy DB non specific channel section\n"); return err;
}
/* Send all the TXP channel specific data */
err = iwl_phy_db_send_all_channel_groups(phy_db,
IWL_PHY_DB_CALIB_CHG_PAPD,
phy_db->n_group_papd); if (err) {
IWL_ERR(phy_db->trans, "Cannot send channel specific PAPD groups\n"); return err;
}
/* Send all the TXP channel specific data */
err = iwl_phy_db_send_all_channel_groups(phy_db,
IWL_PHY_DB_CALIB_CHG_TXP,
phy_db->n_group_txp); if (err) {
IWL_ERR(phy_db->trans, "Cannot send channel specific TX power groups\n"); return err;
}
IWL_DEBUG_INFO(phy_db->trans, "Finished sending phy db non channel data\n"); return0;
}
IWL_EXPORT_SYMBOL(iwl_send_phy_db_data);
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.2 Sekunden
(vorverarbeitet am 2026-10-04)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.