From patchwork Mon Apr 17 00:10:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Larry Finger X-Patchwork-Id: 9683329 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.web.codeaurora.org (Postfix) with ESMTP id 659F8600F6 for ; Mon, 17 Apr 2017 00:11:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5570327D4D for ; Mon, 17 Apr 2017 00:11:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 487FC27DA4; Mon, 17 Apr 2017 00:11:28 +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=-4.6 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID, URIBL_BLACK 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 E2C2727D4D for ; Mon, 17 Apr 2017 00:11:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932412AbdDQAL1 (ORCPT ); Sun, 16 Apr 2017 20:11:27 -0400 Received: from mail-oi0-f67.google.com ([209.85.218.67]:35807 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932307AbdDQALV (ORCPT ); Sun, 16 Apr 2017 20:11:21 -0400 Received: by mail-oi0-f67.google.com with SMTP id a21so8760264oic.2 for ; Sun, 16 Apr 2017 17:11:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=VhMnGMiHN3jvLw78A+ngMzWdFkpF7KY29GxplCpPzEU=; b=Tb7oxF+/jQH1r33kyeM2dzY8iQEmxVibFSBq43cXJGY7PbbdgPi7acyp2j55yVisaE 8sclVthwdjOAzMZcnckJwe0is/4PbZgRBJZRupf6zSO4DUpxnSyaaSSHjwAbi5eX46RB 9g/tebYHUFRX/+HJYG26QzKhihu+0SmffxbSFt1+QWVmIKZM1vFHXj6+jGY/ky+rqSpl cPENC249CFEkl5vCnj6SpwSO8K0uyg8PN2zOksAKF1h1WOLisWmltSVyU0ZBDCvjNxA0 m80NTL6zF5Ejxg0EWO8zSVoK+JLBI4atkUOHZ3uqcGfMTvDrs8WME2cbnd3D8Au1lXRq 2Q5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=VhMnGMiHN3jvLw78A+ngMzWdFkpF7KY29GxplCpPzEU=; b=OS8Rg7Px4RRb7Eml+gZkPTRYZ19tcLwCUFPcjAKklH94U0FofX1GZ5OmoU19awto00 eeeQlY4ooiDzi64pAdBbvbJs3QtRXo+0qA8fSqI/3Pw8g1nbuJlXeg6iTIFyZxK1coOO 73OkzyXJCHSTf1b1EHE3j1RH4S56Z7KmkrPDomm8QBiLaTKUyBnAdI3x/Gluhi6ojloY EXwi6a6ct3sZ53YArkZ99rNq+yCfpRF4wHcEU8L0vB/0SYi4Fgn6urM6941btrPsp7NQ RPsvutc+pu/9okgX8nLxR3txtiVChLnvMAgH0XPnId3v99pSlRkq+C/skKBoXt8ZLXqf LPTA== X-Gm-Message-State: AN3rC/4DVg8EvZ2tqf6HkONUNefQcilL7Dh0IGNodBXAh+LRUcX3052i bgHEK+fpeDxO6g== X-Received: by 10.157.40.243 with SMTP id s106mr3339497ota.271.1492387880969; Sun, 16 Apr 2017 17:11:20 -0700 (PDT) Received: from linux-4v1g.suse (cpe-24-31-249-175.kc.res.rr.com. [24.31.249.175]) by smtp.gmail.com with ESMTPSA id y38sm2788394oty.15.2017.04.16.17.11.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 16 Apr 2017 17:11:20 -0700 (PDT) From: Larry Finger To: kvalo@codeaurora.org Cc: linux-wireless@vger.kernel.org, Ping-Ke Shih , Larry Finger , Yan-Hsuan Chuang , Birming Chiu , Shaofu , Steven Ting Subject: [PATCH 05/27] rtlwifi: btcoex: 23b 1ant: check if BT high priority packet exist Date: Sun, 16 Apr 2017 19:10:49 -0500 Message-Id: <20170417001111.29384-6-Larry.Finger@lwfinger.net> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170417001111.29384-1-Larry.Finger@lwfinger.net> References: <20170417001111.29384-1-Larry.Finger@lwfinger.net> 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 From: Ping-Ke Shih If there are BT high priority packets, we arrange more time to BT. To make user experience to be better, HID and SCO are also seen as high priority packet exist. Signed-off-by: Ping-Ke Shih Signed-off-by: Larry Finger Cc: Yan-Hsuan Chuang Cc: Birming Chiu Cc: Shaofu Cc: Steven Ting --- .../net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c | 11 +++++++++++ .../net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.h | 1 + drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h | 1 + 3 files changed, 13 insertions(+) diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c index 851c11d18d9c..52b138d548f3 100644 --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c @@ -407,6 +407,7 @@ static void halbtc8723b1ant_update_bt_link_info(struct btc_coexist *btcoexist) bt_link_info->a2dp_exist = coex_sta->a2dp_exist; bt_link_info->pan_exist = coex_sta->pan_exist; bt_link_info->hid_exist = coex_sta->hid_exist; + bt_link_info->bt_hi_pri_link_exist = coex_sta->bt_hi_pri_link_exist; /* work around for HS mode. */ if (bt_hs_on) { @@ -2563,6 +2564,8 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist, coex_sta->a2dp_exist = false; coex_sta->hid_exist = false; coex_sta->sco_exist = false; + + coex_sta->bt_hi_pri_link_exist = false; } else { /* connection exists */ coex_sta->bt_link_exist = true; @@ -2582,6 +2585,14 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist, coex_sta->sco_exist = true; else coex_sta->sco_exist = false; + + /* Add Hi-Pri Tx/Rx counter to avoid false detection */ + if (((coex_sta->hid_exist) || (coex_sta->sco_exist)) && + (coex_sta->high_priority_tx + coex_sta->high_priority_rx >= + 160) && + (!coex_sta->c2h_bt_inquiry_page)) + coex_sta->bt_hi_pri_link_exist = true; + } halbtc8723b1ant_update_bt_link_info(btcoexist); diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.h b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.h index c3472fbb12ef..b86a28f519aa 100644 --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.h +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.h @@ -143,6 +143,7 @@ struct coex_sta_8723b_1ant { bool a2dp_exist; bool hid_exist; bool pan_exist; + bool bt_hi_pri_link_exist; bool under_lps; bool under_ips; diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h index c8271135aaaa..911db7680478 100644 --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h @@ -468,6 +468,7 @@ struct btc_statistics { struct btc_bt_link_info { bool bt_link_exist; + bool bt_hi_pri_link_exist; bool sco_exist; bool sco_only; bool a2dp_exist;