Lines Matching full:adv
503 bt_dev_err(hdev, "failed to reenable ADV: %d", status); in reenable_adv()
993 struct adv_info *adv; in hci_disable_ext_adv_instance_sync() local
995 adv = hci_find_adv_instance(hdev, instance); in hci_disable_ext_adv_instance_sync()
996 if (!adv) in hci_disable_ext_adv_instance_sync()
1000 if (!adv->enabled) in hci_disable_ext_adv_instance_sync()
1055 struct adv_info *adv; in hci_setup_ext_adv_instance_sync() local
1059 adv = hci_find_adv_instance(hdev, instance); in hci_setup_ext_adv_instance_sync()
1060 if (!adv) in hci_setup_ext_adv_instance_sync()
1063 adv = NULL; in hci_setup_ext_adv_instance_sync()
1070 if (adv && !adv->pending) { in hci_setup_ext_adv_instance_sync()
1092 adv_use_rpa(hdev, flags), adv, in hci_setup_ext_adv_instance_sync()
1099 if (adv) { in hci_setup_ext_adv_instance_sync()
1100 hci_cpu_to_le24(adv->min_interval, cp.min_interval); in hci_setup_ext_adv_instance_sync()
1101 hci_cpu_to_le24(adv->max_interval, cp.max_interval); in hci_setup_ext_adv_instance_sync()
1102 cp.tx_power = adv->tx_power; in hci_setup_ext_adv_instance_sync()
1165 if (adv) { in hci_setup_ext_adv_instance_sync()
1166 if (!bacmp(&random_addr, &adv->random_addr)) in hci_setup_ext_adv_instance_sync()
1187 struct adv_info *adv = NULL; in hci_set_ext_scan_rsp_data_sync() local
1193 adv = hci_find_adv_instance(hdev, instance); in hci_set_ext_scan_rsp_data_sync()
1194 if (!adv || !adv->scan_rsp_changed) in hci_set_ext_scan_rsp_data_sync()
1211 if (adv) { in hci_set_ext_scan_rsp_data_sync()
1212 adv->scan_rsp_changed = false; in hci_set_ext_scan_rsp_data_sync()
1259 struct adv_info *adv; in hci_enable_ext_advertising_sync() local
1262 adv = hci_find_adv_instance(hdev, instance); in hci_enable_ext_advertising_sync()
1263 if (!adv) in hci_enable_ext_advertising_sync()
1266 if (adv->enabled) in hci_enable_ext_advertising_sync()
1269 adv = NULL; in hci_enable_ext_advertising_sync()
1287 if (adv && adv->timeout) { in hci_enable_ext_advertising_sync()
1288 u16 duration = adv->timeout * MSEC_PER_SEC; in hci_enable_ext_advertising_sync()
1318 struct adv_info *adv = NULL; in hci_disable_per_advertising_sync() local
1321 adv = hci_find_adv_instance(hdev, instance); in hci_disable_per_advertising_sync()
1322 if (!adv || !adv->periodic || !adv->enabled) in hci_disable_per_advertising_sync()
1367 struct adv_info *adv = hci_find_adv_instance(hdev, instance); in hci_set_per_adv_data_sync() local
1369 if (!adv || !adv->periodic) in hci_set_per_adv_data_sync()
1387 struct adv_info *adv = NULL; in hci_enable_per_advertising_sync() local
1390 adv = hci_find_adv_instance(hdev, instance); in hci_enable_per_advertising_sync()
1391 if (adv && adv->periodic && adv->enabled) in hci_enable_per_advertising_sync()
1406 static int hci_adv_bcast_annoucement(struct hci_dev *hdev, struct adv_info *adv) in hci_adv_bcast_annoucement() argument
1411 /* Skip if NULL adv as instance 0x00 is used for general purpose in hci_adv_bcast_annoucement()
1415 if (!adv) in hci_adv_bcast_annoucement()
1421 if (!eir_get_service_data(adv->per_adv_data, adv->per_adv_data_len, in hci_adv_bcast_annoucement()
1429 if (eir_get_service_data(adv->adv_data, adv->adv_data_len, 0x1852, in hci_adv_bcast_annoucement()
1436 hci_set_adv_instance_data(hdev, adv->instance, sizeof(ad), ad, 0, NULL); in hci_adv_bcast_annoucement()
1438 return hci_update_adv_data_sync(hdev, adv->instance); in hci_adv_bcast_annoucement()
1445 struct adv_info *adv = NULL; in hci_start_per_adv_sync() local
1452 adv = hci_find_adv_instance(hdev, instance); in hci_start_per_adv_sync()
1454 if (!adv) { in hci_start_per_adv_sync()
1455 adv = hci_add_per_instance(hdev, instance, flags, in hci_start_per_adv_sync()
1459 if (IS_ERR(adv)) in hci_start_per_adv_sync()
1460 return PTR_ERR(adv); in hci_start_per_adv_sync()
1461 adv->pending = false; in hci_start_per_adv_sync()
1471 err = hci_adv_bcast_annoucement(hdev, adv); in hci_start_per_adv_sync()
1638 struct adv_info *adv = data; in remove_ext_adv_sync() local
1641 if (adv) in remove_ext_adv_sync()
1642 instance = adv->instance; in remove_ext_adv_sync()
1649 struct adv_info *adv = NULL; in hci_remove_ext_adv_instance() local
1652 adv = hci_find_adv_instance(hdev, instance); in hci_remove_ext_adv_instance()
1653 if (!adv) in hci_remove_ext_adv_instance()
1657 return hci_cmd_sync_queue(hdev, remove_ext_adv_sync, adv, NULL); in hci_remove_ext_adv_instance()
1679 struct adv_info *adv = NULL; in hci_set_ext_adv_data_sync() local
1685 adv = hci_find_adv_instance(hdev, instance); in hci_set_ext_adv_data_sync()
1686 if (!adv || !adv->adv_data_changed) in hci_set_ext_adv_data_sync()
1704 if (adv) { in hci_set_ext_adv_data_sync()
1705 adv->adv_data_changed = false; in hci_set_ext_adv_data_sync()
1751 struct adv_info *adv = NULL; in hci_schedule_adv_instance_sync() local
1760 adv = hci_find_adv_instance(hdev, instance); in hci_schedule_adv_instance_sync()
1761 if (!adv) in hci_schedule_adv_instance_sync()
1772 if (adv->timeout == 0 || adv->duration <= adv->remaining_time) in hci_schedule_adv_instance_sync()
1773 timeout = adv->duration; in hci_schedule_adv_instance_sync()
1775 timeout = adv->remaining_time; in hci_schedule_adv_instance_sync()
1780 if (adv->timeout) in hci_schedule_adv_instance_sync()
1781 adv->remaining_time = adv->remaining_time - timeout; in hci_schedule_adv_instance_sync()
1822 struct adv_info *adv, *n; in hci_clear_adv_sync() local
1837 list_for_each_entry_safe(adv, n, &hdev->adv_instances, list) { in hci_clear_adv_sync()
1838 u8 instance = adv->instance; in hci_clear_adv_sync()
1841 if (!(force || adv->timeout)) in hci_clear_adv_sync()
1912 struct adv_info *adv = hci_find_adv_instance(hdev, instance); in hci_remove_advertising_sync() local
1914 if (force || (adv && adv->timeout && !adv->remaining_time)) { in hci_remove_advertising_sync()
2081 * - There is at least one ADV monitor in hci_update_interleaved_scan_sync()
2377 struct adv_info *adv, *tmp; in hci_resume_advertising_sync() local
2395 list_for_each_entry_safe(adv, tmp, &hdev->adv_instances, list) { in hci_resume_advertising_sync()
2397 adv->instance); in hci_resume_advertising_sync()
2402 hci_remove_ext_adv_instance_sync(hdev, adv->instance, in hci_resume_advertising_sync()
2646 * - There are 1 or more ADV monitors registered and it's not offloaded in hci_update_accept_list_sync()
2879 bt_dev_dbg(hdev, "ADV monitoring is %s", in hci_update_passive_scan_sync()
2888 * to be scanned for or no ADV monitors, we should stop the in hci_update_passive_scan_sync()
3020 struct adv_info *adv, *tmp; in hci_powered_update_adv_sync() local
3057 list_for_each_entry_safe(adv, tmp, &hdev->adv_instances, list) in hci_powered_update_adv_sync()
3058 hci_schedule_adv_instance_sync(hdev, adv->instance, true); in hci_powered_update_adv_sync()
3196 * Update adv data)
4030 /* If the controller supports LL Privacy feature or LE Extended Adv, in hci_le_set_event_mask_sync()
4131 * also included. So do not call it if extended adv in hci_le_read_adv_tx_power_sync()
6093 cp.handle = 0x00; /* Use instance 0 for directed adv */ in hci_le_ext_directed_advertising_sync()
6103 * So it is required to remove adv set for handle 0x00. since we use in hci_le_ext_directed_advertising_sync()
6104 * instance 0 for directed adv. in hci_le_ext_directed_advertising_sync()