From patchwork Tue Jan 8 22:49:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernd Edlinger X-Patchwork-Id: 10752995 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 383F414E5 for ; Tue, 8 Jan 2019 22:49:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2762328CC9 for ; Tue, 8 Jan 2019 22:49:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1B59528D33; Tue, 8 Jan 2019 22:49:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 985D028CC9 for ; Tue, 8 Jan 2019 22:49:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730079AbfAHWt2 convert rfc822-to-8bit (ORCPT ); Tue, 8 Jan 2019 17:49:28 -0500 Received: from mail-oln040092072048.outbound.protection.outlook.com ([40.92.72.48]:16480 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729328AbfAHWt2 (ORCPT ); Tue, 8 Jan 2019 17:49:28 -0500 Received: from AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com (10.152.16.56) by AM5EUR03HT054.eop-EUR03.prod.protection.outlook.com (10.152.17.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.18; Tue, 8 Jan 2019 22:49:24 +0000 Received: from AM6PR07MB5608.eurprd07.prod.outlook.com (10.152.16.52) by AM5EUR03FT023.mail.protection.outlook.com (10.152.16.169) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.18 via Frontend Transport; Tue, 8 Jan 2019 22:49:24 +0000 Received: from AM6PR07MB5608.eurprd07.prod.outlook.com ([fe80::68b1:73c3:455d:de2a]) by AM6PR07MB5608.eurprd07.prod.outlook.com ([fe80::68b1:73c3:455d:de2a%2]) with mapi id 15.20.1516.010; Tue, 8 Jan 2019 22:49:23 +0000 From: Bernd Edlinger To: Ping-Ke Shih , Larry Finger , Kalle Valo , "David S. Miller" , "linux-wireless@vger.kernel.org" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Andrew Lunn Subject: [PATCH v4 1/4] rtl8723ae: Take the FW LPS mode handling out Thread-Topic: [PATCH v4 1/4] rtl8723ae: Take the FW LPS mode handling out Thread-Index: AQHUp6RmDijYI8GSZ0Oks0cNbTl2qw== Date: Tue, 8 Jan 2019 22:49:23 +0000 Message-ID: Accept-Language: en-US, en-GB, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR0202CA0064.eurprd02.prod.outlook.com (2603:10a6:20b:3a::41) To AM6PR07MB5608.eurprd07.prod.outlook.com (2603:10a6:20b:6f::21) x-incomingtopheadermarker: OriginalChecksum:F67BFE7AEFB5CC74BDFB262E29E6E8F2C2C3B75122C22919837D603BDF07F59D;UpperCasedChecksum:535BE324B378FD6DC25A0BBA81C0E3FF4C22054CF32F5CB5781F8B62F146B469;SizeAsReceived:8778;Count:62 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [zuLHMHZlQpP/+x4ZPW57g99Qfdsn9ohz] x-microsoft-original-message-id: x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM5EUR03HT054;6:lhYrEg4+zKIMnSDWaoaa6hz6PZCI2bLQUnyofGcyg2WuxwEyGCAuBFTYj88z1+HdEnHhrasULLPGmyWsmAtyIVMXsFhvoS/xKGaayYyUyUg/6K049YAkPJutBYI7Zd+84IygDUTUesAA5CHG0xn8w3tlEDBI/I0qA0mRlZ8JbgdEvwiNVB6UF7g7cfh97EJLcO1wETi19dKU0U+la6/PAQl3qQPn58wbDZEXAzIkB57FAoSX0gqLZVO03iLCVlSlFAv7mXw7zlRwqXknkpq2x8LqyDb7qLil3/leYLB9OXc124XalaH6XaxP/omeLDRvDruLaImFvl695GO5nkc/YZPY8LC/7y7F8OxNNvai5gzle7tlcvmOKmPo0RFJHLFKkzgVRaqnRl5Js1uE/MRB4U8BvQjp9i9ZsKuEzw4ANcss3lzctQ9uf0Gf1EFtasH4DifiqwY3jZK3Bu16B4QOYQ==;5:+jttb/sdstd1EH2eSCQJsO8qE9QERp7L8NDnBB+D84wjw8yjLxfqYKVRiORBCvFneUhEEAd0Sr0bw6sVRV/g9UpF7+uNMai/RcHM3P8Qv1K8dTY3hB0wWH9rT0YJv7CYonU+ikhOopavI6uLgtk/0oOBwRFhBi+bjEw0oZCYaic=;7:htZOK6Wm38LnvkawIzELfVynqpH/kliVBJ1l/kvD6Fz+fRu+KpCzBa2U/F0IrsHoAJJUEhegAv7dVtwGHaushE1yLvKW7r1x8pDnF6ep4IjGNb945lp8LczQ+elfGzA9kGrcI0qpYULfDuy4XieROA== x-incomingheadercount: 62 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031323274)(2017031324274)(2017031322404)(1601125500)(1603101475)(1701031045);SRVR:AM5EUR03HT054; x-ms-traffictypediagnostic: AM5EUR03HT054: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(4566010)(82015058);SRVR:AM5EUR03HT054;BCL:0;PCL:0;RULEID:;SRVR:AM5EUR03HT054; x-microsoft-antispam-message-info: qGgv7u71Tk8ay/H1hM3Ycc8ml2B1UTdYjx/+7bv9vm9UHSdJtym9sfDaJULtplBo Content-ID: <5C60488ADFDF104693C168DE625A0E9B@eurprd07.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-Network-Message-Id: d0a313bb-3526-41e6-8648-08d675bb88a5 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jan 2019 22:49:22.8475 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5EUR03HT054 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This appears to trigger a firmware bug and causes severe problems with rtl8723ae PCI devices. When the power save mode is activated for longer periods of time the firmware stops to receive any packets. This problem was exposed by commit 873ffe154ae0 ("rtlwifi: Fix logic error in enter/exit power-save mode"). Previously the power save mode was only active rarely and only for a short time so that the problem was not noticeable. Signed-off-by: Bernd Edlinger --- v2: Adjust the defaults of swlps and fwlps module parameters to match the firmware capabilities instead of removing the whole code, so it can be easily re-activated once a firmware update is available. v3: Make the title fit in one line. v4: Try to fix the line endings the message body. --- drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c index 07b82700d1..3103151 100644 --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c @@ -266,8 +266,8 @@ static bool is_fw_header(struct rtlwifi_firmware_header *hdr) static struct rtl_mod_params rtl8723e_mod_params = { .sw_crypto = false, .inactiveps = true, - .swctrl_lps = false, - .fwctrl_lps = true, + .swctrl_lps = true, + .fwctrl_lps = false, .aspm_support = 1, .debug_level = 0, .debug_mask = 0, @@ -395,8 +395,8 @@ static bool is_fw_header(struct rtlwifi_firmware_header *hdr) bool, 0444); MODULE_PARM_DESC(swenc, "Set to 1 for software crypto (default 0)\n"); MODULE_PARM_DESC(ips, "Set to 0 to not use link power save (default 1)\n"); -MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n"); -MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 1)\n"); +MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 1)\n"); +MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 0)\n"); MODULE_PARM_DESC(msi, "Set to 1 to use MSI interrupts mode (default 0)\n"); MODULE_PARM_DESC(aspm, "Set to 1 to enable ASPM (default 1)\n"); MODULE_PARM_DESC(debug_level, "Set debug level (0-5) (default 0)"); From patchwork Tue Jan 8 22:49:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernd Edlinger X-Patchwork-Id: 10752997 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6C89014E5 for ; Tue, 8 Jan 2019 22:49:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5B8E128CC9 for ; Tue, 8 Jan 2019 22:49:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4FE9A28D33; Tue, 8 Jan 2019 22:49:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D8CAA28CC9 for ; Tue, 8 Jan 2019 22:49:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730152AbfAHWtq convert rfc822-to-8bit (ORCPT ); Tue, 8 Jan 2019 17:49:46 -0500 Received: from mail-oln040092070052.outbound.protection.outlook.com ([40.92.70.52]:24064 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729328AbfAHWtp (ORCPT ); Tue, 8 Jan 2019 17:49:45 -0500 Received: from AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com (10.152.16.51) by AM5EUR03HT198.eop-EUR03.prod.protection.outlook.com (10.152.17.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.18; Tue, 8 Jan 2019 22:49:42 +0000 Received: from AM6PR07MB5608.eurprd07.prod.outlook.com (10.152.16.52) by AM5EUR03FT023.mail.protection.outlook.com (10.152.16.169) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.18 via Frontend Transport; Tue, 8 Jan 2019 22:49:41 +0000 Received: from AM6PR07MB5608.eurprd07.prod.outlook.com ([fe80::68b1:73c3:455d:de2a]) by AM6PR07MB5608.eurprd07.prod.outlook.com ([fe80::68b1:73c3:455d:de2a%2]) with mapi id 15.20.1516.010; Tue, 8 Jan 2019 22:49:40 +0000 From: Bernd Edlinger To: Ping-Ke Shih , Larry Finger , Kalle Valo , "David S. Miller" , "linux-wireless@vger.kernel.org" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Andrew Lunn Subject: [PATCH v4 2/4] rtl8723ae: Dont use old data for input gain control Thread-Topic: [PATCH v4 2/4] rtl8723ae: Dont use old data for input gain control Thread-Index: AQHUp6RwBjS7FcN11Uyxbem1jV10Cg== Date: Tue, 8 Jan 2019 22:49:40 +0000 Message-ID: Accept-Language: en-US, en-GB, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR0202CA0062.eurprd02.prod.outlook.com (2603:10a6:20b:3a::39) To AM6PR07MB5608.eurprd07.prod.outlook.com (2603:10a6:20b:6f::21) x-incomingtopheadermarker: OriginalChecksum:7664C94729DFAE6804AEA1EE688F3F4DF90BBBB221617C73812CC23EA15D5FFF;UpperCasedChecksum:2CA964F87CC7B55747C33EF93495F77CC68361A9D079869CDC28EE9EC6A6BBD3;SizeAsReceived:8797;Count:62 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [A6faOYTlYMoRLurXZoxlc/80yvo++FH9] x-microsoft-original-message-id: <133010c2-768e-4285-1d59-21a0690596a1@hotmail.de> x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM5EUR03HT198;6:Yu7uWedzVQ3OnEb5o0kdNDzDyHtlR+O1RLaUrBTmtDZg7WNHF2IXYUwWmsoma/nLNXjb6KTkJHY+a5uZnZ7jJ3l0oxHAT+MHbSOwCfxQuy5NNUVVok7Pacb2kpWLGJfSCgVATtGoZJP4YPVrpLTA022FhAm5i4ojabTjLPzMdWbu1j/K9aDYREgl0SZzWjjuKrSH2FWx8AVLu5zolYnhKCg47cuxHmDWXnzZ2GUHbzOMZW3pgx1+1s6vExuPzR5pi9u8kqpnloymJTQhDBnzR+7+JKi9XRcqwFGqqWP5OCE33jwU17FdQK6fqk1esHZ1roGCKrPA5dimiBUGtOHm3zvrPw6tLGuihTkbLFRygSkV3EanDXQJ4PZpHiFJvU5NOBbAVg2GdNKuo9azRVRFetYryN3kG4+d7zl7uQ6DoOwdeDthGZh3aRvLKUZD86vUthJtY3S1AudlzLZo/VUu+Q==;5:Qi0ResKwjVwVRP9GO6AoIxEfZeBN/xJVApjJ6wi9HitxMhEwflF9FeQWhaFww0/gozvC8mCbc3STKMcnSHwE1zR73sELO04h/fl6gXYAX7ki248dU7hmvtAIQAi5EkPQDGfDDQ3gk8uWzDEGGEWWA/pndrpweGDHtFewei7kjhQ=;7:GaByRj6U1M0FQ/FTiHZDYgtiNhQ6eVQ6p9IBoDLnVepCRBjGPzw/b25eMstZRlUzzjqU5bELiAPwWCCm0/0spyEHrxKmX9Ro3xhyrKzwTscgW1iu2X4+WYn0vQmr1icf+Z4AwucdDy1OJhjTgxf1eQ== x-incomingheadercount: 62 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(20181119063)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031323274)(2017031324274)(2017031322404)(1601125500)(1603101475)(1701031045);SRVR:AM5EUR03HT198; x-ms-traffictypediagnostic: AM5EUR03HT198: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(4566010)(82015058);SRVR:AM5EUR03HT198;BCL:0;PCL:0;RULEID:;SRVR:AM5EUR03HT198; x-microsoft-antispam-message-info: rHKh+BePZhIC3IbhBA+b2pMTBMlzAJ1xY0wAO5TkEujJSZIZiYHTIeqXJ0cDPvMx Content-ID: <18C2F3CD9A12314C94152D4937AB6BAA@eurprd07.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-Network-Message-Id: 3d13f912-1279-4133-2202-08d675bb929a X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jan 2019 22:49:39.5520 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5EUR03HT198 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP When no beacon was received, the value in dm.undec_sm_pwdb is most likely out of date and should not be used to adjust the input path. Assume instead that the signal level is low. Fix the state machine in rtl8723e_dm_cck_packet_detection_thresh which did not clear pre_cck_fa_state when changing cur_cck_pd_state from CCK_PD_STAGE_LOWRSSI/CCK_FA_STAGE_LOW to CCK_PD_STAGE_HIGHRSSI and back again to CCK_PD_STAGE_LOWRSSI/CCK_FA_STAGE_LOW, the register RCCK0_CCA not written to 0x83 on the second change. Explicitly initialize pre_cck_fa_state/cur_cck_fa_state in rtl_dm_diginit. Signed-off-by: Bernd Edlinger --- v2: Improved patch description. v3: Make the title fit in one line. v4: Try to fix the line endings the message body. --- drivers/net/wireless/realtek/rtlwifi/core.c | 2 ++ drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c index 4bf7967..ce23339 100644 --- a/drivers/net/wireless/realtek/rtlwifi/core.c +++ b/drivers/net/wireless/realtek/rtlwifi/core.c @@ -1957,5 +1957,7 @@ void rtl_dm_diginit(struct ieee80211_hw *hw, u32 cur_igvalue) dm_digtable->bt30_cur_igi = 0x32; dm_digtable->pre_cck_pd_state = CCK_PD_STAGE_MAX; dm_digtable->cur_cck_pd_state = CCK_PD_STAGE_LOWRSSI; + dm_digtable->pre_cck_fa_state = 0; + dm_digtable->cur_cck_fa_state = 0; } EXPORT_SYMBOL(rtl_dm_diginit); diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c index 42a6fba..902b944 100644 --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c @@ -151,8 +151,14 @@ static u8 rtl8723e_dm_initial_gain_min_pwdb(struct ieee80211_hw *hw) { struct rtl_priv *rtlpriv = rtl_priv(hw); struct dig_t *dm_digtable = &rtlpriv->dm_digtable; + struct rtl_mac *mac = rtl_mac(rtlpriv); long rssi_val_min = 0; + if (mac->link_state == MAC80211_LINKED && + mac->opmode == NL80211_IFTYPE_STATION && + rtlpriv->link_info.bcn_rx_inperiod == 0) + return 0; + if ((dm_digtable->curmultista_cstate == DIG_MULTISTA_CONNECT) && (dm_digtable->cursta_cstate == DIG_STA_CONNECT)) { if (rtlpriv->dm.entry_min_undec_sm_pwdb != 0) @@ -417,6 +423,8 @@ static void rtl8723e_dm_cck_packet_detection_thresh(struct ieee80211_hw *hw) } else { rtl_set_bbreg(hw, RCCK0_CCA, MASKBYTE2, 0xcd); rtl_set_bbreg(hw, RCCK0_SYSTEM, MASKBYTE1, 0x47); + dm_digtable->pre_cck_fa_state = 0; + dm_digtable->cur_cck_fa_state = 0; } dm_digtable->pre_cck_pd_state = dm_digtable->cur_cck_pd_state; From patchwork Tue Jan 8 22:49:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernd Edlinger X-Patchwork-Id: 10752999 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4A4111850 for ; Tue, 8 Jan 2019 22:50:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3549C28CC9 for ; Tue, 8 Jan 2019 22:50:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2400728D33; Tue, 8 Jan 2019 22:50:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9CD8B28CC9 for ; Tue, 8 Jan 2019 22:50:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730196AbfAHWtz convert rfc822-to-8bit (ORCPT ); Tue, 8 Jan 2019 17:49:55 -0500 Received: from mail-oln040092071059.outbound.protection.outlook.com ([40.92.71.59]:18825 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729328AbfAHWtz (ORCPT ); Tue, 8 Jan 2019 17:49:55 -0500 Received: from AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com (10.152.16.51) by AM5EUR03HT211.eop-EUR03.prod.protection.outlook.com (10.152.17.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.18; Tue, 8 Jan 2019 22:49:52 +0000 Received: from AM6PR07MB5608.eurprd07.prod.outlook.com (10.152.16.52) by AM5EUR03FT023.mail.protection.outlook.com (10.152.16.169) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.18 via Frontend Transport; Tue, 8 Jan 2019 22:49:52 +0000 Received: from AM6PR07MB5608.eurprd07.prod.outlook.com ([fe80::68b1:73c3:455d:de2a]) by AM6PR07MB5608.eurprd07.prod.outlook.com ([fe80::68b1:73c3:455d:de2a%2]) with mapi id 15.20.1516.010; Tue, 8 Jan 2019 22:49:52 +0000 From: Bernd Edlinger To: Ping-Ke Shih , Larry Finger , Kalle Valo , "David S. Miller" , "linux-wireless@vger.kernel.org" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Andrew Lunn Subject: [PATCH v4 3/4] rtl8723ae: Re-introduce the adaptive rate control Thread-Topic: [PATCH v4 3/4] rtl8723ae: Re-introduce the adaptive rate control Thread-Index: AQHUp6R3Y/XmF/ONQ0CG44v3TaPe1w== Date: Tue, 8 Jan 2019 22:49:52 +0000 Message-ID: Accept-Language: en-US, en-GB, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR0202CA0044.eurprd02.prod.outlook.com (2603:10a6:20b:3a::21) To AM6PR07MB5608.eurprd07.prod.outlook.com (2603:10a6:20b:6f::21) x-incomingtopheadermarker: OriginalChecksum:4E55CAB58F6D7CDA5E32B168F651DA4FA2BCFED895A91C5DC2469B0C0EB3DB0D;UpperCasedChecksum:B2100A657C5135AE699B4D8E45015B858D364B6C524E95751C51FEA120B4B536;SizeAsReceived:8791;Count:62 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [P4AXnPoVxkKelXa5cvig6LQX5GiR82G7] x-microsoft-original-message-id: <71a0571e-f313-59a6-5c1d-aab2dbdfa5ea@hotmail.de> x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM5EUR03HT211;6:7BGqp79Wmdq46JU1Cb5QZcACtSwp3sq5yEcR1l26YKvcMxJaOK7xiUcv0fzk9NKg/l/G1DVVm4syDyTTMEbDbI8nJyN5dJSu2RWjUhOBayJ75piwfSYR5TATHBdkyFkFqbVNv7o+s+LbwEPrY1zdlspc+doQidz4iSlln+SwJw80d3djKn7DoGOqHicbT4DRwjltdvvQ4u/wgqoB3ZidBhRhFmr0xpKtDljU8mJL36Tdl6G8JSgGQeLP96MFIvrmMXXlOJv4Hi8GmtoZVWBfay9XrdRONUA5ZAbn7xpje0xWzl4SFMxds7jybAQwnY5sr0+kQtdMjEKAlJ3QkrogD8/Bh6sYlYaZu6kVJnMAo537ytsGnFGTni22Ti33I/EDf21grwN7T9AugWULxACN/xuRpq7p3EB3ePvHdT0Szx7r3uQZcEnUlkpMmw/aZqWWcFGonvCw0kQrHy309g2WJA==;5:BVAq4vReIdT4ipQMmOmTp0AVEdqLT0B4IfZpbDYSU9/VGedqPNrVRag15wAChLrIAtfGeMrtZVKE8hc8t/6I63gkEwJgxJVKGgotPay13nrdmMM7p6TVEMijomtgmMYJpn/qESMfWWWWMeFhbV+MJeEtKvsXTyjQVj+INFM+nfg=;7:0C6I4AUZS0/l2pHA4Brkdq1BBv2s7hI+e/Ka9H7o7xlZRmsYww0CcGhyjOFEvOnR6DnVYhjpAU0DZR2NdqvPN4+Je8eb1uR6qn7myKDvmg0XCnkEmoGcZW+q4ewuoEOHecZqE4w6DqL2AldIQdg4BQ== x-incomingheadercount: 62 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031323274)(2017031324274)(2017031322404)(1601125500)(1603101475)(1701031045);SRVR:AM5EUR03HT211; x-ms-traffictypediagnostic: AM5EUR03HT211: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(4566010)(82015058);SRVR:AM5EUR03HT211;BCL:0;PCL:0;RULEID:;SRVR:AM5EUR03HT211; x-microsoft-antispam-message-info: h5ieEx42S66JZg437qPSuECfFCKlwAmQ2OTfDjOc4292CT6HcSzm3CGR/b/uJpI2 Content-ID: <4D1EEA57CE62C24BAAB7B3F36E4E8568@eurprd07.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-Network-Message-Id: d12b7fbb-b95e-4ce2-8574-08d675bb99e2 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jan 2019 22:49:51.7185 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5EUR03HT211 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This re-introduces the function rtl8723e_dm_refresh_rate_adaptive_mask. This function was present in a previous version of the code base, it works just fine for me -- as long as it is not using stale data. Unlike the original version of this function it avoids using dm.undec_sm_pwdb when no beacon was received. Fixed a style nit in rtl8723e_dm_init_rate_adaptive_mask. Signed-off-by: Bernd Edlinger --- v2: Improve patch description. v3: Improve patch description, mention that dm.undec_sm_pwdb is not used when no beacon received. Make the title fit in one line. v4: Try to fix the line endings the message body. --- .../net/wireless/realtek/rtlwifi/rtl8723ae/dm.c | 87 +++++++++++++++++++++- 1 file changed, 85 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c index 902b944..acfd54c 100644 --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c @@ -673,7 +673,7 @@ void rtl8723e_dm_check_txpower_tracking(struct ieee80211_hw *hw) void rtl8723e_dm_init_rate_adaptive_mask(struct ieee80211_hw *hw) { struct rtl_priv *rtlpriv = rtl_priv(hw); - struct rate_adaptive *p_ra = &(rtlpriv->ra); + struct rate_adaptive *p_ra = &rtlpriv->ra; p_ra->ratr_state = DM_RATR_STA_INIT; p_ra->pre_ratr_state = DM_RATR_STA_INIT; @@ -685,6 +685,89 @@ void rtl8723e_dm_init_rate_adaptive_mask(struct ieee80211_hw *hw) } +void rtl8723e_dm_refresh_rate_adaptive_mask(struct ieee80211_hw *hw) +{ + struct rtl_priv *rtlpriv = rtl_priv(hw); + struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); + struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); + struct rate_adaptive *p_ra = &rtlpriv->ra; + u32 low_rssithresh_for_ra, high_rssithresh_for_ra; + struct ieee80211_sta *sta = NULL; + + if (is_hal_stop(rtlhal)) { + RT_TRACE(rtlpriv, COMP_RATE, DBG_LOUD, + " driver is going to unload\n"); + return; + } + + if (!rtlpriv->dm.useramask) { + RT_TRACE(rtlpriv, COMP_RATE, DBG_LOUD, + " driver does not control rate adaptive mask\n"); + return; + } + + if (mac->link_state == MAC80211_LINKED && + mac->opmode == NL80211_IFTYPE_STATION) { + switch (p_ra->pre_ratr_state) { + case DM_RATR_STA_HIGH: + high_rssithresh_for_ra = 50; + low_rssithresh_for_ra = 20; + break; + case DM_RATR_STA_MIDDLE: + high_rssithresh_for_ra = 55; + low_rssithresh_for_ra = 20; + break; + case DM_RATR_STA_LOW: + high_rssithresh_for_ra = 60; + low_rssithresh_for_ra = 25; + break; + default: + high_rssithresh_for_ra = 50; + low_rssithresh_for_ra = 20; + break; + } + + if (rtlpriv->link_info.bcn_rx_inperiod == 0) + switch (p_ra->pre_ratr_state) { + case DM_RATR_STA_HIGH: + default: + p_ra->ratr_state = DM_RATR_STA_MIDDLE; + break; + case DM_RATR_STA_MIDDLE: + case DM_RATR_STA_LOW: + p_ra->ratr_state = DM_RATR_STA_LOW; + break; + } + else if (rtlpriv->dm.undec_sm_pwdb > high_rssithresh_for_ra) + p_ra->ratr_state = DM_RATR_STA_HIGH; + else if (rtlpriv->dm.undec_sm_pwdb > low_rssithresh_for_ra) + p_ra->ratr_state = DM_RATR_STA_MIDDLE; + else + p_ra->ratr_state = DM_RATR_STA_LOW; + + if (p_ra->pre_ratr_state != p_ra->ratr_state) { + RT_TRACE(rtlpriv, COMP_RATE, DBG_LOUD, + "RSSI = %ld\n", + rtlpriv->dm.undec_sm_pwdb); + RT_TRACE(rtlpriv, COMP_RATE, DBG_LOUD, + "RSSI_LEVEL = %d\n", p_ra->ratr_state); + RT_TRACE(rtlpriv, COMP_RATE, DBG_LOUD, + "PreState = %d, CurState = %d\n", + p_ra->pre_ratr_state, p_ra->ratr_state); + + rcu_read_lock(); + sta = rtl_find_sta(hw, mac->bssid); + if (sta) + rtlpriv->cfg->ops->update_rate_tbl(hw, sta, + p_ra->ratr_state, + true); + rcu_read_unlock(); + + p_ra->pre_ratr_state = p_ra->ratr_state; + } + } +} + void rtl8723e_dm_rf_saving(struct ieee80211_hw *hw, u8 bforce_in_normal) { struct rtl_priv *rtlpriv = rtl_priv(hw); @@ -834,7 +917,7 @@ void rtl8723e_dm_watchdog(struct ieee80211_hw *hw) rtl8723e_dm_dynamic_bb_powersaving(hw); rtl8723e_dm_dynamic_txpower(hw); rtl8723e_dm_check_txpower_tracking(hw); - /* rtl92c_dm_refresh_rate_adaptive_mask(hw); */ + rtl8723e_dm_refresh_rate_adaptive_mask(hw); rtl8723e_dm_bt_coexist(hw); rtl8723e_dm_check_edca_turbo(hw); } From patchwork Tue Jan 8 22:50:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernd Edlinger X-Patchwork-Id: 10753003 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 80B8314E5 for ; Tue, 8 Jan 2019 22:50:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6F1A428CC9 for ; Tue, 8 Jan 2019 22:50:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 58B7D28E31; Tue, 8 Jan 2019 22:50:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0762728CC9 for ; Tue, 8 Jan 2019 22:50:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730281AbfAHWuO convert rfc822-to-8bit (ORCPT ); Tue, 8 Jan 2019 17:50:14 -0500 Received: from mail-oln040092072090.outbound.protection.outlook.com ([40.92.72.90]:6338 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729328AbfAHWuO (ORCPT ); Tue, 8 Jan 2019 17:50:14 -0500 Received: from AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com (10.152.16.57) by AM5EUR03HT201.eop-EUR03.prod.protection.outlook.com (10.152.17.252) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.18; Tue, 8 Jan 2019 22:50:11 +0000 Received: from AM6PR07MB5608.eurprd07.prod.outlook.com (10.152.16.52) by AM5EUR03FT023.mail.protection.outlook.com (10.152.16.169) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.18 via Frontend Transport; Tue, 8 Jan 2019 22:50:11 +0000 Received: from AM6PR07MB5608.eurprd07.prod.outlook.com ([fe80::68b1:73c3:455d:de2a]) by AM6PR07MB5608.eurprd07.prod.outlook.com ([fe80::68b1:73c3:455d:de2a%2]) with mapi id 15.20.1516.010; Tue, 8 Jan 2019 22:50:10 +0000 From: Bernd Edlinger To: Ping-Ke Shih , Larry Finger , Kalle Valo , "David S. Miller" , "linux-wireless@vger.kernel.org" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Andrew Lunn Subject: [PATCH v4 4/4] rtlwifi: Don't clear num_rx_inperiod too early Thread-Topic: [PATCH v4 4/4] rtlwifi: Don't clear num_rx_inperiod too early Thread-Index: AQHUp6SC8r1w83ZuyUSZa/fZVTIQLw== Date: Tue, 8 Jan 2019 22:50:09 +0000 Message-ID: Accept-Language: en-US, en-GB, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR0202CA0044.eurprd02.prod.outlook.com (2603:10a6:20b:3a::21) To AM6PR07MB5608.eurprd07.prod.outlook.com (2603:10a6:20b:6f::21) x-incomingtopheadermarker: OriginalChecksum:F87B65D8440940669ABD98019F1F40C3C9AA84B70A8C575266543B5B9B8D58AD;UpperCasedChecksum:7BF64386373019B204CA359039A02BCAA850BAC3FE8A0156804CB61DBF796372;SizeAsReceived:8799;Count:62 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [YdZb3YgA7+wtqWGa8Ch/4KNZo50jDcQR] x-microsoft-original-message-id: <1e89861e-c921-9100-7d5a-224ed33207ca@hotmail.de> x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM5EUR03HT201;6:3Gn7zrFaNX5gCfLYDHPyzA9zDENvf8GPTHOfbBpDyx7wvt/zXXpSuHVIIBlPdpkC+9WQpYQWuJTfIR+ohUfage3pCh5rCvJqr21/GlAd8XXYBEzxEjz0Y/z/xuzkl4YKItgbCSUrXi1uB1RN91X3JRUg+xB6RA5S2xh2n4eN5cYuQ0nmCL3OpLKeRlghOV8R1fb0B6X2q0jFAz9Hx+3fq9F7DTS6JxowkqnVL1iI861KINrPYDJN9T+fJIAtXdpdQCbNhFbu586ZHWeT1pgE088qDa//gTDq1cdK0f/7Cs4ongyFa1OfRG3O7RWPCVxF4iOgefnBWSZgXrSYQ7J79WG3JG1p3acrpi3WnrsOg6ypF6jF6eoq9tALkyzpRGTULx2OZMy6N5yj7I/+MbJSjOhjTkWRx68HUGyfhXKU0b8NlekXfnYrN1t6nUaY5mwtoK2LMtQu5/HjQTKUKxWEpg==;5:mvQcGi4t70sojHyiF5Kl+Oze4IJQtZbbx5E0ns+Ejuti32TJiMz2snsMytB8E0G0Wi3+8BXT7gfHJlvMTrB8QaPKBIpoyFp3ktA26Bb7O2oergqoiELad63JijGtIi6r0feJyyh1I/6FavlJGDCIYOSLYUTUKNlrwyDPUcL07BQ=;7:p6/Y6SAECtam19WXbFdXzyKf5aYGAbUU6QIUcRT6pxzb2Soz0PqROzyB4UuJMojhYBspc37g6OctdmKXdmRsx5r99mTY4ETSBcwhvcLJbraPvQvXQ3FPl8K6slFJsRF+cPnMw+hB9efbQoTxG8do/A== x-incomingheadercount: 62 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(20181119063)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031323274)(2017031324274)(2017031322404)(1601125500)(1603101475)(1701031045);SRVR:AM5EUR03HT201; x-ms-traffictypediagnostic: AM5EUR03HT201: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(4566010)(82015058);SRVR:AM5EUR03HT201;BCL:0;PCL:0;RULEID:;SRVR:AM5EUR03HT201; x-microsoft-antispam-message-info: U3ITlpjxp2S+yx7sBu4VgJ6Zf0V4e96entPbPZIQObvVXKKgCKvRcF3kayxfnAkC Content-ID: <710DD038E4CCE24DB9CC5DE021EDF983@eurprd07.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-Network-Message-Id: 9aedd9d2-d39e-4f44-498f-08d675bba465 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: d4d70346-2c10-4f39-8c00-e767963926d9 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jan 2019 22:50:09.3777 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5EUR03HT201 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This patch moves the clearing of rtlpriv->link_info.num_rx_inperiod in rtl_watchdog_wq_callback a few lines down. This is necessary since it is still used in the "AP off" detection code block. Moved clearing of rtlpriv->link_info.num_rx_inperiod as well for consistency. Signed-off-by: Bernd Edlinger --- v2: Improved patch description. v3: Make the title fit in one line. v4: Try to fix the line endings the message body. --- drivers/net/wireless/realtek/rtlwifi/base.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/realtek/rtlwifi/base.c b/drivers/net/wireless/realtek/rtlwifi/base.c index ef9b502..7aa68fe 100644 --- a/drivers/net/wireless/realtek/rtlwifi/base.c +++ b/drivers/net/wireless/realtek/rtlwifi/base.c @@ -2172,8 +2172,6 @@ void rtl_watchdog_wq_callback(void *data) ; } - rtlpriv->link_info.num_rx_inperiod = 0; - rtlpriv->link_info.num_tx_inperiod = 0; for (tid = 0; tid <= 7; tid++) rtlpriv->link_info.tidtx_inperiod[tid] = 0; @@ -2236,6 +2234,8 @@ void rtl_watchdog_wq_callback(void *data) rtlpriv->btcoexist.btc_info.in_4way = false; } + rtlpriv->link_info.num_rx_inperiod = 0; + rtlpriv->link_info.num_tx_inperiod = 0; rtlpriv->link_info.bcn_rx_inperiod = 0; /* <6> scan list */