Skip to content

Commit

Permalink
mt76: mt7615: fix using VHT STBC rates
Browse files Browse the repository at this point in the history
The hardware expects MT_TX_RATE_NSS to be filled with the number of
space/time streams. For non-STBC rates, this is equal to nss.
For 1-stream STBC, this needs to be set to 2.
This is relevant for VHT rates only, on HT, the value is derived from MCS
internally.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
  • Loading branch information
nbd168 committed Jul 12, 2019
1 parent b973bef commit 8fc3e6e
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
18 changes: 12 additions & 6 deletions mt7615/mac.c
Expand Up @@ -254,7 +254,7 @@ mt7615_mac_tx_rate_val(struct mt7615_dev *dev,
bool stbc, u8 *bw)
{
u8 phy, nss, rate_idx;
u16 rateval;
u16 rateval = 0;

*bw = 0;

Expand Down Expand Up @@ -292,12 +292,14 @@ mt7615_mac_tx_rate_val(struct mt7615_dev *dev,
rate_idx = val & 0xff;
}

rateval = (FIELD_PREP(MT_TX_RATE_IDX, rate_idx) |
FIELD_PREP(MT_TX_RATE_MODE, phy) |
FIELD_PREP(MT_TX_RATE_NSS, nss - 1));

if (stbc && nss == 1)
if (stbc && nss == 1) {
nss++;
rateval |= MT_TX_RATE_STBC;
}

rateval |= (FIELD_PREP(MT_TX_RATE_IDX, rate_idx) |
FIELD_PREP(MT_TX_RATE_MODE, phy) |
FIELD_PREP(MT_TX_RATE_NSS, nss - 1));

return rateval;
}
Expand Down Expand Up @@ -771,6 +773,10 @@ static bool mt7615_fill_txs(struct mt7615_dev *dev, struct mt7615_sta *sta,
break;
case MT_PHY_TYPE_VHT:
final_nss = FIELD_GET(MT_TX_RATE_NSS, final_rate);

if ((final_rate & MT_TX_RATE_STBC) && final_nss)
final_nss--;

final_rate_flags |= IEEE80211_TX_RC_VHT_MCS;
final_rate = (final_rate & MT_TX_RATE_IDX) | (final_nss << 4);
break;
Expand Down
3 changes: 2 additions & 1 deletion mt7615/mcu.c
Expand Up @@ -1259,7 +1259,8 @@ int mt7615_mcu_set_tx_power(struct mt7615_dev *dev)
goto out;

index += ret;
data[index] = min_t(u8, data[index], tx_power);
printk("eep data[%d]: %d << %d\n", index, data[index], tx_power);
// data[index] = min_t(u8, data[index], tx_power);
}

ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_TX_POWER_CTRL,
Expand Down

0 comments on commit 8fc3e6e

Please sign in to comment.