|
@@ -665,152 +665,51 @@ static void _rtl92d_store_pwrindex_diffrate_offset(struct ieee80211_hw *hw,
|
|
|
{
|
|
|
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
|
|
struct rtl_phy *rtlphy = &(rtlpriv->phy);
|
|
|
+ int index;
|
|
|
+
|
|
|
+ if (regaddr == RTXAGC_A_RATE18_06)
|
|
|
+ index = 0;
|
|
|
+ else if (regaddr == RTXAGC_A_RATE54_24)
|
|
|
+ index = 1;
|
|
|
+ else if (regaddr == RTXAGC_A_CCK1_MCS32)
|
|
|
+ index = 6;
|
|
|
+ else if (regaddr == RTXAGC_B_CCK11_A_CCK2_11 && bitmask == 0xffffff00)
|
|
|
+ index = 7;
|
|
|
+ else if (regaddr == RTXAGC_A_MCS03_MCS00)
|
|
|
+ index = 2;
|
|
|
+ else if (regaddr == RTXAGC_A_MCS07_MCS04)
|
|
|
+ index = 3;
|
|
|
+ else if (regaddr == RTXAGC_A_MCS11_MCS08)
|
|
|
+ index = 4;
|
|
|
+ else if (regaddr == RTXAGC_A_MCS15_MCS12)
|
|
|
+ index = 5;
|
|
|
+ else if (regaddr == RTXAGC_B_RATE18_06)
|
|
|
+ index = 8;
|
|
|
+ else if (regaddr == RTXAGC_B_RATE54_24)
|
|
|
+ index = 9;
|
|
|
+ else if (regaddr == RTXAGC_B_CCK1_55_MCS32)
|
|
|
+ index = 14;
|
|
|
+ else if (regaddr == RTXAGC_B_CCK11_A_CCK2_11 && bitmask == 0x000000ff)
|
|
|
+ index = 15;
|
|
|
+ else if (regaddr == RTXAGC_B_MCS03_MCS00)
|
|
|
+ index = 10;
|
|
|
+ else if (regaddr == RTXAGC_B_MCS07_MCS04)
|
|
|
+ index = 11;
|
|
|
+ else if (regaddr == RTXAGC_B_MCS11_MCS08)
|
|
|
+ index = 12;
|
|
|
+ else if (regaddr == RTXAGC_B_MCS15_MCS12)
|
|
|
+ index = 13;
|
|
|
+ else
|
|
|
+ return;
|
|
|
|
|
|
- if (regaddr == RTXAGC_A_RATE18_06) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][0] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][0] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][0]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_A_RATE54_24) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][1] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][1] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][1]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_A_CCK1_MCS32) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][6] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][6] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][6]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_B_CCK11_A_CCK2_11 && bitmask == 0xffffff00) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][7] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][7] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][7]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_A_MCS03_MCS00) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][2] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][2] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][2]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_A_MCS07_MCS04) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][3] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][3] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][3]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_A_MCS11_MCS08) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][4] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][4] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][4]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_A_MCS15_MCS12) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][5] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][5] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][5]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_B_RATE18_06) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][8] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][8] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][8]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_B_RATE54_24) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][9] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][9] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][9]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_B_CCK1_55_MCS32) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][14] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][14] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][14]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_B_CCK11_A_CCK2_11 && bitmask == 0x000000ff) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][15] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][15] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][15]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_B_MCS03_MCS00) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][10] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][10] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][10]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_B_MCS07_MCS04) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][11] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][11] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][11]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_B_MCS11_MCS08) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][12] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][12] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][12]);
|
|
|
- }
|
|
|
- if (regaddr == RTXAGC_B_MCS15_MCS12) {
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][13] =
|
|
|
- data;
|
|
|
- RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
- "MCSTxPowerLevelOriginalOffset[%d][13] = 0x%ulx\n",
|
|
|
- rtlphy->pwrgroup_cnt,
|
|
|
- rtlphy->mcs_txpwrlevel_origoffset
|
|
|
- [rtlphy->pwrgroup_cnt][13]);
|
|
|
+ rtlphy->mcs_txpwrlevel_origoffset[rtlphy->pwrgroup_cnt][index] = data;
|
|
|
+ RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE,
|
|
|
+ "MCSTxPowerLevelOriginalOffset[%d][%d] = 0x%ulx\n",
|
|
|
+ rtlphy->pwrgroup_cnt, index,
|
|
|
+ rtlphy->mcs_txpwrlevel_origoffset
|
|
|
+ [rtlphy->pwrgroup_cnt][index]);
|
|
|
+ if (index == 13)
|
|
|
rtlphy->pwrgroup_cnt++;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
static bool _rtl92d_phy_config_bb_with_pgheaderfile(struct ieee80211_hw *hw,
|