Date: Fri, 10 Jun 2016 13:16:00 GMT From: vincenzo@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r305049 - soc2016/vincenzo/head/sys/dev/netmap Message-ID: <201606101316.u5ADG0Z8012438@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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; + } }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606101316.u5ADG0Z8012438>
