Lines Matching defs:efx
12 #include "efx.h"
18 int efx_mcdi_free_vis(struct efx_nic *efx)
22 int rc = efx_mcdi_rpc_quiet(efx, MC_CMD_FREE_VIS, NULL, 0,
29 efx_mcdi_display_error(efx, MC_CMD_FREE_VIS, 0, outbuf, outlen,
34 int efx_mcdi_alloc_vis(struct efx_nic *efx, unsigned int min_vis,
45 rc = efx_mcdi_rpc(efx, MC_CMD_ALLOC_VIS, inbuf, sizeof(inbuf),
53 netif_dbg(efx, drv, efx->net_dev, "base VI is A0x%03x\n",
65 return efx_nic_alloc_buffer(channel->efx, &channel->eventq,
78 struct efx_nic *efx = channel->efx;
123 rc = efx_mcdi_rpc(efx, MC_CMD_INIT_EVQ, inbuf, inlen,
127 netif_dbg(efx, drv, efx->net_dev,
137 efx_nic_free_buffer(channel->efx, &channel->eventq);
144 struct efx_nic *efx = channel->efx;
150 rc = efx_mcdi_rpc_quiet(efx, MC_CMD_FINI_EVQ, inbuf, sizeof(inbuf),
159 efx_mcdi_display_error(efx, MC_CMD_FINI_EVQ, MC_CMD_FINI_EVQ_IN_LEN,
171 struct efx_nic *efx = tx_queue->efx;
183 MCDI_SET_DWORD(inbuf, INIT_TXQ_IN_PORT_ID, efx->vport_id);
187 netif_dbg(efx, hw, efx->net_dev, "pushing TXQ %d. %zu entries (%llx)\n",
218 rc = efx_mcdi_rpc_quiet(efx, MC_CMD_INIT_TXQ, inbuf, inlen,
223 netif_warn(efx, probe, efx->net_dev,
228 efx_mcdi_display_error(efx, MC_CMD_INIT_TXQ,
243 efx_nic_free_buffer(tx_queue->efx, &tx_queue->txd);
250 struct efx_nic *efx = tx_queue->efx;
257 rc = efx_mcdi_rpc_quiet(efx, MC_CMD_FINI_TXQ, inbuf, sizeof(inbuf),
266 efx_mcdi_display_error(efx, MC_CMD_FINI_TXQ, MC_CMD_FINI_TXQ_IN_LEN,
272 return efx_nic_alloc_buffer(rx_queue->efx, &rx_queue->rxd,
283 struct efx_nic *efx = rx_queue->efx;
292 if (efx->type->revision == EFX_REV_EF100)
293 buffer_size = efx->rx_page_buf_step;
306 MCDI_SET_DWORD(inbuf, INIT_RXQ_IN_PORT_ID, efx->vport_id);
311 netif_dbg(efx, hw, efx->net_dev, "pushing RXQ %d. %zu entries (%llx)\n",
319 rc = efx_mcdi_rpc(efx, MC_CMD_INIT_RXQ, inbuf, sizeof(inbuf),
322 netdev_WARN(efx->net_dev, "failed to initialise RXQ %d\n",
328 efx_nic_free_buffer(rx_queue->efx, &rx_queue->rxd);
335 struct efx_nic *efx = rx_queue->efx;
342 rc = efx_mcdi_rpc_quiet(efx, MC_CMD_FINI_RXQ, inbuf, sizeof(inbuf),
351 efx_mcdi_display_error(efx, MC_CMD_FINI_RXQ, MC_CMD_FINI_RXQ_IN_LEN,
355 int efx_fini_dmaq(struct efx_nic *efx)
363 * torn down, but efx->active_queues needs to be set to zero.
365 if (efx->must_realloc_vis) {
366 atomic_set(&efx->active_queues, 0);
371 if (efx->state != STATE_RECOVERY) {
372 efx_for_each_channel(channel, efx) {
379 wait_event_timeout(efx->flush_wq,
380 atomic_read(&efx->active_queues) == 0,
382 pending = atomic_read(&efx->active_queues);
384 netif_err(efx, hw, efx->net_dev, "failed to flush %d queues\n",
393 int efx_mcdi_window_mode_to_stride(struct efx_nic *efx, u8 vi_window_mode)
397 efx->vi_stride = 8192;
400 efx->vi_stride = 16384;
403 efx->vi_stride = 65536;
406 netif_err(efx, probe, efx->net_dev,
411 netif_dbg(efx, probe, efx->net_dev, "vi_stride = %u\n",
412 efx->vi_stride);
416 int efx_get_pf_index(struct efx_nic *efx, unsigned int *pf_index)
422 rc = efx_mcdi_rpc(efx, MC_CMD_GET_FUNCTION_INFO, NULL, 0, outbuf,