Received: by 2002:ac0:aed5:0:0:0:0:0 with SMTP id t21csp4745899imb; Wed, 6 Mar 2019 22:50:22 -0800 (PST) X-Google-Smtp-Source: APXvYqymRv1X7zn/vg7napYyMVN7S97Rt+sOMnwR2+8DwnMghK0rueJWvFXDFx7PoWxcuReKzIOt X-Received: by 2002:a17:902:b609:: with SMTP id b9mr11376083pls.134.1551941422233; Wed, 06 Mar 2019 22:50:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551941422; cv=none; d=google.com; s=arc-20160816; b=PY+g+cSBkFiVQ+NEACRAszXt8Yv47tcJb0JclYtGhxVECJKbwVjjcBeFzL2AV6KZ0W N/2S1JBQXZBmhpxA/eP57zm4NZWIRSMOlyzNOQeqRu/OYyAZL09khoszj66j9Z+j/6RS A9F3GZDPhsnyXS4zQInU09nPrla8fV56fDHXb5MqiqETowWklTbt1sHyixYke4j9SbWi GVk7gPcN31hHijSt1JVBPgyXNs9YvARRzsQxo8paaFBG4r0qQpA7l5uMim0CCfjop8pv V6jGSeW+wH6RrPz72bzbpuFrtAKXR0iyVKfnZ+jdbBbGFpkgouohqUadtI/224rzRDll oWuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version:dkim-signature:dkim-signature; bh=clcggBWJdTfn1Y1xMaXV/AsFgBIohZN4TtdbGm5qndE=; b=IwpOI30F6bi+5P+NAFlyUemR4N7o80MGSnNNJev30s8JsJ34s/fmEWYf/xY+Qc/IN5 E/NbpVCQ8enGdazlGGXg0PZ3de/WlbLGyjnJm1HB5ywclK5nhLbhksAxwFzfj5LrbFjh 1z1HlqIm3Pt7YN6tkLRJSbhtnNFSKHUkpBjtMPjtxMCyrO+yARvixHUgtRArIkIvEypb fCiGuOssSlzaXP0iYegL0JVfMGivu3DlzXD8rG9VAlqaMmCO6FvWUajvgEeZuJDSaRC/ LNx33jIrFMh0A9tNtHj0yaPSF6rgG/4YvM7e5JMw5nayZNfQi5Fd2ObssmlDlNT9mpO6 Vw1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=JxVqNMzO; dkim=pass header.i=@codeaurora.org header.s=default header.b=BVw5wX2H; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n3si3142702pgv.458.2019.03.06.22.50.06; Wed, 06 Mar 2019 22:50:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=JxVqNMzO; dkim=pass header.i=@codeaurora.org header.s=default header.b=BVw5wX2H; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726565AbfCGGtq (ORCPT + 99 others); Thu, 7 Mar 2019 01:49:46 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:34276 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726057AbfCGGtq (ORCPT ); Thu, 7 Mar 2019 01:49:46 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 5B96D6074F; Thu, 7 Mar 2019 06:49:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1551941385; bh=h+1H9laOAG0hzNCViY330XOkwBHYt/gYkcAtTq0zoLA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=JxVqNMzO+6JkSj65885c/o70US0zeJGFXjsgIMTXZQVjcd64f2T1paHDGcJDfZ+9V shp4kbgycqG5VP+C+nqw+glStwxWuN+zIZQM6qCBQsElGnm0Ja/1x34RCj2VNotqKe DDbNsc5RYckhVb/H9r6JGCY26FcqMUxboARefEEM= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_INVALID,DKIM_SIGNED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id A72B16030B; Thu, 7 Mar 2019 06:49:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1551941384; bh=h+1H9laOAG0hzNCViY330XOkwBHYt/gYkcAtTq0zoLA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=BVw5wX2HU7ck8OV2gn+vDiHEvsmjeR0jDBeiHx0lNBTdC8qrd4uTZwmG8TqX8lRSN k560/4y0nLh1IhvHLt9xoSCTe8jlJ2uvro2QVyhKsJH8iumTRotJN56Ry4LAW7A24Q mgrwD93/sprqGBfXIFb2ywp0EyQV2V33O1vdkmK8= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Thu, 07 Mar 2019 12:19:44 +0530 From: Balakrishna Godavarthi To: Stephen Boyd Cc: johan.hedberg@gmail.com, marcel@holtmann.org, mka@chromium.org, linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org, hemantg@codeaurora.org, linux-arm-msm@vger.kernel.org, rjliao@codeaurora.org Subject: Re: [PATCH v1] Bluetooth: hci_qca: Give enough time to ROME controller to bootup. In-Reply-To: <155191158734.20095.15990837191526416248@swboyd.mtv.corp.google.com> References: <20190306162113.8585-1-bgodavar@codeaurora.org> <155191158734.20095.15990837191526416248@swboyd.mtv.corp.google.com> Message-ID: X-Sender: bgodavar@codeaurora.org User-Agent: Roundcube Webmail/1.2.5 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Stepen, On 2019-03-07 04:03, Stephen Boyd wrote: > Quoting Balakrishna Godavarthi (2019-03-06 08:21:13) >> This patch enables enough time to ROME controller to bootup >> after we bring the enable ping out of reset. >> >> Signed-off-by: Balakrishna Godavarthi >> --- > > Any Fixes tag? And maybe some more explanation or background on where > 150 ms sleep comes from would be useful. Was it determined > experimentally or did it come from a datasheet somewhere? Does the time > differ between boards? > [Bala]: this was observed in our stress testing and even the CHIP firmware team confirmed that BT chip required at least 150 ms to boot up. @Rocky to confirm my statement. >> drivers/bluetooth/hci_qca.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c >> index 237aea34b69f..1953b13511e7 100644 >> --- a/drivers/bluetooth/hci_qca.c >> +++ b/drivers/bluetooth/hci_qca.c >> @@ -508,6 +508,8 @@ static int qca_open(struct hci_uart *hu) >> qcadev = serdev_device_get_drvdata(hu->serdev); >> if (qcadev->btsoc_type != QCA_WCN3990) { >> gpiod_set_value_cansleep(qcadev->bt_en, 1); >> + /* Controller needs time to bootup. */ >> + msleep(150); >> } else { >> hu->init_speed = qcadev->init_speed; >> hu->oper_speed = qcadev->oper_speed; -- Regards Balakrishna.