Lines Matching defs:adapter

42 	struct ena_adapter *adapter;
82 ena_netmap_attach(struct ena_adapter *adapter)
86 ena_log_nm(adapter->pdev, INFO, "netmap attach\n");
90 na.ifp = adapter->ifp;
91 na.num_tx_desc = adapter->requested_tx_ring_size;
92 na.num_rx_desc = adapter->requested_rx_ring_size;
93 na.num_tx_rings = adapter->num_io_queues;
94 na.num_rx_rings = adapter->num_io_queues;
95 na.rx_buf_maxsize = adapter->buf_ring_size;
104 ena_netmap_alloc_rx_slot(struct ena_adapter *adapter, struct ena_ring *rx_ring,
107 struct netmap_adapter *na = NA(adapter->ifp);
124 ena_log_nm(adapter->pdev, DBG,
130 ena_log_nm(adapter->pdev, ERR,
137 ena_log_nm(adapter->pdev, ERR, "Rx ring %d is NULL\n", qid);
144 ena_log_nm(adapter->pdev, ERR, "Bad buff in slot\n");
148 rc = netmap_load_map(na, adapter->rx_buf_tag, rx_info->map, addr);
150 ena_log_nm(adapter->pdev, WARN, "DMA mapping error\n");
153 bus_dmamap_sync(adapter->rx_buf_tag, rx_info->map, BUS_DMASYNC_PREREAD);
169 ena_netmap_free_rx_slot(struct ena_adapter *adapter, struct ena_ring *rx_ring,
177 na = NA(adapter->ifp);
179 ena_log_nm(adapter->pdev, ERR, "netmap adapter is NULL\n");
184 ena_log_nm(adapter->pdev, ERR, "netmap rings are NULL\n");
191 ena_log_nm(adapter->pdev, ERR,
202 bus_dmamap_sync(adapter->rx_buf_tag, rx_info->map,
204 netmap_unload_map(na, adapter->rx_buf_tag, rx_info->map);
210 ENA_WARN(slot->buf_idx != 0, adapter->ena_dev, "Overwrite slot buf\n");
219 ena_ring_in_netmap(struct ena_adapter *adapter, int qid, enum txrx x)
224 if (if_getcapenable(adapter->ifp) & IFCAP_NETMAP) {
225 na = NA(adapter->ifp);
234 ena_tx_ring_in_netmap(struct ena_adapter *adapter, int qid)
236 return ena_ring_in_netmap(adapter, qid, NR_TX);
240 ena_rx_ring_in_netmap(struct ena_adapter *adapter, int qid)
242 return ena_ring_in_netmap(adapter, qid, NR_RX);
246 ena_netmap_reset_ring(struct ena_adapter *adapter, int qid, enum txrx x)
248 if (!ena_ring_in_netmap(adapter, qid, x))
251 netmap_reset(NA(adapter->ifp), x, qid, 0);
252 ena_log_nm(adapter->pdev, INFO, "%s ring %d is in netmap mode\n",
257 ena_netmap_reset_rx_ring(struct ena_adapter *adapter, int qid)
259 ena_netmap_reset_ring(adapter, qid, NR_RX);
263 ena_netmap_reset_tx_ring(struct ena_adapter *adapter, int qid)
265 ena_netmap_reset_ring(adapter, qid, NR_TX);
272 struct ena_adapter *adapter = if_getsoftc(ifp);
273 device_t pdev = adapter->pdev;
279 ENA_FLAG_CLEAR_ATOMIC(ENA_FLAG_TRIGGER_RESET, adapter);
280 ena_down(adapter);
306 rc = ena_up(adapter);
309 adapter->reset_reason = ENA_REGS_RESET_DRIVER_INVALID_STATE;
311 ena_destroy_device(adapter, false);
312 ENA_FLAG_SET_ATOMIC(ENA_FLAG_DEV_UP_BEFORE_RESET, adapter);
313 rc = ena_restore_device(adapter);
327 ctx.ring = &ctx.adapter->tx_ring[kring->ring_id];
330 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, ctx.adapter)))
333 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_LINK_UP, ctx.adapter)))
388 struct ena_adapter *adapter;
398 adapter = ctx->adapter;
399 if (ena_netmap_count_slots(ctx) > adapter->max_tx_sgl_size) {
400 ena_log_nm(adapter->pdev, WARN, "Too many slots per packet\n");
414 ena_log_nm(adapter->pdev, ERR, "Failed to map Tx slot\n");
424 ena_tx_ctx.meta_valid = adapter->disable_meta_caching;
435 ena_log_nm(adapter->pdev, DBG,
438 ena_log_nm(adapter->pdev, ERR,
440 ena_trigger_reset(adapter,
452 counter_u64_add_protected(adapter->hw_stats.tx_packets, 1);
453 counter_u64_add_protected(adapter->hw_stats.tx_bytes, packet_len);
461 bus_dmamap_sync(adapter->tx_buf_tag,
553 struct ena_adapter *adapter;
567 adapter = ctx->adapter;
599 ena_log_nm(adapter->pdev, ERR,
612 ena_log_nm(adapter->pdev, ERR,
623 ena_log_nm(adapter->pdev, DBG,
633 adapter->tx_buf_tag, *nm_maps, &vaddr, &paddr);
635 ena_log_nm(adapter->pdev, ERR,
682 adapter->tx_buf_tag, *nm_maps, &vaddr,
685 ena_log_nm(adapter->pdev, ERR,
728 adapter->tx_buf_tag, *nm_maps, &vaddr, &paddr);
730 ena_log_nm(adapter->pdev, ERR, "DMA mapping error\n");
778 netmap_unload_map(ctx->na, ctx->adapter->tx_buf_tag,
844 netmap_unload_map(ctx->na, ctx->adapter->tx_buf_tag,
853 ctx->adapter->ena_dev, "Tx idx is not 0.\n");
873 ctx.ring = &ctx.adapter->rx_ring[kring->ring_id];
883 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_LINK_UP, ctx.adapter)))
908 ena_log_nm(ctx->adapter->pdev, ERR,
930 ena_rx_ctx.max_bufs = ctx->adapter->max_rx_sgl_size;
936 ena_log_nm(ctx->adapter->pdev, ERR,
947 ena_trigger_reset(ctx->adapter, reset_reason);
953 ena_log_nm(ctx->adapter->pdev, DBG,
978 counter_u64_add_protected(ctx->adapter->hw_stats.rx_bytes, len);
980 counter_u64_add_protected(ctx->adapter->hw_stats.rx_packets, 1);
1006 bus_dmamap_sync(ctx->adapter->rx_buf_tag, rx_info->map,
1008 netmap_unload_map(ctx->na, ctx->adapter->rx_buf_tag, rx_info->map);
1010 ENA_WARN(ctx->slots[ctx->nm_i].buf_idx != 0, ctx->adapter->ena_dev,
1023 ena_log_nm(ctx->adapter->pdev, DBG,
1057 ctx->adapter = if_getsoftc(ctx->na->ifp);
1059 ctx->io_cq = &ctx->adapter->ena_dev->io_cq_queues[ena_qid];
1060 ctx->io_sq = &ctx->adapter->ena_dev->io_sq_queues[ena_qid];
1065 ena_netmap_unload(struct ena_adapter *adapter, bus_dmamap_t map)
1067 struct netmap_adapter *na = NA(adapter->ifp);
1069 netmap_unload_map(na, adapter->tx_buf_tag, map);