Lines Matching refs:efx

34 int efx_nic_alloc_buffer(struct efx_nic *efx, struct efx_buffer *buffer,  in efx_nic_alloc_buffer()  argument
37 buffer->addr = dma_zalloc_coherent(&efx->pci_dev->dev, len, in efx_nic_alloc_buffer()
45 void efx_nic_free_buffer(struct efx_nic *efx, struct efx_buffer *buffer) in efx_nic_free_buffer() argument
48 dma_free_coherent(&efx->pci_dev->dev, buffer->len, in efx_nic_free_buffer()
66 channel->efx->type->ev_test_generate(channel); in efx_nic_event_test_start()
69 void efx_nic_irq_test_start(struct efx_nic *efx) in efx_nic_irq_test_start() argument
71 efx->last_irq_cpu = -1; in efx_nic_irq_test_start()
73 efx->type->irq_test_generate(efx); in efx_nic_irq_test_start()
79 int efx_nic_init_interrupt(struct efx_nic *efx) in efx_nic_init_interrupt() argument
85 if (!EFX_INT_MODE_USE_MSI(efx)) { in efx_nic_init_interrupt()
86 rc = request_irq(efx->legacy_irq, in efx_nic_init_interrupt()
87 efx->type->irq_handle_legacy, IRQF_SHARED, in efx_nic_init_interrupt()
88 efx->name, efx); in efx_nic_init_interrupt()
90 netif_err(efx, drv, efx->net_dev, in efx_nic_init_interrupt()
92 efx->pci_dev->irq); in efx_nic_init_interrupt()
99 if (efx->interrupt_mode == EFX_INT_MODE_MSIX) { in efx_nic_init_interrupt()
100 efx->net_dev->rx_cpu_rmap = in efx_nic_init_interrupt()
101 alloc_irq_cpu_rmap(efx->n_rx_channels); in efx_nic_init_interrupt()
102 if (!efx->net_dev->rx_cpu_rmap) { in efx_nic_init_interrupt()
111 efx_for_each_channel(channel, efx) { in efx_nic_init_interrupt()
112 rc = request_irq(channel->irq, efx->type->irq_handle_msi, in efx_nic_init_interrupt()
114 efx->msi_context[channel->channel].name, in efx_nic_init_interrupt()
115 &efx->msi_context[channel->channel]); in efx_nic_init_interrupt()
117 netif_err(efx, drv, efx->net_dev, in efx_nic_init_interrupt()
124 if (efx->interrupt_mode == EFX_INT_MODE_MSIX && in efx_nic_init_interrupt()
125 channel->channel < efx->n_rx_channels) { in efx_nic_init_interrupt()
126 rc = irq_cpu_rmap_add(efx->net_dev->rx_cpu_rmap, in efx_nic_init_interrupt()
138 free_irq_cpu_rmap(efx->net_dev->rx_cpu_rmap); in efx_nic_init_interrupt()
139 efx->net_dev->rx_cpu_rmap = NULL; in efx_nic_init_interrupt()
141 efx_for_each_channel(channel, efx) { in efx_nic_init_interrupt()
144 free_irq(channel->irq, &efx->msi_context[channel->channel]); in efx_nic_init_interrupt()
150 void efx_nic_fini_interrupt(struct efx_nic *efx) in efx_nic_fini_interrupt() argument
155 free_irq_cpu_rmap(efx->net_dev->rx_cpu_rmap); in efx_nic_fini_interrupt()
156 efx->net_dev->rx_cpu_rmap = NULL; in efx_nic_fini_interrupt()
159 if (EFX_INT_MODE_USE_MSI(efx)) { in efx_nic_fini_interrupt()
161 efx_for_each_channel(channel, efx) in efx_nic_fini_interrupt()
163 &efx->msi_context[channel->channel]); in efx_nic_fini_interrupt()
166 free_irq(efx->legacy_irq, efx); in efx_nic_fini_interrupt()
371 size_t efx_nic_get_regs_len(struct efx_nic *efx) in efx_nic_get_regs_len() argument
380 if (efx->type->revision >= reg->min_revision && in efx_nic_get_regs_len()
381 efx->type->revision <= reg->max_revision) in efx_nic_get_regs_len()
387 if (efx->type->revision >= table->min_revision && in efx_nic_get_regs_len()
388 efx->type->revision <= table->max_revision) in efx_nic_get_regs_len()
394 void efx_nic_get_regs(struct efx_nic *efx, void *buf) in efx_nic_get_regs() argument
402 if (efx->type->revision >= reg->min_revision && in efx_nic_get_regs()
403 efx->type->revision <= reg->max_revision) { in efx_nic_get_regs()
404 efx_reado(efx, (efx_oword_t *)buf, reg->offset); in efx_nic_get_regs()
414 if (!(efx->type->revision >= table->min_revision && in efx_nic_get_regs()
415 efx->type->revision <= table->max_revision)) in efx_nic_get_regs()
423 efx_readd(efx, buf, table->offset + 4 * i); in efx_nic_get_regs()
426 efx_sram_readq(efx, in efx_nic_get_regs()
427 efx->membase + table->offset, in efx_nic_get_regs()
431 efx_reado_table(efx, buf, table->offset, i); in efx_nic_get_regs()
434 efx_reado_table(efx, buf, table->offset, 2 * i); in efx_nic_get_regs()
525 void efx_nic_fix_nodesc_drop_stat(struct efx_nic *efx, u64 *rx_nodesc_drops) in efx_nic_fix_nodesc_drop_stat() argument
528 if (!(efx->net_dev->flags & IFF_UP) || !efx->rx_nodesc_drops_prev_state) in efx_nic_fix_nodesc_drop_stat()
529 efx->rx_nodesc_drops_while_down += in efx_nic_fix_nodesc_drop_stat()
530 *rx_nodesc_drops - efx->rx_nodesc_drops_total; in efx_nic_fix_nodesc_drop_stat()
531 efx->rx_nodesc_drops_total = *rx_nodesc_drops; in efx_nic_fix_nodesc_drop_stat()
532 efx->rx_nodesc_drops_prev_state = !!(efx->net_dev->flags & IFF_UP); in efx_nic_fix_nodesc_drop_stat()
533 *rx_nodesc_drops -= efx->rx_nodesc_drops_while_down; in efx_nic_fix_nodesc_drop_stat()