Message ID | 40d95ad10621c248a9129ef73158adfa9ffd6d17.1660606893.git.objelf@gmail.com |
---|---|
State | New |
Headers | show |
Series | wifi: mt76: mt7921: introduce chanctx support | expand |
> From: Sean Wang <sean.wang@mediatek.com> > > Reuse mt76_connac_mcu_uni_set_chctx to avoid the dupicated code. I guess you can squash this patch with the previous one. Regards, Lorenzo > > Signed-off-by: Sean Wang <sean.wang@mediatek.com> > --- > .../wireless/mediatek/mt76/mt76_connac_mcu.c | 73 +------------------ > 1 file changed, 1 insertion(+), 72 deletions(-) > > diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c > index 3d5c70765d4f..3e473a409790 100644 > --- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c > +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c > @@ -1401,7 +1401,6 @@ int mt76_connac_mcu_uni_add_bss(struct mt76_phy *phy, > { > struct mt76_vif *mvif = (struct mt76_vif *)vif->drv_priv; > struct cfg80211_chan_def *chandef = &phy->chandef; > - int freq1 = chandef->center_freq1, freq2 = chandef->center_freq2; > enum nl80211_band band = chandef->chan->band; > struct mt76_dev *mdev = phy->dev; > struct { > @@ -1432,43 +1431,6 @@ int mt76_connac_mcu_uni_add_bss(struct mt76_phy *phy, > .qos = vif->bss_conf.qos, > }, > }; > - struct { > - struct { > - u8 bss_idx; > - u8 pad[3]; > - } __packed hdr; > - struct rlm_tlv { > - __le16 tag; > - __le16 len; > - u8 control_channel; > - u8 center_chan; > - u8 center_chan2; > - u8 bw; > - u8 tx_streams; > - u8 rx_streams; > - u8 short_st; > - u8 ht_op_info; > - u8 sco; > - u8 band; > - u8 pad[2]; > - } __packed rlm; > - } __packed rlm_req = { > - .hdr = { > - .bss_idx = mvif->idx, > - }, > - .rlm = { > - .tag = cpu_to_le16(UNI_BSS_INFO_RLM), > - .len = cpu_to_le16(sizeof(struct rlm_tlv)), > - .control_channel = chandef->chan->hw_value, > - .center_chan = ieee80211_frequency_to_channel(freq1), > - .center_chan2 = ieee80211_frequency_to_channel(freq2), > - .tx_streams = hweight8(phy->antenna_mask), > - .ht_op_info = 4, /* set HT 40M allowed */ > - .rx_streams = phy->chainmask, > - .short_st = true, > - .band = band, > - }, > - }; > int err, conn_type; > u8 idx, basic_phy; > > @@ -1555,40 +1517,7 @@ int mt76_connac_mcu_uni_add_bss(struct mt76_phy *phy, > return err; > } > > - switch (chandef->width) { > - case NL80211_CHAN_WIDTH_40: > - rlm_req.rlm.bw = CMD_CBW_40MHZ; > - break; > - case NL80211_CHAN_WIDTH_80: > - rlm_req.rlm.bw = CMD_CBW_80MHZ; > - break; > - case NL80211_CHAN_WIDTH_80P80: > - rlm_req.rlm.bw = CMD_CBW_8080MHZ; > - break; > - case NL80211_CHAN_WIDTH_160: > - rlm_req.rlm.bw = CMD_CBW_160MHZ; > - break; > - case NL80211_CHAN_WIDTH_5: > - rlm_req.rlm.bw = CMD_CBW_5MHZ; > - break; > - case NL80211_CHAN_WIDTH_10: > - rlm_req.rlm.bw = CMD_CBW_10MHZ; > - break; > - case NL80211_CHAN_WIDTH_20_NOHT: > - case NL80211_CHAN_WIDTH_20: > - default: > - rlm_req.rlm.bw = CMD_CBW_20MHZ; > - rlm_req.rlm.ht_op_info = 0; > - break; > - } > - > - if (rlm_req.rlm.control_channel < rlm_req.rlm.center_chan) > - rlm_req.rlm.sco = 1; /* SCA */ > - else if (rlm_req.rlm.control_channel > rlm_req.rlm.center_chan) > - rlm_req.rlm.sco = 3; /* SCB */ > - > - return mt76_mcu_send_msg(mdev, MCU_UNI_CMD(BSS_INFO_UPDATE), &rlm_req, > - sizeof(rlm_req), true); > + return mt76_connac_mcu_uni_set_chctx(phy, mvif, NULL); > } > EXPORT_SYMBOL_GPL(mt76_connac_mcu_uni_add_bss); > > -- > 2.25.1 >
diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c index 3d5c70765d4f..3e473a409790 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c @@ -1401,7 +1401,6 @@ int mt76_connac_mcu_uni_add_bss(struct mt76_phy *phy, { struct mt76_vif *mvif = (struct mt76_vif *)vif->drv_priv; struct cfg80211_chan_def *chandef = &phy->chandef; - int freq1 = chandef->center_freq1, freq2 = chandef->center_freq2; enum nl80211_band band = chandef->chan->band; struct mt76_dev *mdev = phy->dev; struct { @@ -1432,43 +1431,6 @@ int mt76_connac_mcu_uni_add_bss(struct mt76_phy *phy, .qos = vif->bss_conf.qos, }, }; - struct { - struct { - u8 bss_idx; - u8 pad[3]; - } __packed hdr; - struct rlm_tlv { - __le16 tag; - __le16 len; - u8 control_channel; - u8 center_chan; - u8 center_chan2; - u8 bw; - u8 tx_streams; - u8 rx_streams; - u8 short_st; - u8 ht_op_info; - u8 sco; - u8 band; - u8 pad[2]; - } __packed rlm; - } __packed rlm_req = { - .hdr = { - .bss_idx = mvif->idx, - }, - .rlm = { - .tag = cpu_to_le16(UNI_BSS_INFO_RLM), - .len = cpu_to_le16(sizeof(struct rlm_tlv)), - .control_channel = chandef->chan->hw_value, - .center_chan = ieee80211_frequency_to_channel(freq1), - .center_chan2 = ieee80211_frequency_to_channel(freq2), - .tx_streams = hweight8(phy->antenna_mask), - .ht_op_info = 4, /* set HT 40M allowed */ - .rx_streams = phy->chainmask, - .short_st = true, - .band = band, - }, - }; int err, conn_type; u8 idx, basic_phy; @@ -1555,40 +1517,7 @@ int mt76_connac_mcu_uni_add_bss(struct mt76_phy *phy, return err; } - switch (chandef->width) { - case NL80211_CHAN_WIDTH_40: - rlm_req.rlm.bw = CMD_CBW_40MHZ; - break; - case NL80211_CHAN_WIDTH_80: - rlm_req.rlm.bw = CMD_CBW_80MHZ; - break; - case NL80211_CHAN_WIDTH_80P80: - rlm_req.rlm.bw = CMD_CBW_8080MHZ; - break; - case NL80211_CHAN_WIDTH_160: - rlm_req.rlm.bw = CMD_CBW_160MHZ; - break; - case NL80211_CHAN_WIDTH_5: - rlm_req.rlm.bw = CMD_CBW_5MHZ; - break; - case NL80211_CHAN_WIDTH_10: - rlm_req.rlm.bw = CMD_CBW_10MHZ; - break; - case NL80211_CHAN_WIDTH_20_NOHT: - case NL80211_CHAN_WIDTH_20: - default: - rlm_req.rlm.bw = CMD_CBW_20MHZ; - rlm_req.rlm.ht_op_info = 0; - break; - } - - if (rlm_req.rlm.control_channel < rlm_req.rlm.center_chan) - rlm_req.rlm.sco = 1; /* SCA */ - else if (rlm_req.rlm.control_channel > rlm_req.rlm.center_chan) - rlm_req.rlm.sco = 3; /* SCB */ - - return mt76_mcu_send_msg(mdev, MCU_UNI_CMD(BSS_INFO_UPDATE), &rlm_req, - sizeof(rlm_req), true); + return mt76_connac_mcu_uni_set_chctx(phy, mvif, NULL); } EXPORT_SYMBOL_GPL(mt76_connac_mcu_uni_add_bss);