Lines Matching defs:unit
90 ng_hci_send_command(ng_hci_unit_p unit)
96 if (unit->state & NG_HCI_UNIT_COMMAND_PENDING)
99 /* Check if unit can accept our command */
100 NG_HCI_BUFF_CMD_GET(unit->buffer, free);
105 if (unit->drv == NULL || NG_HOOK_NOT_VALID(unit->drv)) {
108 __func__, NG_NODE_NAME(unit->node), NG_HCI_HOOK_DRV);
110 NG_BT_MBUFQ_DRAIN(&unit->cmdq);
120 m0 = NG_BT_MBUFQ_FIRST(&unit->cmdq);
124 ng_hci_mtap(unit, m0);
128 NG_SEND_DATA_ONLY(error, unit->drv, m);
135 __func__, NG_NODE_NAME(unit->node), error);
142 NG_HCI_BUFF_CMD_USE(unit->buffer, 1);
143 NG_HCI_STAT_CMD_SENT(unit->stat);
144 NG_HCI_STAT_BYTES_SENT(unit->stat, m0->m_pkthdr.len);
151 ng_hci_command_timeout(unit);
163 ng_hci_process_command_complete(ng_hci_unit_p unit, struct mbuf *e)
175 NG_HCI_BUFF_CMD_SET(unit->buffer, ep->num_cmd_pkts);
184 error = complete_command(unit, ep->opcode, &cp);
202 error = process_link_control_params(unit,
207 error = process_link_policy_params(unit,
212 error = process_hc_baseband_params(unit,
217 error = process_info_params(unit,
222 error = process_status_params(unit,
227 error = process_testing_params(unit,
231 error = process_le_params(unit,
249 __func__, NG_NODE_NAME(unit->node),
257 ng_hci_send_command(unit);
268 ng_hci_process_command_status(ng_hci_unit_p unit, struct mbuf *e)
280 NG_HCI_BUFF_CMD_SET(unit->buffer, ep->num_cmd_pkts);
287 error = complete_command(unit, ep->opcode, &cp);
299 error = process_link_control_status(unit, ep, cp);
303 error = process_link_policy_status(unit, ep, cp);
306 error = process_le_status(unit, ep, cp);
324 ng_hci_send_command(unit);
334 complete_command(ng_hci_unit_p unit, int opcode, struct mbuf **cp)
338 /* Check unit state */
339 if (!(unit->state & NG_HCI_UNIT_COMMAND_PENDING)) {
342 __func__, NG_NODE_NAME(unit->node), unit->state);
348 m = NG_BT_MBUFQ_FIRST(&unit->cmdq);
351 "%s: %s - empty command queue?!\n", __func__, NG_NODE_NAME(unit->node));
363 "%s: %s - command queue is out of sync\n", __func__, NG_NODE_NAME(unit->node));
378 if (ng_hci_command_untimeout(unit) != 0)
381 NG_BT_MBUFQ_DEQUEUE(&unit->cmdq, *cp);
394 ng_hci_unit_p unit = NULL;
403 unit = (ng_hci_unit_p) NG_NODE_PRIVATE(node);
405 if (unit->state & NG_HCI_UNIT_COMMAND_PENDING) {
406 unit->state &= ~NG_HCI_UNIT_COMMAND_PENDING;
408 NG_BT_MBUFQ_DEQUEUE(&unit->cmdq, m);
411 "%s: %s - command queue is out of sync!\n", __func__, NG_NODE_NAME(unit->node));
421 __func__, NG_NODE_NAME(unit->node), NG_HCI_OGF(opcode),
425 NG_HCI_BUFF_CMD_SET(unit->buffer, 1);
426 ng_hci_send_command(unit);
429 "%s: %s - no pending command\n", __func__, NG_NODE_NAME(unit->node));
437 process_link_control_params(ng_hci_unit_p unit, u_int16_t ocf,
492 process_link_policy_params(ng_hci_unit_p unit, u_int16_t ocf,
508 con = ng_hci_con_by_handle(unit, h);
512 __func__, NG_NODE_NAME(unit->node), h);
516 "%s: %s - invalid link type=%d\n", __func__, NG_NODE_NAME(unit->node),
561 process_hc_baseband_params(ng_hci_unit_p unit, u_int16_t ocf,
631 * After RESET command unit goes into standby mode
636 * inited bit. After RESET unit must be re-initialized.
639 while (!LIST_EMPTY(&unit->con_list)) {
640 con = LIST_FIRST(&unit->con_list);
651 NG_HCI_BUFF_ACL_TOTAL(unit->buffer, size);
652 NG_HCI_BUFF_ACL_FREE(unit->buffer, size);
654 NG_HCI_BUFF_SCO_TOTAL(unit->buffer, size);
655 NG_HCI_BUFF_SCO_FREE(unit->buffer, size);
657 unit->state &= ~NG_HCI_UNIT_INITED;
676 process_info_params(ng_hci_unit_p unit, u_int16_t ocf, struct mbuf *mcp,
688 len = min(mrp->m_pkthdr.len, sizeof(unit->features));
689 m_copydata(mrp, 0, len, (caddr_t) unit->features);
696 if ((unit->state & NG_HCI_UNIT_READY) == NG_HCI_UNIT_READY)
704 unit->buffer,
711 unit->buffer,
718 ng_hci_node_is_up(unit->node, unit->acl, NULL, 0);
719 ng_hci_node_is_up(unit->node, unit->sco, NULL, 0);
726 if ((unit->state & NG_HCI_UNIT_READY) == NG_HCI_UNIT_READY)
730 len = min(mrp->m_pkthdr.len, sizeof(unit->bdaddr));
731 m_copydata(mrp, 0, len, (caddr_t) &unit->bdaddr);
734 ng_hci_node_is_up(unit->node, unit->acl, NULL, 0);
735 ng_hci_node_is_up(unit->node, unit->sco, NULL, 0);
754 process_status_params(ng_hci_unit_p unit, u_int16_t ocf, struct mbuf *mcp,
783 process_testing_params(ng_hci_unit_p unit, u_int16_t ocf, struct mbuf *mcp,
793 * node can change unit state.
817 process_le_params(ng_hci_unit_p unit, u_int16_t ocf,
877 process_le_status(ng_hci_unit_p unit,ng_hci_command_status_ep *ep,
939 process_link_control_status(ng_hci_unit_p unit, ng_hci_command_status_ep *ep,
998 process_link_policy_status(ng_hci_unit_p unit, ng_hci_command_status_ep *ep,