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