mt76: testmode: add support for LTF and GI combinations for HE mode
Prepare for setting different LTF (1x, 2x, and 4x) and GI (0.8us, 1.6us, 3.2us) combinations in HE rate mode. Reviewed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
7f54c7425d
commit
1a38c2f535
@ -528,6 +528,7 @@ struct mt76_testmode_data {
|
||||
u8 tx_rate_sgi;
|
||||
u8 tx_rate_ldpc;
|
||||
u8 tx_rate_stbc;
|
||||
u8 tx_ltf;
|
||||
|
||||
u8 tx_antenna_mask;
|
||||
|
||||
|
||||
@ -12,6 +12,7 @@ static const struct nla_policy mt76_tm_policy[NUM_MT76_TM_ATTRS] = {
|
||||
[MT76_TM_ATTR_TX_RATE_SGI] = { .type = NLA_U8 },
|
||||
[MT76_TM_ATTR_TX_RATE_LDPC] = { .type = NLA_U8 },
|
||||
[MT76_TM_ATTR_TX_RATE_STBC] = { .type = NLA_U8 },
|
||||
[MT76_TM_ATTR_TX_LTF] = { .type = NLA_U8 },
|
||||
[MT76_TM_ATTR_TX_ANTENNA] = { .type = NLA_U8 },
|
||||
[MT76_TM_ATTR_TX_POWER_CONTROL] = { .type = NLA_U8 },
|
||||
[MT76_TM_ATTR_TX_POWER] = { .type = NLA_NESTED },
|
||||
@ -338,9 +339,10 @@ int mt76_testmode_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
||||
0, MT76_TM_TX_MODE_MAX) ||
|
||||
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_NSS], &td->tx_rate_nss,
|
||||
1, hweight8(phy->antenna_mask)) ||
|
||||
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_SGI], &td->tx_rate_sgi, 0, 1) ||
|
||||
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_SGI], &td->tx_rate_sgi, 0, 2) ||
|
||||
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_LDPC], &td->tx_rate_ldpc, 0, 1) ||
|
||||
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_STBC], &td->tx_rate_stbc, 0, 1) ||
|
||||
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_LTF], &td->tx_ltf, 0, 2) ||
|
||||
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_ANTENNA], &td->tx_antenna_mask, 1,
|
||||
phy->antenna_mask) ||
|
||||
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_POWER_CONTROL],
|
||||
@ -478,6 +480,8 @@ int mt76_testmode_dump(struct ieee80211_hw *hw, struct sk_buff *msg,
|
||||
nla_put_u8(msg, MT76_TM_ATTR_TX_RATE_SGI, td->tx_rate_sgi) ||
|
||||
nla_put_u8(msg, MT76_TM_ATTR_TX_RATE_LDPC, td->tx_rate_ldpc) ||
|
||||
nla_put_u8(msg, MT76_TM_ATTR_TX_RATE_STBC, td->tx_rate_stbc) ||
|
||||
(mt76_testmode_param_present(td, MT76_TM_ATTR_TX_LTF) &&
|
||||
nla_put_u8(msg, MT76_TM_ATTR_TX_LTF, td->tx_ltf)) ||
|
||||
(mt76_testmode_param_present(td, MT76_TM_ATTR_TX_ANTENNA) &&
|
||||
nla_put_u8(msg, MT76_TM_ATTR_TX_ANTENNA, td->tx_antenna_mask)) ||
|
||||
(mt76_testmode_param_present(td, MT76_TM_ATTR_TX_POWER_CONTROL) &&
|
||||
|
||||
@ -26,6 +26,7 @@
|
||||
* @MT76_TM_ATTR_TX_RATE_SGI: packet tx use short guard interval (u8)
|
||||
* @MT76_TM_ATTR_TX_RATE_LDPC: packet tx enable LDPC (u8)
|
||||
* @MT76_TM_ATTR_TX_RATE_STBC: packet tx enable STBC (u8)
|
||||
* @MT76_TM_ATTR_TX_LTF: packet tx LTF, set 0 to 2 for 1x, 2x, and 4x LTF (u8)
|
||||
*
|
||||
* @MT76_TM_ATTR_TX_ANTENNA: tx antenna mask (u8)
|
||||
* @MT76_TM_ATTR_TX_POWER_CONTROL: enable tx power control (u8)
|
||||
@ -52,6 +53,7 @@ enum mt76_testmode_attr {
|
||||
MT76_TM_ATTR_TX_RATE_SGI,
|
||||
MT76_TM_ATTR_TX_RATE_LDPC,
|
||||
MT76_TM_ATTR_TX_RATE_STBC,
|
||||
MT76_TM_ATTR_TX_LTF,
|
||||
|
||||
MT76_TM_ATTR_TX_ANTENNA,
|
||||
MT76_TM_ATTR_TX_POWER_CONTROL,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user