Lines Matching full:monitor

133 	/* To synchronize add/remove address filter and monitor device event.*/
260 struct adv_monitor *monitor, in msft_le_monitor_advertisement_cb() argument
286 handle_data->mgmt_handle = monitor->handle; in msft_le_monitor_advertisement_cb()
292 monitor->state = ADV_MONITOR_STATE_OFFLOADED; in msft_le_monitor_advertisement_cb()
296 hci_free_adv_monitor(hdev, monitor); in msft_le_monitor_advertisement_cb()
369 struct adv_monitor *monitor, in msft_le_cancel_monitor_advertisement_cb() argument
390 handle_data = msft_find_handle_data(hdev, monitor->handle, true); in msft_le_cancel_monitor_advertisement_cb()
393 if (monitor->state == ADV_MONITOR_STATE_OFFLOADED) in msft_le_cancel_monitor_advertisement_cb()
394 monitor->state = ADV_MONITOR_STATE_REGISTERED; in msft_le_cancel_monitor_advertisement_cb()
396 /* Do not free the monitor if it is being removed due to in msft_le_cancel_monitor_advertisement_cb()
400 hci_free_adv_monitor(hdev, monitor); in msft_le_cancel_monitor_advertisement_cb()
402 /* Clear any monitored devices by this Adv Monitor */ in msft_le_cancel_monitor_advertisement_cb()
425 struct adv_monitor *monitor) in msft_remove_monitor_sync() argument
431 handle_data = msft_find_handle_data(hdev, monitor->handle, true); in msft_remove_monitor_sync()
446 monitor, skb); in msft_remove_monitor_sync()
453 struct adv_monitor *monitor; in msft_suspend_sync() local
462 monitor = idr_get_next(&hdev->adv_monitors_idr, &handle); in msft_suspend_sync()
463 if (!monitor) in msft_suspend_sync()
466 msft_remove_monitor_sync(hdev, monitor); in msft_suspend_sync()
477 static bool msft_monitor_rssi_valid(struct adv_monitor *monitor) in msft_monitor_rssi_valid() argument
479 struct adv_rssi_thresholds *r = &monitor->rssi; in msft_monitor_rssi_valid()
500 static bool msft_monitor_pattern_valid(struct adv_monitor *monitor) in msft_monitor_pattern_valid() argument
502 return msft_monitor_rssi_valid(monitor); in msft_monitor_pattern_valid()
503 /* No additional check needed for pattern-based monitor */ in msft_monitor_pattern_valid()
507 struct adv_monitor *monitor) in msft_add_monitor_sync() argument
520 if (!msft_monitor_pattern_valid(monitor)) in msft_add_monitor_sync()
523 list_for_each_entry(entry, &monitor->patterns, list) { in msft_add_monitor_sync()
533 cp->rssi_high = monitor->rssi.high_threshold; in msft_add_monitor_sync()
534 cp->rssi_low = monitor->rssi.low_threshold; in msft_add_monitor_sync()
535 cp->rssi_low_interval = (u8)monitor->rssi.low_threshold_timeout; in msft_add_monitor_sync()
536 cp->rssi_sampling_period = monitor->rssi.sampling_period; in msft_add_monitor_sync()
543 list_for_each_entry(entry, &monitor->patterns, list) { in msft_add_monitor_sync()
562 monitor, skb); in msft_add_monitor_sync()
566 handle_data = msft_find_handle_data(hdev, monitor->handle, true); in msft_add_monitor_sync()
585 struct adv_monitor *monitor; in reregister_monitor() local
595 monitor = idr_get_next(&hdev->adv_monitors_idr, &handle); in reregister_monitor()
596 if (!monitor) in reregister_monitor()
599 msft_add_monitor_sync(hdev, monitor); in reregister_monitor()
662 * tell the controller to re-monitor. in msft_do_open()
673 struct adv_monitor *monitor; in msft_do_close() local
681 * Therefore, remove handle_data mapping and reset monitor state. in msft_do_close()
684 monitor = idr_find(&hdev->adv_monitors_idr, in msft_do_close()
687 if (monitor && monitor->state == ADV_MONITOR_STATE_OFFLOADED) in msft_do_close()
688 monitor->state = ADV_MONITOR_STATE_REGISTERED; in msft_do_close()
949 * avoided when receiving monitor device event (found/lost) frequently in msft_add_address_filter()
999 * monitors. Pattern monitor always has its address filters for in msft_monitor_device_evt()
1017 /* This device event is not from pattern monitor. in msft_monitor_device_evt()
1150 int msft_add_monitor_pattern(struct hci_dev *hdev, struct adv_monitor *monitor) in msft_add_monitor_pattern() argument
1160 return msft_add_monitor_sync(hdev, monitor); in msft_add_monitor_pattern()
1164 int msft_remove_monitor(struct hci_dev *hdev, struct adv_monitor *monitor) in msft_remove_monitor() argument
1174 return msft_remove_monitor_sync(hdev, monitor); in msft_remove_monitor()