From patchwork Fri Jun 2 21:27:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Larry Finger X-Patchwork-Id: 9763531 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 4004660360 for ; Fri, 2 Jun 2017 21:28:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 328BC28599 for ; Fri, 2 Jun 2017 21:28:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 26FC4285D9; Fri, 2 Jun 2017 21:28:20 +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 1397928599 for ; Fri, 2 Jun 2017 21:28:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751230AbdFBV2I (ORCPT ); Fri, 2 Jun 2017 17:28:08 -0400 Received: from mail-oi0-f68.google.com ([209.85.218.68]:33905 "EHLO mail-oi0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750971AbdFBV2H (ORCPT ); Fri, 2 Jun 2017 17:28:07 -0400 Received: by mail-oi0-f68.google.com with SMTP id d99so2085741oic.1 for ; Fri, 02 Jun 2017 14:28:06 -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=Ow1nYzwDKD6xCO6FuosWc6dfChst3WYhyEAyXvtIW2I=; b=gUcxGbnKcBYd2vUQTR6EkWvK3ROy0ONGI9dEbGmpOsnrHTD5UuFHgr44+RJBojjiPj Uo9XoaiwMNLThWt4b+FnreJQtNfyMlBB5q+Ig9AA61AYXCdDttSbnCNr6Ulv88Ydccfl 8ncTDgapqm39jnVlxk5IJ7lHOPmGAhd4HoX/3INiK5sKUl28eVXnhIpbTxpE4QZLbnbM EdDkqbqeG8mqpRgIGwFqkHunAfGWaTDvJo+a+1JCIJ8OdpwJ92wer8XXwqfam3wDCgIE 6FxdHChipoDsAH0vJmFdHaRlu3Q6i2Hb6Qu0yONgNB37kpSvpPpW4FitkjClACDrb/2S Bgnw== 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=Ow1nYzwDKD6xCO6FuosWc6dfChst3WYhyEAyXvtIW2I=; b=rCE6ViDbPfDMYREcFVqonJGwYUtVol697txmOOGmKKBoLJBWS7XrDLBJfnsFD4KASC MlrfSFH4wiyCJlXCl5w/yfRRAKxQdSr4YdLEyX82VIW5v7o1d5Y2rsZw38tE4NbYNI9N pRCWSuss5sfCkwve01yimVQhYriP8hlKyCYCVb4F40SjuPa9vs2xa4dHkc8yO+A2ngXH jR8na6URg2gJ97HnjeIxzVROJEvi/K52LQQPCffM6xeXUBGT9lNgA0ynQLrplgEOAxb7 FMS5tVgdUNISK4wZEQ6b9yPMIoMxs/G5Vyso9QDttQhEAFzSwOIHM42eXWrnDBn8LDY/ fQLg== X-Gm-Message-State: AKS2vOws9R+Exz6Fkin4dZDcCYoBFg0jR7cZtHLkhO/ZJ0mYC8/UBUm0 l+29B+X5QMKmTCxO X-Received: by 10.157.53.97 with SMTP id l30mr6359369ote.25.1496438886211; Fri, 02 Jun 2017 14:28:06 -0700 (PDT) Received: from localhost.localdomain (cpe-24-31-249-175.kc.res.rr.com. [24.31.249.175]) by smtp.gmail.com with ESMTPSA id z23sm1577041otz.11.2017.06.02.14.28.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 02 Jun 2017 14:28:05 -0700 (PDT) From: Larry Finger To: kvalo@codeaurora.org Cc: linux-wireless@vger.kernel.org, Yan-Hsuan Chuang , Larry Finger , Ping-Ke Shih , Birming Chiu , Shaofu , Steven Ting Subject: [PATCH 5/9] rtlwifi: btcoex: add settings before the hardware is ready Date: Fri, 2 Jun 2017 16:27:44 -0500 Message-Id: <20170602212748.23857-6-Larry.Finger@lwfinger.net> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170602212748.23857-1-Larry.Finger@lwfinger.net> References: <20170602212748.23857-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: Yan-Hsuan Chuang When the hardware is turned on and in the initialization stage, the PTA circuit is unstable. Hence we need to force some hardware settings to make sure the PTA circuit work correctly, otherwise it may affect the user's experience. Signed-off-by: Yan-Hsuan Chuang Signed-off-by: Larry Finger Cc: Ping-Ke Shih Cc: Birming Chiu Cc: Shaofu Cc: Steven Ting --- .../wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.h | 1 + .../net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c | 15 +++++++++++++++ .../net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h | 1 + 3 files changed, 17 insertions(+) diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.h b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.h index ae3e450c5966..bc1e3042e271 100644 --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.h +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.h @@ -198,5 +198,6 @@ void ex_btc8723b2ant_periodical(struct btc_coexist *btcoexist); void ex_btc8723b2ant_display_coex_info(struct btc_coexist *btcoexist); void ex_btc8723b2ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state); void ex_btc8723b2ant_pre_load_firmware(struct btc_coexist *btcoexist); +void ex_btc8723b2ant_power_on_setting(struct btc_coexist *btcoexist); #endif diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c index 5e6e14fd8c85..8b015e64af49 100644 --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c @@ -690,6 +690,21 @@ bool exhalbtc_initlize_variables(struct rtl_priv *adapter) return true; } +void exhalbtc_power_on_setting(struct btc_coexist *btcoexist) +{ + if (!halbtc_is_bt_coexist_available(btcoexist)) + return; + + btcoexist->statistics.cnt_power_on++; + + if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) { + if (btcoexist->board_info.btdm_ant_num == 2) + ex_btc8723b2ant_power_on_setting(btcoexist); + else if (btcoexist->board_info.btdm_ant_num == 1) + ex_btc8723b1ant_power_on_setting(btcoexist); + } +} + void exhalbtc_pre_load_firmware(struct btc_coexist *btcoexist) { if (!halbtc_is_bt_coexist_available(btcoexist)) diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h index eca0e5a78ada..9b0a6e9c5b20 100644 --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h @@ -487,6 +487,7 @@ struct btc_statistics { u32 cnt_stack_operation_notify; u32 cnt_dbg_ctrl; u32 cnt_pre_load_firmware; + u32 cnt_power_on; }; struct btc_bt_link_info {