Skip to content

Commit

Permalink
iwlwifi: phy db channel to tx power channel group
Browse files Browse the repository at this point in the history
Implement mapping of channel to TX power channel group,
for sending channel specific data before add context.

Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
  • Loading branch information
David Spinadel authored and Wey-Yi Guy committed Apr 16, 2012
1 parent bfb45f5 commit cfd8544
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 deletions.
20 changes: 18 additions & 2 deletions drivers/net/wireless/iwlwifi/iwl-phy-db.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,8 +228,24 @@ static u16 channel_id_to_papd(u16 ch_id)

static u16 channel_id_to_txp(struct iwl_phy_db *phy_db, u16 ch_id)
{
/* TODO David*/
return 0;
struct iwl_phy_db_chg_txp *txp_chg;
int i;
u8 ch_index = ch_id_to_ch_index(ch_id);
if (ch_index == 0xff)
return 0xff;

for (i = 0; i < IWL_NUM_TXP_CH_GROUPS; i++) {
txp_chg = (void *)phy_db->calib_ch_group_txp[i].data;
if (!txp_chg)
return 0xff;
/*
* Looking for the first channel group that its max channel is
* higher then wanted channel.
*/
if (le16_to_cpu(txp_chg->max_channel_idx) >= ch_index)
return i;
}
return 0xff;
}

int iwl_phy_db_get_section_data(struct iwl_phy_db *phy_db,
Expand Down
6 changes: 6 additions & 0 deletions drivers/net/wireless/iwlwifi/iwl-phy-db.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,12 @@ enum iwl_phy_db_section_type {
IWL_PHY_DB_MAX
};

/* 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;

struct iwl_phy_db *iwl_phy_db_init(struct iwl_shared *shrd);

void iwl_phy_db_free(struct iwl_phy_db *phy_db);
Expand Down

0 comments on commit cfd8544

Please sign in to comment.