mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 19:43:40 +02:00
wifi: rtw89: phy: update edcca log parsing for RTL8922D
Before this change the rtw89_phy_edcca_log routine didn't handled RTL8922D. This update expands the logic to recognize RTL8922D EDCCA reports. Signed-off-by: Eric Huang <echuang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260117044157.2392958-5-pkshih@realtek.com
This commit is contained in:
parent
20380a039d
commit
bcd23ebfef
|
|
@ -7980,6 +7980,7 @@ static void rtw89_phy_edcca_log(struct rtw89_dev *rtwdev, struct rtw89_bb_ctx *b
|
|||
bool flag_fb, flag_p20, flag_s20, flag_s40, flag_s80;
|
||||
s8 pwdb_fb, pwdb_p20, pwdb_s20, pwdb_s40, pwdb_s80;
|
||||
u8 path, per20_bitmap = 0;
|
||||
u8 pwdb_sel = 5;
|
||||
u8 pwdb[8];
|
||||
u32 tmp;
|
||||
|
||||
|
|
@ -7991,12 +7992,14 @@ static void rtw89_phy_edcca_log(struct rtw89_dev *rtwdev, struct rtw89_bb_ctx *b
|
|||
else
|
||||
edcca_p_regs = &edcca_regs->p[RTW89_PHY_0];
|
||||
|
||||
if (rtwdev->chip->chip_id == RTL8922A)
|
||||
rtw89_phy_write32_mask(rtwdev, edcca_regs->rpt_sel_be,
|
||||
edcca_regs->rpt_sel_be_mask, 0);
|
||||
|
||||
rtw89_phy_write32_mask(rtwdev, edcca_p_regs->rpt_sel,
|
||||
edcca_p_regs->rpt_sel_mask, 0);
|
||||
if (rtwdev->chip->chip_id == RTL8922A || rtwdev->chip->chip_id == RTL8922D) {
|
||||
rtw89_phy_write32_mask(rtwdev, edcca_regs->rpt_sel_be,
|
||||
edcca_regs->rpt_sel_be_mask, 0);
|
||||
per20_bitmap = rtw89_phy_read32_mask(rtwdev, edcca_p_regs->rpt_a,
|
||||
MASKBYTE0);
|
||||
}
|
||||
tmp = rtw89_phy_read32(rtwdev, edcca_p_regs->rpt_b);
|
||||
path = u32_get_bits(tmp, B_EDCCA_RPT_B_PATH_MASK);
|
||||
flag_s80 = u32_get_bits(tmp, B_EDCCA_RPT_B_S80);
|
||||
|
|
@ -8008,13 +8011,16 @@ static void rtw89_phy_edcca_log(struct rtw89_dev *rtwdev, struct rtw89_bb_ctx *b
|
|||
pwdb_p20 = u32_get_bits(tmp, MASKBYTE2);
|
||||
pwdb_fb = u32_get_bits(tmp, MASKBYTE3);
|
||||
|
||||
if (rtwdev->chip->chip_id == RTL8922D)
|
||||
pwdb_sel = 2;
|
||||
|
||||
rtw89_phy_write32_mask(rtwdev, edcca_p_regs->rpt_sel,
|
||||
edcca_p_regs->rpt_sel_mask, 5);
|
||||
edcca_p_regs->rpt_sel_mask, pwdb_sel);
|
||||
tmp = rtw89_phy_read32(rtwdev, edcca_p_regs->rpt_b);
|
||||
pwdb_s80 = u32_get_bits(tmp, MASKBYTE1);
|
||||
pwdb_s40 = u32_get_bits(tmp, MASKBYTE2);
|
||||
|
||||
if (rtwdev->chip->chip_id == RTL8922A) {
|
||||
if (rtwdev->chip->chip_id == RTL8922A || rtwdev->chip->chip_id == RTL8922D) {
|
||||
rtw89_phy_write32_mask(rtwdev, edcca_regs->rpt_sel_be,
|
||||
edcca_regs->rpt_sel_be_mask, 4);
|
||||
tmp = rtw89_phy_read32(rtwdev, edcca_p_regs->rpt_b);
|
||||
|
|
@ -8022,8 +8028,6 @@ static void rtw89_phy_edcca_log(struct rtw89_dev *rtwdev, struct rtw89_bb_ctx *b
|
|||
pwdb[1] = u32_get_bits(tmp, MASKBYTE2);
|
||||
pwdb[2] = u32_get_bits(tmp, MASKBYTE1);
|
||||
pwdb[3] = u32_get_bits(tmp, MASKBYTE0);
|
||||
per20_bitmap = rtw89_phy_read32_mask(rtwdev, edcca_p_regs->rpt_a,
|
||||
MASKBYTE0);
|
||||
|
||||
rtw89_phy_write32_mask(rtwdev, edcca_regs->rpt_sel_be,
|
||||
edcca_regs->rpt_sel_be_mask, 5);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user