fw_dnld 108 drivers/nfc/nfcmrvl/fw_dnld.c if (priv->fw_dnld.fw) { fw_dnld 109 drivers/nfc/nfcmrvl/fw_dnld.c release_firmware(priv->fw_dnld.fw); fw_dnld 110 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.fw = NULL; fw_dnld 111 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.header = NULL; fw_dnld 112 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.binary_config = NULL; fw_dnld 120 drivers/nfc/nfcmrvl/fw_dnld.c if (timer_pending(&priv->fw_dnld.timer)) fw_dnld 121 drivers/nfc/nfcmrvl/fw_dnld.c del_timer_sync(&priv->fw_dnld.timer); fw_dnld 130 drivers/nfc/nfcmrvl/fw_dnld.c nfc_fw_download_done(priv->ndev->nfc_dev, priv->fw_dnld.name, error); fw_dnld 135 drivers/nfc/nfcmrvl/fw_dnld.c struct nfcmrvl_private *priv = from_timer(priv, t, fw_dnld.timer); fw_dnld 138 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.state = STATE_RESET; fw_dnld 153 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.state = STATE_INIT; fw_dnld 171 drivers/nfc/nfcmrvl/fw_dnld.c memcpy(cmd.param.val, &priv->fw_dnld.header->ref_clock, 4); fw_dnld 176 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.state = STATE_SET_REF_CLOCK; fw_dnld 184 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.state = STATE_OPEN_LC; fw_dnld 204 drivers/nfc/nfcmrvl/fw_dnld.c &priv->fw_dnld.binary_config->uart.baudrate, fw_dnld 207 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.binary_config->uart.flow_control; fw_dnld 212 drivers/nfc/nfcmrvl/fw_dnld.c &priv->fw_dnld.binary_config->i2c.clk, fw_dnld 219 drivers/nfc/nfcmrvl/fw_dnld.c &priv->fw_dnld.binary_config->spi.clk, fw_dnld 228 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.state = STATE_SET_HI_CONFIG; fw_dnld 253 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.state = STATE_FW_DNLD; fw_dnld 254 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.substate = SUBSTATE_WAIT_COMMAND; fw_dnld 255 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.offset = priv->fw_dnld.binary_config->offset; fw_dnld 266 drivers/nfc/nfcmrvl/fw_dnld.c switch (priv->fw_dnld.substate) { fw_dnld 297 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.substate = SUBSTATE_WAIT_NACK_CREDIT; fw_dnld 300 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.chunk_len = len; fw_dnld 306 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.substate = SUBSTATE_WAIT_ACK_CREDIT; fw_dnld 316 drivers/nfc/nfcmrvl/fw_dnld.c if (priv->fw_dnld.chunk_len == 0) { fw_dnld 320 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.state = STATE_CLOSE_LC; fw_dnld 324 drivers/nfc/nfcmrvl/fw_dnld.c out_skb = alloc_lc_skb(priv, priv->fw_dnld.chunk_len); fw_dnld 328 drivers/nfc/nfcmrvl/fw_dnld.c ((uint8_t *)priv->fw_dnld.fw->data) + priv->fw_dnld.offset, fw_dnld 329 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.chunk_len); fw_dnld 331 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.substate = SUBSTATE_WAIT_DATA_CREDIT; fw_dnld 342 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.offset += priv->fw_dnld.chunk_len; fw_dnld 343 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.chunk_len = 0; fw_dnld 344 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.substate = SUBSTATE_WAIT_COMMAND; fw_dnld 354 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.substate = SUBSTATE_WAIT_COMMAND; fw_dnld 367 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.state = STATE_BOOT; fw_dnld 383 drivers/nfc/nfcmrvl/fw_dnld.c &priv->fw_dnld.binary_config->config); fw_dnld 385 drivers/nfc/nfcmrvl/fw_dnld.c if (priv->fw_dnld.binary_config == &priv->fw_dnld.header->helper) { fw_dnld 391 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.state = STATE_RESET; fw_dnld 392 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.binary_config = &priv->fw_dnld.header->firmware; fw_dnld 405 drivers/nfc/nfcmrvl/fw_dnld.c struct nfcmrvl_fw_dnld *fw_dnld = container_of(work, fw_dnld 408 drivers/nfc/nfcmrvl/fw_dnld.c struct nfcmrvl_private *priv = container_of(fw_dnld, fw_dnld 410 drivers/nfc/nfcmrvl/fw_dnld.c fw_dnld); fw_dnld 412 drivers/nfc/nfcmrvl/fw_dnld.c while ((skb = skb_dequeue(&fw_dnld->rx_q))) { fw_dnld 415 drivers/nfc/nfcmrvl/fw_dnld.c switch (fw_dnld->state) { fw_dnld 458 drivers/nfc/nfcmrvl/fw_dnld.c INIT_WORK(&priv->fw_dnld.rx_work, fw_dnld_rx_work); fw_dnld 461 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.rx_wq = create_singlethread_workqueue(name); fw_dnld 462 drivers/nfc/nfcmrvl/fw_dnld.c if (!priv->fw_dnld.rx_wq) fw_dnld 464 drivers/nfc/nfcmrvl/fw_dnld.c skb_queue_head_init(&priv->fw_dnld.rx_q); fw_dnld 470 drivers/nfc/nfcmrvl/fw_dnld.c destroy_workqueue(priv->fw_dnld.rx_wq); fw_dnld 484 drivers/nfc/nfcmrvl/fw_dnld.c skb_queue_tail(&priv->fw_dnld.rx_q, skb); fw_dnld 485 drivers/nfc/nfcmrvl/fw_dnld.c queue_work(priv->fw_dnld.rx_wq, &priv->fw_dnld.rx_work); fw_dnld 496 drivers/nfc/nfcmrvl/fw_dnld.c struct nfcmrvl_fw_dnld *fw_dnld = &priv->fw_dnld; fw_dnld 505 drivers/nfc/nfcmrvl/fw_dnld.c strcpy(fw_dnld->name, firmware_name); fw_dnld 513 drivers/nfc/nfcmrvl/fw_dnld.c res = request_firmware(&fw_dnld->fw, firmware_name, fw_dnld 520 drivers/nfc/nfcmrvl/fw_dnld.c fw_dnld->header = (const struct nfcmrvl_fw *) priv->fw_dnld.fw->data; fw_dnld 522 drivers/nfc/nfcmrvl/fw_dnld.c if (fw_dnld->header->magic != NFCMRVL_FW_MAGIC || fw_dnld 523 drivers/nfc/nfcmrvl/fw_dnld.c fw_dnld->header->phy != priv->phy) { fw_dnld 525 drivers/nfc/nfcmrvl/fw_dnld.c firmware_name, fw_dnld->header->magic, fw_dnld 526 drivers/nfc/nfcmrvl/fw_dnld.c fw_dnld->header->phy); fw_dnld 527 drivers/nfc/nfcmrvl/fw_dnld.c release_firmware(fw_dnld->fw); fw_dnld 528 drivers/nfc/nfcmrvl/fw_dnld.c fw_dnld->header = NULL; fw_dnld 532 drivers/nfc/nfcmrvl/fw_dnld.c if (fw_dnld->header->helper.offset != 0) { fw_dnld 534 drivers/nfc/nfcmrvl/fw_dnld.c fw_dnld->binary_config = &fw_dnld->header->helper; fw_dnld 537 drivers/nfc/nfcmrvl/fw_dnld.c fw_dnld->binary_config = &fw_dnld->header->firmware; fw_dnld 541 drivers/nfc/nfcmrvl/fw_dnld.c timer_setup(&priv->fw_dnld.timer, fw_dnld_timeout, 0); fw_dnld 542 drivers/nfc/nfcmrvl/fw_dnld.c mod_timer(&priv->fw_dnld.timer, fw_dnld 547 drivers/nfc/nfcmrvl/fw_dnld.c &fw_dnld->header->bootrom.config); fw_dnld 553 drivers/nfc/nfcmrvl/fw_dnld.c priv->fw_dnld.state = STATE_RESET; fw_dnld 75 drivers/nfc/nfcmrvl/nfcmrvl.h struct nfcmrvl_fw_dnld fw_dnld;