Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Redesigned controller-host interface with less buffers & threads - Lower latency work & interrupt handling in the controller - Improved SDP client support - Improved RFCOMM support - Improved AT parser (for HFP) - IPSP sample app ported to native IP stack ---------------------------------------------------------------- Arkadiusz Lichwa (11): Bluetooth: SDP: Implement ServiceSearchAttribute request PDU Bluetooth: SDP: Validate Transaction ID of PDU Bluetooth: SDP: Introduce ContinuationState of PDU Bluetooth: SDP: Handle SSA PDU response Bluetooth: SDP: Enable resolve all user delivered UUIDs Bluetooth: SDP: Validate SSA response PDU Bluetooth: SDP: Allocate user delivered memory for resolved data Bluetooth: SDP: Check room needed against user allocated Bluetooth: SDP: Send resolved UUID data to user Bluetooth: SDP: Add UUID reference to user callback Bluetooth: SDP: Update 'no records found' code comment Arun Jagadish (1): Bluetooth: AVDTP:Add Accept Incoming connection cb Carles Cufi (5): Bluetooth: Rename SEND_STACK to TX_STACK_SIZE Bluetooth: hci_uart: Disable HCI ECC commands temporarily bluetooth: Tune stack sizes after measuring with hci_uart bluetooth: controller: Split events into normal and priority bluetooth: hci_uart: Allocate 65 bytes for L2CAP packets Jaganath Kanakkassery (7): Bluetooth: RFCOMM: Respond to Test command Bluetooth: RFCOMM: Handle non supported message types Bluetooth: Fix reserve param of bt_l2cap_create_pdu() Bluetooth: RFCOMM: Increase dlc stack size to 256 Bluetooth: RFCOMM: Rearrange fns to avoid forward declaration Bluetooth: RFCOMM: Implement timer in dlc Bluetooth: RFCOMM: Implement timer in session Johan Hedberg (24): Bluetooth: Take advantage of new net_buf_add_mem() API Bluetooth: Fix incorrect call to memcpy() Bluetooth: Fix another incorrect memcpy call Bluetooth: hci_ecc: Fix incorrect private_key size Bluetooth: Kconfig Remove HOST_BUFFERS option Bluetooth: Kconfig: Introduce BLUETOOTH_COMBINED_RX_BUF option Bluetooth: Refactor bt_recv() logic Bluetooth: Introduce support for HCI driver-side RX thread Bluetooth: Remove support for host flow control Bluetooth: Add bt_buf_get_rx() helper API Bluetooth: Kconfig: Fine tune options for RECV_IS_RX_THREAD Bluetooth: Convert H:4 HCI driver to RECV_IS_RX_THREAD Bluetooth: Use bt_buf_get_rx in hci_ecc.c Bluetooth: hci_ecc: Delay event buffer allocation Bluetooth: drivers: Use bt_buf_get_rx() in h5.c Bluetooth: Controller: Use bt_buf_get_rx for buffer allocation Bluetooth: Remove unused prio pool and buffer helpers Bluetooth: Controller: Switch to controller-side RX thread Bluetooth: Controller: Deprioritize adv report buffer allocation Bluetooth: h4: Use k_fifo instead of k_sem Bluetooth: Reduce the minimum RX buf count to 2 Bluetooth: h4: Convert TX path to be interrupt based Bluetooth: Create separate bt_recv_prio() API Bluetooth: Fix potential race condition in bt_pub_key_gen() Louis Caron (1): Bluetooth: fix write cmd handling Luiz Augusto von Dentz (2): Bluetooth: ipsp: Port sample to native stack Bluetooth: ATT: Fix using k_fifo API with net_buf Piyush Itankar (1): Bluetooth: A2DP: Removes confirmation callback registration Sathish Narasimman (8): Bluetooth: AT: Rename API's which uses term 'stream' Bluetooth: HFP HF: SLC Connection send/parse CIND Bluetooth: AT: Change API name skip_whitespace to skip_space Bluetooth: HFP HF: SLC query indicators present value Bluetooth: samples: handsfree application indicator callback Bluetooth: HFP HF: SLC Enable indicator status report Bluetooth: AT: Reset AT and CMD state Bluetooth: HFP HF: Rename cind_status_handle_values Szymon Janc (1): Bluetooth: hci_ecc: Verify LE Generate DHKey command parameters Vinayak Chettimada (18): Bluetooth: Controller: internally handle unknown rsp for LE Ping Bluetooth: Controller: use BT_WARN to display unknown rsp Bluetooth: Controller: add radio ISR profiling event Bluetooth: Controller: BT_INFO the ISR profiling event Bluetooth: Controller: Kconfig radio ISR profiling Bluetooth: Controller: refactor ISR to reduce critical path code Bluetooth: Controller: add init test for BT 4.0 only controller Bluetooth: Controller: Kconfig LE Ping feature Bluetooth: Controller: fix LE Ping conditional compilations Bluetooth: Controller: Kconfig Data Length Update feature Bluetooth: Controller: Kconfig connection RSSI measurement Bluetooth: Controller: Kconfig Tx buffer size Bluetooth: Controller: Kconfig fast encryption setup feature Bluetooth: Controller: add memq_peek interface Bluetooth: Controller: replace work with mayfly Bluetooth: Controller: fix DLE conditional compilations Bluetooth: Controller: Remove advertiser struct use in observer Bluetooth: Controller: revert to event callback inside radio ISR drivers/bluetooth/hci/Kconfig | 14 +- drivers/bluetooth/hci/h4.c | 398 ++++++--- drivers/bluetooth/hci/h5.c | 9 +- drivers/bluetooth/nble/gatt.c | 2 +- drivers/bluetooth/nble/rpc_serialize.c | 6 +- include/bluetooth/buf.h | 38 +- include/bluetooth/hci.h | 1 + include/bluetooth/hfp_hf.h | 73 +- include/bluetooth/rfcomm.h | 5 +- include/bluetooth/sdp.h | 6 +- include/drivers/bluetooth/hci_driver.h | 34 +- samples/bluetooth/handsfree/src/main.c | 42 + samples/bluetooth/hci_uart/nrf5.conf | 4 +- samples/bluetooth/hci_uart/src/main.c | 8 +- samples/bluetooth/hci_usb/src/main.c | 6 +- samples/bluetooth/ipsp/prj.conf | 34 +- samples/bluetooth/ipsp/src/main.c | 384 +++++++-- subsys/bluetooth/Kconfig | 2 +- subsys/bluetooth/controller/Kconfig | 81 +- subsys/bluetooth/controller/Makefile | 13 +- subsys/bluetooth/controller/hal/ccm.h | 2 - .../bluetooth/controller/hal/{hal_rtc.h => cntr.h} | 16 +- subsys/bluetooth/controller/hal/cpu.h | 2 - subsys/bluetooth/controller/hal/debug.h | 2 - subsys/bluetooth/controller/hal/ecb.h | 2 +- subsys/bluetooth/controller/hal/hal_work.h | 33 - .../controller/hal/{rtc.c => nrf5/cntr.c} | 35 +- subsys/bluetooth/controller/hal/{ => nrf5}/ecb.c | 6 +- subsys/bluetooth/controller/hal/{ => nrf5}/radio.c | 19 +- subsys/bluetooth/controller/hal/{ => nrf5}/rand.c | 46 +- subsys/bluetooth/controller/hal/radio.h | 2 +- subsys/bluetooth/controller/hal/rand.h | 2 +- subsys/bluetooth/controller/hci/hci.c | 64 +- subsys/bluetooth/controller/hci/hci_driver.c | 257 ++++-- subsys/bluetooth/controller/hci/hci_internal.h | 1 + subsys/bluetooth/controller/ll/ctrl.c | 869 ++++++++++++++------ subsys/bluetooth/controller/ll/ctrl.h | 72 +- subsys/bluetooth/controller/ll/ctrl_internal.h | 32 +- subsys/bluetooth/controller/ll/ll.c | 12 +- subsys/bluetooth/controller/ll/pdu.h | 19 +- .../bluetooth/controller/{ll => ticker}/ticker.c | 459 ++++++++--- .../bluetooth/controller/{ll => ticker}/ticker.h | 2 +- subsys/bluetooth/controller/util/config.h | 40 + subsys/bluetooth/controller/util/defines.h | 34 - subsys/bluetooth/controller/util/mayfly.c | 163 ++++ .../bluetooth/controller/util/{work.h => mayfly.h} | 35 +- subsys/bluetooth/controller/util/mem.c | 45 +- subsys/bluetooth/controller/util/mem.h | 8 + subsys/bluetooth/controller/util/memq.c | 18 +- subsys/bluetooth/controller/util/memq.h | 1 + subsys/bluetooth/controller/util/util.h | 8 + subsys/bluetooth/controller/util/work.c | 165 ---- subsys/bluetooth/host/Kconfig | 94 +-- subsys/bluetooth/host/a2dp.c | 6 - subsys/bluetooth/host/at.c | 38 +- subsys/bluetooth/host/at.h | 10 +- subsys/bluetooth/host/att.c | 27 +- subsys/bluetooth/host/avdtp.c | 37 +- subsys/bluetooth/host/avdtp_internal.h | 40 +- subsys/bluetooth/host/conn.c | 4 +- subsys/bluetooth/host/conn_internal.h | 2 +- subsys/bluetooth/host/gatt.c | 3 +- subsys/bluetooth/host/hci_core.c | 271 ++---- subsys/bluetooth/host/hci_core.h | 4 + subsys/bluetooth/host/hci_ecc.c | 95 ++- subsys/bluetooth/host/hci_raw.c | 23 +- subsys/bluetooth/host/hfp_hf.c | 268 +++++- subsys/bluetooth/host/hfp_internal.h | 16 +- subsys/bluetooth/host/l2cap.c | 10 +- subsys/bluetooth/host/l2cap_br.c | 4 +- subsys/bluetooth/host/rfcomm.c | 195 ++++- subsys/bluetooth/host/rfcomm_internal.h | 5 + subsys/bluetooth/host/sdp.c | 383 ++++++++- subsys/bluetooth/host/sdp_internal.h | 12 + subsys/bluetooth/host/smp.c | 2 +- subsys/bluetooth/host/smp_null.c | 2 +- tests/bluetooth/init/prj_controller_4_0.conf | 14 + tests/bluetooth/init/prj_controller_dbg.conf | 2 + tests/bluetooth/init/testcase.ini | 11 +- tests/bluetooth/shell/src/main.c | 4 +- tests/bluetooth/tester/src/l2cap.c | 2 +- 81 files changed, 3622 insertions(+), 1593 deletions(-) rename subsys/bluetooth/controller/hal/{hal_rtc.h => cntr.h} (75%) delete mode 100644 subsys/bluetooth/controller/hal/hal_work.h rename subsys/bluetooth/controller/hal/{rtc.c => nrf5/cntr.c} (63%) rename subsys/bluetooth/controller/hal/{ => nrf5}/ecb.c (98%) rename subsys/bluetooth/controller/hal/{ => nrf5}/radio.c (97%) rename subsys/bluetooth/controller/hal/{ => nrf5}/rand.c (72%) rename subsys/bluetooth/controller/{ll => ticker}/ticker.c (81%) rename subsys/bluetooth/controller/{ll => ticker}/ticker.h (98%) create mode 100644 subsys/bluetooth/controller/util/config.h delete mode 100644 subsys/bluetooth/controller/util/defines.h create mode 100644 subsys/bluetooth/controller/util/mayfly.c rename subsys/bluetooth/controller/util/{work.h => mayfly.h} (52%) delete mode 100644 subsys/bluetooth/controller/util/work.c create mode 100644 tests/bluetooth/init/prj_controller_4_0.conf Change-Id: I1ea0adab8e50f643fb2ffdf487da1a9c30183225 Signed-off-by: Johan Hedberg <[email protected]>
- Loading branch information