aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/510-ath9k_ctl_bitfields.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-12-04 01:32:04 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-12-04 01:32:04 +0000
commit4fd20e8c50b204be6f1a33a9d27114b8871b2a5d (patch)
tree48f300893b7183822006b4d7c389679f98f858b4 /package/mac80211/patches/510-ath9k_ctl_bitfields.patch
parent06878dba1740a0a396d143bedd596c75aeaf4fc7 (diff)
downloadupstream-4fd20e8c50b204be6f1a33a9d27114b8871b2a5d.tar.gz
upstream-4fd20e8c50b204be6f1a33a9d27114b8871b2a5d.tar.bz2
upstream-4fd20e8c50b204be6f1a33a9d27114b8871b2a5d.zip
mac80211: update to wireless-testing 2010-11-30
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24235 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/510-ath9k_ctl_bitfields.patch')
-rw-r--r--package/mac80211/patches/510-ath9k_ctl_bitfields.patch676
1 files changed, 0 insertions, 676 deletions
diff --git a/package/mac80211/patches/510-ath9k_ctl_bitfields.patch b/package/mac80211/patches/510-ath9k_ctl_bitfields.patch
deleted file mode 100644
index 6485a1b344..0000000000
--- a/package/mac80211/patches/510-ath9k_ctl_bitfields.patch
+++ /dev/null
@@ -1,676 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/eeprom.c
-+++ b/drivers/net/wireless/ath/ath9k/eeprom.c
-@@ -240,16 +240,16 @@ u16 ath9k_hw_get_max_edge_power(u16 freq
- for (i = 0; (i < num_band_edges) &&
- (pRdEdgesPower[i].bChannel != AR5416_BCHAN_UNUSED); i++) {
- if (freq == ath9k_hw_fbin2freq(pRdEdgesPower[i].bChannel, is2GHz)) {
-- twiceMaxEdgePower = pRdEdgesPower[i].tPower;
-+ twiceMaxEdgePower = CTL_EDGE_TPOWER(pRdEdgesPower[i].ctl);
- break;
- } else if ((i > 0) &&
- (freq < ath9k_hw_fbin2freq(pRdEdgesPower[i].bChannel,
- is2GHz))) {
- if (ath9k_hw_fbin2freq(pRdEdgesPower[i - 1].bChannel,
- is2GHz) < freq &&
-- pRdEdgesPower[i - 1].flag) {
-+ CTL_EDGE_FLAGS(pRdEdgesPower[i - 1].ctl)) {
- twiceMaxEdgePower =
-- pRdEdgesPower[i - 1].tPower;
-+ CTL_EDGE_TPOWER(pRdEdgesPower[i - 1].ctl);
- }
- break;
- }
---- a/drivers/net/wireless/ath/ath9k/eeprom.h
-+++ b/drivers/net/wireless/ath/ath9k/eeprom.h
-@@ -233,6 +233,9 @@
-
- #define AR9287_CHECKSUM_LOCATION (AR9287_EEP_START_LOC + 1)
-
-+#define CTL_EDGE_TPOWER(_ctl) ((_ctl) & 0x3f)
-+#define CTL_EDGE_FLAGS(_ctl) (((_ctl) >> 6) & 0x03)
-+
- enum eeprom_param {
- EEP_NFTHRESH_5,
- EEP_NFTHRESH_2,
-@@ -535,18 +538,10 @@ struct cal_target_power_ht {
- u8 tPow2x[8];
- } __packed;
-
--
--#ifdef __BIG_ENDIAN_BITFIELD
--struct cal_ctl_edges {
-- u8 bChannel;
-- u8 flag:2, tPower:6;
--} __packed;
--#else
- struct cal_ctl_edges {
- u8 bChannel;
-- u8 tPower:6, flag:2;
-+ u8 ctl;
- } __packed;
--#endif
-
- struct cal_data_op_loop_ar9287 {
- u8 pwrPdg[2][5];
---- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
-+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
-@@ -57,6 +57,8 @@
- #define SUB_NUM_CTL_MODES_AT_5G_40 2 /* excluding HT40, EXT-OFDM */
- #define SUB_NUM_CTL_MODES_AT_2G_40 3 /* excluding HT40, EXT-OFDM, EXT-CCK */
-
-+#define CTL(_tpower, _flag) ((_tpower) | ((_flag) << 6))
-+
- static int ar9003_hw_power_interpolate(int32_t x,
- int32_t *px, int32_t *py, u_int16_t np);
- static const struct ar9300_eeprom ar9300_default = {
-@@ -296,21 +298,21 @@ static const struct ar9300_eeprom ar9300
- }
- },
- .ctlPowerData_2G = {
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 1}, {60, 0}, {60, 0}, {60, 1} } },
--
-- { { {60, 1}, {60, 0}, {0, 0}, {0, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
--
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
--
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 1} } },
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 1} } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } },
-+
-+ { { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 1) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 1) } },
- },
- .modalHeader5G = {
- /* 4 idle,t1,t2,b (4 bits per setting) */
-@@ -582,56 +584,56 @@ static const struct ar9300_eeprom ar9300
- .ctlPowerData_5G = {
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 0}, {60, 1}, {60, 0}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-+ CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
- }
- },
- {
- {
-- {60, 0}, {60, 1}, {60, 1}, {60, 0},
-- {60, 1}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 0),
-+ CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-- {60, 0}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
-+ CTL(60, 0), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 0}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 0), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 0}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 0}, {60, 1},
-+ CTL(60, 1), CTL(60, 0), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 0), CTL(60, 1),
- }
- },
- }
-@@ -873,21 +875,21 @@ static const struct ar9300_eeprom ar9300
- }
- },
- .ctlPowerData_2G = {
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 1}, {60, 0}, {60, 0}, {60, 1} } },
--
-- { { {60, 1}, {60, 0}, {0, 0}, {0, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
--
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
--
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 1} } },
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 1} } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } },
-+
-+ { { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 1) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 1) } },
- },
- .modalHeader5G = {
- /* 4 idle,t1,t2,b (4 bits per setting) */
-@@ -1159,56 +1161,56 @@ static const struct ar9300_eeprom ar9300
- .ctlPowerData_5G = {
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 0}, {60, 1}, {60, 0}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-+ CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
- }
- },
- {
- {
-- {60, 0}, {60, 1}, {60, 1}, {60, 0},
-- {60, 1}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 0),
-+ CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-- {60, 0}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
-+ CTL(60, 0), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 0}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 0), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 0}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 0}, {60, 1},
-+ CTL(60, 1), CTL(60, 0), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 0), CTL(60, 1),
- }
- },
- }
-@@ -1451,21 +1453,21 @@ static const struct ar9300_eeprom ar9300
- }
- },
- .ctlPowerData_2G = {
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 1}, {60, 0}, {60, 0}, {60, 1} } },
--
-- { { {60, 1}, {60, 0}, {0, 0}, {0, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
--
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
--
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 1} } },
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 1} } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } },
-+
-+ { { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 1) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 1) } },
- },
- .modalHeader5G = {
- /* 4 idle,t1,t2,b (4 bits per setting) */
-@@ -1737,56 +1739,56 @@ static const struct ar9300_eeprom ar9300
- .ctlPowerData_5G = {
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 0}, {60, 1}, {60, 0}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-+ CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
- }
- },
- {
- {
-- {60, 0}, {60, 1}, {60, 1}, {60, 0},
-- {60, 1}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 0),
-+ CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-- {60, 0}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
-+ CTL(60, 0), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 0}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 0), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 0}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 0}, {60, 1},
-+ CTL(60, 1), CTL(60, 0), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 0), CTL(60, 1),
- }
- },
- }
-@@ -2029,21 +2031,21 @@ static const struct ar9300_eeprom ar9300
- }
- },
- .ctlPowerData_2G = {
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 1}, {60, 0}, {60, 0}, {60, 1} } },
--
-- { { {60, 1}, {60, 0}, {0, 0}, {0, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
--
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
--
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 1} } },
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 1} } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } },
-+
-+ { { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 1) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 1) } },
- },
- .modalHeader5G = {
- /* 4 idle,t1,t2,b (4 bits per setting) */
-@@ -2315,56 +2317,56 @@ static const struct ar9300_eeprom ar9300
- .ctlPowerData_5G = {
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 0}, {60, 1}, {60, 0}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-+ CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
- }
- },
- {
- {
-- {60, 0}, {60, 1}, {60, 1}, {60, 0},
-- {60, 1}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 0),
-+ CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-- {60, 0}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
-+ CTL(60, 0), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 0}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 0), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 0}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 0}, {60, 1},
-+ CTL(60, 1), CTL(60, 0), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 0), CTL(60, 1),
- }
- },
- }
-@@ -2606,21 +2608,21 @@ static const struct ar9300_eeprom ar9300
- }
- },
- .ctlPowerData_2G = {
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 1}, {60, 0}, {60, 0}, {60, 1} } },
--
-- { { {60, 1}, {60, 0}, {0, 0}, {0, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
--
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
--
-- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 1} } },
-- { { {60, 0}, {60, 1}, {60, 1}, {60, 1} } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 1) } },
-+
-+ { { CTL(60, 1), CTL(60, 0), CTL(0, 0), CTL(0, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 0) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 1) } },
-+ { { CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 1) } },
- },
- .modalHeader5G = {
- /* 4 idle,t1,t2,b (4 bits per setting) */
-@@ -2892,56 +2894,56 @@ static const struct ar9300_eeprom ar9300
- .ctlPowerData_5G = {
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 0}, {60, 1}, {60, 0}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-+ CTL(60, 0), CTL(60, 1), CTL(60, 0), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
- }
- },
- {
- {
-- {60, 0}, {60, 1}, {60, 1}, {60, 0},
-- {60, 1}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 0), CTL(60, 1), CTL(60, 1), CTL(60, 0),
-+ CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-- {60, 0}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
-+ CTL(60, 0), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 0}, {60, 0}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 0), CTL(60, 0), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 1},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 1),
- }
- },
- {
- {
-- {60, 1}, {60, 1}, {60, 0}, {60, 1},
-- {60, 1}, {60, 1}, {60, 1}, {60, 0},
-+ CTL(60, 1), CTL(60, 1), CTL(60, 0), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 1), CTL(60, 0),
- }
- },
- {
- {
-- {60, 1}, {60, 0}, {60, 1}, {60, 1},
-- {60, 1}, {60, 1}, {60, 0}, {60, 1},
-+ CTL(60, 1), CTL(60, 0), CTL(60, 1), CTL(60, 1),
-+ CTL(60, 1), CTL(60, 1), CTL(60, 0), CTL(60, 1),
- }
- },
- }
-@@ -4363,9 +4365,9 @@ static u16 ar9003_hw_get_direct_edge_pow
- struct cal_ctl_data_5g *ctl_5g = eep->ctlPowerData_5G;
-
- if (is2GHz)
-- return ctl_2g[idx].ctlEdges[edge].tPower;
-+ return CTL_EDGE_TPOWER(ctl_2g[idx].ctlEdges[edge]);
- else
-- return ctl_5g[idx].ctlEdges[edge].tPower;
-+ return CTL_EDGE_TPOWER(ctl_5g[idx].ctlEdges[edge]);
- }
-
- static u16 ar9003_hw_get_indirect_edge_power(struct ar9300_eeprom *eep,
-@@ -4383,12 +4385,12 @@ static u16 ar9003_hw_get_indirect_edge_p
-
- if (is2GHz) {
- if (ath9k_hw_fbin2freq(ctl_freqbin[edge - 1], 1) < freq &&
-- ctl_2g[idx].ctlEdges[edge - 1].flag)
-- return ctl_2g[idx].ctlEdges[edge - 1].tPower;
-+ CTL_EDGE_FLAGS(ctl_2g[idx].ctlEdges[edge - 1]))
-+ return CTL_EDGE_TPOWER(ctl_2g[idx].ctlEdges[edge - 1]);
- } else {
- if (ath9k_hw_fbin2freq(ctl_freqbin[edge - 1], 0) < freq &&
-- ctl_5g[idx].ctlEdges[edge - 1].flag)
-- return ctl_5g[idx].ctlEdges[edge - 1].tPower;
-+ CTL_EDGE_FLAGS(ctl_5g[idx].ctlEdges[edge - 1]))
-+ return CTL_EDGE_TPOWER(ctl_5g[idx].ctlEdges[edge - 1]);
- }
-
- return AR9300_MAX_RATE_POWER;
---- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.h
-+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.h
-@@ -270,17 +270,12 @@ struct cal_tgt_pow_ht {
- u8 tPow2x[14];
- } __packed;
-
--struct cal_ctl_edge_pwr {
-- u8 tPower:6,
-- flag:2;
--} __packed;
--
- struct cal_ctl_data_2g {
-- struct cal_ctl_edge_pwr ctlEdges[AR9300_NUM_BAND_EDGES_2G];
-+ u8 ctlEdges[AR9300_NUM_BAND_EDGES_2G];
- } __packed;
-
- struct cal_ctl_data_5g {
-- struct cal_ctl_edge_pwr ctlEdges[AR9300_NUM_BAND_EDGES_5G];
-+ u8 ctlEdges[AR9300_NUM_BAND_EDGES_5G];
- } __packed;
-
- struct ar9300_BaseExtension_1 {