Bluetooth: H5: Add support for ISO packets
This adds supports for ISO packets so then can be transmitted and received with H5 driver. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
parent
720bbe208e
commit
bfe580bbbe
1 changed files with 17 additions and 0 deletions
|
@ -43,6 +43,7 @@ static struct k_delayed_work retx_work;
|
|||
#define HCI_ACLDATA_PKT 0x02
|
||||
#define HCI_SCODATA_PKT 0x03
|
||||
#define HCI_EVENT_PKT 0x04
|
||||
#define HCI_ISODATA_PKT 0x05
|
||||
#define HCI_3WIRE_LINK_PKT 0x0f
|
||||
#define HCI_VENDOR_PKT 0xff
|
||||
|
||||
|
@ -52,6 +53,7 @@ static bool reliable_packet(uint8_t type)
|
|||
case HCI_COMMAND_PKT:
|
||||
case HCI_ACLDATA_PKT:
|
||||
case HCI_EVENT_PKT:
|
||||
case HCI_ISODATA_PKT:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
@ -394,6 +396,7 @@ static void h5_process_complete_packet(uint8_t *hdr)
|
|||
break;
|
||||
case HCI_EVENT_PKT:
|
||||
case HCI_ACLDATA_PKT:
|
||||
case HCI_ISODATA_PKT:
|
||||
hexdump("=> ", buf->data, buf->len);
|
||||
bt_recv(buf);
|
||||
break;
|
||||
|
@ -479,6 +482,17 @@ static void bt_uart_isr(const struct device *unused, void *user_data)
|
|||
continue;
|
||||
}
|
||||
|
||||
h5.rx_state = PAYLOAD;
|
||||
break;
|
||||
case HCI_ISODATA_PKT:
|
||||
h5.rx_buf = bt_buf_get_rx(BT_BUF_ISO_IN,
|
||||
K_NO_WAIT);
|
||||
if (!h5.rx_buf) {
|
||||
BT_WARN("No available data buffers");
|
||||
h5_reset_rx();
|
||||
continue;
|
||||
}
|
||||
|
||||
h5.rx_state = PAYLOAD;
|
||||
break;
|
||||
case HCI_3WIRE_LINK_PKT:
|
||||
|
@ -573,6 +587,9 @@ static int h5_queue(struct net_buf *buf)
|
|||
case BT_BUF_ACL_OUT:
|
||||
type = HCI_ACLDATA_PKT;
|
||||
break;
|
||||
case BT_BUF_ISO_OUT:
|
||||
type = HCI_ISODATA_PKT;
|
||||
break;
|
||||
default:
|
||||
BT_ERR("Unknown packet type %u", bt_buf_get_type(buf));
|
||||
return -1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue