bool _rtl92ce_phy_config_bb_with_pgheaderfile(struct ieee80211_hw *hw, u8 configtype) { struct rtl_priv *rtlpriv = rtl_priv(hw); int i; u32 *phy_regarray_table_pg; u16 phy_regarray_pg_len; phy_regarray_pg_len = PHY_REG_ARRAY_PGLENGTH; phy_regarray_table_pg = RTL8192CEPHY_REG_ARRAY_PG; if (configtype == BASEBAND_CONFIG_PHY_REG) { for (i = 0; i < phy_regarray_pg_len; i = i + 3) { rtl_addr_delay(phy_regarray_table_pg[i]); _rtl92c_store_pwrIndex_diffrate_offset(hw, phy_regarray_table_pg[i], phy_regarray_table_pg[i + 1], phy_regarray_table_pg[i + 2]); } } else { RT_TRACE(rtlpriv, COMP_SEND, DBG_TRACE, "configtype != BaseBand_Config_PHY_REG\n"); } return true; }
bool _rtl92cu_phy_config_bb_with_pgheaderfile( struct ieee80211_hw *hw, u8 configtype ) { struct rtl_priv *rtlpriv = rtl_priv( hw ); struct rtl_phy *rtlphy = &( rtlpriv->phy ); int i; u32 *phy_regarray_table_pg; u16 phy_regarray_pg_len; rtlphy->pwrgroup_cnt = 0; phy_regarray_pg_len = rtlphy->hwparam_tables[PHY_REG_PG].length; phy_regarray_table_pg = rtlphy->hwparam_tables[PHY_REG_PG].pdata; if ( configtype == BASEBAND_CONFIG_PHY_REG ) { for ( i = 0; i < phy_regarray_pg_len; i = i + 3 ) { rtl_addr_delay( phy_regarray_table_pg[i] ); _rtl92c_store_pwrIndex_diffrate_offset( hw, phy_regarray_table_pg[i], phy_regarray_table_pg[i + 1], phy_regarray_table_pg[i + 2] ); } } else { RT_TRACE( rtlpriv, COMP_SEND, DBG_TRACE, "configtype != BaseBand_Config_PHY_REG\n" ); } return true; }
static bool config_bb_with_pgheader(struct adapter *adapt) { u32 i; const u32 arraylen = ARRAY_SIZE(array_phy_reg_pg_8188e); u32 *array = array_phy_reg_pg_8188e; for (i = 0; i < arraylen; i += 3) { u32 v1 = array[i]; u32 v2 = array[i + 1]; u32 v3 = array[i + 2]; if (v1 < 0xCDCDCDCD) rtl_addr_delay(adapt, v1, v2, v3); } return true; }
bool _rtl92cu_phy_config_bb_with_headerfile( struct ieee80211_hw *hw, u8 configtype ) { int i; u32 *phy_regarray_table; u32 *agctab_array_table; u16 phy_reg_arraylen, agctab_arraylen; struct rtl_priv *rtlpriv = rtl_priv( hw ); struct rtl_hal *rtlhal = rtl_hal( rtl_priv( hw ) ); struct rtl_phy *rtlphy = &( rtlpriv->phy ); if ( IS_92C_SERIAL( rtlhal->version ) ) { agctab_arraylen = rtlphy->hwparam_tables[AGCTAB_2T].length; agctab_array_table = rtlphy->hwparam_tables[AGCTAB_2T].pdata; phy_reg_arraylen = rtlphy->hwparam_tables[PHY_REG_2T].length; phy_regarray_table = rtlphy->hwparam_tables[PHY_REG_2T].pdata; } else { agctab_arraylen = rtlphy->hwparam_tables[AGCTAB_1T].length; agctab_array_table = rtlphy->hwparam_tables[AGCTAB_1T].pdata; phy_reg_arraylen = rtlphy->hwparam_tables[PHY_REG_1T].length; phy_regarray_table = rtlphy->hwparam_tables[PHY_REG_1T].pdata; } if ( configtype == BASEBAND_CONFIG_PHY_REG ) { for ( i = 0; i < phy_reg_arraylen; i = i + 2 ) { rtl_addr_delay( phy_regarray_table[i] ); rtl_set_bbreg( hw, phy_regarray_table[i], MASKDWORD, phy_regarray_table[i + 1] ); udelay( 1 ); RT_TRACE( rtlpriv, COMP_INIT, DBG_TRACE, "The phy_regarray_table[0] is %x Rtl819XPHY_REGArray[1] is %x\n", phy_regarray_table[i], phy_regarray_table[i + 1] ); } } else if ( configtype == BASEBAND_CONFIG_AGC_TAB ) { for ( i = 0; i < agctab_arraylen; i = i + 2 ) { rtl_set_bbreg( hw, agctab_array_table[i], MASKDWORD, agctab_array_table[i + 1] ); udelay( 1 ); RT_TRACE( rtlpriv, COMP_INIT, DBG_TRACE, "The agctab_array_table[0] is %x Rtl819XPHY_REGArray[1] is %x\n", agctab_array_table[i], agctab_array_table[i + 1] ); } } return true; }