[PATCH] wifi: mt76: connac2: add CLC regulatory domain support
JB Tsai <[email protected]>
| Newsgroups | org.infradead.lists.linux-mediatek,org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <[email protected]> |
From: Charlie-cy Wu <[email protected]> Add MT7921_CLC_REGD index definition and corresponding hardware encapsulation type check in CLC loading flow to support regulatory domain configuration via CLC (Country/Local Configuration) data. Fixes: 058f274fb55f ("wifi: mt76: mt7921: add regulatory wiphy self manager support") Signed-off-by: Charlie-cy Wu <[email protected]> --- drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 4 ++++ drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h | 1 + 2 files changed, 5 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c index 2e0769d18f87..c6af7f00ca59 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c @@ -476,6 +476,10 @@ static int mt7921_load_clc(struct mt792x_dev *dev, const char *fw_name) u8_get_bits(clc->type, MT_EE_HW_TYPE_ENCAP) != hw_encap) continue; + if (clc->idx == MT7921_CLC_REGD && + u8_get_bits(clc->type, MT_EE_HW_TYPE_ENCAP) != hw_encap) + continue; + phy->clc[clc->idx] = devm_kmemdup(mdev->dev, clc, le32_to_cpu(clc->len), GFP_KERNEL); diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h b/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h index fb8654b7c5e7..f5628fb6bfbf 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h @@ -136,6 +136,7 @@ struct mt7921_dma_layout { enum { MT7921_CLC_POWER, MT7921_CLC_CHAN, + MT7921_CLC_REGD = 3, MT7921_CLC_MAX_NUM, }; -- 2.18.0