From patchwork Thu Apr 6 20:19:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Larry Finger X-Patchwork-Id: 9668369 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 DA72260375 for ; Thu, 6 Apr 2017 20:20:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 09F91285D2 for ; Thu, 6 Apr 2017 20:20:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F2FCC285D6; Thu, 6 Apr 2017 20:20:30 +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=-6.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID 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 8BCC2285D5 for ; Thu, 6 Apr 2017 20:20:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755463AbdDFUU3 (ORCPT ); Thu, 6 Apr 2017 16:20:29 -0400 Received: from mail-oi0-f65.google.com ([209.85.218.65]:36298 "EHLO mail-oi0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754828AbdDFUUK (ORCPT ); Thu, 6 Apr 2017 16:20:10 -0400 Received: by mail-oi0-f65.google.com with SMTP id b187so8910278oif.3 for ; Thu, 06 Apr 2017 13:20:09 -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=A+4Uj0fswzhnoSY4A+1ObIGU20RKLRdfwdYFQYjAPEY=; b=cnqwv4hdaOssrhnJBnitYW1Ik4T+2q2qqUBMDb0omj6VwXf3yHaNZRvMS0lfkNu0uz ZwiOSCHpz3M0n4jaQTTYuWcnEsLmsQckMMSpIjkymQgdPcRyZMiZK62YDyRbJAkxkamH RIqiQf+Wdf5M1tpLzux69f82NDF2wXKnnam9ZknuVnQs1q2q88ygjfcEHwGne/0a6Q4o 2nWM9QTn6muKFc3EQWkM24c2TQGuXVrI9Vfr32SSP92W6JCbTemEJKFr53yF/S8uJs/z G0Suplsoo+d5C2LRX1Fj5rdjTn6t7fUCmDH613QpKNTSMdiMdlerjTN+GWjhrf5nei0f glIA== 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=A+4Uj0fswzhnoSY4A+1ObIGU20RKLRdfwdYFQYjAPEY=; b=iqVvhuN/tH6jgQErBOL7rQZKT3AhA/YodkCmZ1jeGBZyZ2R3D4iP8wH2VhK4vZ0voE v1R9M6eQjD3DwiX59JRUqdxYY0VTRxsO+6Y26wjQm6Tm5UcGk8GawdisdNC4VaysKFjI dN32wuWRfDiawrzbyHTFpCD7fhCTIVNXtpYCk8OXTi7PPamcVGh6lA/Sxpy6J46plYE2 WbYb6xfhnp11tSBa6q/D42Egz1+OkPrD/zeP/eg4Hvyeat6RhfsJ4IKbTE0ySoDlMXg/ 2UjKP261KUndj7lOibylm41TDXBdWnY7u6MoYr9i9GQHFH7eoJj2xFGOzlA7vXVVZmAG H2Rg== X-Gm-Message-State: AFeK/H04YTkMmQtx+/r3P5S3aL4g37CD9Nuc876IPw7MJbLEfBirShJJN8SRgcScnJif6Q== X-Received: by 10.157.33.134 with SMTP id s6mr17179310otb.110.1491510008452; Thu, 06 Apr 2017 13:20:08 -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 j88sm1116558otc.22.2017.04.06.13.20.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 06 Apr 2017 13:20:08 -0700 (PDT) From: Larry Finger To: kvalo@codeaurora.org Cc: linux-wireless@vger.kernel.org, Yan-Hsuan Chuang , Larry Finger , Pkshih , Birming Chiu , Shaofu , Steven Ting Subject: [PATCH 06/11] rtlwifi: btcoex: 23b 2ant: power on settings for coex Date: Thu, 6 Apr 2017 15:19:53 -0500 Message-Id: <20170406201958.25642-7-Larry.Finger@lwfinger.net> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170406201958.25642-1-Larry.Finger@lwfinger.net> References: <20170406201958.25642-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 power on, the wifi could be initiating, force the antenna to transmit bt packets to avoid bt unstable problems Signed-off-by: Yan-Hsuan Chuang Signed-off-by: Larry Finger Cc: Pkshih Cc: Birming Chiu Cc: Shaofu Cc: Steven Ting --- .../realtek/rtlwifi/btcoexist/halbtc8723b2ant.c | 31 ++++++++++++++++++++++ .../realtek/rtlwifi/btcoexist/halbtcoutsrc.h | 1 + 2 files changed, 32 insertions(+) diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c index 70f21059ddc3..0f3d04529ff2 100644 --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c @@ -3669,6 +3669,37 @@ void ex_btc8723b2ant_init_hwconfig(struct btc_coexist *btcoexist) btcoexist->btc_write_1byte_bitmask(btcoexist, 0x40, 0x20, 0x1); } +void ex_btc8723b2ant_power_on_setting(struct btc_coexist *btcoexist) +{ + struct btc_board_info *board_info = &btcoexist->board_info; + u16 u16tmp = 0x0; + u32 value = 0; + + btcoexist->btc_write_1byte(btcoexist, 0x67, 0x20); + + /* enable BB, REG_SYS_FUNC_EN such that we can write 0x948 correctly */ + u16tmp = btcoexist->btc_read_2byte(btcoexist, 0x2); + btcoexist->btc_write_2byte(btcoexist, 0x2, u16tmp | BIT0 | BIT1); + + btcoexist->btc_write_4byte(btcoexist, 0x948, 0x0); + + if (btcoexist->chip_interface == BTC_INTF_USB) { + /* fixed at S0 for USB interface */ + board_info->btdm_ant_pos = BTC_ANTENNA_AT_AUX_PORT; + } else { + /* for PCIE and SDIO interface, we check efuse 0xc3[6] */ + if (board_info->single_ant_path == 0) { + /* set to S1 */ + board_info->btdm_ant_pos = BTC_ANTENNA_AT_MAIN_PORT; + } else if (board_info->single_ant_path == 1) { + /* set to S0 */ + board_info->btdm_ant_pos = BTC_ANTENNA_AT_AUX_PORT; + } + btcoexist->btc_set(btcoexist, BTC_SET_ACT_ANTPOSREGRISTRY_CTRL, + &value); + } +} + void ex_btc8723b2ant_init_coex_dm(struct btc_coexist *btcoexist) { struct rtl_priv *rtlpriv = btcoexist->adapter; diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h index 0b90e7f0b722..5a34cd895e44 100644 --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h @@ -139,6 +139,7 @@ struct btc_board_info { u8 pg_ant_num; /* pg ant number */ u8 btdm_ant_num; /* ant number for btdm */ u8 btdm_ant_pos; + u8 single_ant_path; /* current used for 8723b only, 1=>s0, 0=>s1 */ bool bt_exist; };