Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp2844108imc; Wed, 13 Mar 2019 02:45:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqwRDmFjFnxWQUJZg2US86QhX7IM6osvB4nD20KBLYkfi0NQF6P6uSSJ1UX6jHPt9LgDhEbx X-Received: by 2002:a17:902:362:: with SMTP id 89mr16090587pld.172.1552470347138; Wed, 13 Mar 2019 02:45:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552470347; cv=none; d=google.com; s=arc-20160816; b=YQAiMUHaZcm1ZQWyvU7aIH5Xj15tDpwDFPB8KvDRu/zgSqHjjKGTsGQ4KVr4AE0CRf iK6t4ALSBm1RVxaCNWVUw/SFYUzBa+kLdYYDJhF70f2/2gWFPyLV7SGQnEfIPAOEVLMh i+1a+/xfNYh4qq2hWOBqI8Bc+D+4w4mxEeIzEqAZXba3dnhLUBrPydnKhwL/o/nSnneT ItHX6/5/408K0P6h2QtzRYa/KOYcl5BHPlywuV4HDrE+R+ROU1GT2ILJSQr2DsnVy+qO /VfpJVpSCBsE4OmXIfLvfjZg2QoGm1q4TV9S3le7IbglGnG3spnlCmn8kxNt8xkoqymN p2pg== 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=5pW9j2hGGIZ8HOvcWtkXSOry6D8g+tWar4j6qNGEOJo=; b=kF7av/i9+ycueVF6hHNOswykigYRdCbiDBDCwvBZBr++K0y2giQ12MPP4Yro9KJXzs lew36nIqU7x4yN49qiGNvvCks8xCWZvY6YuUzy78ncj+zeo3fxvzzR4v0ic1IzklAYih uddfTfQyIWD35GqWiwcwMj1jxY+lZJFfOzE9mE9sg9eZ1jms+pMyEya1hJf3CKw/q4TB jxppfrjxVCUPPxsKJE5QMGVRjB1Qa4n6c8AJgpzqtzIqoIwQ5IiqiTBFfVBPt8u+NiXP 8U1XZExfNZUlN0463mxKiXgUla09B7SwThOYw72f57F4e2OJA3in/A7IdUzzaCRXeS6Z f9KA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=QCgzr6Yy; dkim=pass header.i=@codeaurora.org header.s=default header.b=QCgzr6Yy; 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 bg5si623951plb.235.2019.03.13.02.45.31; Wed, 13 Mar 2019 02:45:47 -0700 (PDT) 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=QCgzr6Yy; dkim=pass header.i=@codeaurora.org header.s=default header.b=QCgzr6Yy; 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 S1727427AbfCMJpJ (ORCPT + 99 others); Wed, 13 Mar 2019 05:45:09 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:47204 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726163AbfCMJpJ (ORCPT ); Wed, 13 Mar 2019 05:45:09 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id E237B608FC; Wed, 13 Mar 2019 09:45:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1552470307; bh=nR2cEbDKqSpROTGnCoz8RsA5qEaUCe4k5P4cYsTiXSQ=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=QCgzr6YyXiUCqO3NryLcvgueShXNvsmCKRUUjmb/bCfKyJqTEWCme+pMNwR+kYlJ2 SXCMSjTzr974u61r+0XUfO16yafUqmPIDQpho0vaMHBymUwSB8TR4duULIkK7RCV0O ThlTQV05q54E4AURVLOD7AhlIQRFFWJm7FRVIiww= 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 8287760312; Wed, 13 Mar 2019 09:45:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1552470307; bh=nR2cEbDKqSpROTGnCoz8RsA5qEaUCe4k5P4cYsTiXSQ=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=QCgzr6YyXiUCqO3NryLcvgueShXNvsmCKRUUjmb/bCfKyJqTEWCme+pMNwR+kYlJ2 SXCMSjTzr974u61r+0XUfO16yafUqmPIDQpho0vaMHBymUwSB8TR4duULIkK7RCV0O ThlTQV05q54E4AURVLOD7AhlIQRFFWJm7FRVIiww= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Wed, 13 Mar 2019 17:45:07 +0800 From: rjliao@codeaurora.org To: Balakrishna Godavarthi Cc: Stephen Boyd , 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 Subject: Re: [PATCH v1] Bluetooth: hci_qca: Give enough time to ROME controller to bootup. In-Reply-To: References: <20190306162113.8585-1-bgodavar@codeaurora.org> <155191158734.20095.15990837191526416248@swboyd.mtv.corp.google.com> Message-ID: <82fdfbd3dc4dbc1b6258dd470afff589@codeaurora.org> X-Sender: rjliao@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 在 2019-03-07 14:49,Balakrishna Godavarthi 写道: > 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; Hello, Any concern to merge this change? Without this change the Rome cannot up while running the serdev way, we should mainline this change ASAP.