From patchwork Fri Nov 30 15:02:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Balakrishna Godavarthi X-Patchwork-Id: 10706503 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 0BED613BF for ; Fri, 30 Nov 2018 15:03:42 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F14142F4D7 for ; Fri, 30 Nov 2018 15:03:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E55D52F50C; Fri, 30 Nov 2018 15:03:41 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 86DFF2F4D7 for ; Fri, 30 Nov 2018 15:03:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726900AbeLACMq (ORCPT ); Fri, 30 Nov 2018 21:12:46 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:57738 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726563AbeLACMq (ORCPT ); Fri, 30 Nov 2018 21:12:46 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id E1A6D60B1E; Fri, 30 Nov 2018 15:03:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1543590189; bh=TWe+V0+W9z/q6fEwQadzwTZsWBYX2QPZn4CzeULqfWM=; h=From:To:Cc:Subject:Date:From; b=aIj2IQkb9i7Eczpr/1J13C1t82oxpzZy4NKSXyx3rgSSo3CNByEEiarEaYpY9gDsX 7SnYKtLsAtWcMeg+QobEgeCEYiwOEeP7rf3LPu7Z5hke3hEQ+1c0FqSi02EjUbLSvi /QUJy1ArVH5HGBFbt6FunI6lNIA4u/iBtmPN7K5M= Received: from bgodavar-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: bgodavar@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 7B2A6601D2; Fri, 30 Nov 2018 15:03:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1543590189; bh=TWe+V0+W9z/q6fEwQadzwTZsWBYX2QPZn4CzeULqfWM=; h=From:To:Cc:Subject:Date:From; b=aIj2IQkb9i7Eczpr/1J13C1t82oxpzZy4NKSXyx3rgSSo3CNByEEiarEaYpY9gDsX 7SnYKtLsAtWcMeg+QobEgeCEYiwOEeP7rf3LPu7Z5hke3hEQ+1c0FqSi02EjUbLSvi /QUJy1ArVH5HGBFbt6FunI6lNIA4u/iBtmPN7K5M= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 7B2A6601D2 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=bgodavar@codeaurora.org From: Balakrishna Godavarthi To: marcel@holtmann.org, johan.hedberg@gmail.com Cc: mka@chromium.org, linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org, hemantg@codeaurora.org, linux-arm-msm@vger.kernel.org, Balakrishna Godavarthi Subject: [PATCH v3 0/4] Bug fixes for Qualcomm BT chip wcn3990 Date: Fri, 30 Nov 2018 20:32:43 +0530 Message-Id: <20181130150247.26294-1-bgodavar@codeaurora.org> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The below issues are found in the recent testing. 1. Observed device is not going into off state or not responding. As wcn3990 require a power pulses to turn on the irrespctive of igniting regulators, it was observed that power on or power off pulses are not in sync with respective to chip. The below patch will help us to wait until byte is pushed on to wires. * Bluetooth: hci_qca: use wait_until_sent() for power pulses 2. Observed Chip responding when we are in sleep. This is due to turn on flow control during change baudrate request. The below patch will only pull the RTS line high instead of turning off the flow. * Bluetooth: hci_qca: Pull RTS line high for baudrate change command. 3. Frame reassembly errors splashing on console. wcn3990 requires will use multiple baudrates during booting stage. i.e. 2400 bps while sending power off pulse 115200 bps while sending power on pulse port close port open set baudrate to 115200 request the chip version. during above process, we are seeing some stray bytes coming up on the UART Rx FIFO it could be due to frequent baudrate change. This patch will stop the frame reassembly errors. * Bluetooth: hci_qca: Fix frame reassembly errors for wcn3990 4. Disable IBS state machine and flush Tx buffer We are disabling IBS and flushing the Tx buffer before turning off the chip. This is due to IBS state machine is active when we turn off the chip. This will stop queuing IBS protocol bytes. * Bluetooth: hci_qca: Disable IBS state machine and flush Tx buffer Changes in v3: * moved IBS & qca_flush to different patch * updated comments in code fo Deassert RTS patch Changes in v2: * Removed Bluetooth: hci_qca: clear HCI_QUIRK_RESET_ON_CLOSE flag patch will be sending as separate series. Balakrishna Godavarthi (4): Bluetooth: hci_qca: use wait_until_sent() for power pulses Bluetooth: hci_qca: Deassert RTS while baudrate change command Bluetooth: hci_qca: Fix frame reassembly errors for wcn3990 Bluetooth: hci_qca: Disable IBS state machine and flush Tx buffer drivers/bluetooth/hci_qca.c | 77 +++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 34 deletions(-)