Lines Matching refs:lm
66 } lm; member
504 if (!hci->lm.periodic) in bt_hci_inquiry_done()
505 hci->lm.inquire = 0; in bt_hci_inquiry_done()
557 if (!slave->inquiry_scan || !hci->lm.responses_left) in bt_hci_inquiry_result()
560 hci->lm.responses_left --; in bt_hci_inquiry_result()
561 hci->lm.responses ++; in bt_hci_inquiry_result()
563 switch (hci->lm.inquiry_mode) { in bt_hci_inquiry_result()
572 hci->lm.inquiry_mode); in bt_hci_inquiry_result()
587 hci->lm.inquiry_length = length; in bt_hci_inquiry_start()
598 if (hci->lm.responses_left) in bt_hci_inquiry_start()
599 bt_hci_mod_timer_1280ms(hci->lm.inquiry_done, hci->lm.inquiry_length); in bt_hci_inquiry_start()
603 if (hci->lm.periodic) in bt_hci_inquiry_start()
604 bt_hci_mod_timer_1280ms(hci->lm.inquiry_next, hci->lm.inquiry_period); in bt_hci_inquiry_start()
611 hci->lm.responses_left += hci->lm.responses; in bt_hci_inquiry_next()
612 hci->lm.responses = 0; in bt_hci_inquiry_next()
613 bt_hci_inquiry_start(hci, hci->lm.inquiry_length); in bt_hci_inquiry_next()
620 !hci->lm.handle[handle & ~HCI_HANDLE_OFFSET].link; in bt_hci_handle_bad()
625 return !!(hci->lm.role_bmp & (1 << (handle & ~HCI_HANDLE_OFFSET))); in bt_hci_role_master()
631 struct bt_link_s *link = hci->lm.handle[handle & ~HCI_HANDLE_OFFSET].link; in bt_hci_remote_dev()
640 hci->lm.handle[hci->lm.last_handle].link = link; in bt_hci_lmp_link_establish()
644 hci->lm.role_bmp |= 1 << hci->lm.last_handle; in bt_hci_lmp_link_establish()
646 hci->lm.handle[hci->lm.last_handle].lmp_acl_data = in bt_hci_lmp_link_establish()
650 hci->lm.role_bmp &= ~(1 << hci->lm.last_handle); in bt_hci_lmp_link_establish()
652 hci->lm.handle[hci->lm.last_handle].lmp_acl_data = in bt_hci_lmp_link_establish()
659 hci->lm.handle[hci->lm.last_handle].acl_mode_timer = in bt_hci_lmp_link_establish()
667 hci->lm.handle[handle].link = NULL; in bt_hci_lmp_link_teardown()
670 qemu_del_timer(hci->lm.handle[handle].acl_mode_timer); in bt_hci_lmp_link_teardown()
671 qemu_free_timer(hci->lm.handle[handle].acl_mode_timer); in bt_hci_lmp_link_teardown()
686 bacpy(&hci->lm.awaiting_bdaddr[hci->lm.connecting ++], &slave->bd_addr); in bt_hci_connect()
732 while (hci->lm.handle[++ hci->lm.last_handle].link && -- tries) in bt_hci_connection_accept()
733 hci->lm.last_handle &= HCI_HANDLES_MAX - 1; in bt_hci_connection_accept()
734 handle = hci->lm.last_handle | HCI_HANDLE_OFFSET; in bt_hci_connection_accept()
815 for (i = 0; i < hci->lm.connecting; i ++) in bt_hci_lmp_connection_ready()
816 if (!bacmp(&hci->lm.awaiting_bdaddr[i], bdaddr)) { in bt_hci_lmp_connection_ready()
817 if (i < -- hci->lm.connecting) in bt_hci_lmp_connection_ready()
818 bacpy(&hci->lm.awaiting_bdaddr[i], in bt_hci_lmp_connection_ready()
819 &hci->lm.awaiting_bdaddr[hci->lm.connecting]); in bt_hci_lmp_connection_ready()
850 while (hci->lm.handle[++ hci->lm.last_handle].link && -- tries) in bt_hci_lmp_connection_complete()
851 hci->lm.last_handle &= HCI_HANDLES_MAX - 1; in bt_hci_lmp_connection_complete()
852 handle = hci->lm.last_handle | HCI_HANDLE_OFFSET; in bt_hci_lmp_connection_complete()
879 hci->lm.handle[handle & ~HCI_HANDLE_OFFSET].link; in bt_hci_disconnect()
1079 link = &hci->lm.handle[handle & ~HCI_HANDLE_OFFSET]; in bt_hci_mode_change()
1101 link = &hci->lm.handle[handle & ~HCI_HANDLE_OFFSET]; in bt_hci_mode_cancel()
1128 hci->lm.connecting = 0; in bt_hci_reset()
1148 hci->lm.inquiry_mode = 0x00; in bt_hci_reset()
1154 qemu_del_timer(hci->lm.inquiry_done); in bt_hci_reset()
1155 qemu_del_timer(hci->lm.inquiry_next); in bt_hci_reset()
1444 .mode = hci->lm.inquiry_mode, in bt_hci_event_complete_read_inquiry_mode()
1501 hci->lm.inquire = 1; in bt_submit_hci()
1502 hci->lm.periodic = 0; in bt_submit_hci()
1503 hci->lm.responses_left = PARAM(inquiry, num_rsp) ?: INT_MAX; in bt_submit_hci()
1504 hci->lm.responses = 0; in bt_submit_hci()
1510 if (!hci->lm.inquire || hci->lm.periodic) { in bt_submit_hci()
1520 hci->lm.inquire = 0; in bt_submit_hci()
1521 qemu_del_timer(hci->lm.inquiry_done); in bt_submit_hci()
1539 hci->lm.inquire = 1; in bt_submit_hci()
1540 hci->lm.periodic = 1; in bt_submit_hci()
1541 hci->lm.responses_left = PARAM(periodic_inquiry, num_rsp); in bt_submit_hci()
1542 hci->lm.responses = 0; in bt_submit_hci()
1543 hci->lm.inquiry_period = PARAM16(periodic_inquiry, max_period); in bt_submit_hci()
1549 if (!hci->lm.inquire || !hci->lm.periodic) { in bt_submit_hci()
1558 hci->lm.inquire = 0; in bt_submit_hci()
1559 qemu_del_timer(hci->lm.inquiry_done); in bt_submit_hci()
1560 qemu_del_timer(hci->lm.inquiry_next); in bt_submit_hci()
1567 if (hci->lm.connecting >= HCI_HANDLES_MAX) { in bt_submit_hci()
1596 if (bt_hci_role_master(hci, i) && hci->lm.handle[i].link && in bt_submit_hci()
1597 !bacmp(&hci->lm.handle[i].link->slave->bd_addr, in bt_submit_hci()
1913 hci->lm.inquiry_mode = PARAM(write_inquiry_mode, mode); in bt_submit_hci()
2042 link = hci->lm.handle[handle].link; in bt_submit_acl()
2074 hci->lm.handle[handle].lmp_acl_data(link, data, in bt_submit_acl()
2148 s->lm.inquiry_done = qemu_new_timer_ns(vm_clock, bt_hci_inquiry_done, s); in bt_new_hci()
2149 s->lm.inquiry_next = qemu_new_timer_ns(vm_clock, bt_hci_inquiry_next, s); in bt_new_hci()
2216 qemu_free_timer(hci->lm.inquiry_done); in bt_hci_done()
2217 qemu_free_timer(hci->lm.inquiry_next); in bt_hci_done()