From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> This introduces the initial support for Bluetooth 5.2 features: * ISO channels: + CIS/Unicast support + ISO socket family with QoS support - BIS/Broadcast not yet supported * L2CAP Enhanced Credit Based Flow Control Mode + Support all new procedures + New L2CAP socket mode - Initiating multiple connections at once does not map to any existing socket APIs * Monitor: + ISO packets support * Drivers: + H4,H5,sdio ISO packets support * Emulator: + CIS/Unicast emulation support - BIS/Broadcast emulation not yet supported * Userspace support to follow once Kernel changes are merged. Bluetooth 5.2 spec: https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=478726 ChangeLog: - v2: Only attempt to fix up packet type when an ISO connection exists, remove L2CAP_ECRED_MASK. - v3: Dropped USB changes since that has not clear way to support ISO packets with existing endpoints. Renamed ECRED to EXT_FLOWCTL. - v4: Fix not using __le16 for HCI PDU definitions, renamed FLAG_LE_CONN_REQ_SENT to FLAG_LE_FLOWCTL_CONN_REQ_SENT. - v5: Fix spacing and use of __attribute (packed). Luiz Augusto von Dentz (11): Bluetooth: Add definitions for CIS connections Bluetooth: Add initial implementation of CIS connections Bluetooth: L2CAP: Add definitions for Enhanced Credit Based Mode Bluetooth: L2CAP: Add initial code for Enhanced Credit Based Mode Bluetooth: L2CAP: Rename FLAG_LE_CONN_REQ_SENT to FLAG_LE_FLOWCTL_CONN_REQ_SENT Bluetooth: hci_vhci: Add support for ISO packets Bluetooth: monitor: Add support for ISO packets Bluetooth: Make use of __check_timeout on hci_sched_le Bluetooth: hci_h4: Add support for ISO packets Bluetooth: hci_h5: Add support for ISO packets Bluetooth: btsdio: Check for valid packet type drivers/bluetooth/btsdio.c | 19 +- drivers/bluetooth/hci_h4.c | 1 + drivers/bluetooth/hci_h5.c | 3 + drivers/bluetooth/hci_uart.h | 7 + drivers/bluetooth/hci_vhci.c | 1 + include/net/bluetooth/bluetooth.h | 35 + include/net/bluetooth/hci.h | 159 +++- include/net/bluetooth/hci_core.h | 68 +- include/net/bluetooth/hci_mon.h | 2 + include/net/bluetooth/hci_sock.h | 2 + include/net/bluetooth/iso.h | 36 + include/net/bluetooth/l2cap.h | 47 +- net/bluetooth/Kconfig | 1 + net/bluetooth/Makefile | 1 + net/bluetooth/af_bluetooth.c | 12 +- net/bluetooth/hci_conn.c | 169 ++++ net/bluetooth/hci_core.c | 254 ++++-- net/bluetooth/hci_event.c | 230 +++++ net/bluetooth/hci_sock.c | 6 + net/bluetooth/iso.c | 1393 +++++++++++++++++++++++++++++ net/bluetooth/l2cap_core.c | 514 ++++++++++- net/bluetooth/l2cap_sock.c | 39 +- 22 files changed, 2898 insertions(+), 101 deletions(-) create mode 100644 include/net/bluetooth/iso.h create mode 100644 net/bluetooth/iso.c -- 2.21.0