Skip to content

Commit

Permalink
mt76: mt7921: add MCU support
Browse files Browse the repository at this point in the history
MT7921 contains a microprocessor with which the host can use command/event
to communicate to implement offload features such as establish connection,
hardware scan and so on. The host has to download the ROM patch, RAM
firmware and finally activate the MCU to complete the MT7921
initialization.

Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Co-developed-by: Soul Huang <Soul.Huang@mediatek.com>
Signed-off-by: Soul Huang <Soul.Huang@mediatek.com>
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
  • Loading branch information
Sean Wang authored and Felix Fietkau committed Jan 29, 2021
1 parent 163f4d2 commit 1c099ab
Show file tree
Hide file tree
Showing 4 changed files with 3,462 additions and 0 deletions.
28 changes: 28 additions & 0 deletions drivers/net/wireless/mediatek/mt76/mt7921/mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -1338,6 +1338,30 @@ mt7921_mac_update_mib_stats(struct mt7921_phy *phy)
}
}

static void
mt7921_mac_sta_stats_work(struct mt7921_phy *phy)
{
struct mt7921_dev *dev = phy->dev;
struct mt7921_sta *msta;
LIST_HEAD(list);

spin_lock_bh(&dev->sta_poll_lock);
list_splice_init(&phy->stats_list, &list);

while (!list_empty(&list)) {
msta = list_first_entry(&list, struct mt7921_sta, stats_list);
list_del_init(&msta->stats_list);
spin_unlock_bh(&dev->sta_poll_lock);

/* query wtbl info to report tx rate for further devices */
mt7921_get_wtbl_info(dev, msta->wcid.idx);

spin_lock_bh(&dev->sta_poll_lock);
}

spin_unlock_bh(&dev->sta_poll_lock);
}

void mt7921_mac_work(struct work_struct *work)
{
struct mt7921_phy *phy;
Expand All @@ -1355,6 +1379,10 @@ void mt7921_mac_work(struct work_struct *work)

mt7921_mac_update_mib_stats(phy);
}
if (++phy->sta_work_count == 10) {
phy->sta_work_count = 0;
mt7921_mac_sta_stats_work(phy);
};

mutex_unlock(&mphy->dev->mutex);

Expand Down
Loading

0 comments on commit 1c099ab

Please sign in to comment.