Module Name:    src
Committed By:   christos
Date:           Sat Sep 14 21:09:00 UTC 2019

Modified Files:
        src/sys/dev/pci: if_vioif.c

Log Message:
- KNF
- fix typo in error message
- use aprint* everywhere
- use loops to initialize mac
- remove unused variables


To generate a diff of this commit:
cvs rdiff -u -r1.49 -r1.50 src/sys/dev/pci/if_vioif.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/if_vioif.c
diff -u src/sys/dev/pci/if_vioif.c:1.49 src/sys/dev/pci/if_vioif.c:1.50
--- src/sys/dev/pci/if_vioif.c:1.49	Thu May 23 09:10:52 2019
+++ src/sys/dev/pci/if_vioif.c	Sat Sep 14 17:09:00 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_vioif.c,v 1.49 2019/05/23 13:10:52 msaitoh Exp $	*/
+/*	$NetBSD: if_vioif.c,v 1.50 2019/09/14 21:09:00 christos Exp $	*/
 
 /*
  * Copyright (c) 2010 Minoura Makoto.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_vioif.c,v 1.49 2019/05/23 13:10:52 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_vioif.c,v 1.50 2019/09/14 21:09:00 christos Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_net_mpsafe.h"
@@ -470,25 +470,23 @@ vioif_alloc_mems(struct vioif_softc *sc)
 		allocsize += sizeof(struct virtio_net_ctrl_status) * 1;
 		allocsize += sizeof(struct virtio_net_ctrl_rx) * 1;
 		allocsize += sizeof(struct virtio_net_ctrl_mac_tbl)
-			+ sizeof(struct virtio_net_ctrl_mac_tbl)
-			+ ETHER_ADDR_LEN * VIRTIO_NET_CTRL_MAC_MAXENTRIES;
+		    + sizeof(struct virtio_net_ctrl_mac_tbl)
+		    + ETHER_ADDR_LEN * VIRTIO_NET_CTRL_MAC_MAXENTRIES;
 		allocsize += sizeof(struct virtio_net_ctrl_mq) * 1;
 	}
 	r = bus_dmamem_alloc(virtio_dmat(vsc), allocsize, 0, 0,
-			     &sc->sc_hdr_segs[0], 1, &rsegs, BUS_DMA_NOWAIT);
+	    &sc->sc_hdr_segs[0], 1, &rsegs, BUS_DMA_NOWAIT);
 	if (r != 0) {
 		aprint_error_dev(sc->sc_dev,
-				 "DMA memory allocation failed, size %d, "
-				 "error code %d\n", allocsize, r);
+		    "DMA memory allocation failed, size %d, "
+		    "error code %d\n", allocsize, r);
 		goto err_none;
 	}
 	r = bus_dmamem_map(virtio_dmat(vsc),
-			   &sc->sc_hdr_segs[0], 1, allocsize,
-			   &vaddr, BUS_DMA_NOWAIT);
+	    &sc->sc_hdr_segs[0], 1, allocsize, &vaddr, BUS_DMA_NOWAIT);
 	if (r != 0) {
 		aprint_error_dev(sc->sc_dev,
-				 "DMA memory map failed, "
-				 "error code %d\n", r);
+		    "DMA memory map failed, error code %d\n", r);
 		goto err_dmamem_alloc;
 	}
 
@@ -511,11 +509,9 @@ vioif_alloc_mems(struct vioif_softc *sc)
 		P(p, ctrlq->ctrlq_cmd, sizeof(*ctrlq->ctrlq_cmd));
 		P(p, ctrlq->ctrlq_status, sizeof(*ctrlq->ctrlq_status));
 		P(p, ctrlq->ctrlq_rx, sizeof(*ctrlq->ctrlq_rx));
-		P(p, ctrlq->ctrlq_mac_tbl_uc,
-		    sizeof(*ctrlq->ctrlq_mac_tbl_uc) + 0);
-		P(p, ctrlq->ctrlq_mac_tbl_mc,
-		    (sizeof(*ctrlq->ctrlq_mac_tbl_mc)
-		    + ETHER_ADDR_LEN * VIRTIO_NET_CTRL_MAC_MAXENTRIES));
+		P(p, ctrlq->ctrlq_mac_tbl_uc, sizeof(*ctrlq->ctrlq_mac_tbl_uc));
+		P(p, ctrlq->ctrlq_mac_tbl_mc, sizeof(*ctrlq->ctrlq_mac_tbl_mc)
+		    + ETHER_ADDR_LEN * VIRTIO_NET_CTRL_MAC_MAXENTRIES);
 		P(p, ctrlq->ctrlq_mq, sizeof(*ctrlq->ctrlq_mq));
 	}
 
@@ -565,8 +561,8 @@ vioif_alloc_mems(struct vioif_softc *sc)
 		    &map);						      \
 		if (r != 0) {						      \
 			aprint_error_dev(sc->sc_dev,			      \
-			    "%s dmamap creation failed, "		      \
-			    "error code %d\n", usage, r);		      \
+			    usage " dmamap creation failed, "		      \
+			    "error code %d\n", r);			      \
 			goto err_reqs;					      \
 		}							      \
 	} while (0)
@@ -578,8 +574,8 @@ vioif_alloc_mems(struct vioif_softc *sc)
 				    rw | BUS_DMA_NOWAIT);		\
 		if (r != 0) {						\
 			aprint_error_dev(sc->sc_dev,			\
-					 usage " dmamap load failed, "	\
-					 "error code %d\n", r);		\
+			    usage " dmamap load failed, "		\
+			    "error code %d\n", r);			\
 			goto err_reqs;					\
 		}							\
 	} while (0)
@@ -693,8 +689,7 @@ vioif_attach(device_t parent, device_t s
 
 	if (virtio_child(vsc) != NULL) {
 		aprint_normal(": child already attached for %s; "
-			      "something wrong...\n",
-			      device_xname(parent));
+		    "something wrong...\n", device_xname(parent));
 		return;
 	}
 
@@ -729,18 +724,10 @@ vioif_attach(device_t parent, device_t s
 	features = virtio_features(vsc);
 
 	if (features & VIRTIO_NET_F_MAC) {
-		sc->sc_mac[0] = virtio_read_device_config_1(vsc,
-						    VIRTIO_NET_CONFIG_MAC+0);
-		sc->sc_mac[1] = virtio_read_device_config_1(vsc,
-						    VIRTIO_NET_CONFIG_MAC+1);
-		sc->sc_mac[2] = virtio_read_device_config_1(vsc,
-						    VIRTIO_NET_CONFIG_MAC+2);
-		sc->sc_mac[3] = virtio_read_device_config_1(vsc,
-						    VIRTIO_NET_CONFIG_MAC+3);
-		sc->sc_mac[4] = virtio_read_device_config_1(vsc,
-						    VIRTIO_NET_CONFIG_MAC+4);
-		sc->sc_mac[5] = virtio_read_device_config_1(vsc,
-						    VIRTIO_NET_CONFIG_MAC+5);
+		for (i = 0; i < __arraycount(sc->sc_mac); i++) {
+			sc->sc_mac[i] = virtio_read_device_config_1(vsc,
+			    VIRTIO_NET_CONFIG_MAC + i);
+		}
 	} else {
 		/* code stolen from sys/net/if_tap.c */
 		struct timeval tv;
@@ -748,27 +735,14 @@ vioif_attach(device_t parent, device_t s
 		getmicrouptime(&tv);
 		ui = (tv.tv_sec ^ tv.tv_usec) & 0xffffff;
 		memcpy(sc->sc_mac+3, (uint8_t *)&ui, 3);
-		virtio_write_device_config_1(vsc,
-					     VIRTIO_NET_CONFIG_MAC+0,
-					     sc->sc_mac[0]);
-		virtio_write_device_config_1(vsc,
-					     VIRTIO_NET_CONFIG_MAC+1,
-					     sc->sc_mac[1]);
-		virtio_write_device_config_1(vsc,
-					     VIRTIO_NET_CONFIG_MAC+2,
-					     sc->sc_mac[2]);
-		virtio_write_device_config_1(vsc,
-					     VIRTIO_NET_CONFIG_MAC+3,
-					     sc->sc_mac[3]);
-		virtio_write_device_config_1(vsc,
-					     VIRTIO_NET_CONFIG_MAC+4,
-					     sc->sc_mac[4]);
-		virtio_write_device_config_1(vsc,
-					     VIRTIO_NET_CONFIG_MAC+5,
-					     sc->sc_mac[5]);
+		for (i = 0; i < __arraycount(sc->sc_mac); i++) {
+			virtio_write_device_config_1(vsc,
+			    VIRTIO_NET_CONFIG_MAC + i, sc->sc_mac[i]);
+		}
 	}
 
-	aprint_normal_dev(self, "Ethernet address %s\n", ether_sprintf(sc->sc_mac));
+	aprint_normal_dev(self, "Ethernet address %s\n",
+	    ether_sprintf(sc->sc_mac));
 
 	if ((features & VIRTIO_NET_F_CTRL_VQ) &&
 	    (features & VIRTIO_NET_F_CTRL_RX)) {
@@ -814,7 +788,8 @@ vioif_attach(device_t parent, device_t s
 
 		rxq->rxq_lock = mutex_obj_alloc(MUTEX_DEFAULT, IPL_NET);
 
-		rxq->rxq_softint = softint_establish(softint_flags, vioif_rx_softint, rxq);
+		rxq->rxq_softint = softint_establish(softint_flags,
+		    vioif_rx_softint, rxq);
 		if (rxq->rxq_softint == NULL) {
 			aprint_error_dev(self, "cannot establish rx softint\n");
 			goto err;
@@ -838,8 +813,8 @@ vioif_attach(device_t parent, device_t s
 		}
 		snprintf(qname, sizeof(qname), "tx%d", i);
 		r = virtio_alloc_vq(vsc, txq->txq_vq, nvqs,
-		    (sizeof(struct virtio_net_hdr)
-			+ (ETHER_MAX_LEN - ETHER_HDR_LEN)),
+		    sizeof(struct virtio_net_hdr)
+		    + (ETHER_MAX_LEN - ETHER_HDR_LEN),
 		    VIRTIO_NET_TX_MAXNSEGS + 1, qname);
 		if (r != 0)
 			goto err;
@@ -861,7 +836,8 @@ vioif_attach(device_t parent, device_t s
 		    NBPG, 1, "control");
 		if (r != 0) {
 			aprint_error_dev(self, "failed to allocate "
-			    "a virtqueue for control channel\n");
+			    "a virtqueue for control channel, error code %d\n",
+			    r);
 
 			sc->sc_has_ctrl = false;
 			cv_destroy(&ctrlq->ctrlq_wait);
@@ -971,7 +947,7 @@ vioif_deferred_init(device_t self)
 	r =  vioif_set_promisc(sc, false);
 	if (r != 0)
 		aprint_error_dev(self, "resetting promisc mode failed, "
-				 "errror code %d\n", r);
+		    "error code %d\n", r);
 }
 
 static void
@@ -1156,8 +1132,7 @@ vioif_send_common_locked(struct ifnet *i
 			panic("enqueue_prep for a tx buffer");
 
 		r = bus_dmamap_load_mbuf(virtio_dmat(vsc),
-					 txq->txq_dmamaps[slot],
-					 m, BUS_DMA_WRITE | BUS_DMA_NOWAIT);
+		    txq->txq_dmamaps[slot], m, BUS_DMA_WRITE | BUS_DMA_NOWAIT);
 		if (r != 0) {
 			/* maybe just too fragmented */
 			struct mbuf *newm;
@@ -1171,8 +1146,8 @@ vioif_send_common_locked(struct ifnet *i
 
 			m = newm;
 			r = bus_dmamap_load_mbuf(virtio_dmat(vsc),
-					 txq->txq_dmamaps[slot],
-					 m, BUS_DMA_WRITE | BUS_DMA_NOWAIT);
+			    txq->txq_dmamaps[slot], m,
+			    BUS_DMA_WRITE | BUS_DMA_NOWAIT);
 			if (r != 0) {
 				aprint_error_dev(sc->sc_dev,
 				    "tx dmamap load failed, error code %d\n",
@@ -1202,11 +1177,11 @@ skip:
 
 		memset(&txq->txq_hdrs[slot], 0, sizeof(struct virtio_net_hdr));
 		bus_dmamap_sync(virtio_dmat(vsc), txq->txq_dmamaps[slot],
-				0, txq->txq_dmamaps[slot]->dm_mapsize,
-				BUS_DMASYNC_PREWRITE);
+		    0, txq->txq_dmamaps[slot]->dm_mapsize,
+		    BUS_DMASYNC_PREWRITE);
 		bus_dmamap_sync(virtio_dmat(vsc), txq->txq_hdr_dmamaps[slot],
-				0, txq->txq_hdr_dmamaps[slot]->dm_mapsize,
-				BUS_DMASYNC_PREWRITE);
+		    0, txq->txq_hdr_dmamaps[slot]->dm_mapsize,
+		    BUS_DMASYNC_PREWRITE);
 		virtio_enqueue(vsc, vq, slot, txq->txq_hdr_dmamaps[slot], true);
 		virtio_enqueue(vsc, vq, slot, txq->txq_dmamaps[slot], true);
 		virtio_enqueue_commit(vsc, vq, slot, false);
@@ -1362,8 +1337,7 @@ vioif_add_rx_mbuf(struct vioif_rxqueue *
 	rxq->rxq_mbufs[i] = m;
 	m->m_len = m->m_pkthdr.len = m->m_ext.ext_size;
 	r = bus_dmamap_load_mbuf(virtio_dmat(vsc),
-				 rxq->rxq_dmamaps[i],
-				 m, BUS_DMA_READ | BUS_DMA_NOWAIT);
+	    rxq->rxq_dmamaps[i], m, BUS_DMA_READ | BUS_DMA_NOWAIT);
 	if (r) {
 		m_freem(m);
 		rxq->rxq_mbufs[i] = NULL;
@@ -1417,23 +1391,24 @@ vioif_populate_rx_mbufs_locked(struct vi
 		if (rxq->rxq_mbufs[slot] == NULL) {
 			r = vioif_add_rx_mbuf(rxq, slot);
 			if (r != 0) {
-				printf("%s: rx mbuf allocation failed, "
-				       "error code %d\n",
-				       device_xname(sc->sc_dev), r);
+				aprint_error_dev(sc->sc_dev,
+				    "rx mbuf allocation failed, "
+				    "error code %d\n", r);
 				break;
 			}
 		}
 		r = virtio_enqueue_reserve(vsc, vq, slot,
-					rxq->rxq_dmamaps[slot]->dm_nsegs + 1);
+		    rxq->rxq_dmamaps[slot]->dm_nsegs + 1);
 		if (r != 0) {
 			vioif_free_rx_mbuf(rxq, slot);
 			break;
 		}
 		bus_dmamap_sync(virtio_dmat(vsc), rxq->rxq_hdr_dmamaps[slot],
-			0, sizeof(struct virtio_net_hdr), BUS_DMASYNC_PREREAD);
+		    0, sizeof(struct virtio_net_hdr), BUS_DMASYNC_PREREAD);
 		bus_dmamap_sync(virtio_dmat(vsc), rxq->rxq_dmamaps[slot],
-			0, MCLBYTES, BUS_DMASYNC_PREREAD);
-		virtio_enqueue(vsc, vq, slot, rxq->rxq_hdr_dmamaps[slot], false);
+		    0, MCLBYTES, BUS_DMASYNC_PREREAD);
+		virtio_enqueue(vsc, vq, slot, rxq->rxq_hdr_dmamaps[slot],
+		    false);
 		virtio_enqueue(vsc, vq, slot, rxq->rxq_dmamaps[slot], false);
 		virtio_enqueue_commit(vsc, vq, slot, false);
 		ndone++;
@@ -1475,11 +1450,9 @@ vioif_rx_deq_locked(struct vioif_rxqueue
 		len -= sizeof(struct virtio_net_hdr);
 		r = 1;
 		bus_dmamap_sync(virtio_dmat(vsc), rxq->rxq_hdr_dmamaps[slot],
-				0, sizeof(struct virtio_net_hdr),
-				BUS_DMASYNC_POSTREAD);
+		    0, sizeof(struct virtio_net_hdr), BUS_DMASYNC_POSTREAD);
 		bus_dmamap_sync(virtio_dmat(vsc), rxq->rxq_dmamaps[slot],
-				0, MCLBYTES,
-				BUS_DMASYNC_POSTREAD);
+		    0, MCLBYTES, BUS_DMASYNC_POSTREAD);
 		m = rxq->rxq_mbufs[slot];
 		KASSERT(m != NULL);
 		bus_dmamap_unload(virtio_dmat(vsc), rxq->rxq_dmamaps[slot]);
@@ -1604,11 +1577,10 @@ vioif_tx_vq_done_locked(struct virtqueue
 	while (virtio_dequeue(vsc, vq, &slot, &len) == 0) {
 		r++;
 		bus_dmamap_sync(virtio_dmat(vsc), txq->txq_hdr_dmamaps[slot],
-				0, sizeof(struct virtio_net_hdr),
-				BUS_DMASYNC_POSTWRITE);
+		    0, sizeof(struct virtio_net_hdr), BUS_DMASYNC_POSTWRITE);
 		bus_dmamap_sync(virtio_dmat(vsc), txq->txq_dmamaps[slot],
-				0, txq->txq_dmamaps[slot]->dm_mapsize,
-				BUS_DMASYNC_POSTWRITE);
+		    0, txq->txq_dmamaps[slot]->dm_mapsize,
+		    BUS_DMASYNC_POSTWRITE);
 		m = txq->txq_mbufs[slot];
 		bus_dmamap_unload(virtio_dmat(vsc), txq->txq_dmamaps[slot]);
 		txq->txq_mbufs[slot] = NULL;
@@ -1686,8 +1658,8 @@ vioif_ctrl_load_cmdspec(struct vioif_sof
 		    specs[i].dmamap, specs[i].buf, specs[i].bufsize,
 		    NULL, BUS_DMA_WRITE | BUS_DMA_NOWAIT);
 		if (r) {
-			printf("%s: control command dmamap load failed, "
-			       "error code %d\n", device_xname(sc->sc_dev), r);
+			aprint_error_dev(sc->sc_dev, "control command dmamap"
+			    " load failed, error code %d\n", r);
 			goto err;
 		}
 		loaded++;
@@ -1729,16 +1701,13 @@ vioif_ctrl_send_command(struct vioif_sof
 	ctrlq->ctrlq_cmd->command = cmd;
 
 	bus_dmamap_sync(virtio_dmat(vsc), ctrlq->ctrlq_cmd_dmamap,
-			0, sizeof(struct virtio_net_ctrl_cmd),
-			BUS_DMASYNC_PREWRITE);
+	    0, sizeof(struct virtio_net_ctrl_cmd), BUS_DMASYNC_PREWRITE);
 	for (i = 0; i < nspecs; i++) {
 		bus_dmamap_sync(virtio_dmat(vsc), specs[i].dmamap,
-				0, specs[i].bufsize,
-				BUS_DMASYNC_PREWRITE);
+		    0, specs[i].bufsize, BUS_DMASYNC_PREWRITE);
 	}
 	bus_dmamap_sync(virtio_dmat(vsc), ctrlq->ctrlq_status_dmamap,
-			0, sizeof(struct virtio_net_ctrl_status),
-			BUS_DMASYNC_PREREAD);
+	    0, sizeof(struct virtio_net_ctrl_status), BUS_DMASYNC_PREREAD);
 
 	r = virtio_enqueue_prep(vsc, vq, &slot);
 	if (r != 0)
@@ -1761,22 +1730,18 @@ vioif_ctrl_send_command(struct vioif_sof
 	/* already dequeueued */
 
 	bus_dmamap_sync(virtio_dmat(vsc), ctrlq->ctrlq_cmd_dmamap, 0,
-			sizeof(struct virtio_net_ctrl_cmd),
-			BUS_DMASYNC_POSTWRITE);
+	    sizeof(struct virtio_net_ctrl_cmd), BUS_DMASYNC_POSTWRITE);
 	for (i = 0; i < nspecs; i++) {
 		bus_dmamap_sync(virtio_dmat(vsc), specs[i].dmamap, 0,
-				specs[i].bufsize,
-				BUS_DMASYNC_POSTWRITE);
+		    specs[i].bufsize, BUS_DMASYNC_POSTWRITE);
 	}
 	bus_dmamap_sync(virtio_dmat(vsc), ctrlq->ctrlq_status_dmamap, 0,
-			sizeof(struct virtio_net_ctrl_status),
-			BUS_DMASYNC_POSTREAD);
+	    sizeof(struct virtio_net_ctrl_status), BUS_DMASYNC_POSTREAD);
 
 	if (ctrlq->ctrlq_status->ack == VIRTIO_NET_OK)
 		r = 0;
 	else {
-		printf("%s: failed setting rx mode\n",
-		       device_xname(sc->sc_dev));
+		aprint_error_dev(sc->sc_dev, "failed setting rx mode\n");
 		r = EIO;
 	}
 
@@ -1810,21 +1775,13 @@ vioif_ctrl_rx(struct vioif_softc *sc, in
 static int
 vioif_set_promisc(struct vioif_softc *sc, bool onoff)
 {
-	int r;
-
-	r = vioif_ctrl_rx(sc, VIRTIO_NET_CTRL_RX_PROMISC, onoff);
-
-	return r;
+	return vioif_ctrl_rx(sc, VIRTIO_NET_CTRL_RX_PROMISC, onoff);
 }
 
 static int
 vioif_set_allmulti(struct vioif_softc *sc, bool onoff)
 {
-	int r;
-
-	r = vioif_ctrl_rx(sc, VIRTIO_NET_CTRL_RX_ALLMULTI, onoff);
-
-	return r;
+	return vioif_ctrl_rx(sc, VIRTIO_NET_CTRL_RX_ALLMULTI, onoff);
 }
 
 /* issue VIRTIO_NET_CTRL_MAC_TABLE_SET command and wait for completion */
@@ -1960,13 +1917,12 @@ vioif_rx_filter(struct vioif_softc *sc)
 			allmulti = 1;
 			goto set_unlock;
 		}
-		if (memcmp(enm->enm_addrlo, enm->enm_addrhi,
-			   ETHER_ADDR_LEN)) {
+		if (memcmp(enm->enm_addrlo, enm->enm_addrhi, ETHER_ADDR_LEN)) {
 			allmulti = 1;
 			goto set_unlock;
 		}
 		memcpy(ctrlq->ctrlq_mac_tbl_mc->macs[nentries],
-		       enm->enm_addrlo, ETHER_ADDR_LEN);
+		    enm->enm_addrlo, ETHER_ADDR_LEN);
 		ETHER_NEXT_MULTI(step, enm);
 	}
 	rxfilter = 1;

Reply via email to