Update DEVFREQ from CAF 3.5
Bluetooth: Add support for AR3002 bluetooth soc

Bluetooth power driver for providing power to Bluetooth AR3002 SOC

Change-Id: I3f4b23d59ce860393a7a481d7ac6d298bc89925e
Signed-off-by: Pradeep Panigrahi <pradeepp@codeaurora.org>
bluetooth: update bluetooth-power platform data

Update bluetooth power driver to support both device tree and
board specific platform data to power on bluetooth chipset.

Current driver supports only gpio data from the device node.
Now the driver first checks for device tree node and if it
does not exist then checks for the platform data from the
board file.

Updated the platform data for the driver to provide all the
required vregs and gpio data to power on the bluetooth
chipset.

Change-Id: Ie71115ad7173fc527e46b334a8b548762b40aa46
Signed-off-by: Ram Mohan Korukonda <rkorukon@codeaurora.org>
bluetooth: set optimum current requirement for vdd la

Add change in bluetooth power module to specify load current
requirement for regulator vdd la during Bluetooth turn on.

Change-Id: Iddd602b2ea45be62cb3786cc482e3ce12ae6302b
Signed-off-by: Pradeep Panigrahi <pradeepp@codeaurora.org>
Bluetooth: hci_ath: Vote off Uart clock when BT is in Sleep

When there is no communication between the BTHOST and BTSOC,
UART clock should be vote off, otherwise Uart module will
not unlock wake lock which doesn't allow system to go sleep.

CRs-fixed: 413053
Change-Id: I8067132d5c376551bf104e69ac916addbbda3d1d
Signed-off-by: Ram Mohan Korukonda <rkorukon@codeaurora.org>
bluetooth: hci_ath: add device tree support for atheros driver

HCI Atheros driver first checks for device tree node and if it
does not exists then checks for the platform data from the
board file.

Change-Id: I92e1cfce0d0bf074eb3baab921674e291bb462e6
Signed-off-by: Ram Mohan Korukonda <rkorukon@codeaurora.org>
bluetooth: hci_ath: enable driver support for bluedroid stack

Added module params to allow userspace to control the sleep
mechanism of atheros chipset.

Change-Id: I1cf563d54fa56159d227380ada784cca0c93ed23
Signed-off-by: Ram Mohan Korukonda <rkorukon@codeaurora.org>
bluetooth: hci_ath: enable driver support for bluedroid stack

Added module params to allow userspace to control the sleep
mechanism of atheros chipset.

Change-Id: Ie7a9a6c0d73d8df694c805f59a22ad9c52ea8c87
Signed-off-by: Pradeep Panigrahi <pradeepp@codeaurora.org>
bluetooth: hci_ibs: disable irqs when spinlock is acquired

Deadlock is observed while performing bluetooth stress and
stability tests.

Since same lock is getting acquired from both irq and
non-irq context, irqs should be disable while acquiring
the spinlock always. Otherwise there is chance of deadlock
observing while performing stability tests.

CRs-fixed: 406705
Change-Id: I4c79e3f7edb5312d02e6819fb62384f58c2e1d32
Signed-off-by: Ram Mohan Korukonda <rkorukon@codeaurora.org>
Bluetooth:  Avoid queing power_on/off when during initial setup

Incase of SSR scenarios there is chance that user may request
for power_on/off while the ssr is going on, this need to be
avoided if the initial set up is not complete.

Change-Id: I2568a32e0ff18dba9faafe3d153852339b63841a
CRs-fixed: 432178
Signed-off-by: Bhasker Neti <bneti@codeaurora.org>
Bluetooth: Validate HCI device handle before updating scan state

Check if the HCI device handle is available prior to updating
the scan state.

Change-Id: Ifc278afecbcf2bc7a95bb6595028dd890a8b60f5
CRs-Fixed: 436733
Signed-off-by: Anantha Krishnan <ananthk@codeaurora.org>
Bluetooth: Remove wake_locks added for BT idle timer

Wakelocks were used to address the issue related to timer
which was not triggered when device was put into suspend
mode.This does not impact the usecases as the link would
be put into sniff mode immediately after the device comes
out of suspend mode.

Change-Id: I648acf32c6ce9bd0d3415ac0e9dcd2250d3fb68d
Signed-off-by: Sumit Bajpai <sbajpai@codeaurora.org>
Bluetooth : Recover BT, if hardware error event is received from the SOC

If Hardware Error event is received from the SOC, then BT SOC is in bad
state. As per spec, Hardware Error event is handled in HCI. Upper layer
gets informed by HCI to reset everything. & recover BT state machine & BT
SOC.

Change-Id: Iefdf8511ad51f88ff8a24ab9e075eb8dbc0a0a67
Signed-off-by: Nitin Shivpure <nshivpur@codeaurora.org>