Commit ae753361 authored by Claudia Draghicescu's avatar Claudia Draghicescu Committed by Luiz Augusto von Dentz
Browse files

Bluetooth: Check for ISO support in controller



This patch checks for ISO_BROADCASTER and ISO_SYNC_RECEIVER in
controller.

Signed-off-by: default avatarClaudia Draghicescu <claudia.rosu@nxp.com>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent 80f9ad04
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -577,6 +577,7 @@ enum {
#define HCI_LE_CIS_CENTRAL		0x10
#define HCI_LE_CIS_PERIPHERAL		0x20
#define HCI_LE_ISO_BROADCASTER		0x40
#define HCI_LE_ISO_SYNC_RECEIVER	0x80

/* Connection modes */
#define HCI_CM_ACTIVE	0x0000
+1 −0
Original line number Diff line number Diff line
@@ -1765,6 +1765,7 @@ void hci_conn_del_sysfs(struct hci_conn *conn);
#define cis_peripheral_capable(dev) \
	((dev)->le_features[3] & HCI_LE_CIS_PERIPHERAL)
#define bis_capable(dev) ((dev)->le_features[3] & HCI_LE_ISO_BROADCASTER)
#define sync_recv_capable(dev) ((dev)->le_features[3] & HCI_LE_ISO_SYNC_RECEIVER)

#define mws_transport_config_capable(dev) (((dev)->commands[30] & 0x08) && \
	(!test_bit(HCI_QUIRK_BROKEN_MWS_TRANSPORT_CONFIG, &(dev)->quirks)))
+2 −0
Original line number Diff line number Diff line
@@ -111,6 +111,8 @@ struct mgmt_rp_read_index_list {
#define MGMT_SETTING_WIDEBAND_SPEECH	BIT(17)
#define MGMT_SETTING_CIS_CENTRAL	BIT(18)
#define MGMT_SETTING_CIS_PERIPHERAL	BIT(19)
#define MGMT_SETTING_ISO_BROADCASTER	BIT(20)
#define MGMT_SETTING_ISO_SYNC_RECEIVER	BIT(21)

#define MGMT_OP_READ_INFO		0x0004
#define MGMT_READ_INFO_SIZE		0
+6 −0
Original line number Diff line number Diff line
@@ -944,6 +944,12 @@ static u32 get_current_settings(struct hci_dev *hdev)
	if (cis_peripheral_capable(hdev))
		settings |= MGMT_SETTING_CIS_PERIPHERAL;

	if (bis_capable(hdev))
		settings |= MGMT_SETTING_ISO_BROADCASTER;

	if (sync_recv_capable(hdev))
		settings |= MGMT_SETTING_ISO_SYNC_RECEIVER;

	return settings;
}