Lines Matching defs:unit

61  * hci_acl_open(unit, bdaddr)
68 hci_acl_open(struct hci_unit *unit, bdaddr_t *bdaddr)
75 KASSERT(unit != NULL);
78 link = hci_link_lookup_bdaddr(unit, bdaddr, HCI_LINK_ACL);
80 link = hci_link_alloc(unit, bdaddr, HCI_LINK_ACL);
92 cp.pkt_type = htole16(unit->hci_packet_type);
94 memo = hci_memo_find(unit, bdaddr);
101 if (unit->hci_link_policy & HCI_LINK_POLICY_ENABLE_ROLE_SWITCH)
104 err = hci_send_cmd(unit, HCI_CMD_CREATE_CON, &cp, sizeof(cp));
172 hci_acl_newconn(struct hci_unit *unit, bdaddr_t *bdaddr)
178 if (bdaddr_same(&unit->hci_bdaddr, &chan->lc_laddr.bt_bdaddr)
185 device_xname(unit->hci_dev));
190 link = hci_link_lookup_bdaddr(unit, bdaddr, HCI_LINK_ACL);
193 device_xname(unit->hci_dev));
198 link = hci_link_alloc(unit, bdaddr, HCI_LINK_ACL);
425 hci_acl_recv(struct mbuf *m, struct hci_unit *unit)
433 KASSERT(unit != NULL);
451 link = hci_link_lookup_handle(unit, handle);
456 device_xname(unit->hci_dev), handle);
471 hci_send_cmd(unit, HCI_CMD_DISCONNECT, &cp, sizeof(cp));
479 aprint_error_dev(unit->hci_dev,
491 aprint_error_dev(unit->hci_dev,
505 device_xname(unit->hci_dev));
530 * We must fragment packets into chunks of less than unit->hci_max_acl_size and
616 struct hci_unit *unit;
624 unit = link->hl_unit;
625 KASSERT(unit != NULL);
631 if (link->hl_txqlen == 0 || unit->hci_num_acl_pkts == 0)
646 while (unit->hci_num_acl_pkts > 0) {
669 hci_output_acl(unit, m);
697 TAILQ_REMOVE(&unit->hci_links, link, hl_next);
698 TAILQ_INSERT_TAIL(&unit->hci_links, link, hl_next);
760 hci_sco_newconn(struct hci_unit *unit, bdaddr_t *bdaddr)
769 bdaddr_copy(&laddr.bt_bdaddr, &unit->hci_bdaddr);
781 acl = hci_link_lookup_bdaddr(unit, bdaddr, HCI_LINK_ACL);
797 bdaddr_copy(&new->sp_laddr, &unit->hci_bdaddr);
800 sco = hci_link_alloc(unit, bdaddr, HCI_LINK_SCO);
806 sco->hl_link = hci_acl_open(unit, bdaddr);
812 new->sp_mtu = unit->hci_max_sco_size;
824 hci_sco_recv(struct mbuf *m, struct hci_unit *unit)
831 KASSERT(unit != NULL);
847 link = hci_link_lookup_handle(unit, handle);
850 device_xname(unit->hci_dev), handle);
886 hci_link_alloc(struct hci_unit *unit, bdaddr_t *bdaddr, uint8_t type)
890 KASSERT(unit != NULL);
896 link->hl_unit = unit;
914 /* attach to unit */
915 TAILQ_INSERT_TAIL(&unit->hci_links, link, hl_next);
1020 hci_link_lookup_bdaddr(struct hci_unit *unit, bdaddr_t *bdaddr, uint8_t type)
1024 KASSERT(unit != NULL);
1027 TAILQ_FOREACH(link, &unit->hci_links, hl_next) {
1042 hci_link_lookup_handle(struct hci_unit *unit, uint16_t handle)
1046 KASSERT(unit != NULL);
1048 TAILQ_FOREACH(link, &unit->hci_links, hl_next) {