Lines Matching defs:priv

63 isl_upload_firmware(islpci_private *priv)
66 void __iomem *device_base = priv->device_base;
95 rc = request_firmware(&fw_entry, priv->firmware, PRISM_FW_PDEV);
99 "prism54", priv->firmware);
111 "prism54", priv->firmware);
152 priv->ndev->name, fw_entry->data + 40);
193 islpci_private *priv = config;
194 struct net_device *ndev = priv->ndev;
195 void __iomem *device = priv->device_base;
199 spin_lock(&priv->slock);
210 spin_unlock(&priv->slock);
224 if (islpci_get_state(priv) != PRV_STATE_SLEEP)
243 le32_to_cpu(priv->control_block->
245 le32_to_cpu(priv->control_block->
247 le32_to_cpu(priv->control_block->
249 le32_to_cpu(priv->control_block->
251 le32_to_cpu(priv->control_block->
253 le32_to_cpu(priv->control_block->
259 le32_to_cpu(priv->control_block->
261 le32_to_cpu(priv->control_block->
263 le32_to_cpu(priv->control_block->
265 le32_to_cpu(priv->control_block->
267 le32_to_cpu(priv->control_block->
269 le32_to_cpu(priv->control_block->
275 islpci_eth_cleanup_transmit(priv, priv->control_block);
284 if (isl38xx_in_queue(priv->control_block,
301 while (isl38xx_in_queue(priv->control_block,
307 islpci_eth_receive(priv);
311 if (priv->data_low_tx_full) {
314 isl38xx_in_queue(priv->control_block,
318 netif_wake_queue(priv->ndev);
321 priv->data_low_tx_full = 0;
332 wake_up(&priv->reset_done);
340 isl38xx_handle_sleep_request(priv->control_block,
342 priv->device_base);
351 isl38xx_handle_wakeup(priv->control_block,
352 &powerstate, priv->device_base);
358 spin_unlock(&priv->slock);
363 if (islpci_get_state(priv) == PRV_STATE_SLEEP
365 islpci_set_state(priv, PRV_STATE_READY);
368 if (islpci_get_state(priv) != PRV_STATE_SLEEP
370 islpci_set_state(priv, PRV_STATE_SLEEP);
373 spin_unlock(&priv->slock);
385 islpci_private *priv = netdev_priv(ndev);
388 rc = islpci_reset(priv,1);
390 prism54_bring_down(priv);
401 if (priv->iw_mode == IW_MODE_INFRA || priv->iw_mode == IW_MODE_ADHOC)
412 islpci_private *priv = netdev_priv(ndev);
418 return prism54_bring_down(priv);
422 prism54_bring_down(islpci_private *priv)
424 void __iomem *device_base = priv->device_base;
427 islpci_set_state(priv, PRV_STATE_PREBOOT);
430 isl38xx_disable_interrupts(priv->device_base);
436 synchronize_irq(priv->pdev->irq);
461 islpci_upload_fw(islpci_private *priv)
466 old_state = islpci_set_state(priv, PRV_STATE_BOOT);
468 printk(KERN_DEBUG "%s: uploading firmware...\n", priv->ndev->name);
470 rc = isl_upload_firmware(priv);
474 priv->ndev->name, priv->firmware);
476 islpci_set_state(priv, old_state);
481 priv->ndev->name);
483 islpci_set_state(priv, PRV_STATE_POSTBOOT);
489 islpci_reset_if(islpci_private *priv)
496 prepare_to_wait(&priv->reset_done, &wait, TASK_UNINTERRUPTIBLE);
499 isl38xx_interface_reset(priv->device_base, priv->device_host_address);
500 islpci_set_state(priv, PRV_STATE_PREINIT);
517 priv->ndev->name);
520 finish_wait(&priv->reset_done, &wait);
523 printk(KERN_ERR "%s: interface reset failure\n", priv->ndev->name);
527 islpci_set_state(priv, PRV_STATE_INIT);
534 isl38xx_enable_common_interrupts(priv->device_base);
536 down_write(&priv->mib_sem);
537 result = mgt_commit(priv);
539 printk(KERN_ERR "%s: interface reset failure\n", priv->ndev->name);
540 up_write(&priv->mib_sem);
543 up_write(&priv->mib_sem);
545 islpci_set_state(priv, PRV_STATE_READY);
547 printk(KERN_DEBUG "%s: interface reset complete\n", priv->ndev->name);
552 islpci_reset(islpci_private *priv, int reload_firmware)
555 (isl38xx_control_block *) priv->control_block;
560 islpci_set_state(priv, PRV_STATE_PREBOOT);
562 islpci_set_state(priv, PRV_STATE_POSTBOOT);
564 printk(KERN_DEBUG "%s: resetting device...\n", priv->ndev->name);
567 isl38xx_disable_interrupts(priv->device_base);
570 priv->index_mgmt_tx = 0;
571 priv->index_mgmt_rx = 0;
584 frag->address = cpu_to_le32(priv->mgmt_rx[counter].pci_addr);
589 cpu_to_le32((u32) priv->pci_map_rx_address[counter]);
594 priv->control_block->driver_curr_frag[ISL38XX_CB_RX_DATA_LQ] =
596 priv->control_block->driver_curr_frag[ISL38XX_CB_RX_MGMTQ] =
600 priv->free_data_rx = 0;
601 priv->free_data_tx = 0;
602 priv->data_low_tx_full = 0;
607 rc = islpci_upload_fw(priv);
610 priv->ndev->name);
616 rc = islpci_reset_if(priv);
626 islpci_alloc_memory(islpci_private *priv)
635 if (!(priv->device_base =
636 ioremap(pci_resource_start(priv->pdev, 0),
652 priv->driver_mem_address = pci_alloc_consistent(priv->pdev,
654 &priv->
657 if (!priv->driver_mem_address) {
665 priv->control_block =
666 (isl38xx_control_block *) priv->driver_mem_address;
669 priv->device_psm_buffer =
670 priv->device_host_address + CONTROL_BLOCK_SIZE;
674 priv->control_block->driver_curr_frag[counter] = cpu_to_le32(0);
675 priv->control_block->device_curr_frag[counter] = cpu_to_le32(0);
678 priv->index_mgmt_rx = 0;
679 memset(priv->mgmt_rx, 0, sizeof(priv->mgmt_rx));
680 memset(priv->mgmt_tx, 0, sizeof(priv->mgmt_tx));
683 if (islpci_mgmt_rx_fill(priv->ndev) < 0)
687 memset(priv->data_low_rx, 0, sizeof (priv->data_low_rx));
688 memset(priv->pci_map_rx_address, 0, sizeof (priv->pci_map_rx_address));
704 priv->data_low_rx[counter] = skb;
707 priv->pci_map_rx_address[counter] =
708 pci_map_single(priv->pdev, (void *) skb->data,
711 if (!priv->pci_map_rx_address[counter]) {
719 prism54_acl_init(&priv->acl);
720 prism54_wpa_bss_ie_init(priv);
721 if (mgt_init(priv))
726 islpci_free_memory(priv);
731 islpci_free_memory(islpci_private *priv)
735 if (priv->device_base)
736 iounmap(priv->device_base);
737 priv->device_base = NULL;
740 if (priv->driver_mem_address)
741 pci_free_consistent(priv->pdev, HOST_MEM_BLOCK,
742 priv->driver_mem_address,
743 priv->device_host_address);
746 priv->driver_mem_address = NULL;
747 priv->device_host_address = 0;
748 priv->device_psm_buffer = 0;
749 priv->control_block = NULL;
753 struct islpci_membuf *buf = &priv->mgmt_rx[counter];
755 pci_unmap_single(priv->pdev, buf->pci_addr,
765 if (priv->pci_map_rx_address[counter])
766 pci_unmap_single(priv->pdev,
767 priv->pci_map_rx_address[counter],
770 priv->pci_map_rx_address[counter] = 0;
772 if (priv->data_low_rx[counter])
773 dev_kfree_skb(priv->data_low_rx[counter]);
774 priv->data_low_rx[counter] = NULL;
778 prism54_acl_clean(&priv->acl);
779 prism54_wpa_bss_ie_clean(priv);
780 mgt_clean(priv);
817 islpci_private *priv;
845 priv = netdev_priv(ndev);
846 priv->ndev = ndev;
847 priv->pdev = pdev;
848 priv->monitor_type = ARPHRD_IEEE80211;
849 priv->ndev->type = (priv->iw_mode == IW_MODE_MONITOR) ?
850 priv->monitor_type : ARPHRD_ETHER;
853 priv->wireless_data.spy_data = &priv->spy_data;
854 ndev->wireless_data = &priv->wireless_data;
857 ndev->mem_start = (unsigned long) priv->device_base;
861 DEBUG(SHOW_TRACING, "PCI Memory remapped to 0x%p\n", priv->device_base);
864 init_waitqueue_head(&priv->reset_done);
867 mutex_init(&priv->mgmt_lock);
868 priv->mgmt_received = NULL;
869 init_waitqueue_head(&priv->mgmt_wqueue);
870 mutex_init(&priv->stats_lock);
871 spin_lock_init(&priv->slock);
874 priv->state = PRV_STATE_OFF;
875 priv->state_off = 1;
878 INIT_WORK(&priv->stats_work, prism54_update_stats);
879 priv->stats_timestamp = 0;
881 INIT_WORK(&priv->reset_task, islpci_do_reset_and_wake);
882 priv->reset_task_pending = 0;
885 if (islpci_alloc_memory(priv))
891 strcpy(priv->firmware, ISL3877_IMAGE_FILE);
895 strcpy(priv->firmware, ISL3886_IMAGE_FILE);
899 strcpy(priv->firmware, ISL3890_IMAGE_FILE);
912 islpci_free_memory(priv);
916 priv = NULL;
921 islpci_set_state(islpci_private *priv, islpci_state_t new_state)
926 old_state = priv->state;
932 priv->state_off++;
934 priv->state = new_state;
941 priv->state_off--;
946 if (!priv->state_off)
947 priv->state = new_state;
952 priv->ndev->name, old_state, new_state, priv->state_off);
956 BUG_ON(priv->state_off < 0);
957 BUG_ON(priv->state_off && (priv->state != PRV_STATE_OFF));
958 BUG_ON(!priv->state_off && (priv->state == PRV_STATE_OFF));