lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 573/846] rtw88: 8822c: update rx settings to prevent potential hw deadlock
    Date
    From: Po-Hao Huang <phhuang@realtek.com>

    [ Upstream commit c1afb26727d9e507d3e17a9890e7aaf7fc85cd55 ]

    These settings enables mac to detect and recover when rx fifo
    circuit deadlock occurs. Previous version missed this, so we fix it.

    Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
    Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
    Signed-off-by: Kalle Valo <kvalo@kernel.org>
    Link: https://lore.kernel.org/r/20211217012708.8623-1-pkshih@realtek.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/realtek/rtw88/main.c | 2 +-
    drivers/net/wireless/realtek/rtw88/rtw8821c.h | 2 +-
    drivers/net/wireless/realtek/rtw88/rtw8822b.c | 2 +-
    drivers/net/wireless/realtek/rtw88/rtw8822c.c | 2 +-
    4 files changed, 4 insertions(+), 4 deletions(-)

    diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
    index 6bb55e663fc36..69512856bb462 100644
    --- a/drivers/net/wireless/realtek/rtw88/main.c
    +++ b/drivers/net/wireless/realtek/rtw88/main.c
    @@ -1859,7 +1859,7 @@ int rtw_core_init(struct rtw_dev *rtwdev)

    /* default rx filter setting */
    rtwdev->hal.rcr = BIT_APP_FCS | BIT_APP_MIC | BIT_APP_ICV |
    - BIT_HTC_LOC_CTRL | BIT_APP_PHYSTS |
    + BIT_PKTCTL_DLEN | BIT_HTC_LOC_CTRL | BIT_APP_PHYSTS |
    BIT_AB | BIT_AM | BIT_APM;

    ret = rtw_load_firmware(rtwdev, RTW_NORMAL_FW);
    diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821c.h b/drivers/net/wireless/realtek/rtw88/rtw8821c.h
    index 112faa60f653e..d9fbddd7b0f35 100644
    --- a/drivers/net/wireless/realtek/rtw88/rtw8821c.h
    +++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.h
    @@ -131,7 +131,7 @@ _rtw_write32s_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 data)
    #define WLAN_TX_FUNC_CFG2 0x30
    #define WLAN_MAC_OPT_NORM_FUNC1 0x98
    #define WLAN_MAC_OPT_LB_FUNC1 0x80
    -#define WLAN_MAC_OPT_FUNC2 0x30810041
    +#define WLAN_MAC_OPT_FUNC2 0xb0810041

    #define WLAN_SIFS_CFG (WLAN_SIFS_CCK_CONT_TX | \
    (WLAN_SIFS_OFDM_CONT_TX << BIT_SHIFT_SIFS_OFDM_CTX) | \
    diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822b.c b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
    index f1789155e9016..247f26e3e8192 100644
    --- a/drivers/net/wireless/realtek/rtw88/rtw8822b.c
    +++ b/drivers/net/wireless/realtek/rtw88/rtw8822b.c
    @@ -204,7 +204,7 @@ static void rtw8822b_phy_set_param(struct rtw_dev *rtwdev)
    #define WLAN_TX_FUNC_CFG2 0x30
    #define WLAN_MAC_OPT_NORM_FUNC1 0x98
    #define WLAN_MAC_OPT_LB_FUNC1 0x80
    -#define WLAN_MAC_OPT_FUNC2 0x30810041
    +#define WLAN_MAC_OPT_FUNC2 0xb0810041

    #define WLAN_SIFS_CFG (WLAN_SIFS_CCK_CONT_TX | \
    (WLAN_SIFS_OFDM_CONT_TX << BIT_SHIFT_SIFS_OFDM_CTX) | \
    diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822c.c b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
    index f3ad079967a68..bc87e3cb9cdce 100644
    --- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
    +++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
    @@ -1962,7 +1962,7 @@ static void rtw8822c_phy_set_param(struct rtw_dev *rtwdev)
    #define WLAN_TX_FUNC_CFG2 0x30
    #define WLAN_MAC_OPT_NORM_FUNC1 0x98
    #define WLAN_MAC_OPT_LB_FUNC1 0x80
    -#define WLAN_MAC_OPT_FUNC2 0x30810041
    +#define WLAN_MAC_OPT_FUNC2 0xb0810041
    #define WLAN_MAC_INT_MIG_CFG 0x33330000

    #define WLAN_SIFS_CFG (WLAN_SIFS_CCK_CONT_TX | \
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-24 22:40    [W:3.872 / U:0.820 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site