socsvn commit: r305049 - soc2016/vincenzo/head/sys/dev/netmap
vincenzo at FreeBSD.org
vincenzo at FreeBSD.org
Fri Jun 10 13:16:00 UTC 2016
Author: vincenzo
Date: Fri Jun 10 13:15:59 2016
New Revision: 305049
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=305049
Log:
freebsd: ptnet: invoke netmap on interrupt
Modified:
soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c
Modified: soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c
==============================================================================
--- soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c Fri Jun 10 13:15:50 2016 (r305048)
+++ soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c Fri Jun 10 13:15:59 2016 (r305049)
@@ -85,6 +85,13 @@
#error "No support for on-device CSB"
#endif
+//#define DEBUG
+#ifdef DEBUG
+#define DBG(x) x
+#else /* !DEBUG */
+#define DBG(x)
+#endif /* !DEBUG */
+
struct ptnet_softc;
struct ptnet_queue {
@@ -928,7 +935,11 @@
struct ptnet_queue *pq = opaque;
struct ptnet_softc *sc = pq->sc;
- device_printf(sc->dev, "Tx interrupt #%d", pq->kring_id);
+ DBG(device_printf(sc->dev, "Tx interrupt #%d\n", pq->kring_id));
+
+ if (netmap_tx_irq(sc->ifp, pq->kring_id) != NM_IRQ_PASS) {
+ return;
+ }
}
static void
@@ -936,6 +947,11 @@
{
struct ptnet_queue *pq = opaque;
struct ptnet_softc *sc = pq->sc;
+ unsigned int unused;
- device_printf(sc->dev, "Rx interrupt #%d", pq->kring_id);
+ DBG(device_printf(sc->dev, "Rx interrupt #%d\n", pq->kring_id));
+
+ if (netmap_rx_irq(sc->ifp, pq->kring_id, &unused) != NM_IRQ_PASS) {
+ return;
+ }
}
More information about the svn-soc-all
mailing list