socsvn commit: r305288 - soc2016/vincenzo/head/sys/dev/netmap
vincenzo at FreeBSD.org
vincenzo at FreeBSD.org
Fri Jun 17 16:22:08 UTC 2016
Author: vincenzo
Date: Fri Jun 17 16:22:07 2016
New Revision: 305288
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=305288
Log:
freebsd: ptnet: rearrange core lock initialization
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 17 16:21:58 2016 (r305287)
+++ soc2016/vincenzo/head/sys/dev/netmap/if_ptnet.c Fri Jun 17 16:22:07 2016 (r305288)
@@ -101,14 +101,19 @@
int kring_id;
struct ptnet_ring *ptring;
unsigned int kick;
+ struct mtx lock;
+ char lock_name[16];
};
+#define PTNET_Q_LOCK(_pq) mtx_lock(&(_pq_->lock)
+#define PTNET_Q_UNLOCK(_pq) mtx_unlock(&(_pq_->lock)
+
struct ptnet_softc {
device_t dev;
struct ifnet *ifp;
struct ifmedia media;
- struct mtx core_mtx;
- char core_mtx_name[16];
+ struct mtx lock;
+ char lock_name[16];
char hwaddr[ETHER_ADDR_LEN];
/* Mirror of PTFEAT register. */
@@ -133,17 +138,8 @@
* netmap_pt_guest_adapter and have just one instance of that. */
};
-#define PTNET_CORE_LOCK_INIT(_sc) do { \
- snprintf((_sc)->core_mtx_name, sizeof((_sc)->core_mtx_name), \
- "%s", device_get_nameunit(sc->dev)); \
- mtx_init(&(_sc)->core_mtx, (_sc)->core_mtx_name, \
- "ptnet core lock", MTX_DEF); \
- } while (0)
-
-#define PTNET_CORE_LOCK_FINI(_sc) mtx_destroy(&(_sc)->core_mtx)
-
-#define PTNET_CORE_LOCK(_sc) mtx_lock(&(_sc)->core_mtx)
-#define PTNET_CORE_UNLOCK(_sc) mtx_unlock(&(_sc)->core_mtx)
+#define PTNET_CORE_LOCK(_sc) mtx_lock(&(_sc)->lock)
+#define PTNET_CORE_UNLOCK(_sc) mtx_unlock(&(_sc)->lock)
static int ptnet_probe(device_t);
static int ptnet_attach(device_t);
@@ -298,6 +294,9 @@
if (i >= num_tx_rings) {
pq->kring_id -= num_tx_rings;
}
+ snprintf(pq->lock_name, sizeof(pq->lock_name), "%s-%d",
+ device_get_nameunit(dev), i);
+ mtx_init(&pq->lock, pq->lock_name, NULL, MTX_DEF);
}
err = ptnet_irqs_init(sc);
@@ -343,7 +342,9 @@
ifp->if_capenable = ifp->if_capabilities;
- PTNET_CORE_LOCK_INIT(sc);
+ snprintf(sc->lock_name, sizeof(sc->lock_name),
+ "%s", device_get_nameunit(dev));
+ mtx_init(&sc->lock, sc->lock_name, "ptnet core lock", MTX_DEF);
sc->backend_regifs = 0;
@@ -428,7 +429,7 @@
sc->iomem = NULL;
}
- PTNET_CORE_LOCK_FINI(sc);
+ mtx_destroy(&sc->lock);
device_printf(dev, "%s() completed\n", __func__);
More information about the svn-soc-all
mailing list