summaryrefslogtreecommitdiffstats
path: root/src/hardware.c
diff options
context:
space:
mode:
authortturney <tturney@google.com>2015-08-19 10:38:28 -0700
committertturney <tturney@google.com>2015-08-31 15:41:47 -0700
commitb7b7af83922fc5918d2632402daa3824364806fb (patch)
treeccfa5677a63a0ec066272d5eab655416af0eb262 /src/hardware.c
parent955f8769d470fb2bbb8a1d44a39ce8e104085d9a (diff)
downloadandroid_hardware_broadcom_libbt-b7b7af83922fc5918d2632402daa3824364806fb.tar.gz
android_hardware_broadcom_libbt-b7b7af83922fc5918d2632402daa3824364806fb.tar.bz2
android_hardware_broadcom_libbt-b7b7af83922fc5918d2632402daa3824364806fb.zip
Fix btwrite timer timeout for Angler (1/2)
1. For vnd_angler.txt: Set PROC_BTWRITE_TIMER_TIMEOUT_MS to 0 to avoid upio start and stop timer when LMP is enabled and BT_WAKE is asserted and de-asserted. This time is useless and would set btwrite to 0 by mistake even when host is sending data to UART, and this would de-assert BT_WAKE by mistake. 2. For hardware.c: For chipset 4358 we need to set LPM_HC_IDLE_THRESHOLD to 24, so we need to reduce the multiplier to make timeout_ms a reasonable value. Without modification, the timeout_ms would be 36000ms which is too large. 3. For upio.c: Need to set lmp_proc_cb.btwrite_active even though PROC_BTWRITE_TIMER_TIMEOUT_MS is set to 0. Otherwise, btwrite would be written very frequently. Bug: 23248798 Change-Id: Ie55c346785679e51a771d5e46270c0858e6082ee
Diffstat (limited to 'src/hardware.c')
-rwxr-xr-xsrc/hardware.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/hardware.c b/src/hardware.c
index 02103ca..10bf22b 100755
--- a/src/hardware.c
+++ b/src/hardware.c
@@ -1211,9 +1211,10 @@ uint32_t hw_lpm_get_idle_timeout(void)
*/
timeout_ms = (uint32_t)lpm_param.host_stack_idle_threshold \
* LPM_IDLE_TIMEOUT_MULTIPLE;
-
if (strstr(hw_cfg_cb.local_chip_name, "BCM4325") != NULL)
timeout_ms *= 25; // 12.5 or 25 ?
+ else if (strstr(hw_cfg_cb.local_chip_name, "BCM4358") != NULL)
+ timeout_ms *= 50;
else
timeout_ms *= 300;