Beispiel #1
0
bool rtl92cu_phy_config_rf_with_headerfile( struct ieee80211_hw *hw,
					  enum radio_path rfpath )
{
	int i;
	u32 *radioa_array_table;
	u32 *radiob_array_table;
	u16 radioa_arraylen, radiob_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 ) ) {
		radioa_arraylen = rtlphy->hwparam_tables[RADIOA_2T].length;
		radioa_array_table = rtlphy->hwparam_tables[RADIOA_2T].pdata;
		radiob_arraylen = rtlphy->hwparam_tables[RADIOB_2T].length;
		radiob_array_table = rtlphy->hwparam_tables[RADIOB_2T].pdata;
		RT_TRACE( rtlpriv, COMP_INIT, DBG_TRACE,
			 "Radio_A:RTL8192CERADIOA_2TARRAY\n" );
		RT_TRACE( rtlpriv, COMP_INIT, DBG_TRACE,
			 "Radio_B:RTL8192CE_RADIOB_2TARRAY\n" );
	} else {
		radioa_arraylen = rtlphy->hwparam_tables[RADIOA_1T].length;
		radioa_array_table = rtlphy->hwparam_tables[RADIOA_1T].pdata;
		radiob_arraylen = rtlphy->hwparam_tables[RADIOB_1T].length;
		radiob_array_table = rtlphy->hwparam_tables[RADIOB_1T].pdata;
		RT_TRACE( rtlpriv, COMP_INIT, DBG_TRACE,
			 "Radio_A:RTL8192CE_RADIOA_1TARRAY\n" );
		RT_TRACE( rtlpriv, COMP_INIT, DBG_TRACE,
			 "Radio_B:RTL8192CE_RADIOB_1TARRAY\n" );
	}
	RT_TRACE( rtlpriv, COMP_INIT, DBG_TRACE, "Radio No %x\n", rfpath );
	switch ( rfpath ) {
	case RF90_PATH_A:
		for ( i = 0; i < radioa_arraylen; i = i + 2 ) {
			rtl_rfreg_delay( hw, rfpath, radioa_array_table[i],
					RFREG_OFFSET_MASK,
					radioa_array_table[i + 1] );
		}
		break;
	case RF90_PATH_B:
		for ( i = 0; i < radiob_arraylen; i = i + 2 ) {
			rtl_rfreg_delay( hw, rfpath, radiob_array_table[i],
					RFREG_OFFSET_MASK,
					radiob_array_table[i + 1] );
		}
		break;
	case RF90_PATH_C:
		RT_TRACE( rtlpriv, COMP_ERR, DBG_EMERG,
			 "switch case not processed\n" );
		break;
	case RF90_PATH_D:
		RT_TRACE( rtlpriv, COMP_ERR, DBG_EMERG,
			 "switch case not processed\n" );
		break;
	default:
		break;
	}
	return true;
}
Beispiel #2
0
static void rtl8188e_config_rf_reg(struct adapter *adapt,
	u32 addr, u32 data)
{
	u32 content = 0x1000; /*RF Content: radio_a_txt*/
	u32 maskforphyset = content & 0xE000;

	rtl_rfreg_delay(adapt, RF90_PATH_A, addr | maskforphyset,
			RFREG_OFFSET_MASK,
			data);
}