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

Commit 34c5cf20 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by John W. Linville
Browse files

b43: N-PHY: upload PAPD PGA gain delta table

parent 603431e9
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -2607,12 +2607,9 @@ static void b43_nphy_tx_gain_table_upload(struct b43_wldev *dev)
	struct b43_phy *phy = &dev->phy;

	const u32 *table = NULL;
#if 0
	TODO: b43_ntab_papd_pga_gain_delta_ipa_2*
	u32 rfpwr_offset;
	u8 pga_gain;
	int i;
#endif

	table = b43_nphy_get_tx_gain_table(dev);
	b43_ntab_write_bulk(dev, B43_NTAB32(26, 192), 128, table);
@@ -2621,19 +2618,21 @@ static void b43_nphy_tx_gain_table_upload(struct b43_wldev *dev)
	if (phy->rev >= 3) {
#if 0
		nphy->gmval = (table[0] >> 16) & 0x7000;
#endif

		for (i = 0; i < 128; i++) {
			pga_gain = (table[i] >> 24) & 0xF;
			if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
				rfpwr_offset = b43_ntab_papd_pga_gain_delta_ipa_2g[pga_gain];
				rfpwr_offset =
				 b43_ntab_papd_pga_gain_delta_ipa_2g[pga_gain];
			else
				rfpwr_offset = b43_ntab_papd_pga_gain_delta_ipa_5g[pga_gain];
				rfpwr_offset =
				 0; /* FIXME */
			b43_ntab_write(dev, B43_NTAB32(26, 576 + i),
				       rfpwr_offset);
			b43_ntab_write(dev, B43_NTAB32(27, 576 + i),
				       rfpwr_offset);
		}
#endif
	}
}

+5 −0
Original line number Diff line number Diff line
@@ -2529,6 +2529,11 @@ static const u32 txpwrctrl_tx_gain_ipa_5g[] = {
	0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f,
};

const s8 b43_ntab_papd_pga_gain_delta_ipa_2g[] = {
	-114, -108, -98, -91, -84, -78, -70, -62,
	-54, -46, -39, -31, -23, -15, -8, 0
};

const u16 tbl_iqcal_gainparams[2][9][8] = {
	{
		{ 0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69 },
+2 −0
Original line number Diff line number Diff line
@@ -179,6 +179,8 @@ void b43_nphy_rev3plus_tables_init(struct b43_wldev *dev);

const u32 *b43_nphy_get_tx_gain_table(struct b43_wldev *dev);

extern const s8 b43_ntab_papd_pga_gain_delta_ipa_2g[];

extern const u16 tbl_iqcal_gainparams[2][9][8];
extern const struct nphy_txiqcal_ladder ladder_lo[];
extern const struct nphy_txiqcal_ladder ladder_iq[];