Lines Matching refs:cp

796 	struct hci_cp_write_eir cp;
812 memset(&cp, 0, sizeof(cp));
814 eir_create(hdev, cp.data);
816 if (memcmp(cp.data, hdev->eir, sizeof(cp.data)) == 0)
819 memcpy(hdev->eir, cp.data, sizeof(cp.data));
821 return __hci_cmd_sync_status(hdev, HCI_OP_WRITE_EIR, sizeof(cp), &cp,
1042 struct hci_cp_le_set_ext_adv_enable *cp;
1044 u8 data[sizeof(*cp) + sizeof(*set) * 1];
1061 cp = (void *)data;
1062 set = (void *)cp->data;
1065 cp->num_of_sets = !!instance;
1066 cp->enable = 0x00;
1070 size = sizeof(*cp) + sizeof(*set) * cp->num_of_sets;
1079 struct hci_cp_le_set_adv_set_rand_addr cp;
1093 memset(&cp, 0, sizeof(cp));
1095 cp.handle = instance;
1096 bacpy(&cp.bdaddr, random_addr);
1099 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
1104 struct hci_cp_le_set_ext_adv_params cp;
1152 memset(&cp, 0, sizeof(cp));
1155 hci_cpu_to_le24(adv->min_interval, cp.min_interval);
1156 hci_cpu_to_le24(adv->max_interval, cp.max_interval);
1157 cp.tx_power = adv->tx_power;
1159 hci_cpu_to_le24(hdev->le_adv_min_interval, cp.min_interval);
1160 hci_cpu_to_le24(hdev->le_adv_max_interval, cp.max_interval);
1161 cp.tx_power = HCI_ADV_TX_POWER_NO_PREFERENCE;
1168 cp.evt_properties = cpu_to_le16(LE_EXT_ADV_CONN_IND);
1170 cp.evt_properties = cpu_to_le16(LE_LEGACY_ADV_IND);
1174 cp.evt_properties = cpu_to_le16(LE_EXT_ADV_SCAN_IND);
1176 cp.evt_properties = cpu_to_le16(LE_LEGACY_ADV_SCAN_IND);
1179 cp.evt_properties = cpu_to_le16(LE_EXT_ADV_NON_CONN_IND);
1181 cp.evt_properties = cpu_to_le16(LE_LEGACY_NONCONN_IND);
1192 hci_copy_identity_address(hdev, &cp.peer_addr,
1193 &cp.peer_addr_type);
1195 cp.own_addr_type = own_addr_type;
1196 cp.channel_map = hdev->le_adv_channel_map;
1197 cp.handle = instance;
1200 cp.primary_phy = HCI_ADV_PHY_1M;
1201 cp.secondary_phy = HCI_ADV_PHY_2M;
1203 cp.primary_phy = HCI_ADV_PHY_CODED;
1204 cp.secondary_phy = HCI_ADV_PHY_CODED;
1207 cp.primary_phy = HCI_ADV_PHY_1M;
1208 cp.secondary_phy = HCI_ADV_PHY_1M;
1212 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
1274 struct hci_cp_le_set_scan_rsp_data cp;
1277 memset(&cp, 0, sizeof(cp));
1279 len = eir_create_scan_rsp(hdev, instance, cp.data);
1282 !memcmp(cp.data, hdev->scan_rsp_data, len))
1285 memcpy(hdev->scan_rsp_data, cp.data, sizeof(cp.data));
1288 cp.length = len;
1291 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
1307 struct hci_cp_le_set_ext_adv_enable *cp;
1309 u8 data[sizeof(*cp) + sizeof(*set) * 1];
1323 cp = (void *)data;
1324 set = (void *)cp->data;
1326 memset(cp, 0, sizeof(*cp));
1328 cp->enable = 0x01;
1329 cp->num_of_sets = 0x01;
1346 sizeof(*cp) +
1347 sizeof(*set) * cp->num_of_sets,
1368 struct hci_cp_le_set_per_adv_enable cp;
1376 memset(&cp, 0, sizeof(cp));
1378 cp.enable = 0x00;
1379 cp.handle = instance;
1382 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
1388 struct hci_cp_le_set_per_adv_params cp;
1390 memset(&cp, 0, sizeof(cp));
1398 cp.handle = instance;
1399 cp.min_interval = cpu_to_le16(min_interval);
1400 cp.max_interval = cpu_to_le16(max_interval);
1401 cp.periodic_properties = 0x0000;
1404 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
1433 struct hci_cp_le_set_per_adv_enable cp;
1441 memset(&cp, 0, sizeof(cp));
1443 cp.enable = 0x01;
1444 cp.handle = instance;
1447 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
1565 struct hci_cp_le_set_adv_param cp;
1609 memset(&cp, 0, sizeof(cp));
1620 cp.type = LE_ADV_IND;
1623 cp.type = LE_ADV_SCAN_IND;
1625 cp.type = LE_ADV_NONCONN_IND;
1634 cp.min_interval = cpu_to_le16(adv_min_interval);
1635 cp.max_interval = cpu_to_le16(adv_max_interval);
1636 cp.own_address_type = own_addr_type;
1637 cp.channel_map = hdev->le_adv_channel_map;
1640 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
1709 struct hci_cp_le_term_big cp;
1711 memset(&cp, 0, sizeof(cp));
1712 cp.handle = handle;
1713 cp.reason = reason;
1716 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
1759 struct hci_cp_le_set_adv_data cp;
1762 memset(&cp, 0, sizeof(cp));
1764 len = eir_create_adv_data(hdev, instance, cp.data);
1768 memcmp(cp.data, hdev->adv_data, len) == 0)
1771 memcpy(hdev->adv_data, cp.data, sizeof(cp.data));
1774 cp.length = len;
1777 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
1979 struct hci_cp_read_rssi cp;
1981 cp.handle = handle;
1983 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
1986 int hci_read_clock_sync(struct hci_dev *hdev, struct hci_cp_read_clock *cp)
1989 sizeof(*cp), cp, HCI_CMD_TIMEOUT);
1994 struct hci_cp_read_tx_power cp;
1996 cp.handle = handle;
1997 cp.type = type;
1999 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
2023 struct hci_cp_le_set_ext_scan_enable cp;
2025 memset(&cp, 0, sizeof(cp));
2026 cp.enable = val;
2029 cp.filter_dup = LE_SCAN_FILTER_DUP_DISABLE;
2031 cp.filter_dup = filter_dup;
2034 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
2040 struct hci_cp_le_set_scan_enable cp;
2045 memset(&cp, 0, sizeof(cp));
2046 cp.enable = val;
2049 cp.filter_dup = LE_SCAN_FILTER_DUP_DISABLE;
2051 cp.filter_dup = filter_dup;
2054 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
2153 struct hci_cp_le_del_from_resolv_list cp;
2165 cp.bdaddr_type = bdaddr_type;
2166 bacpy(&cp.bdaddr, bdaddr);
2169 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
2175 struct hci_cp_le_del_from_accept_list cp;
2182 cp.bdaddr_type = bdaddr_type;
2183 bacpy(&cp.bdaddr, bdaddr);
2188 hci_le_del_resolve_list_sync(hdev, &cp.bdaddr, cp.bdaddr_type);
2191 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
2197 bt_dev_dbg(hdev, "Remove %pMR (0x%x) from allow list", &cp.bdaddr,
2198 cp.bdaddr_type);
2216 struct hci_cp_le_add_to_resolv_list cp;
2231 hci_copy_identity_address(hdev, &cp.bdaddr, &cp.bdaddr_type);
2232 memcpy(cp.peer_irk, hdev->irk, 16);
2247 cp.bdaddr_type = params->addr_type;
2248 bacpy(&cp.bdaddr, &params->addr);
2249 memcpy(cp.peer_irk, irk->val, 16);
2266 memcpy(cp.local_irk, hdev->irk, 16);
2268 memset(cp.local_irk, 0, 16);
2271 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
2278 struct hci_cp_le_set_privacy_mode cp;
2296 memset(&cp, 0, sizeof(cp));
2297 cp.bdaddr_type = irk->addr_type;
2298 bacpy(&cp.bdaddr, &irk->bdaddr);
2299 cp.mode = HCI_DEVICE_PRIVACY;
2304 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
2315 struct hci_cp_le_add_to_accept_list cp;
2358 cp.bdaddr_type = params->addr_type;
2359 bacpy(&cp.bdaddr, &params->addr);
2362 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
2366 hci_le_del_resolve_list_sync(hdev, &cp.bdaddr, cp.bdaddr_type);
2370 bt_dev_dbg(hdev, "Add %pMR (0x%x) to allow list", &cp.bdaddr,
2371 cp.bdaddr_type);
2751 static void hci_le_scan_phy_params(struct hci_cp_le_scan_phy_params *cp,
2754 cp->type = type;
2755 cp->interval = cpu_to_le16(interval);
2756 cp->window = cpu_to_le16(window);
2763 struct hci_cp_le_set_ext_scan_params *cp;
2765 u8 data[sizeof(*cp) + sizeof(*phy) * 2];
2768 cp = (void *)data;
2769 phy = (void *)cp->data;
2773 cp->own_addr_type = own_addr_type;
2774 cp->filter_policy = filter_policy;
2793 cp->scanning_phys |= LE_SCAN_PHY_1M;
2802 cp->scanning_phys |= LE_SCAN_PHY_CODED;
2817 cp->scanning_phys |= LE_SCAN_PHY_1M;
2824 cp->scanning_phys |= LE_SCAN_PHY_CODED;
2835 sizeof(*cp) + sizeof(*phy) * num_phy,
2843 struct hci_cp_le_set_scan_param cp;
2850 memset(&cp, 0, sizeof(cp));
2851 cp.type = type;
2852 cp.interval = cpu_to_le16(interval);
2853 cp.window = cpu_to_le16(window);
2854 cp.own_address_type = own_addr_type;
2855 cp.filter_policy = filter_policy;
2858 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
3122 struct hci_cp_write_le_host_supported cp;
3135 memset(&cp, 0, sizeof(cp));
3137 cp.le = le;
3138 cp.simul = simul;
3141 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
3204 struct hci_cp_write_page_scan_activity cp;
3214 memset(&cp, 0, sizeof(cp));
3220 cp.interval = cpu_to_le16(0x0100);
3223 cp.interval = cpu_to_le16(hdev->def_page_scan_int);
3226 cp.window = cpu_to_le16(hdev->def_page_scan_window);
3228 if (__cpu_to_le16(hdev->page_scan_interval) != cp.interval ||
3229 __cpu_to_le16(hdev->page_scan_window) != cp.window) {
3232 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
3305 struct hci_cp_write_local_name cp;
3307 memset(&cp, 0, sizeof(cp));
3309 memcpy(cp.name, hdev->dev_name, sizeof(cp.name));
3312 sizeof(cp), &cp,
3609 struct hci_cp_set_event_filter cp;
3617 memset(&cp, 0, sizeof(cp));
3618 cp.flt_type = flt_type;
3621 cp.cond_type = cond_type;
3622 bacpy(&cp.addr_conn_flt.bdaddr, bdaddr);
3623 cp.addr_conn_flt.auto_accept = auto_accept;
3628 sizeof(cp.flt_type) : sizeof(cp), &cp,
3699 struct hci_cp_write_eir cp;
3705 memset(&cp, 0, sizeof(cp));
3707 return __hci_cmd_sync_status(hdev, HCI_OP_WRITE_EIR, sizeof(cp), &cp,
3740 struct hci_cp_read_local_ext_features cp;
3745 memset(&cp, 0, sizeof(cp));
3746 cp.page = page;
3749 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
3955 struct hci_cp_read_stored_link_key cp;
3961 memset(&cp, 0, sizeof(cp));
3962 bacpy(&cp.bdaddr, BDADDR_ANY);
3963 cp.read_all = 0x01;
3966 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
3971 struct hci_cp_write_def_link_policy cp;
3977 memset(&cp, 0, sizeof(cp));
3988 cp.policy = cpu_to_le16(link_policy);
3991 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
4292 struct hci_cp_write_le_host_supported cp;
4298 memset(&cp, 0, sizeof(cp));
4301 cp.le = 0x01;
4302 cp.simul = 0x00;
4305 if (cp.le == lmp_host_le_capable(hdev))
4309 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
4315 struct hci_cp_le_set_host_feature cp;
4320 memset(&cp, 0, sizeof(cp));
4323 cp.bit_number = 32;
4324 cp.bit_value = 1;
4327 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
4379 struct hci_cp_delete_stored_link_key cp;
4398 memset(&cp, 0, sizeof(cp));
4399 bacpy(&cp.bdaddr, BDADDR_ANY);
4400 cp.delete_all = 0x01;
4403 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
4516 struct hci_cp_write_def_err_data_reporting cp;
4527 memset(&cp, 0, sizeof(cp));
4528 cp.err_data_reporting = enabled ? ERR_DATA_REPORTING_ENABLED :
4532 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
4558 struct hci_cp_le_write_def_data_len cp;
4563 memset(&cp, 0, sizeof(cp));
4564 cp.tx_len = cpu_to_le16(hdev->le_max_tx_len);
4565 cp.tx_time = cpu_to_le16(hdev->le_max_tx_time);
4568 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
4576 struct hci_cp_le_set_default_phy cp;
4587 memset(&cp, 0, sizeof(cp));
4588 cp.all_phys = 0x00;
4589 cp.tx_phys = HCI_LE_SET_PHY_1M;
4590 cp.rx_phys = HCI_LE_SET_PHY_1M;
4594 cp.tx_phys |= HCI_LE_SET_PHY_2M;
4595 cp.rx_phys |= HCI_LE_SET_PHY_2M;
4600 cp.tx_phys |= HCI_LE_SET_PHY_CODED;
4601 cp.rx_phys |= HCI_LE_SET_PHY_CODED;
4605 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
5197 struct hci_cp_remote_name_req_cancel cp;
5199 memset(&cp, 0, sizeof(cp));
5200 bacpy(&cp.bdaddr, addr);
5203 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
5259 struct hci_cp_disconnect cp;
5272 memset(&cp, 0, sizeof(cp));
5273 cp.handle = cpu_to_le16(conn->handle);
5274 cp.reason = reason;
5283 sizeof(cp), &cp,
5287 return __hci_cmd_sync_status(hdev, HCI_OP_DISCONNECT, sizeof(cp), &cp,
5357 struct hci_cp_reject_sync_conn_req cp;
5359 memset(&cp, 0, sizeof(cp));
5360 bacpy(&cp.bdaddr, &conn->dst);
5361 cp.reason = reason;
5367 cp.reason = HCI_ERROR_REJ_LIMITED_RESOURCES;
5370 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
5376 struct hci_cp_le_reject_cis cp;
5378 memset(&cp, 0, sizeof(cp));
5379 cp.handle = cpu_to_le16(conn->handle);
5380 cp.reason = reason;
5383 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
5389 struct hci_cp_reject_conn_req cp;
5397 memset(&cp, 0, sizeof(cp));
5398 bacpy(&cp.bdaddr, &conn->dst);
5399 cp.reason = reason;
5402 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
5536 struct hci_cp_write_current_iac_lap cp;
5541 memset(&cp, 0, sizeof(cp));
5545 cp.num_iac = min_t(u8, hdev->num_iac, 2);
5546 cp.iac_lap[0] = 0x00; /* LIAC */
5547 cp.iac_lap[1] = 0x8b;
5548 cp.iac_lap[2] = 0x9e;
5549 cp.iac_lap[3] = 0x33; /* GIAC */
5550 cp.iac_lap[4] = 0x8b;
5551 cp.iac_lap[5] = 0x9e;
5554 cp.num_iac = 1;
5555 cp.iac_lap[0] = 0x33; /* GIAC */
5556 cp.iac_lap[1] = 0x8b;
5557 cp.iac_lap[2] = 0x9e;
5561 (cp.num_iac * 3) + 1, &cp,
5658 struct hci_cp_inquiry cp;
5669 memset(&cp, 0, sizeof(cp));
5672 memcpy(&cp.lap, liac, sizeof(cp.lap));
5674 memcpy(&cp.lap, giac, sizeof(cp.lap));
5676 cp.length = length;
5679 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
6084 struct hci_cp_le_set_ext_adv_params cp;
6102 memset(&cp, 0, sizeof(cp));
6104 cp.evt_properties = cpu_to_le16(LE_LEGACY_ADV_DIRECT_IND);
6105 cp.channel_map = hdev->le_adv_channel_map;
6106 cp.tx_power = HCI_TX_POWER_INVALID;
6107 cp.primary_phy = HCI_ADV_PHY_1M;
6108 cp.secondary_phy = HCI_ADV_PHY_1M;
6109 cp.handle = 0x00; /* Use instance 0 for directed adv */
6110 cp.own_addr_type = own_addr_type;
6111 cp.peer_addr_type = conn->dst_type;
6112 bacpy(&cp.peer_addr, &conn->dst);
6122 err = hci_remove_ext_adv_instance_sync(hdev, cp.handle, NULL);
6127 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
6147 struct hci_cp_le_set_adv_param cp;
6170 memset(&cp, 0, sizeof(cp));
6176 cp.min_interval = cpu_to_le16(0x0020);
6177 cp.max_interval = cpu_to_le16(0x0020);
6179 cp.type = LE_ADV_DIRECT_IND;
6180 cp.own_address_type = own_addr_type;
6181 cp.direct_addr_type = conn->dst_type;
6182 bacpy(&cp.direct_addr, &conn->dst);
6183 cp.channel_map = hdev->le_adv_channel_map;
6186 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
6216 struct hci_cp_le_ext_create_conn *cp;
6218 u8 data[sizeof(*cp) + sizeof(*p) * 3];
6221 cp = (void *)data;
6222 p = (void *)cp->data;
6224 memset(cp, 0, sizeof(*cp));
6226 bacpy(&cp->peer_addr, &conn->dst);
6227 cp->peer_addr_type = conn->dst_type;
6228 cp->own_addr_type = own_addr_type;
6230 plen = sizeof(*cp);
6234 cp->phys |= LE_SCAN_PHY_1M;
6243 cp->phys |= LE_SCAN_PHY_2M;
6252 cp->phys |= LE_SCAN_PHY_CODED;
6266 struct hci_cp_le_create_conn cp;
6340 memset(&cp, 0, sizeof(cp));
6342 cp.scan_interval = cpu_to_le16(hdev->le_scan_int_connect);
6343 cp.scan_window = cpu_to_le16(hdev->le_scan_window_connect);
6345 bacpy(&cp.peer_addr, &conn->dst);
6346 cp.peer_addr_type = conn->dst_type;
6347 cp.own_address_type = own_addr_type;
6348 cp.conn_interval_min = cpu_to_le16(conn->le_conn_min_interval);
6349 cp.conn_interval_max = cpu_to_le16(conn->le_conn_max_interval);
6350 cp.conn_latency = cpu_to_le16(conn->le_conn_latency);
6351 cp.supervision_timeout = cpu_to_le16(conn->le_supv_timeout);
6352 cp.min_ce_len = cpu_to_le16(0x0000);
6353 cp.max_ce_len = cpu_to_le16(0x0000);
6362 sizeof(cp), &cp,
6476 struct hci_cp_le_remove_cig cp;
6478 memset(&cp, 0, sizeof(cp));
6479 cp.cig_id = handle;
6481 return __hci_cmd_sync_status(hdev, HCI_OP_LE_REMOVE_CIG, sizeof(cp),
6482 &cp, HCI_CMD_TIMEOUT);
6487 struct hci_cp_le_big_term_sync cp;
6489 memset(&cp, 0, sizeof(cp));
6490 cp.handle = handle;
6493 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
6498 struct hci_cp_le_pa_term_sync cp;
6500 memset(&cp, 0, sizeof(cp));
6501 cp.handle = cpu_to_le16(handle);
6504 sizeof(cp), &cp, HCI_CMD_TIMEOUT);
6597 struct hci_cp_create_conn cp;
6626 memset(&cp, 0, sizeof(cp));
6627 bacpy(&cp.bdaddr, &conn->dst);
6628 cp.pscan_rep_mode = 0x02;
6633 cp.pscan_rep_mode = ie->data.pscan_rep_mode;
6634 cp.pscan_mode = ie->data.pscan_mode;
6635 cp.clock_offset = ie->data.clock_offset |
6642 cp.pkt_type = cpu_to_le16(conn->pkt_type);
6644 cp.role_switch = 0x01;
6646 cp.role_switch = 0x00;
6649 sizeof(cp), &cp,