Lines Matching refs:iso_pi
46 #define iso_pi(sk) ((struct iso_pinfo *)sk)
119 if (!iso_pi(sk)->conn)
123 cancel_delayed_work(&iso_pi(sk)->conn->timeout_work);
124 schedule_delayed_work(&iso_pi(sk)->conn->timeout_work, timeout);
129 if (!iso_pi(sk)->conn)
133 cancel_delayed_work(&iso_pi(sk)->conn->timeout_work);
169 conn = iso_pi(sk)->conn;
176 iso_pi(sk)->conn = NULL;
201 if (test_bit(BT_SK_PA_SYNC, &iso_pi(sk)->flags))
204 return hcon->sync_handle == iso_pi(sk)->sync_handle;
233 if (test_bit(BT_SK_PA_SYNC, &iso_pi(sk)->flags)) {
241 &iso_pi(parent)->flags);
264 if (iso_pi(sk)->conn == conn && conn->sk == sk)
272 iso_pi(sk)->conn = conn;
308 BT_DBG("%pMR", &iso_pi(sk)->src);
310 hdev = hci_get_route(&iso_pi(sk)->dst, &iso_pi(sk)->src,
311 iso_pi(sk)->src_type);
323 if (iso_pi(sk)->qos_user_set && !check_bcast_qos(&iso_pi(sk)->qos)) {
324 iso_pi(sk)->qos = default_qos;
330 if (!iso_pi(sk)->qos.bcast.out.phy) {
337 hcon = hci_bind_bis(hdev, &iso_pi(sk)->dst,
338 &iso_pi(sk)->qos, iso_pi(sk)->base_len,
339 iso_pi(sk)->base);
345 hcon = hci_connect_bis(hdev, &iso_pi(sk)->dst,
346 le_addr_type(iso_pi(sk)->dst_type),
347 &iso_pi(sk)->qos, iso_pi(sk)->base_len,
348 iso_pi(sk)->base);
371 bacpy(&iso_pi(sk)->src, &hcon->src);
399 BT_DBG("%pMR -> %pMR", &iso_pi(sk)->src, &iso_pi(sk)->dst);
401 hdev = hci_get_route(&iso_pi(sk)->dst, &iso_pi(sk)->src,
402 iso_pi(sk)->src_type);
414 if (iso_pi(sk)->qos_user_set && !check_ucast_qos(&iso_pi(sk)->qos)) {
415 iso_pi(sk)->qos = default_qos;
421 if (!iso_pi(sk)->qos.ucast.in.phy && !iso_pi(sk)->qos.ucast.out.phy) {
428 hcon = hci_bind_cis(hdev, &iso_pi(sk)->dst,
429 le_addr_type(iso_pi(sk)->dst_type),
430 &iso_pi(sk)->qos);
436 hcon = hci_connect_cis(hdev, &iso_pi(sk)->dst,
437 le_addr_type(iso_pi(sk)->dst_type),
438 &iso_pi(sk)->qos);
461 bacpy(&iso_pi(sk)->src, &hcon->src);
485 return &iso_pi(sk)->conn->hcon->iso_qos;
487 return &iso_pi(sk)->qos;
492 struct iso_conn *conn = iso_pi(sk)->conn;
550 if (bacmp(&iso_pi(sk)->dst, dst))
553 if (!bacmp(&iso_pi(sk)->src, src))
569 if (bacmp(&iso_pi(sk)->src, ba))
572 if (bacmp(&iso_pi(sk)->dst, bc))
575 if (iso_pi(sk)->bc_sid == sid)
601 if (bacmp(dst, BDADDR_ANY) && bacmp(&iso_pi(sk)->dst, dst))
609 if (!bacmp(&iso_pi(sk)->src, src))
613 if (!bacmp(&iso_pi(sk)->src, BDADDR_ANY))
645 if (iso_pi(parent)->conn && iso_pi(parent)->conn->hcon &&
646 test_bit(HCI_CONN_PA_SYNC, &iso_pi(parent)->conn->hcon->flags)) {
676 iso_conn_lock(iso_pi(sk)->conn);
677 hci_conn_drop(iso_pi(sk)->conn->hcon);
678 iso_pi(sk)->conn->hcon = NULL;
679 iso_conn_unlock(iso_pi(sk)->conn);
694 if (iso_pi(sk)->conn->hcon)
701 if (iso_pi(sk)->conn->hcon &&
702 (test_bit(HCI_CONN_PA_SYNC, &iso_pi(sk)->conn->hcon->flags) ||
703 test_bit(HCI_CONN_PA_SYNC_FAILED, &iso_pi(sk)->conn->hcon->flags)))
787 iso_pi(sk)->src_type = BDADDR_LE_PUBLIC;
789 iso_pi(sk)->qos = default_qos;
831 bacpy(&iso_pi(sk)->dst, &sa->iso_bc->bc_bdaddr);
832 iso_pi(sk)->dst_type = sa->iso_bc->bc_bdaddr_type;
833 iso_pi(sk)->sync_handle = -1;
834 iso_pi(sk)->bc_sid = sa->iso_bc->bc_sid;
835 iso_pi(sk)->bc_num_bis = sa->iso_bc->bc_num_bis;
837 for (i = 0; i < iso_pi(sk)->bc_num_bis; i++) {
842 memcpy(iso_pi(sk)->bc_bis, sa->iso_bc->bc_bis,
843 iso_pi(sk)->bc_num_bis);
880 bacpy(&iso_pi(sk)->src, &sa->iso_bdaddr);
881 iso_pi(sk)->src_type = sa->iso_bdaddr_type;
922 bacpy(&iso_pi(sk)->dst, &sa->iso_bdaddr);
923 iso_pi(sk)->dst_type = sa->iso_bdaddr_type;
927 if (bacmp(&iso_pi(sk)->dst, BDADDR_ANY))
951 BT_DBG("%pMR -> %pMR (SID 0x%2.2x)", &iso_pi(sk)->src,
952 &iso_pi(sk)->dst, iso_pi(sk)->bc_sid);
956 if (__iso_get_sock_listen_by_sid(&iso_pi(sk)->src, &iso_pi(sk)->dst,
957 iso_pi(sk)->bc_sid))
965 hdev = hci_get_route(&iso_pi(sk)->dst, &iso_pi(sk)->src,
966 iso_pi(sk)->src_type);
971 if (iso_pi(sk)->qos_user_set && !check_bcast_qos(&iso_pi(sk)->qos)) {
972 iso_pi(sk)->qos = default_qos;
976 err = hci_pa_create_sync(hdev, &iso_pi(sk)->dst,
977 le_addr_type(iso_pi(sk)->dst_type),
978 iso_pi(sk)->bc_sid, &iso_pi(sk)->qos);
989 BT_DBG("%pMR", &iso_pi(sk)->src);
993 if (__iso_get_sock_listen_by_addr(&iso_pi(sk)->src, &iso_pi(sk)->dst))
1020 if (!bacmp(&iso_pi(sk)->dst, BDADDR_ANY))
1104 bacpy(&sa->iso_bdaddr, &iso_pi(sk)->dst);
1105 sa->iso_bdaddr_type = iso_pi(sk)->dst_type;
1107 bacpy(&sa->iso_bdaddr, &iso_pi(sk)->src);
1108 sa->iso_bdaddr_type = iso_pi(sk)->src_type;
1138 mtu = iso_pi(sk)->conn->hcon->hdev->iso_mtu;
1206 hdev = hci_get_route(&iso_pi(sk)->dst, &iso_pi(sk)->src,
1207 iso_pi(sk)->src_type);
1212 if (!test_and_set_bit(BT_SK_BIG_SYNC, &iso_pi(sk)->flags)) {
1213 err = hci_le_big_create_sync(hdev, iso_pi(sk)->conn->hcon,
1214 &iso_pi(sk)->qos,
1215 iso_pi(sk)->sync_handle,
1216 iso_pi(sk)->bc_num_bis,
1217 iso_pi(sk)->bc_bis);
1228 struct iso_pinfo *pi = iso_pi(sk);
1404 iso_pi(sk)->qos = qos;
1405 iso_pi(sk)->qos_user_set = true;
1416 if (optlen > sizeof(iso_pi(sk)->base)) {
1421 len = min_t(unsigned int, sizeof(iso_pi(sk)->base), optlen);
1423 if (copy_from_sockptr(iso_pi(sk)->base, optval, len)) {
1428 iso_pi(sk)->base_len = len;
1487 !bacmp(&iso_pi(sk)->dst, BDADDR_ANY)) {
1488 base_len = iso_pi(sk)->conn->hcon->le_per_adv_data_len;
1489 base = iso_pi(sk)->conn->hcon->le_per_adv_data;
1491 base_len = iso_pi(sk)->base_len;
1492 base = iso_pi(sk)->base;
1602 return ev->handle == iso_pi(sk)->qos.bcast.big;
1607 return test_bit(BT_SK_PA_SYNC, &iso_pi(sk)->flags);
1675 bacpy(&iso_pi(sk)->src, &hcon->src);
1679 iso_pi(sk)->src_type = BDADDR_LE_PUBLIC;
1681 iso_pi(sk)->src_type = BDADDR_LE_RANDOM;
1689 bacpy(&hcon->dst, &iso_pi(parent)->dst);
1690 hcon->dst_type = iso_pi(parent)->dst_type;
1691 hcon->sync_handle = iso_pi(parent)->sync_handle;
1695 iso_pi(sk)->qos = iso_pi(parent)->qos;
1696 iso_pi(sk)->qos.bcast.encryption = ev3->encryption;
1697 hcon->iso_qos = iso_pi(sk)->qos;
1698 iso_pi(sk)->bc_num_bis = iso_pi(parent)->bc_num_bis;
1699 memcpy(iso_pi(sk)->bc_bis, iso_pi(parent)->bc_bis, ISO_MAX_NUM_BIS);
1700 set_bit(BT_SK_PA_SYNC, &iso_pi(sk)->flags);
1703 bacpy(&iso_pi(sk)->dst, &hcon->dst);
1704 iso_pi(sk)->dst_type = hcon->dst_type;
1705 iso_pi(sk)->sync_handle = iso_pi(parent)->sync_handle;
1706 memcpy(iso_pi(sk)->base, iso_pi(parent)->base, iso_pi(parent)->base_len);
1707 iso_pi(sk)->base_len = iso_pi(parent)->base_len;
1735 return ev->sid == iso_pi(sk)->bc_sid;
1742 return le16_to_cpu(ev->sync_handle) == iso_pi(sk)->sync_handle;
1749 return le16_to_cpu(ev->sync_handle) == iso_pi(sk)->sync_handle;
1769 * be stored in iso_pi(sk)->sync_handle so it can be matched once
1775 * in iso_pi(sk)->base so it can be passed up to user, in the case of a
1783 iso_pi(sk)->sync_handle = le16_to_cpu(ev1->handle);
1803 &iso_pi(sk)->flags))
1810 if (ev2->num_bis < iso_pi(sk)->bc_num_bis)
1811 iso_pi(sk)->bc_num_bis = ev2->num_bis;
1814 !test_and_set_bit(BT_SK_BIG_SYNC, &iso_pi(sk)->flags)) {
1816 &iso_pi(sk)->qos,
1817 iso_pi(sk)->sync_handle,
1818 iso_pi(sk)->bc_num_bis,
1819 iso_pi(sk)->bc_bis);
1835 memcpy(iso_pi(sk)->base, ev3->data, ev3->length);
1836 iso_pi(sk)->base_len = ev3->length;
2046 seq_printf(f, "%pMR %pMR %d\n", &iso_pi(sk)->src,
2047 &iso_pi(sk)->dst, sk->sk_state);