Commit Graph

1185 Commits

Author SHA1 Message Date
baohongde
a172605af4 components/bt: using high level interrupt in lc 2020-04-17 23:16:59 +08:00
baohongde
f490b4ddfe hli: don't spill registers, instead save them to a separate region
Level 4 interrupt has a chance of preempting a window overflow or

underflow exception. Therefore it is not possible to use standard
context save functions, as the SP on entry to Level 4 interrupt may
be invalid (e.g. in WindowUnderflow4).
Instead, mask window overflows and save the entire general purpose
register file, plus some of the special registers. Then clear
WindowStart, allowing the C handler to execute without spilling the
old windows. On exit from the interrupt handler, do everything
    in reverse.
2020-04-17 23:09:50 +08:00
baohongde
712df748da hli_api: meta queue: fix out of bounds access, check for overflow 2020-04-17 23:09:26 +08:00
baohongde
918472f641 Feature: high level interrupt(5) 2020-04-17 23:09:04 +08:00
baohongde
a7a20f2e17 components/bt: Fix a bug that when frame program disable because of 'parity change has been detected on the slave ACL link at slave synchronization algorithm', while now is handling 'the last programmed frame' that cause no acl resched was called after that. 2020-04-17 22:43:45 +08:00
xiewenxiang
7941e591d3 component/bt: fix don't dequeue the command queue after process the read_by_type_req(backport v3.3) 2020-04-17 22:38:16 +08:00
gengyuchao
09c895f0f9 Close L2CAP_WAKE_PARKED_LINK temporary because it may still have some bugs 2020-04-17 22:17:06 +08:00
baohongde
48e6aa916a Fix assert in ld_pscan.c line 1032 2020-04-17 22:16:42 +08:00
gengyuchao
67f1cedbed change btu queue size from 50 to 200 2020-04-17 21:59:29 +08:00
baohongde
0b76a8547f bugfix that when slave initiates unsniff procedure and meet transaction collision, no mode_change_event is reported
Add interrupt protect fpr vhci_env_p->vhci_intr_st
2020-04-17 21:58:45 +08:00
baohongde
92e111eb56 components/bt: Fix int wdt due to disable interrupt too long time 2020-04-17 21:45:20 +08:00
baohongde
7cc89bf83a components/coex: Fix wakeup delay with DFS 2020-04-17 21:40:43 +08:00
baohongde
e1a33408c4 components/coex: Fix coex AFH taskposting err 2020-04-17 21:31:53 +08:00
baohongde
1102d2b1d2 components/bt: Fix conn fail in loop 2020-03-13 13:36:23 +08:00
baohongde
a94ec95d6b components/bt: Disable check due to double isr 2020-03-11 23:26:01 +08:00
baohongde
5eee07f944 components/coex: Set AFH in btdm task when wifi change channel 2020-03-11 14:32:06 +08:00
baohongde
e75cf5d44e Fix some bugs due to interrupt response not timely
1. Fix assert in ld_fm.c line 371 due to double clk isr
2. Fix assert(25, 0) in lc_task.c
3. Fix assert due to different rxlinklbl
4. Fix assert due to different of currentrxdescptr and rxdone is not 0
2020-03-10 20:52:27 +08:00
baohongde
b81de503cd components/bt: disable some frequent logs 2020-03-06 17:00:01 +08:00
baohongde
c38d6a1dc5 components/bt: Fix assert(512,0) 2020-03-06 16:29:28 +08:00
wangmengyang
22b196c4bd component/bt: enable more trace loggings in bluetooth controller
1. add more debugging for issue assertion in ld_sscan.c, line 146
2. modify debug logging level for bluetooth controller, from ERROR to WRANING
2020-03-06 11:27:28 +08:00
baohongde
3d59dd404a Fix no free elt in prog push
ea.c ea_elt_insert will disable all interrupts then get calue of current time
2020-03-03 22:15:36 +08:00
zwj
e479b79462 component/bt: fix ble assert(131072 0) in rwble.c 2020-03-03 21:27:28 +08:00
baohongde
8e6a52008c components/bt: change HCI task size back 2020-02-27 15:04:18 +08:00
baohongde
afb96542dd components/coex: Fix a2dp stuck after creating another connection 2020-02-19 14:49:14 +08:00
baohongde
125e21c3e0 add auto latency to avoid bt stuck when ble connection use small
interval

1. Fix A2DP stuck when BLE's interval is too small
2020-02-19 14:48:58 +08:00
baohongde
1a82857251 components/coex: Fix task watchdog timeout with sleep 2020-01-17 17:42:09 +08:00
baohongde
818ea3e3ce components/coex: backports for coex schm
1. support 40M Wi-Fi when calculate AFH

2. Calculate channel classification according to Host and coex

3. Set BR/EDR/LE coex schm status in controller

4. Only set AFH for BT when WiFi is connected

5. Fix a potential dead lock issue when set AFH

6. Fix WiFi connecting coex schm issue due to periodic timer

7. Complete BT a2dp pause coex schm

8. Increase BT slice when BT a2dp pause in order to receive AVRC event

9. Add more coex schm for BT/BLE
2020-01-14 20:17:46 +08:00
baohongde
be10cc6251 Revert "components/bt: Add API and EVT for set AFH channels(BR/EDR)"
This reverts commit 3b704d2f3a.
2020-01-14 16:05:36 +08:00
baohongde
1a0d6699be components/coex: Fix crash after interrupt restore 2020-01-07 20:05:57 +08:00
baohongde
0d31937a7d components/coex: Fix dead lock 2019-12-28 16:59:44 +08:00
baohongde
04e4f6fbf1 components/coex: Fix cache disable 2019-12-28 12:35:45 +08:00
baohongde
ea6033f0dc components/coex: Set BT AFH when Wi-Fi channel changed 2019-12-27 17:48:36 +08:00
baohongde
c8e5433da3 Add A2DP paused state into schm 2019-12-24 22:11:14 +08:00
baohongde
99951fbcf8 support coex scheme
1. add bugfix of ble and add api to set max adv delay time
2. open full scan and change adv interval check in bluedroid
2019-12-16 15:25:38 +08:00
baohongde
3b704d2f3a components/bt: Add API and EVT for set AFH channels(BR/EDR) 2019-12-16 15:21:20 +08:00
Jiang Jiang Jian
faf96bd108 Merge branch 'bugfix/btdm_run_out_of_frame_element_v3.3' into 'release/v3.3'
components/bt: Fix assert due to no free element form

See merge request espressif/esp-idf!6701
2019-11-27 22:22:33 +08:00
Jiang Jiang Jian
51a49a861a Merge branch 'bugfix/btdm_assert_deinit_a2dp_while_playing_v3.3' into 'release/v3.3'
components/bt: Fix assert when deinit A2DP while playing music

See merge request espressif/esp-idf!6535
2019-11-14 20:12:31 +08:00
baohongde
0f7dc2ec02 components/bt: Fix assert due to no free element form 2019-11-14 15:51:39 +08:00
Xia Xiaotian
9592346090 Coexist: fix some coexist bugs
1. Fix high beacon and broadcast packets loss ratio of WiFi to make
   MDNS test pass.
2. Improve stability of WiFi performance with a little
   sacrifice of throughput.
3. Improve BLE advertising and connection performance with dynamic
   priority. It sacrifices a little WiFi throughput, but achieves balance
   between WiFi and Bluetooth.
4. fix bug bb reset lock flag to avoid bb reset lock unhandle
5. fix bug wifi reset mac cause task watch dog timeout
6. fix bug wifi reset mac position
2019-10-29 17:18:12 +00:00
Jiang Jiang Jian
1dd8411e04 Merge branch 'bugfix/coex_semaphore_take_in_isr_lock_v3.3' into 'release/v3.3'
fix bug that semaphore may schedule out in ISR locking (v3.3)

See merge request espressif/esp-idf!6427
2019-10-30 00:49:42 +08:00
Jiang Jiang Jian
e6a71fe29c Merge branch 'bugfix/btdm_disable_bt_gatt_v3.3' into 'release/v3.3'
components/bt: Disable BR/EDR GATT

See merge request espressif/esp-idf!6506
2019-10-30 00:48:14 +08:00
baohongde
c570e253fe components/bt: Fix assert when deinit A2DP while playing music 2019-10-29 20:04:15 +08:00
wangmengyang
3a5249aea9 bugfix that call of esp_a2d_media_ctrl(ESP_A2D_MEDIA_CTRL_SUSPEND) will not get an ACK from callback on A2DP sink 2019-10-29 10:14:19 +00:00
baohongde
28c19e623f components/bt: Disable BR/EDR GATT 2019-10-29 10:10:52 +00:00
Tian Hao
cabe66195c fix bug that semaphore may schedule out in Critical Section
1. Since BLE full-scan feature for BLE mesh change the controller code cause this problem,
it cause coex semaphore take in "interrupt disable", then it may cause task schedule
and cause crash in freertos
2. Fix newlib lock ISR context and critical section check
3. Fix bt controller ISR context and critical section check
2019-10-29 14:43:00 +08:00
Prasad Alatkar
3545b58986 NimBLE: Port NimBLE stack to IDF Release v3.3 (Backport v3.3)
Includes all the latest NimBLE stack changes from idf-v4.0 with few idf-v3.3
specific modifications.
- Addition of nimble component as submodule (`nimble-1.1.0-idf-v3.3`), contains
  IDF v3.3 specific minor changes.
- Example applications are identical to idf-v4.0
- Modification in `bt/Kconfig` to accommodate NimBLE as a BT host.
2019-10-18 13:23:24 +08:00
Jiang Jiang Jian
46b12a560a Merge branch 'bugfix/btdm_backports_v3.3_0903' into 'release/v3.3'
Bugfix/btdm backports v3.3 0903

See merge request espressif/esp-idf!5983
2019-09-29 16:19:22 +08:00
Prasad Alatkar
9c87165bc8 BT/Bluedroid : Add support to set min encryption key requirement (Backport v3.3)
- Backport(v3.3) of IDF MR!6122
- Modifies `smp_utils.c` to add check on encryption key size received from
  peer.
- Modifies `esp_ble_gap_set_security_param` API to add minimum encryption key
  size requirement.
2019-09-29 16:06:27 +08:00
baohongde
285925a43b components:bt: backports release/v3.3 0903
Remove xtensa/xruntime.h
Fix sending Lmp_feature_req_ext in a loop
Fix 2 bugs in r_ld_fm_sket_isr
fix data loss and send same pkt twice sometimes
fix adv data error in air sometimes
fix adv start/stop crash sometimes
Fix connect fail with some speakers
clear BT/BLE interruots after controller disable
add sco_data_path to be set in sdkconfig and do not reset the value upon HCI reset command
2019-09-23 18:02:28 +08:00
wangmengyang
9e51598ee7 component/bt: fix some performance issues in A2DP source data flow control
1. modify the limit of frames to send to avoid dropping packet on A2DP source due to TX data queue overflow
2. reduce the A2DP source data queue size in order to achieve faster control respnonse
2019-09-20 11:52:46 +00:00