Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e083a42e authored by Sujith Manoharan's avatar Sujith Manoharan Committed by John W. Linville
Browse files

ath9k: Add antenna diversity tweak for CUS198



This improves RX diversity and performance for AR9485.

Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent fb5a2dcb
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -3825,6 +3825,11 @@ static void ar9003_hw_atten_apply(struct ath_hw *ah, struct ath9k_channel *chan)
			else
			else
				value = ar9003_hw_atten_chain_get_margin(ah, i, chan);
				value = ar9003_hw_atten_chain_get_margin(ah, i, chan);


			if (ah->config.alt_mingainidx)
				REG_RMW_FIELD(ah, AR_PHY_EXT_ATTEN_CTL_0,
					      AR_PHY_EXT_ATTEN_CTL_XATTEN1_MARGIN,
					      value);

			REG_RMW_FIELD(ah, ext_atten_reg[i],
			REG_RMW_FIELD(ah, ext_atten_reg[i],
				      AR_PHY_EXT_ATTEN_CTL_XATTEN1_MARGIN,
				      AR_PHY_EXT_ATTEN_CTL_XATTEN1_MARGIN,
				      value);
				      value);
+2 −0
Original line number Original line Diff line number Diff line
@@ -148,6 +148,8 @@
#define AR_PHY_SFCORR_SPUR_SUBCHNL_SD_S   28
#define AR_PHY_SFCORR_SPUR_SUBCHNL_SD_S   28
#define AR_PHY_EXT_CCA_THRESH62 0x007F0000
#define AR_PHY_EXT_CCA_THRESH62 0x007F0000
#define AR_PHY_EXT_CCA_THRESH62_S       16
#define AR_PHY_EXT_CCA_THRESH62_S       16
#define AR_PHY_EXTCHN_PWRTHR1_ANT_DIV_ALT_ANT_MINGAINIDX    0x0000FF00
#define AR_PHY_EXTCHN_PWRTHR1_ANT_DIV_ALT_ANT_MINGAINIDX_S  8
#define AR_PHY_EXT_MINCCA_PWR   0x01FF0000
#define AR_PHY_EXT_MINCCA_PWR   0x01FF0000
#define AR_PHY_EXT_MINCCA_PWR_S 16
#define AR_PHY_EXT_MINCCA_PWR_S 16
#define AR_PHY_EXT_CYCPWR_THR1 0x0000FE00L
#define AR_PHY_EXT_CYCPWR_THR1 0x0000FE00L
+1 −0
Original line number Original line Diff line number Diff line
@@ -314,6 +314,7 @@ struct ath9k_ops_config {
	u32 xlna_gpio;
	u32 xlna_gpio;
	u32 ant_ctrl_comm2g_switch_enable;
	u32 ant_ctrl_comm2g_switch_enable;
	bool xatten_margin_cfg;
	bool xatten_margin_cfg;
	bool alt_mingainidx;
};
};


enum ath9k_int {
enum ath9k_int {
+1 −0
Original line number Original line Diff line number Diff line
@@ -534,6 +534,7 @@ static void ath9k_init_platform(struct ath_softc *sc)
			       ATH9K_PCI_CUS230)) {
			       ATH9K_PCI_CUS230)) {
		ah->config.xlna_gpio = 9;
		ah->config.xlna_gpio = 9;
		ah->config.xatten_margin_cfg = true;
		ah->config.xatten_margin_cfg = true;
		ah->config.alt_mingainidx = true;
		ah->config.ant_ctrl_comm2g_switch_enable = 0x000BBB88;
		ah->config.ant_ctrl_comm2g_switch_enable = 0x000BBB88;
		sc->ant_comb.low_rssi_thresh = 20;
		sc->ant_comb.low_rssi_thresh = 20;
		sc->ant_comb.fast_div_bias = 3;
		sc->ant_comb.fast_div_bias = 3;