diff options
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ena/ena.c | 5 | ||||
| -rw-r--r-- | sys/dev/ena/ena.h | 2 | ||||
| -rw-r--r-- | sys/dev/ena/ena_netmap.c | 8 | ||||
| -rw-r--r-- | sys/dev/ena/ena_rss.h | 3 | ||||
| -rw-r--r-- | sys/dev/virtio/virtqueue.c | 6 |
5 files changed, 15 insertions, 9 deletions
diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index af158b5aea1d..eddb7dbd42e8 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -1861,7 +1861,7 @@ ena_setup_io_intr(struct ena_adapter *adapter) adapter->que[i].domain = idx; #else adapter->que[i].domain = -1; -#endif +#endif /* RSS */ } return (0); @@ -2766,8 +2766,7 @@ ena_set_llq_configurations(struct ena_llq_configurations *llq_config, llq_config->llq_num_decs_before_header = ENA_ADMIN_LLQ_NUM_DESCS_BEFORE_HEADER_2; - switch (ena_force_large_llq_header) - { + switch (ena_force_large_llq_header) { case ENA_LLQ_HEADER_SIZE_POLICY_REGULAR: use_large_llq = false; break; diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 3b01605b4ba7..f67c7002327d 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -39,7 +39,7 @@ #define ENA_DRV_MODULE_VER_MAJOR 2 #define ENA_DRV_MODULE_VER_MINOR 8 -#define ENA_DRV_MODULE_VER_SUBMINOR 1 +#define ENA_DRV_MODULE_VER_SUBMINOR 2 #define ENA_DRV_MODULE_NAME "ena" diff --git a/sys/dev/ena/ena_netmap.c b/sys/dev/ena/ena_netmap.c index 8a220373ec3f..0e8c95fb289a 100644 --- a/sys/dev/ena/ena_netmap.c +++ b/sys/dev/ena/ena_netmap.c @@ -223,9 +223,11 @@ ena_ring_in_netmap(struct ena_adapter *adapter, int qid, enum txrx x) if (if_getcapenable(adapter->ifp) & IFCAP_NETMAP) { na = NA(adapter->ifp); - kring = (x == NR_RX) ? na->rx_rings[qid] : na->tx_rings[qid]; - if (kring->nr_mode == NKR_NETMAP_ON) - return true; + if (na->na_flags & NAF_NATIVE) { + kring = (x == NR_RX) ? na->rx_rings[qid] : na->tx_rings[qid]; + if (kring->nr_mode == NKR_NETMAP_ON) + return true; + } } return false; } diff --git a/sys/dev/ena/ena_rss.h b/sys/dev/ena/ena_rss.h index b7c5181397af..d1236ef26c33 100644 --- a/sys/dev/ena/ena_rss.h +++ b/sys/dev/ena/ena_rss.h @@ -35,11 +35,10 @@ #include "opt_rss.h" #include <sys/types.h> +#include "ena.h" #include <net/rss_config.h> -#include "ena.h" - #define ENA_RX_RSS_MSG_RECORD_SZ 8 struct ena_indir { diff --git a/sys/dev/virtio/virtqueue.c b/sys/dev/virtio/virtqueue.c index dbd55e02e091..b7fdb4703ccb 100644 --- a/sys/dev/virtio/virtqueue.c +++ b/sys/dev/virtio/virtqueue.c @@ -565,6 +565,9 @@ virtqueue_notify(struct virtqueue *vq) /* Ensure updated avail->idx is visible to host. */ bus_dmamap_sync(vq->vq_ring_dmat, vq->vq_ring_mapp, BUS_DMASYNC_PREWRITE); +#if defined(__i386__) || defined(__amd64__) + mb(); +#endif if (vq_ring_must_notify_host(vq)) vq_ring_notify_host(vq); @@ -960,6 +963,9 @@ vq_ring_enable_interrupt(struct virtqueue *vq, uint16_t ndesc) bus_dmamap_sync(vq->vq_ring_dmat, vq->vq_ring_mapp, BUS_DMASYNC_PREWRITE); +#if defined(__i386__) || defined(__amd64__) + mb(); +#endif /* * Enough items may have already been consumed to meet our threshold |
