diff options
| author | tturney <tturney@google.com> | 2015-08-19 10:38:28 -0700 |
|---|---|---|
| committer | tturney <tturney@google.com> | 2015-08-31 15:41:47 -0700 |
| commit | b7b7af83922fc5918d2632402daa3824364806fb (patch) | |
| tree | ccfa5677a63a0ec066272d5eab655416af0eb262 /src/upio.c | |
| parent | 955f8769d470fb2bbb8a1d44a39ce8e104085d9a (diff) | |
| download | android_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/upio.c')
| -rw-r--r-- | src/upio.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -499,13 +499,16 @@ void upio_set(uint8_t pio, uint8_t action, uint8_t polarity) ALOGE("upio_set : write(%s) failed: %s (%d)", VENDOR_BTWRITE_PROC_NODE, strerror(errno),errno); } -#if (PROC_BTWRITE_TIMER_TIMEOUT_MS != 0) else { +#if (BT_WAKE_VIA_PROC == TRUE) + lpm_proc_cb.btwrite_active = TRUE; +#endif +#if (PROC_BTWRITE_TIMER_TIMEOUT_MS != 0) /* arm user space timer based on action */ upio_start_stop_timer(action); - } #endif + } UPIODBG("%s: proc btwrite assertion, buffer: %c, timer_armed %d %d", __FUNCTION__, buffer, lpm_proc_cb.btwrite_active, lpm_proc_cb.timer_created); |
