From: <sean.wang@mediatek.com> To: <nbd@nbd.name>, <lorenzo.bianconi@redhat.com> Cc: <sean.wang@mediatek.com>, <Soul.Huang@mediatek.com>, <YN.Chen@mediatek.com>, <robin.chiu@mediatek.com>, <ch.yeh@mediatek.com>, <posh.sun@mediatek.com>, <Eric.Liang@mediatek.com>, <ryder.lee@mediatek.com>, <linux-wireless@vger.kernel.org>, <linux-mediatek@lists.infradead.org>, Lorenzo Bianconi <lorenzo@kernel.org> Subject: [PATCH -next v5 13/15] mt76: mt7921: introduce support for hardware beacon filter Date: Tue, 5 Jan 2021 02:00:17 +0800 [thread overview] Message-ID: <d9c69b2d1aca66058fd7818634e8eb47a3060efc.1609781247.git.objelf@gmail.com> (raw) In-Reply-To: <cover.1609781247.git.objelf@gmail.com> From: Sean Wang <sean.wang@mediatek.com> Introduce support for hw beacon filter available in the mt7921 firmware. 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> --- .../net/wireless/mediatek/mt76/mt7921/mcu.c | 40 +++++++++++++++++++ .../wireless/mediatek/mt76/mt7921/mt7921.h | 2 + 2 files changed, 42 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c index ab2630ca31ca..1ea209852ef9 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c @@ -2548,3 +2548,43 @@ int mt7921_mcu_set_vif_ps(struct mt7921_dev *dev, struct ieee80211_vif *vif) return mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_PS_PROFILE, &req, sizeof(req), false); } + +int mt7921_mcu_set_bss_pm(struct mt7921_dev *dev, struct ieee80211_vif *vif, + bool enable) +{ + struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv; + struct { + u8 bss_idx; + u8 dtim_period; + __le16 aid; + __le16 bcn_interval; + __le16 atim_window; + u8 uapsd; + u8 bmc_delivered_ac; + u8 bmc_triggered_ac; + u8 pad; + } req = { + .bss_idx = mvif->idx, + .aid = cpu_to_le16(vif->bss_conf.aid), + .dtim_period = vif->bss_conf.dtim_period, + .bcn_interval = cpu_to_le16(vif->bss_conf.beacon_int), + }; + struct { + u8 bss_idx; + u8 pad[3]; + } req_hdr = { + .bss_idx = mvif->idx, + }; + int err; + + if (vif->type != NL80211_IFTYPE_STATION) + return 0; + + err = mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_BSS_ABORT, &req_hdr, + sizeof(req_hdr), false); + if (err < 0 || !enable) + return err; + + return mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_BSS_CONNECTED, &req, + sizeof(req), false); +} diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h b/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h index 80610fe22af4..54d3d21abf91 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h @@ -363,4 +363,6 @@ int mt7921_mcu_cancel_hw_scan(struct mt7921_phy *phy, struct ieee80211_vif *vif); u32 mt7921_get_wtbl_info(struct mt7921_dev *dev, u16 wlan_idx); int mt7921_mcu_set_vif_ps(struct mt7921_dev *dev, struct ieee80211_vif *vif); +int mt7921_mcu_set_bss_pm(struct mt7921_dev *dev, struct ieee80211_vif *vif, + bool enable); #endif -- 2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: <sean.wang@mediatek.com> To: <nbd@nbd.name>, <lorenzo.bianconi@redhat.com> Cc: ryder.lee@mediatek.com, robin.chiu@mediatek.com, ch.yeh@mediatek.com, Eric.Liang@mediatek.com, sean.wang@mediatek.com, linux-wireless@vger.kernel.org, posh.sun@mediatek.com, YN.Chen@mediatek.com, linux-mediatek@lists.infradead.org, Soul.Huang@mediatek.com, Lorenzo Bianconi <lorenzo@kernel.org> Subject: [PATCH -next v5 13/15] mt76: mt7921: introduce support for hardware beacon filter Date: Tue, 5 Jan 2021 02:00:17 +0800 [thread overview] Message-ID: <d9c69b2d1aca66058fd7818634e8eb47a3060efc.1609781247.git.objelf@gmail.com> (raw) In-Reply-To: <cover.1609781247.git.objelf@gmail.com> From: Sean Wang <sean.wang@mediatek.com> Introduce support for hw beacon filter available in the mt7921 firmware. 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> --- .../net/wireless/mediatek/mt76/mt7921/mcu.c | 40 +++++++++++++++++++ .../wireless/mediatek/mt76/mt7921/mt7921.h | 2 + 2 files changed, 42 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c index ab2630ca31ca..1ea209852ef9 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c @@ -2548,3 +2548,43 @@ int mt7921_mcu_set_vif_ps(struct mt7921_dev *dev, struct ieee80211_vif *vif) return mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_PS_PROFILE, &req, sizeof(req), false); } + +int mt7921_mcu_set_bss_pm(struct mt7921_dev *dev, struct ieee80211_vif *vif, + bool enable) +{ + struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv; + struct { + u8 bss_idx; + u8 dtim_period; + __le16 aid; + __le16 bcn_interval; + __le16 atim_window; + u8 uapsd; + u8 bmc_delivered_ac; + u8 bmc_triggered_ac; + u8 pad; + } req = { + .bss_idx = mvif->idx, + .aid = cpu_to_le16(vif->bss_conf.aid), + .dtim_period = vif->bss_conf.dtim_period, + .bcn_interval = cpu_to_le16(vif->bss_conf.beacon_int), + }; + struct { + u8 bss_idx; + u8 pad[3]; + } req_hdr = { + .bss_idx = mvif->idx, + }; + int err; + + if (vif->type != NL80211_IFTYPE_STATION) + return 0; + + err = mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_BSS_ABORT, &req_hdr, + sizeof(req_hdr), false); + if (err < 0 || !enable) + return err; + + return mt76_mcu_send_msg(&dev->mt76, MCU_CMD_SET_BSS_CONNECTED, &req, + sizeof(req), false); +} diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h b/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h index 80610fe22af4..54d3d21abf91 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h @@ -363,4 +363,6 @@ int mt7921_mcu_cancel_hw_scan(struct mt7921_phy *phy, struct ieee80211_vif *vif); u32 mt7921_get_wtbl_info(struct mt7921_dev *dev, u16 wlan_idx); int mt7921_mcu_set_vif_ps(struct mt7921_dev *dev, struct ieee80211_vif *vif); +int mt7921_mcu_set_bss_pm(struct mt7921_dev *dev, struct ieee80211_vif *vif, + bool enable); #endif -- 2.25.1 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek
next prev parent reply other threads:[~2021-01-04 18:01 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-04 18:00 [PATCH -next v5 00/15] introduce mt7921e support sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 01/15] mt76: move mac_work in mt76_core module sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 02/15] mt76: move chainmask in mt76_phy sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 03/15] mt76: mt7921: add MAC support sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 04/15] mt76: mt7921: add MCU support sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 05/15] mt76: mt7921: add DMA support sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 06/15] mt76: mt7921: add EEPROM support sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 07/15] mt76: mt7921: add ieee80211_ops sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 08/15] mt76: mt7921: introduce mt7921e support sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 09/15] mt76: mt7921: add debugfs support sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 10/15] mt76: mt7921: add module support sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 11/15] mt76: mt7921: introduce schedule scan support sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 12/15] mt76: mt7921: introduce 802.11 PS support in sta mode sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` sean.wang [this message] 2021-01-04 18:00 ` [PATCH -next v5 13/15] mt76: mt7921: introduce support for hardware beacon filter sean.wang 2021-01-04 18:00 ` [PATCH -next v5 14/15] mt76: mt7921: introduce beacon_loss mcu event sean.wang 2021-01-04 18:00 ` sean.wang 2021-01-04 18:00 ` [PATCH -next v5 15/15] mt76: mt7921: introduce PM support sean.wang 2021-01-04 18:00 ` sean.wang
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=d9c69b2d1aca66058fd7818634e8eb47a3060efc.1609781247.git.objelf@gmail.com \ --to=sean.wang@mediatek.com \ --cc=Eric.Liang@mediatek.com \ --cc=Soul.Huang@mediatek.com \ --cc=YN.Chen@mediatek.com \ --cc=ch.yeh@mediatek.com \ --cc=linux-mediatek@lists.infradead.org \ --cc=linux-wireless@vger.kernel.org \ --cc=lorenzo.bianconi@redhat.com \ --cc=lorenzo@kernel.org \ --cc=nbd@nbd.name \ --cc=posh.sun@mediatek.com \ --cc=robin.chiu@mediatek.com \ --cc=ryder.lee@mediatek.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.