lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 07 Mar 2019 12:19:44 +0530
From:   Balakrishna Godavarthi <bgodavar@...eaurora.org>
To:     Stephen Boyd <swboyd@...omium.org>
Cc:     johan.hedberg@...il.com, marcel@...tmann.org, mka@...omium.org,
        linux-kernel@...r.kernel.org, linux-bluetooth@...r.kernel.org,
        hemantg@...eaurora.org, linux-arm-msm@...r.kernel.org,
        rjliao@...eaurora.org
Subject: Re: [PATCH v1] Bluetooth: hci_qca: Give enough time to ROME
 controller to bootup.

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 <bgodavar@...eaurora.org>
>> ---
> 
> 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.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ