On Wed, Mar 13, 2019 at 5:45 PM <rjliao@xxxxxxxxxxxxxx> wrote: > > 在 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 <bgodavar@xxxxxxxxxxxxxx> > >>> --- > >> > >> 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. Stephen was also asking about a Fixes tag, maybe we should add this? Fixes: 05ba533c5c11 ("Bluetooth: hci_qca: Add serdev support")