linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/5] Bug fixes for Qualcomm BT chip wcn3990
@ 2018-12-20 14:46 Balakrishna Godavarthi
  2018-12-20 14:46 ` [PATCH v5 1/5] Bluetooth: hci_qca: use wait_until_sent() for power pulses Balakrishna Godavarthi
                   ` (4 more replies)
  0 siblings, 5 replies; 38+ messages in thread
From: Balakrishna Godavarthi @ 2018-12-20 14:46 UTC (permalink / raw)
  To: marcel, johan.hedberg, johan
  Cc: mka, linux-kernel, linux-bluetooth, hemantg, linux-arm-msm,
	Balakrishna Godavarthi

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

5. btqca: inject command complete event during fw download
   
   Qualcomm latest chip will not send an command complete event
   for last packet of the fw dump sent, so here we are inject an command 
   complete event.

   * Bluetooth: btqca: inject command complete event during fw download

Changes in V5:
 * added serdev_device_wrute_flush before sending the power off pulse
   during shutdown.

Changes in v4:
 * used serdev_device_write_buf() instead of serdev_device_write().
 * added new patch to stop logging of 0xfc00 timeout on console.

Changes in v3:
 * moved IBS & qca_flush to different patch
 * updated comments in code fo Deassert RTS patch

Balakrishna Godavarthi (5):
  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
  Bluetooth: btqca: inject command complete event during fw download

 drivers/bluetooth/btqca.c   | 39 ++++++++++++++++++-
 drivers/bluetooth/btqca.h   |  3 ++
 drivers/bluetooth/hci_qca.c | 78 +++++++++++++++++++++----------------
 3 files changed, 85 insertions(+), 35 deletions(-)

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2019-01-23 12:57 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-20 14:46 [PATCH v5 0/5] Bug fixes for Qualcomm BT chip wcn3990 Balakrishna Godavarthi
2018-12-20 14:46 ` [PATCH v5 1/5] Bluetooth: hci_qca: use wait_until_sent() for power pulses Balakrishna Godavarthi
2018-12-22  1:59   ` Matthias Kaehlcke
2018-12-26  6:31     ` Balakrishna Godavarthi
2018-12-26 22:21       ` Matthias Kaehlcke
2018-12-27  3:23         ` Balakrishna Godavarthi
2019-01-09 14:38     ` Johan Hovold
2019-01-10 14:48       ` Balakrishna Godavarthi
2019-01-11  0:55         ` Matthias Kaehlcke
2019-01-11 14:32           ` Balakrishna Godavarthi
2019-01-11 23:38             ` Matthias Kaehlcke
2019-01-14 10:25               ` Balakrishna Godavarthi
2018-12-20 14:46 ` [PATCH v5 2/5] Bluetooth: hci_qca: Deassert RTS while baudrate change command Balakrishna Godavarthi
2018-12-22  0:31   ` Matthias Kaehlcke
2018-12-26  5:45     ` Balakrishna Godavarthi
2018-12-26 20:25       ` Matthias Kaehlcke
2018-12-27  3:20         ` Balakrishna Godavarthi
2019-01-09 14:52   ` Johan Hovold
2019-01-10 14:34     ` Balakrishna Godavarthi
2019-01-10 14:39       ` Johan Hovold
2019-01-10 14:52         ` Balakrishna Godavarthi
2019-01-11  1:37           ` Matthias Kaehlcke
2019-01-11 15:07             ` Balakrishna Godavarthi
2019-01-11 23:56               ` Matthias Kaehlcke
2019-01-14 14:52                 ` Balakrishna Godavarthi
2019-01-15 23:46                   ` Matthias Kaehlcke
2019-01-17 16:09                     ` Johan Hovold
2019-01-17 17:21                       ` Matthias Kaehlcke
2019-01-18  9:44                         ` Johan Hovold
2019-01-19  0:31                           ` Matthias Kaehlcke
2019-01-21  8:56                             ` Johan Hovold
2019-01-22 21:39                               ` Matthias Kaehlcke
2019-01-21 14:41                             ` Balakrishna Godavarthi
2019-01-22 21:53                               ` Matthias Kaehlcke
2019-01-23 12:57                                 ` Balakrishna Godavarthi
2018-12-20 14:46 ` [PATCH v5 3/5] Bluetooth: hci_qca: Fix frame reassembly errors for wcn3990 Balakrishna Godavarthi
2018-12-20 14:46 ` [PATCH v5 4/5] Bluetooth: hci_qca: Disable IBS state machine and flush Tx buffer Balakrishna Godavarthi
2018-12-20 14:46 ` [PATCH v5 5/5] Bluetooth: btqca: inject command complete event during fw download Balakrishna Godavarthi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).