Lines Matching refs:hdev

38 int btintel_check_bdaddr(struct hci_dev *hdev)  in btintel_check_bdaddr()  argument
43 skb = __hci_cmd_sync(hdev, HCI_OP_READ_BD_ADDR, 0, NULL, in btintel_check_bdaddr()
47 bt_dev_err(hdev, "Reading Intel device address failed (%d)", in btintel_check_bdaddr()
53 bt_dev_err(hdev, "Intel device address length mismatch"); in btintel_check_bdaddr()
66 bt_dev_err(hdev, "Found Intel default device address (%pMR)", in btintel_check_bdaddr()
68 set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks); in btintel_check_bdaddr()
77 int btintel_enter_mfg(struct hci_dev *hdev) in btintel_enter_mfg() argument
82 skb = __hci_cmd_sync(hdev, 0xfc11, 2, param, HCI_CMD_TIMEOUT); in btintel_enter_mfg()
84 bt_dev_err(hdev, "Entering manufacturer mode failed (%ld)", in btintel_enter_mfg()
94 int btintel_exit_mfg(struct hci_dev *hdev, bool reset, bool patched) in btintel_exit_mfg() argument
107 skb = __hci_cmd_sync(hdev, 0xfc11, 2, param, HCI_CMD_TIMEOUT); in btintel_exit_mfg()
109 bt_dev_err(hdev, "Exiting manufacturer mode failed (%ld)", in btintel_exit_mfg()
119 int btintel_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr) in btintel_set_bdaddr() argument
124 skb = __hci_cmd_sync(hdev, 0xfc31, 6, bdaddr, HCI_INIT_TIMEOUT); in btintel_set_bdaddr()
127 bt_dev_err(hdev, "Changing Intel device address failed (%d)", in btintel_set_bdaddr()
137 int btintel_set_diag(struct hci_dev *hdev, bool enable) in btintel_set_diag() argument
153 skb = __hci_cmd_sync(hdev, 0xfc43, 3, param, HCI_INIT_TIMEOUT); in btintel_set_diag()
158 bt_dev_err(hdev, "Changing Intel diagnostic mode failed (%d)", in btintel_set_diag()
165 btintel_set_event_mask(hdev, enable); in btintel_set_diag()
170 int btintel_set_diag_mfg(struct hci_dev *hdev, bool enable) in btintel_set_diag_mfg() argument
174 err = btintel_enter_mfg(hdev); in btintel_set_diag_mfg()
178 ret = btintel_set_diag(hdev, enable); in btintel_set_diag_mfg()
180 err = btintel_exit_mfg(hdev, false, false); in btintel_set_diag_mfg()
188 void btintel_hw_error(struct hci_dev *hdev, u8 code) in btintel_hw_error() argument
193 bt_dev_err(hdev, "Hardware error 0x%2.2x", code); in btintel_hw_error()
195 skb = __hci_cmd_sync(hdev, HCI_OP_RESET, 0, NULL, HCI_INIT_TIMEOUT); in btintel_hw_error()
197 bt_dev_err(hdev, "Reset after hardware error failed (%ld)", in btintel_hw_error()
203 skb = __hci_cmd_sync(hdev, 0xfc22, 1, &type, HCI_INIT_TIMEOUT); in btintel_hw_error()
205 bt_dev_err(hdev, "Retrieving Intel exception info failed (%ld)", in btintel_hw_error()
211 bt_dev_err(hdev, "Exception info size mismatch"); in btintel_hw_error()
216 bt_dev_err(hdev, "Exception info %s", (char *)(skb->data + 1)); in btintel_hw_error()
222 void btintel_version_info(struct hci_dev *hdev, struct intel_version *ver) in btintel_version_info() argument
237 bt_dev_info(hdev, "%s revision %u.%u build %u week %u %u", in btintel_version_info()
244 int btintel_secure_send(struct hci_dev *hdev, u8 fragment_type, u32 plen, in btintel_secure_send() argument
254 skb = __hci_cmd_sync(hdev, 0xfc09, fragment_len + 1, in btintel_secure_send()
269 int btintel_load_ddc_config(struct hci_dev *hdev, const char *ddc_name) in btintel_load_ddc_config() argument
276 err = request_firmware_direct(&fw, ddc_name, &hdev->dev); in btintel_load_ddc_config()
278 bt_dev_err(hdev, "Failed to load Intel DDC file %s (%d)", in btintel_load_ddc_config()
283 bt_dev_info(hdev, "Found Intel DDC parameters: %s", ddc_name); in btintel_load_ddc_config()
293 skb = __hci_cmd_sync(hdev, 0xfc8b, cmd_plen, fw_ptr, in btintel_load_ddc_config()
296 bt_dev_err(hdev, "Failed to send Intel_Write_DDC (%ld)", in btintel_load_ddc_config()
308 bt_dev_info(hdev, "Applying Intel DDC parameters completed"); in btintel_load_ddc_config()
314 int btintel_set_event_mask(struct hci_dev *hdev, bool debug) in btintel_set_event_mask() argument
323 skb = __hci_cmd_sync(hdev, 0xfc52, 8, mask, HCI_INIT_TIMEOUT); in btintel_set_event_mask()
326 bt_dev_err(hdev, "Setting Intel event mask failed (%d)", err); in btintel_set_event_mask()
335 int btintel_set_event_mask_mfg(struct hci_dev *hdev, bool debug) in btintel_set_event_mask_mfg() argument
339 err = btintel_enter_mfg(hdev); in btintel_set_event_mask_mfg()
343 ret = btintel_set_event_mask(hdev, debug); in btintel_set_event_mask_mfg()
345 err = btintel_exit_mfg(hdev, false, false); in btintel_set_event_mask_mfg()
353 int btintel_read_version(struct hci_dev *hdev, struct intel_version *ver) in btintel_read_version() argument
357 skb = __hci_cmd_sync(hdev, 0xfc05, 0, NULL, HCI_CMD_TIMEOUT); in btintel_read_version()
359 bt_dev_err(hdev, "Reading Intel version information failed (%ld)", in btintel_read_version()
365 bt_dev_err(hdev, "Intel version event size mismatch"); in btintel_read_version()
385 struct hci_dev *hdev; member
433 bt_dev_dbg(ctx->hdev, "Register (0x%x) read", le32_to_cpu(cp.addr)); in regmap_ibt_read()
435 skb = hci_cmd_sync(ctx->hdev, ctx->op_read, sizeof(cp), &cp, in regmap_ibt_read()
439 bt_dev_err(ctx->hdev, "regmap: Register (0x%x) read error (%d)", in regmap_ibt_read()
445 bt_dev_err(ctx->hdev, "regmap: Register (0x%x) read error, bad len", in regmap_ibt_read()
454 bt_dev_err(ctx->hdev, "regmap: Register (0x%x) read error, bad addr", in regmap_ibt_read()
505 bt_dev_dbg(ctx->hdev, "Register (0x%x) write", le32_to_cpu(cp->addr)); in regmap_ibt_gather_write()
507 skb = hci_cmd_sync(ctx->hdev, ctx->op_write, plen, cp, HCI_CMD_TIMEOUT); in regmap_ibt_gather_write()
510 bt_dev_err(ctx->hdev, "regmap: Register (0x%x) write error (%d)", in regmap_ibt_gather_write()
553 struct regmap *btintel_regmap_init(struct hci_dev *hdev, u16 opcode_read, in btintel_regmap_init() argument
558 bt_dev_info(hdev, "regmap: Init R%x-W%x region", opcode_read, in btintel_regmap_init()
567 ctx->hdev = hdev; in btintel_regmap_init()
569 return regmap_init(&hdev->dev, &regmap_ibt, ctx, &regmap_ibt_cfg); in btintel_regmap_init()
573 int btintel_send_intel_reset(struct hci_dev *hdev, u32 boot_param) in btintel_send_intel_reset() argument
580 skb = __hci_cmd_sync(hdev, 0xfc01, sizeof(params), &params, in btintel_send_intel_reset()
583 bt_dev_err(hdev, "Failed to send Intel Reset command"); in btintel_send_intel_reset()
593 int btintel_read_boot_params(struct hci_dev *hdev, in btintel_read_boot_params() argument
598 skb = __hci_cmd_sync(hdev, 0xfc0d, 0, NULL, HCI_INIT_TIMEOUT); in btintel_read_boot_params()
600 bt_dev_err(hdev, "Reading Intel boot parameters failed (%ld)", in btintel_read_boot_params()
606 bt_dev_err(hdev, "Intel boot parameters size mismatch"); in btintel_read_boot_params()
616 bt_dev_err(hdev, "Intel boot parameters command failed (%02x)", in btintel_read_boot_params()
621 bt_dev_info(hdev, "Device revision is %u", in btintel_read_boot_params()
624 bt_dev_info(hdev, "Secure boot is %s", in btintel_read_boot_params()
627 bt_dev_info(hdev, "OTP lock is %s", in btintel_read_boot_params()
630 bt_dev_info(hdev, "API lock is %s", in btintel_read_boot_params()
633 bt_dev_info(hdev, "Debug lock is %s", in btintel_read_boot_params()
636 bt_dev_info(hdev, "Minimum firmware build %u week %u %u", in btintel_read_boot_params()
644 int btintel_download_firmware(struct hci_dev *hdev, const struct firmware *fw, in btintel_download_firmware() argument
654 err = btintel_secure_send(hdev, 0x00, 128, fw->data); in btintel_download_firmware()
656 bt_dev_err(hdev, "Failed to send firmware header (%d)", err); in btintel_download_firmware()
663 err = btintel_secure_send(hdev, 0x03, 256, fw->data + 128); in btintel_download_firmware()
665 bt_dev_err(hdev, "Failed to send firmware pkey (%d)", err); in btintel_download_firmware()
672 err = btintel_secure_send(hdev, 0x02, 256, fw->data + 388); in btintel_download_firmware()
674 bt_dev_err(hdev, "Failed to send firmware signature (%d)", err); in btintel_download_firmware()
695 bt_dev_dbg(hdev, "boot_param=0x%x", *boot_param); in btintel_download_firmware()
709 err = btintel_secure_send(hdev, 0x01, frag_len, fw_ptr); in btintel_download_firmware()
711 bt_dev_err(hdev, in btintel_download_firmware()