mt7603: set per-interface mac address

Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Felix Fietkau
2016-02-06 18:47:52 +01:00
parent 61bd155a4f
commit 102597868e
2 changed files with 6 additions and 5 deletions
-5
View File
@@ -175,7 +175,6 @@ mt7603_phy_init(struct mt7603_dev *dev)
static void
mt7603_mac_init(struct mt7603_dev *dev)
{
void *dev_addr = dev->mt76.hw->wiphy->perm_addr;
u8 bc_addr[ETH_ALEN];
u32 addr;
int i;
@@ -218,10 +217,6 @@ mt7603_mac_init(struct mt7603_dev *dev)
mt76_rmw_field(dev, MT_LPON_BTEIR, MT_LPON_BTEIR_MBSS_MODE, 2);
mt76_rmw_field(dev, MT_WF_RMACDR, MT_WF_RMACDR_MBSSID_MASK, 2);
mt76_wr(dev, MT_MAC_ADDR0(0), get_unaligned_le32(dev_addr));
mt76_wr(dev, MT_MAC_ADDR1(0),
get_unaligned_le16(dev_addr + 4) | MT_MAC_ADDR1_VALID);
mt76_wr(dev, MT_AGG_ARUCR, 0);
mt76_wr(dev, MT_AGG_ARDCR, ~0);
mt76_wr(dev, MT_AGG_ARCR, (MT_AGG_ARCR_INIT_RATE1 |
+6
View File
@@ -68,6 +68,12 @@ mt7603_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
goto out;
}
mt76_wr(dev, MT_MAC_ADDR0(mvif->idx),
get_unaligned_le32(vif->addr));
mt76_wr(dev, MT_MAC_ADDR1(mvif->idx),
(get_unaligned_le16(vif->addr + 4) |
MT_MAC_ADDR1_VALID));
idx = MT7603_WTBL_RESERVED - 1 - mvif->idx;
dev->vif_mask |= BIT(mvif->idx);
mvif->sta.wcid.idx = idx;