|
@@ -59,6 +59,9 @@
|
|
|
|
|
|
static int ar9003_hw_power_interpolate(int32_t x,
|
|
|
int32_t *px, int32_t *py, u_int16_t np);
|
|
|
+
|
|
|
+#define CTL(_tpower, _flag) ((_tpower) | ((_flag) << 6))
|
|
|
+
|
|
|
static const struct ar9300_eeprom ar9300_default = {
|
|
|
.eepromVersion = 2,
|
|
|
.templateVersion = 2,
|
|
@@ -296,21 +299,21 @@ static const struct ar9300_eeprom ar9300_default = {
|
|
|
}
|
|
|
},
|
|
|
.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} } },
|
|
|
+ { { 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) } },
|
|
|
|
|
|
- { { {60, 1}, {60, 0}, {0, 0}, {0, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
+ { { 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) } },
|
|
|
|
|
|
- { { {60, 0}, {60, 1}, {60, 1}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {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) } },
|
|
|
|
|
|
- { { {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, 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 +585,56 @@ static const struct ar9300_eeprom ar9300_default = {
|
|
|
.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 +876,21 @@ static const struct ar9300_eeprom ar9300_x113 = {
|
|
|
}
|
|
|
},
|
|
|
.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} } },
|
|
|
+ { { 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) } },
|
|
|
|
|
|
- { { {60, 1}, {60, 0}, {0, 0}, {0, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
+ { { 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) } },
|
|
|
|
|
|
- { { {60, 0}, {60, 1}, {60, 1}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {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) } },
|
|
|
|
|
|
- { { {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, 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 +1162,56 @@ static const struct ar9300_eeprom ar9300_x113 = {
|
|
|
.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 +1454,21 @@ static const struct ar9300_eeprom ar9300_h112 = {
|
|
|
}
|
|
|
},
|
|
|
.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} } },
|
|
|
+ { { 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) } },
|
|
|
|
|
|
- { { {60, 1}, {60, 0}, {0, 0}, {0, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
+ { { 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) } },
|
|
|
|
|
|
- { { {60, 0}, {60, 1}, {60, 1}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {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) } },
|
|
|
|
|
|
- { { {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, 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 +1740,56 @@ static const struct ar9300_eeprom ar9300_h112 = {
|
|
|
.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 +2032,21 @@ static const struct ar9300_eeprom ar9300_x112 = {
|
|
|
}
|
|
|
},
|
|
|
.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} } },
|
|
|
+ { { 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) } },
|
|
|
|
|
|
- { { {60, 1}, {60, 0}, {0, 0}, {0, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
+ { { 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) } },
|
|
|
|
|
|
- { { {60, 0}, {60, 1}, {60, 1}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {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) } },
|
|
|
|
|
|
- { { {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, 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 +2318,56 @@ static const struct ar9300_eeprom ar9300_x112 = {
|
|
|
.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 +2609,21 @@ static const struct ar9300_eeprom ar9300_h116 = {
|
|
|
}
|
|
|
},
|
|
|
.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} } },
|
|
|
+ { { 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) } },
|
|
|
|
|
|
- { { {60, 1}, {60, 0}, {0, 0}, {0, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
+ { { 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) } },
|
|
|
|
|
|
- { { {60, 0}, {60, 1}, {60, 1}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {60, 0} } },
|
|
|
- { { {60, 0}, {60, 1}, {60, 0}, {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) } },
|
|
|
|
|
|
- { { {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, 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 +2895,56 @@ static const struct ar9300_eeprom ar9300_h116 = {
|
|
|
.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 +4366,9 @@ static u16 ar9003_hw_get_direct_edge_power(struct ar9300_eeprom *eep,
|
|
|
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 +4386,12 @@ static u16 ar9003_hw_get_indirect_edge_power(struct ar9300_eeprom *eep,
|
|
|
|
|
|
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;
|