]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
wifi: rtw88: 8822ce: refine power parameters for RFE type 5
authorPing-Ke Shih <pkshih@realtek.com>
Wed, 3 Jan 2024 07:01:55 +0000 (15:01 +0800)
committerKalle Valo <kvalo@kernel.org>
Wed, 10 Jan 2024 14:52:17 +0000 (16:52 +0200)
Refine the power parameters for better step response especially at high
current ramp case that is caused by power inductor variation.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240103070155.119488-1-pkshih@realtek.com
drivers/net/wireless/realtek/rtw88/pci.c
drivers/net/wireless/realtek/rtw88/reg.h

index 2bfc0e822b8d0bf3f38108f514d9270848ac5b9b..9986a4cb37eb2b287afb50f48b731092c4d7b136 100644 (file)
@@ -1450,6 +1450,7 @@ static void rtw_pci_phy_cfg(struct rtw_dev *rtwdev)
 {
        struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
        const struct rtw_chip_info *chip = rtwdev->chip;
+       struct rtw_efuse *efuse = &rtwdev->efuse;
        struct pci_dev *pdev = rtwpci->pdev;
        const struct rtw_intf_phy_para *para;
        u16 cut;
@@ -1498,6 +1499,9 @@ static void rtw_pci_phy_cfg(struct rtw_dev *rtwdev)
                        rtw_err(rtwdev, "failed to set PCI cap, ret = %d\n",
                                ret);
        }
+
+       if (chip->id == RTW_CHIP_TYPE_8822C && efuse->rfe_option == 5)
+               rtw_write32_mask(rtwdev, REG_ANAPARSW_MAC_0, BIT_CF_L_V2, 0x1);
 }
 
 static int __maybe_unused rtw_pci_suspend(struct device *dev)
index 1634f03784f17194114cf75a221aac156dd76868..b122f226924be5d973bdc74fa5b3312df933c2c6 100644 (file)
 #define REG_RFE_INV16          0x0cbe
 #define BIT_RFE_BUF_EN         BIT(3)
 
+#define REG_ANAPARSW_MAC_0     0x1010
+#define BIT_CF_L_V2            GENMASK(29, 28)
+
 #define REG_ANAPAR_XTAL_0      0x1040
 #define BIT_XCAP_0             GENMASK(23, 10)
 #define REG_CPU_DMEM_CON       0x1080