[PATCH rtw-next 10/14] wifi: rtw89: 8922d: correct selection of CCK rate circuit
Ping-Ke Shih <[email protected]>
| Newsgroups | org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <[email protected]> |
The RTL8922D has single one shared CCK rate circuit. When operating on 0+2 mode, the selection should be on RTW89_PHY_1. For 1+1 operating mode, select RTW89_PHY_1 only if PHY0 isn't on 2GHz band but PHY1 does. Also, change the operating mode of debugging value from decimal to hexadecimal to be easier to read. Signed-off-by: Ping-Ke Shih <[email protected]> --- drivers/net/wireless/realtek/rtw89/chan.c | 2 +- drivers/net/wireless/realtek/rtw89/rtw8922d.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/realtek/rtw89/chan.c b/drivers/net/wireless/realtek/rtw89/chan.c index 6f11335b4968..99b52ca05fe2 100644 --- a/drivers/net/wireless/realtek/rtw89/chan.c +++ b/drivers/net/wireless/realtek/rtw89/chan.c @@ -527,7 +527,7 @@ static void rtw89_entity_recalc_mlo_dbcc_mode(struct rtw89_dev *rtwdev) mode = rtw89_entity_sel_mlo_dbcc_mode(rtwdev, active_hws); rtwdev->mlo_dbcc_mode = mode; - rtw89_debug(rtwdev, RTW89_DBG_STATE, "recalc mlo dbcc mode to %d\n", mode); + rtw89_debug(rtwdev, RTW89_DBG_STATE, "recalc mlo dbcc mode to 0x%x\n", mode); } static void rtw89_entity_recalc_mgnt_roles(struct rtw89_dev *rtwdev) diff --git a/drivers/net/wireless/realtek/rtw89/rtw8922d.c b/drivers/net/wireless/realtek/rtw89/rtw8922d.c index 287a9476bb77..75297b39c4d7 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8922d.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8922d.c @@ -2471,14 +2471,15 @@ static int rtw8922d_ctrl_mlo(struct rtw89_dev *rtwdev, enum rtw89_mlo_dbcc_mode rtw89_write32_mask(rtwdev, reg1, B_BBWRAP_ELMSR_EN_BE4, 0); } else if (mode == MLO_0_PLUS_2_1RF) { rtw89_phy_write32_mask(rtwdev, R_SYS_DBCC_BE4, - B_SYS_DBCC_24G_BAND_SEL_BE4, RTW89_PHY_0); + B_SYS_DBCC_24G_BAND_SEL_BE4, RTW89_PHY_1); rtw89_write32_mask(rtwdev, reg0, B_BBWRAP_ELMSR_EN_BE4, 0); rtw89_write32_mask(rtwdev, reg1, B_BBWRAP_ELMSR_EN_BE4, 0); } else if ((mode == MLO_1_PLUS_1_1RF) || (mode == DBCC_LEGACY)) { struct rtw89_entity_conf conf; rtw89_entity_get_conf(rtwdev, &conf); - cck_phy_idx = conf.chans[1]->band_type == RTW89_BAND_2G ? + cck_phy_idx = conf.chans[0]->band_type != RTW89_BAND_2G && + conf.chans[1]->band_type == RTW89_BAND_2G ? RTW89_PHY_1 : RTW89_PHY_0; rtw89_phy_write32_mask(rtwdev, R_SYS_DBCC_BE4, -- 2.25.1