• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/infiniband/hw/nes/

Lines Matching refs:nesdev

144 	struct nes_device *nesdev;
150 list_for_each_entry(nesdev, &nes_dev_list, list) {
152 nesdev, nesdev->netdev[0]->name);
153 netdev = nesdev->netdev[0];
166 nes_write_indexed(nesdev,
167 NES_IDX_DST_IP_ADDR+(0x10*PCI_FUNC(nesdev->pcidev->devfn)), 0);
184 nes_write_indexed(nesdev,
185 NES_IDX_DST_IP_ADDR+(0x10*PCI_FUNC(nesdev->pcidev->devfn)),
208 struct nes_device *nesdev;
214 list_for_each_entry(nesdev, &nes_dev_list, list) {
215 /* nes_debug(NES_DBG_NETDEV, "Nesdev list entry = 0x%p.\n", nesdev); */
216 netdev = nesdev->netdev[0];
257 static void nes_cqp_rem_ref_callback(struct nes_device *nesdev, struct nes_cqp_request *cqp_request)
261 struct nes_adapter *nesadapter = nesdev->nesadapter;
268 pci_free_consistent(nesdev->pcidev, nesqp->qp_mem_size,
273 pci_free_consistent(nesdev->pcidev, 256, nesqp->pbl_vbase, nesqp->pbl_pbase);
277 pci_free_consistent(nesdev->pcidev, nesqp->qp_mem_size,
295 struct nes_device *nesdev = nesvnic->nesdev;
310 cqp_request = nes_get_cqp_request(nesdev);
321 nes_fill_init_cqp_wqe(cqp_wqe, nesdev);
332 nes_post_cqp_request(nesdev, cqp_request);
343 struct nes_device *nesdev = nesvnic->nesdev;
344 struct nes_adapter *nesadapter = nesdev->nesadapter;
367 struct nes_device *nesdev = (struct nes_device *)dev_id;
375 if (nesdev->msi_enabled) {
379 if (unlikely(nesdev->nesadapter->hw_rev == NE020_REV)) {
382 int_mask = nes_read32(nesdev->regs + NES_INT_MASK);
385 int_stat = nes_read32(nesdev->regs + NES_INT_STAT);
386 int_req = nesdev->int_req;
394 timer_stat = nes_read32(nesdev->regs + NES_TIMER_STAT);
395 if ((timer_stat & nesdev->timer_int_req) != 0) {
401 intf_int_stat = nes_read32(nesdev->regs+NES_INTF_INT_STAT);
402 if ((intf_int_stat & nesdev->intf_int_req) != 0) {
408 nes_write32(nesdev->regs+NES_INT_MASK, int_mask & (~0x80000000));
409 int_mask = nes_read32(nesdev->regs+NES_INT_MASK);
411 nesdev->int_stat = int_stat;
412 nesdev->napi_isr_ran = 1;
417 handled = nes_read32(nesdev->regs+NES_INT_PENDING);
423 if (nes_napi_isr(nesdev) == 0) {
424 tasklet_schedule(&nesdev->dpc_tasklet);
440 struct nes_device *nesdev = NULL;
506 nesdev = kzalloc(sizeof(struct nes_device), GFP_KERNEL);
507 if (!nesdev) {
513 nes_debug(NES_DBG_INIT, "Allocated nes device at %p\n", nesdev);
514 nesdev->pcidev = pcidev;
515 pci_set_drvdata(pcidev, nesdev);
520 spin_lock_init(&nesdev->indexed_regs_lock);
530 nesdev->regs = mmio_regs;
531 nesdev->index_reg = 0x50 + (PCI_FUNC(pcidev->devfn)*8) + mmio_regs;
534 nes_write32(nesdev->regs+NES_INT_MASK, 0x7fffffff);
537 if (!pci_enable_msi(nesdev->pcidev)) {
538 nesdev->msi_enabled = 1;
550 nesdev->csr_start = pci_resource_start(nesdev->pcidev, BAR_0);
551 nesdev->doorbell_region = pci_resource_start(nesdev->pcidev, BAR_1);
554 nesdev->nesadapter = nes_init_adapter(nesdev, hw_rev);
555 if (!nesdev->nesadapter) {
560 nesdev->nesadapter->et_rx_coalesce_usecs_irq = interrupt_mod_interval;
561 nesdev->nesadapter->wqm_quanta = wqm_quanta;
563 /* nesdev->base_doorbell_index =
564 nesdev->nesadapter->pd_config_base[PCI_FUNC(nesdev->pcidev->devfn)]; */
565 nesdev->base_doorbell_index = 1;
566 nesdev->doorbell_start = nesdev->nesadapter->doorbell_start;
567 if (nesdev->nesadapter->phy_type[0] == NES_PHY_TYPE_PUMA_1G) {
568 switch (PCI_FUNC(nesdev->pcidev->devfn) %
569 nesdev->nesadapter->port_count) {
571 nesdev->mac_index = 2;
574 nesdev->mac_index = 1;
577 nesdev->mac_index = 3;
581 nesdev->mac_index = 0;
584 nesdev->mac_index = PCI_FUNC(nesdev->pcidev->devfn) %
585 nesdev->nesadapter->port_count;
589 ((nesdev->nesadapter->phy_type[0] == NES_PHY_TYPE_GLADIUS) &&
600 tasklet_init(&nesdev->dpc_tasklet, nes_dpc, (unsigned long)nesdev);
603 if (nes_init_cqp(nesdev)) {
609 nes_write32(nesdev->regs+NES_CQE_ALLOC, NES_CQE_ALLOC_NOTIFY_NEXT |
610 PCI_FUNC(nesdev->pcidev->devfn));
611 nes_read32(nesdev->regs+NES_CQE_ALLOC);
614 nesdev->int_req = (0x101 << PCI_FUNC(nesdev->pcidev->devfn)) |
615 (1 << (PCI_FUNC(nesdev->pcidev->devfn)+16));
616 if (PCI_FUNC(nesdev->pcidev->devfn) < 4) {
617 nesdev->int_req |= (1 << (PCI_FUNC(nesdev->mac_index)+24));
621 if (PCI_FUNC(nesdev->pcidev->devfn) == 0) {
623 nesdev->intf_int_req = NES_INTF_INT_PCIERR | NES_INTF_INT_CRITERR;
624 nesdev->int_req |= NES_INT_INTF;
626 nesdev->intf_int_req = 0;
628 nesdev->intf_int_req |= (1 << (PCI_FUNC(nesdev->pcidev->devfn)+16));
629 nes_write_indexed(nesdev, NES_IDX_DEBUG_ERROR_MASKS0, 0);
630 nes_write_indexed(nesdev, NES_IDX_DEBUG_ERROR_MASKS1, 0);
631 nes_write_indexed(nesdev, NES_IDX_DEBUG_ERROR_MASKS2, 0x00001265);
632 nes_write_indexed(nesdev, NES_IDX_DEBUG_ERROR_MASKS4, 0x18021804);
634 nes_write_indexed(nesdev, NES_IDX_DEBUG_ERROR_MASKS3, 0x17801790);
637 nesdev->timer_int_req = 0x101 << PCI_FUNC(nesdev->pcidev->devfn);
638 nesdev->nesadapter->timer_int_req |= nesdev->timer_int_req;
639 nes_debug(NES_DBG_INIT, "setting int_req for function %u, nesdev = 0x%04X, adapter = 0x%04X\n",
640 PCI_FUNC(nesdev->pcidev->devfn),
641 nesdev->timer_int_req, nesdev->nesadapter->timer_int_req);
643 nes_write32(nesdev->regs+NES_INTF_INT_MASK, ~(nesdev->intf_int_req));
645 list_add_tail(&nesdev->list, &nes_dev_list);
648 ret = request_irq(pcidev->irq, nes_interrupt, IRQF_SHARED, DRV_NAME, nesdev);
655 nes_write32(nesdev->regs+NES_INT_MASK, ~nesdev->int_req);
664 if ((netdev = nes_netdev_init(nesdev, mmio_regs)) == NULL)
677 nesdev->netdev_count++;
678 nesdev->nesadapter->netdev_count++;
686 while (nesdev->netdev_count > 0) {
687 nesdev->netdev_count--;
688 nesdev->nesadapter->netdev_count--;
690 unregister_netdev(nesdev->netdev[nesdev->netdev_count]);
691 nes_netdev_destroy(nesdev->netdev[nesdev->netdev_count]);
695 nesdev->netdev_count, nesdev->nesadapter->netdev_count);
703 list_del(&nesdev->list);
704 nes_destroy_cqp(nesdev);
708 free_irq(pcidev->irq, nesdev);
709 if (nesdev->msi_enabled) {
714 tasklet_kill(&nesdev->dpc_tasklet);
716 nes_destroy_adapter(nesdev->nesadapter);
720 iounmap(nesdev->regs);
724 kfree(nesdev);
742 struct nes_device *nesdev = pci_get_drvdata(pcidev);
746 if (nesdev->netdev_count) {
747 netdev = nesdev->netdev[netdev_index];
753 nesdev->netdev[netdev_index] = NULL;
754 nesdev->netdev_count--;
755 nesdev->nesadapter->netdev_count--;
765 list_del(&nesdev->list);
766 nes_destroy_cqp(nesdev);
768 free_irq(pcidev->irq, nesdev);
769 tasklet_kill(&nesdev->dpc_tasklet);
772 nes_destroy_adapter(nesdev->nesadapter);
774 if (nesdev->msi_enabled) {
778 iounmap(nesdev->regs);
779 kfree(nesdev);
800 struct nes_device *nesdev;
802 list_for_each_entry(nesdev, &nes_dev_list, list) {
804 devfn = nesdev->pcidev->devfn;
805 bus_number = nesdev->pcidev->bus->number;
827 struct nes_device *nesdev;
829 list_for_each_entry(nesdev, &nes_dev_list, list) {
831 eeprom_cmd = nes_read32(nesdev->regs + NES_EEPROM_COMMAND);
845 struct nes_device *nesdev;
849 list_for_each_entry(nesdev, &nes_dev_list, list) {
851 nes_write32(nesdev->regs + NES_EEPROM_COMMAND, val);
864 struct nes_device *nesdev;
866 list_for_each_entry(nesdev, &nes_dev_list, list) {
868 eeprom_data = nes_read32(nesdev->regs + NES_EEPROM_DATA);
883 struct nes_device *nesdev;
887 list_for_each_entry(nesdev, &nes_dev_list, list) {
889 nes_write32(nesdev->regs + NES_EEPROM_DATA, val);
902 struct nes_device *nesdev;
904 list_for_each_entry(nesdev, &nes_dev_list, list) {
906 flash_cmd = nes_read32(nesdev->regs + NES_FLASH_COMMAND);
921 struct nes_device *nesdev;
925 list_for_each_entry(nesdev, &nes_dev_list, list) {
927 nes_write32(nesdev->regs + NES_FLASH_COMMAND, val);
940 struct nes_device *nesdev;
942 list_for_each_entry(nesdev, &nes_dev_list, list) {
944 flash_data = nes_read32(nesdev->regs + NES_FLASH_DATA);
959 struct nes_device *nesdev;
963 list_for_each_entry(nesdev, &nes_dev_list, list) {
965 nes_write32(nesdev->regs + NES_FLASH_DATA, val);
994 struct nes_device *nesdev;
996 list_for_each_entry(nesdev, &nes_dev_list, list) {
998 nonidx_data = nes_read32(nesdev->regs + sysfs_nonidx_addr);
1013 struct nes_device *nesdev;
1017 list_for_each_entry(nesdev, &nes_dev_list, list) {
1019 nes_write32(nesdev->regs + sysfs_nonidx_addr, val);
1048 struct nes_device *nesdev;
1050 list_for_each_entry(nesdev, &nes_dev_list, list) {
1052 idx_data = nes_read_indexed(nesdev, sysfs_idx_addr);
1067 struct nes_device *nesdev;
1071 list_for_each_entry(nesdev, &nes_dev_list, list) {
1073 nes_write_indexed(nesdev, sysfs_idx_addr, val);
1090 struct nes_device *nesdev;
1092 list_for_each_entry(nesdev, &nes_dev_list, list) {
1094 wqm_quanta_value = nesdev->nesadapter->wqm_quanta;
1113 struct nes_device *nesdev;
1116 list_for_each_entry(nesdev, &nes_dev_list, list) {
1118 nesdev->nesadapter->wqm_quanta = wqm_quanta_value;
1119 wqm_config1 = nes_read_indexed(nesdev,
1121 nes_write_indexed(nesdev, NES_IDX_WQM_CONFIG1,