Module Name:    src
Committed By:   simonb
Date:           Mon Jun 22 02:26:20 UTC 2020

Modified Files:
        src/sys/arch/mips/cavium: octeonvar.h
        src/sys/arch/mips/cavium/dev: if_cnmac.c if_cnmacvar.h octeon_asx.c
            octeon_asxvar.h octeon_ciu.c octeon_fpa.c octeon_fpavar.h
            octeon_gmx.c octeon_gmxvar.h octeon_ipd.c octeon_ipdvar.h
            octeon_pci.c octeon_pip.c octeon_pipvar.h octeon_pko.c
            octeon_pkovar.h octeon_pow.c octeon_powvar.h
        src/sys/arch/mips/conf: files.octeon

Log Message:
Remove unmaintained CNMAC_DEBUG debug code.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/mips/cavium/octeonvar.h
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/mips/cavium/dev/if_cnmac.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/mips/cavium/dev/if_cnmacvar.h \
    src/sys/arch/mips/cavium/dev/octeon_asx.c \
    src/sys/arch/mips/cavium/dev/octeon_ciu.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/mips/cavium/dev/octeon_asxvar.h \
    src/sys/arch/mips/cavium/dev/octeon_ipdvar.h \
    src/sys/arch/mips/cavium/dev/octeon_pipvar.h \
    src/sys/arch/mips/cavium/dev/octeon_pko.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/mips/cavium/dev/octeon_fpa.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/mips/cavium/dev/octeon_fpavar.h \
    src/sys/arch/mips/cavium/dev/octeon_gmxvar.h \
    src/sys/arch/mips/cavium/dev/octeon_ipd.c \
    src/sys/arch/mips/cavium/dev/octeon_pip.c \
    src/sys/arch/mips/cavium/dev/octeon_powvar.h
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/mips/cavium/dev/octeon_gmx.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/mips/cavium/dev/octeon_pci.c \
    src/sys/arch/mips/cavium/dev/octeon_pkovar.h
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/mips/cavium/dev/octeon_pow.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/mips/conf/files.octeon

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

Modified files:

Index: src/sys/arch/mips/cavium/octeonvar.h
diff -u src/sys/arch/mips/cavium/octeonvar.h:1.11 src/sys/arch/mips/cavium/octeonvar.h:1.12
--- src/sys/arch/mips/cavium/octeonvar.h:1.11	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/octeonvar.h	Mon Jun 22 02:26:19 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeonvar.h,v 1.11 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeonvar.h,v 1.12 2020/06/22 02:26:19 simonb Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -415,47 +415,4 @@ octeon_get_cycles(void)
 #endif
 }
 
-/* -------------------------------------------------------------------------- */
-
-/* ---- event counter */
-
-#if defined(CNMAC_DEBUG)
-#define	OCTEON_EVCNT_INC(sc, name) \
-	do { (sc)->sc_ev_##name.ev_count++; } while (0)
-#define	OCTEON_EVCNT_ADD(sc, name, n) \
-	do { (sc)->sc_ev_##name.ev_count += (n); } while (0)
-#define	OCTEON_EVCNT_ATTACH_EVCNTS(sc, entries, devname) \
-do {								\
-	int i;							\
-	const struct octeon_evcnt_entry *ee;			\
-								\
-	for (i = 0; i < (int)__arraycount(entries); i++) {	\
-		ee = &(entries)[i];				\
-		evcnt_attach_dynamic(				\
-		    (struct evcnt *)((uintptr_t)(sc) + ee->ee_offset), \
-		    ee->ee_type, ee->ee_parent, devname,	\
-		    ee->ee_name);				\
-	}							\
-} while (0)
-#else
-#define	OCTEON_EVCNT_INC(sc, name)
-#define	OCTEON_EVCNT_ADD(sc, name, n)
-#define	OCTEON_EVCNT_ATTACH_EVCNTS(sc, entries, devname)
-#endif
-
-struct octeon_evcnt_entry {
-	size_t		ee_offset;
-	int		ee_type;
-	struct evcnt	*ee_parent;
-	const char	*ee_name;
-};
-
-#define	OCTEON_EVCNT_ENTRY(_sc_type, _var, _ev_type, _parent, _name) \
-	{							\
-		.ee_offset = offsetof(_sc_type, sc_ev_##_var),	\
-		.ee_type = EVCNT_TYPE_##_ev_type,		\
-		.ee_parent = _parent,				\
-		.ee_name = _name				\
-	}
-
 #endif	/* _MIPS_OCTEON_OCTEONVAR_H_ */

Index: src/sys/arch/mips/cavium/dev/if_cnmac.c
diff -u src/sys/arch/mips/cavium/dev/if_cnmac.c:1.22 src/sys/arch/mips/cavium/dev/if_cnmac.c:1.23
--- src/sys/arch/mips/cavium/dev/if_cnmac.c:1.22	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/if_cnmac.c	Mon Jun 22 02:26:19 2020
@@ -1,24 +1,12 @@
-/*	$NetBSD: if_cnmac.c,v 1.22 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: if_cnmac.c,v 1.23 2020/06/22 02:26:19 simonb Exp $	*/
 
 #include <sys/cdefs.h>
 #if 0
-__KERNEL_RCSID(0, "$NetBSD: if_cnmac.c,v 1.22 2020/06/18 13:52:08 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cnmac.c,v 1.23 2020/06/22 02:26:19 simonb Exp $");
 #endif
 
 #include "opt_octeon.h"
 
-#ifdef	CNMAC_DEBUG
-
-#ifndef DIAGNOSTIC
-#define	DIAGNOSTIC
-#endif
-
-#ifndef DEBUG
-#define	DEBUG
-#endif
-
-#endif
-
 /*
  * If no free send buffer is available, free all the sent buffers and bail out.
  */
@@ -83,14 +71,6 @@ __KERNEL_RCSID(0, "$NetBSD: if_cnmac.c,v
 #include <mips/cavium/dev/octeon_smivar.h>
 #include <mips/cavium/dev/if_cnmacvar.h>
 
-#ifdef CNMAC_DEBUG
-#define	CNMAC_KASSERT(x)	KASSERT(x)
-#define	CNMAC_KDASSERT(x)	KDASSERT(x)
-#else
-#define	CNMAC_KASSERT(x)
-#define	CNMAC_KDASSERT(x)
-#endif
-
 /*
  * Set the PKO to think command buffers are an odd length.  This makes it so we
  * never have to divide a comamnd across two buffers.
@@ -183,46 +163,6 @@ int		cnmac_param_intr = 0;
 CFATTACH_DECL_NEW(cnmac, sizeof(struct cnmac_softc),
     cnmac_match, cnmac_attach, NULL, NULL);
 
-#ifdef CNMAC_DEBUG
-
-static const struct octeon_evcnt_entry octeon_evcnt_entries[] = {
-#define	_ENTRY(name, type, parent, descr) \
-	OCTEON_EVCNT_ENTRY(struct cnmac_softc, name, type, parent, descr)
-	_ENTRY(rx,			MISC, NULL, "rx"),
-	_ENTRY(rxint,			INTR, NULL, "rx intr"),
-	_ENTRY(rxrs,			MISC, NULL, "rx dynamic short"),
-	_ENTRY(rxbufpkalloc,		MISC, NULL, "rx buf pkt alloc"),
-	_ENTRY(rxbufpkput,		MISC, NULL, "rx buf pkt put"),
-	_ENTRY(rxbufwqalloc,		MISC, NULL, "rx buf wqe alloc"),
-	_ENTRY(rxbufwqput,		MISC, NULL, "rx buf wqe put"),
-	_ENTRY(rxerrcode,		MISC, NULL, "rx code error"),
-	_ENTRY(rxerrfix,		MISC, NULL, "rx fixup error"),
-	_ENTRY(rxerrjmb,		MISC, NULL, "rx jmb error"),
-	_ENTRY(rxerrlink,		MISC, NULL, "rx link error"),
-	_ENTRY(rxerroff,		MISC, NULL, "rx offload error"),
-	_ENTRY(rxonperrshort,		MISC, NULL, "rx onp fixup short error"),
-	_ENTRY(rxonperrpreamble,	MISC, NULL, "rx onp fixup preamble error"),
-	_ENTRY(rxonperrcrc,		MISC, NULL, "rx onp fixup crc error"),
-	_ENTRY(rxonperraddress,		MISC, NULL, "rx onp fixup address error"),
-	_ENTRY(rxonponp,		MISC, NULL, "rx onp fixup onp packets"),
-	_ENTRY(rxonpok,			MISC, NULL, "rx onp fixup success packets"),
-	_ENTRY(tx,			MISC, NULL, "tx"),
-	_ENTRY(txadd,			MISC, NULL, "tx add"),
-	_ENTRY(txbufcballoc,		MISC, NULL, "tx buf cb alloc"),
-	_ENTRY(txbufcbget,		MISC, NULL, "tx buf cb get"),
-	_ENTRY(txbufgballoc,		MISC, NULL, "tx buf gb alloc"),
-	_ENTRY(txbufgbget,		MISC, NULL, "tx buf gb get"),
-	_ENTRY(txbufgbput,		MISC, NULL, "tx buf gb put"),
-	_ENTRY(txdel,			MISC, NULL, "tx del"),
-	_ENTRY(txerr,			MISC, NULL, "tx error"),
-	_ENTRY(txerrcmd,		MISC, NULL, "tx cmd error"),
-	_ENTRY(txerrgbuf,		MISC, NULL, "tx gbuf error"),
-	_ENTRY(txerrlink,		MISC, NULL, "tx link error"),
-	_ENTRY(txerrmkcmd,		MISC, NULL, "tx makecmd error"),
-#undef	_ENTRY
-};
-#endif
-
 /* ---- buffer management */
 
 static const struct cnmac_pool_param {
@@ -384,9 +324,6 @@ cnmac_attach(device_t parent, device_t s
 	sc->sc_rate_recv_fixup_odd_nibble_short_cap.tv_sec = 1;
 	sc->sc_rate_recv_fixup_odd_nibble_preamble_cap.tv_sec = 1;
 	sc->sc_rate_recv_fixup_odd_nibble_crc_cap.tv_sec = 1;
-#ifdef CNMAC_DEBUG
-	sc->sc_rate_recv_fixup_odd_nibble_addr_cap.tv_sec = 1;
-#endif
 	/* XXX */
 
 #if 1
@@ -398,9 +335,6 @@ cnmac_attach(device_t parent, device_t s
 		    = octpow_intr_establish(OCTEON_POW_GROUP_PIP,
 			IPL_NET, cnmac_recv_intr, NULL, NULL);
 
-	OCTEON_EVCNT_ATTACH_EVCNTS(sc, octeon_evcnt_entries,
-	    device_xname(sc->sc_dev));
-
 	dict = device_properties(sc->sc_gmx->sc_dev);
 
 	clk = prop_dictionary_get(dict, "rgmii-tx");
@@ -598,7 +532,8 @@ cnmac_mediastatus(struct ifnet *ifp, str
 static inline void
 cnmac_send_queue_flush_prefetch(struct cnmac_softc *sc)
 {
-	CNMAC_KASSERT(sc->sc_prefetch == 0);
+
+	KASSERT(sc->sc_prefetch == 0);
 	octfau_op_inc_fetch_8(&sc->sc_fau_done, 0);
 	sc->sc_prefetch = 1;
 }
@@ -606,13 +541,10 @@ cnmac_send_queue_flush_prefetch(struct c
 static inline void
 cnmac_send_queue_flush_fetch(struct cnmac_softc *sc)
 {
-#ifndef	 CNMAC_DEBUG
-	if (!sc->sc_prefetch)
-		return;
-#endif
-	CNMAC_KASSERT(sc->sc_prefetch == 1);
+
+	KASSERT(sc->sc_prefetch == 1);
 	sc->sc_hard_done_cnt = octfau_op_inc_read_8(&sc->sc_fau_done);
-	CNMAC_KASSERT(sc->sc_hard_done_cnt <= 0);
+	KASSERT(sc->sc_hard_done_cnt <= 0);
 	sc->sc_prefetch = 0;
 }
 
@@ -623,8 +555,8 @@ cnmac_send_queue_flush(struct cnmac_soft
 	const int64_t sent_count = sc->sc_hard_done_cnt;
 	int i;
 
-	CNMAC_KASSERT(sc->sc_flush == 0);
-	CNMAC_KASSERT(sent_count <= 0);
+	KASSERT(sc->sc_flush == 0);
+	KASSERT(sent_count <= 0);
 
 	for (i = 0; i < 0 - sent_count; i++) {
 		struct mbuf *m;
@@ -633,7 +565,6 @@ cnmac_send_queue_flush(struct cnmac_soft
 		cnmac_send_queue_del(sc, &m, &gbuf);
 
 		octfpa_buf_put(cnmac_fb_sg, gbuf);
-		OCTEON_EVCNT_INC(sc, txbufgbput);
 
 		m_freem(m);
 
@@ -650,12 +581,12 @@ cnmac_send_queue_flush_sync(struct cnmac
 	if (sc->sc_flush == 0)
 		return;
 
-	CNMAC_KASSERT(sc->sc_flush > 0);
+	KASSERT(sc->sc_flush > 0);
 
 	/* XXX XXX XXX */
 	octfau_op_inc_read_8(&sc->sc_fau_done);
 	sc->sc_soft_req_cnt -= sc->sc_flush;
-	CNMAC_KASSERT(sc->sc_soft_req_cnt >= 0);
+	KASSERT(sc->sc_soft_req_cnt >= 0);
 	/* XXX XXX XXX */
 
 	sc->sc_flush = 0;
@@ -671,7 +602,6 @@ cnmac_send_queue_is_full(struct cnmac_so
 
 	if (__predict_false(nofree_cnt == GATHER_QUEUE_SIZE - 1)) {
 		cnmac_send_queue_flush(sc);
-		OCTEON_EVCNT_INC(sc, txerrgbuf);
 		cnmac_send_queue_flush_sync(sc);
 		return 1;
 	}
@@ -712,8 +642,6 @@ cnmac_send_queue_add(struct cnmac_softc 
 
 	if ((m->m_flags & M_EXT) && m->m_ext.ext_free != NULL)
 		sc->sc_ext_callback_cnt++;
-
-	OCTEON_EVCNT_INC(sc, txadd);
 }
 
 static inline void
@@ -722,7 +650,7 @@ cnmac_send_queue_del(struct cnmac_softc 
 	struct _send_queue_entry *sqe;
 
 	sqe = SIMPLEQ_FIRST(&sc->sc_sendq);
-	CNMAC_KASSERT(sqe != NULL);
+	KASSERT(sqe != NULL);
 	SIMPLEQ_REMOVE_HEAD(&sc->sc_sendq, _sqe_entry);
 
 	*rm = (void *)sqe;
@@ -730,10 +658,8 @@ cnmac_send_queue_del(struct cnmac_softc 
 
 	if (((*rm)->m_flags & M_EXT) && (*rm)->m_ext.ext_free != NULL) {
 		sc->sc_ext_callback_cnt--;
-		CNMAC_KASSERT(sc->sc_ext_callback_cnt >= 0);
+		KASSERT(sc->sc_ext_callback_cnt >= 0);
 	}
-
-	OCTEON_EVCNT_INC(sc, txdel);
 }
 
 static inline int
@@ -748,11 +674,9 @@ cnmac_buf_free_work(struct cnmac_softc *
 		start_buffer = addr & ~(2048 - 1);
 
 		octfpa_buf_put_paddr(cnmac_fb_pkt, start_buffer);
-		OCTEON_EVCNT_INC(sc, rxbufpkput);
 	}
 
 	octfpa_buf_put(cnmac_fb_wqe, work);
-	OCTEON_EVCNT_INC(sc, rxbufwqput);
 
 	return 0;
 }
@@ -761,17 +685,11 @@ static inline void
 cnmac_buf_ext_free_m(struct mbuf *m, void *buf, size_t size, void *arg)
 {
 	uint64_t *work = (void *)arg;
-#ifdef CNMAC_DEBUG
-	struct cnmac_softc *sc = (void *)(uintptr_t)work[0];
-#endif
 	int s = splnet();
 
-	OCTEON_EVCNT_INC(sc, rxrs);
-
 	octfpa_buf_put(cnmac_fb_wqe, work);
-	OCTEON_EVCNT_INC(sc, rxbufwqput);
 
-	CNMAC_KASSERT(m != NULL);
+	KASSERT(m != NULL);
 
 	pool_cache_put(mb_cache, m);
 
@@ -782,18 +700,13 @@ static inline void
 cnmac_buf_ext_free_ext(struct mbuf *m, void *buf, size_t size, void *arg)
 {
 	uint64_t *work = (void *)arg;
-#ifdef CNMAC_DEBUG
-	struct cnmac_softc *sc = (void *)(uintptr_t)work[0];
-#endif
 	int s = splnet();
 
 	octfpa_buf_put(cnmac_fb_wqe, work);
-	OCTEON_EVCNT_INC(sc, rxbufwqput);
 
 	octfpa_buf_put(cnmac_fb_pkt, buf);
-	OCTEON_EVCNT_INC(sc, rxbufpkput);
 
-	CNMAC_KASSERT(m != NULL);
+	KASSERT(m != NULL);
 
 	pool_cache_put(mb_cache, m);
 
@@ -886,7 +799,7 @@ cnmac_send_makecmd_gbuf(struct cnmac_sof
 			continue;
 
 #if 0
-		CNMAC_KASSERT(((uint32_t)m->m_data & (PAGE_SIZE - 1))
+		KASSERT(((uint32_t)m->m_data & (PAGE_SIZE - 1))
 		   == (kvtophys((vaddr_t)m->m_data) & (PAGE_SIZE - 1)));
 #endif
 
@@ -917,7 +830,7 @@ cnmac_send_makecmd_gbuf(struct cnmac_sof
 		}
 	}
 
-	CNMAC_KASSERT(m == NULL);
+	KASSERT(m == NULL);
 
 	*rsegs = segs;
 
@@ -984,12 +897,12 @@ cnmac_send_cmd(struct cnmac_softc *sc, u
 #endif
 	cmdptr += sc->sc_cmdptr.cmdptr_idx;
 
-	CNMAC_KASSERT(cmdptr != NULL);
+	KASSERT(cmdptr != NULL);
 
 	*cmdptr++ = pko_cmd_w0;
 	*cmdptr++ = pko_cmd_w1;
 
-	CNMAC_KASSERT(sc->sc_cmdptr.cmdptr_idx + 2 <= FPA_COMMAND_BUFFER_POOL_NWORDS - 1);
+	KASSERT(sc->sc_cmdptr.cmdptr_idx + 2 <= FPA_COMMAND_BUFFER_POOL_NWORDS - 1);
 
 	if (sc->sc_cmdptr.cmdptr_idx + 2 == FPA_COMMAND_BUFFER_POOL_NWORDS - 1) {
 		paddr_t buf;
@@ -1002,7 +915,6 @@ cnmac_send_cmd(struct cnmac_softc *sc, u
 			result = 1;
 			goto done;
 		}
-		OCTEON_EVCNT_INC(sc, txbufcbget);
 		*cmdptr++ = buf;
 		sc->sc_cmdptr.cmdptr = (uint64_t)buf;
 		sc->sc_cmdptr.cmdptr_idx = 0;
@@ -1026,7 +938,6 @@ cnmac_send_buf(struct cnmac_softc *sc, s
 	error = cnmac_send_makecmd(sc, m, gbuf, &pko_cmd_w0, &pko_cmd_w1);
 	if (error != 0) {
 		/* Already logging */
-		OCTEON_EVCNT_INC(sc, txerrmkcmd);
 		result = error;
 		goto done;
 	}
@@ -1034,7 +945,6 @@ cnmac_send_buf(struct cnmac_softc *sc, s
 	error = cnmac_send_cmd(sc, pko_cmd_w0, pko_cmd_w1, pwdc);
 	if (error != 0) {
 		/* Already logging */
-		OCTEON_EVCNT_INC(sc, txerrcmd);
 		result = error;
 	}
 
@@ -1049,17 +959,13 @@ cnmac_send(struct cnmac_softc *sc, struc
 	uint64_t *gbuf = NULL;
 	int result = 0, error;
 
-	OCTEON_EVCNT_INC(sc, tx);
-
 	gaddr = octfpa_buf_get_paddr(cnmac_fb_sg);
 	if (gaddr == 0) {
 		log(LOG_WARNING, "%s: can not allocate gather buffer from "
 		    "free pool allocator\n", device_xname(sc->sc_dev));
-		OCTEON_EVCNT_INC(sc, txerrgbuf);
 		result = 1;
 		goto done;
 	}
-	OCTEON_EVCNT_INC(sc, txbufgbget);
 
 #ifdef __mips_n32
 	KASSERT((gaddr & ~MIPS_PHYS_MASK) == 0);
@@ -1068,13 +974,12 @@ cnmac_send(struct cnmac_softc *sc, struc
 	gbuf = (uint64_t *)(uintptr_t)MIPS_PHYS_TO_XKPHYS_CACHED(gaddr);
 #endif
 
-	CNMAC_KASSERT(gbuf != NULL);
+	KASSERT(gbuf != NULL);
 
 	error = cnmac_send_buf(sc, m, gbuf, pwdc);
 	if (error != 0) {
 		/* Already logging */
 		octfpa_buf_put_paddr(cnmac_fb_sg, gaddr);
-		OCTEON_EVCNT_INC(sc, txbufgbput);
 		result = error;
 		goto done;
 	}
@@ -1111,7 +1016,6 @@ cnmac_start(struct ifnet *ifp)
 
 			m_freem(m);
 			IF_DROP(&ifp->if_snd);
-			OCTEON_EVCNT_INC(sc, txerrlink);
 		}
 		goto last;
 	}
@@ -1150,7 +1054,6 @@ cnmac_start(struct ifnet *ifp)
 			log(LOG_WARNING,
 			  "%s: failed in the transmission of the packet\n",
 			  device_xname(sc->sc_dev));
-			OCTEON_EVCNT_INC(sc, txerr);
 		} else
 			sc->sc_soft_req_cnt++;
 
@@ -1323,7 +1226,7 @@ cnmac_recv_mbuf(struct cnmac_softc *sc, 
 	MGETHDR(m, M_NOWAIT, MT_DATA);
 	if (m == NULL)
 		return 1;
-	CNMAC_KASSERT(m != NULL);
+	KASSERT(m != NULL);
 
 	if ((word2 & PIP_WQE_WORD2_IP_BUFS) == 0) {
 		/* Dynamic short */
@@ -1355,7 +1258,7 @@ cnmac_recv_mbuf(struct cnmac_softc *sc, 
 	work[0] = (uintptr_t)sc;
 
 	MEXTADD(m, ext_buf, ext_size, 0, ext_free, work);
-	CNMAC_KASSERT(ISSET(m->m_flags, M_EXT));
+	KASSERT(ISSET(m->m_flags, M_EXT));
 
 	m->m_data = data;
 	m->m_len = m->m_pkthdr.len = (word1 & PIP_WQE_WORD1_LEN) >> 48;
@@ -1366,7 +1269,7 @@ cnmac_recv_mbuf(struct cnmac_softc *sc, 
 
 	*rm = m;
 
-	CNMAC_KASSERT(*rm != NULL);
+	KASSERT(*rm != NULL);
 
 	return 0;
 }
@@ -1411,7 +1314,6 @@ cnmac_recv_check(struct cnmac_softc *sc,
 			log(LOG_DEBUG,
 			    "%s: link is not up, the packet was dropped\n",
 			    device_xname(sc->sc_dev));
-		OCTEON_EVCNT_INC(sc, rxerrlink);
 		return 1;
 	}
 
@@ -1422,7 +1324,6 @@ cnmac_recv_check(struct cnmac_softc *sc,
 		    &sc->sc_rate_recv_check_jumbo_cap))
 			log(LOG_DEBUG,
 			    "jumbo frame was received\n");
-		OCTEON_EVCNT_INC(sc, rxerrjmb);
 		return 1;
 	}
 #endif
@@ -1445,7 +1346,6 @@ cnmac_recv_check(struct cnmac_softc *sc,
 				    "(error code = %" PRId64 ")\n",
 				    device_xname(sc->sc_dev), word2 & PIP_WQE_WORD2_NOIP_OPECODE);
 		}
-		OCTEON_EVCNT_INC(sc, rxerrcode);
 		return 1;
 	}
 
@@ -1470,15 +1370,13 @@ cnmac_recv(struct cnmac_softc *sc, uint6
 	}
 	/* XXX XXX XXX */
 
-	CNMAC_KASSERT(sc != NULL);
-	CNMAC_KASSERT(work != NULL);
-
-	OCTEON_EVCNT_INC(sc, rx);
+	KASSERT(sc != NULL);
+	KASSERT(work != NULL);
 
 	word2 = work[2];
 	ifp = &sc->sc_ethercom.ec_if;
 
-	CNMAC_KASSERT(ifp != NULL);
+	KASSERT(ifp != NULL);
 
 	if (__predict_false(cnmac_recv_check(sc, word2) != 0)) {
 		if_statinc(ifp, if_ierrors);
@@ -1496,7 +1394,7 @@ cnmac_recv(struct cnmac_softc *sc, uint6
 
 	/* work[0] .. work[3] may not be valid any more */
 
-	CNMAC_KASSERT(m != NULL);
+	KASSERT(m != NULL);
 
 	octipd_offload(word2, m->m_data, &m->m_pkthdr.csum_flags);
 
@@ -1570,16 +1468,16 @@ cnmac_recv_intr(void *data, uint64_t *wo
 	struct cnmac_softc *sc;
 	int port;
 
-	CNMAC_KASSERT(work != NULL);
+	KASSERT(work != NULL);
 
 	port = (work[1] & PIP_WQE_WORD1_IPRT) >> 42;
 
-	CNMAC_KASSERT(port < GMX_PORT_NUNITS);
+	KASSERT(port < GMX_PORT_NUNITS);
 
 	sc = cnmac_gsc[port];
 
-	CNMAC_KASSERT(sc != NULL);
-	CNMAC_KASSERT(port == sc->sc_port);
+	KASSERT(sc != NULL);
+	KASSERT(port == sc->sc_port);
 
 	/* XXX process all work queue entries anyway */
 

Index: src/sys/arch/mips/cavium/dev/if_cnmacvar.h
diff -u src/sys/arch/mips/cavium/dev/if_cnmacvar.h:1.2 src/sys/arch/mips/cavium/dev/if_cnmacvar.h:1.3
--- src/sys/arch/mips/cavium/dev/if_cnmacvar.h:1.2	Sun May 31 06:27:06 2020
+++ src/sys/arch/mips/cavium/dev/if_cnmacvar.h	Mon Jun 22 02:26:19 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_cnmacvar.h,v 1.2 2020/05/31 06:27:06 simonb Exp $	*/
+/*	$NetBSD: if_cnmacvar.h,v 1.3 2020/06/22 02:26:19 simonb Exp $	*/
 
 #undef DEBUG
 #undef TENBASET_DBG
@@ -118,42 +118,5 @@ struct cnmac_softc {
 	struct timeval		sc_rate_recv_fixup_odd_nibble_preamble_cap;
 	struct timeval		sc_rate_recv_fixup_odd_nibble_crc_last;
 	struct timeval		sc_rate_recv_fixup_odd_nibble_crc_cap;
-#ifdef CNMAC_DEBUG
-	struct timeval		sc_rate_recv_fixup_odd_nibble_addr_last;
-	struct timeval		sc_rate_recv_fixup_odd_nibble_addr_cap;
-#endif
 	int			sc_quirks;
-#ifdef CNMAC_DEBUG
-	struct evcnt		sc_ev_rx;
-	struct evcnt		sc_ev_rxint;
-	struct evcnt		sc_ev_rxrs;
-	struct evcnt		sc_ev_rxbufpkalloc;
-	struct evcnt		sc_ev_rxbufpkput;
-	struct evcnt		sc_ev_rxbufwqalloc;
-	struct evcnt		sc_ev_rxbufwqput;
-	struct evcnt		sc_ev_rxerrcode;
-	struct evcnt		sc_ev_rxerrfix;
-	struct evcnt		sc_ev_rxerrjmb;
-	struct evcnt		sc_ev_rxerrlink;
-	struct evcnt		sc_ev_rxerroff;
-	struct evcnt		sc_ev_rxonperrshort;
-	struct evcnt		sc_ev_rxonperrpreamble;
-	struct evcnt		sc_ev_rxonperrcrc;
-	struct evcnt		sc_ev_rxonperraddress;
-	struct evcnt		sc_ev_rxonponp;
-	struct evcnt		sc_ev_rxonpok;
-	struct evcnt		sc_ev_tx;
-	struct evcnt		sc_ev_txadd;
-	struct evcnt		sc_ev_txbufcballoc;
-	struct evcnt		sc_ev_txbufcbget;
-	struct evcnt		sc_ev_txbufgballoc;
-	struct evcnt		sc_ev_txbufgbget;
-	struct evcnt		sc_ev_txbufgbput;
-	struct evcnt		sc_ev_txdel;
-	struct evcnt		sc_ev_txerr;
-	struct evcnt		sc_ev_txerrcmd;
-	struct evcnt		sc_ev_txerrgbuf;
-	struct evcnt		sc_ev_txerrlink;
-	struct evcnt		sc_ev_txerrmkcmd;
-#endif
 };
Index: src/sys/arch/mips/cavium/dev/octeon_asx.c
diff -u src/sys/arch/mips/cavium/dev/octeon_asx.c:1.2 src/sys/arch/mips/cavium/dev/octeon_asx.c:1.3
--- src/sys/arch/mips/cavium/dev/octeon_asx.c:1.2	Sun May 31 06:27:06 2020
+++ src/sys/arch/mips/cavium/dev/octeon_asx.c	Mon Jun 22 02:26:19 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_asx.c,v 1.2 2020/05/31 06:27:06 simonb Exp $	*/
+/*	$NetBSD: octeon_asx.c,v 1.3 2020/06/22 02:26:19 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_asx.c,v 1.2 2020/05/31 06:27:06 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_asx.c,v 1.3 2020/06/22 02:26:19 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -38,15 +38,6 @@ __KERNEL_RCSID(0, "$NetBSD: octeon_asx.c
 #include <mips/cavium/dev/octeon_asxreg.h>
 #include <mips/cavium/dev/octeon_asxvar.h>
 
-#ifdef CNMAC_DEBUG
-void			octasx_intr_evcnt_attach(struct octasx_softc *);
-void			octasx_intr_rml(void *);
-#endif
-
-#ifdef CNMAC_DEBUG
-struct octasx_softc *__octasx_softc;
-#endif
-
 /* XXX */
 void
 octasx_init(struct octasx_attach_args *aa, struct octasx_softc **rsc)
@@ -67,12 +58,6 @@ octasx_init(struct octasx_attach_args *a
 		panic("can't map %s space", "asx register");
 
 	*rsc = sc;
-
-#ifdef CNMAC_DEBUG
-	octasx_intr_evcnt_attach(sc);
-	if (__octasx_softc == NULL)
-		__octasx_softc = sc;
-#endif
 }
 
 #define	_ASX_RD8(sc, off) \
@@ -82,17 +67,11 @@ octasx_init(struct octasx_attach_args *a
 
 static int	octasx_enable_tx(struct octasx_softc *, int);
 static int	octasx_enable_rx(struct octasx_softc *, int);
-#ifdef CNMAC_DEBUG
-static int	octasx_enable_intr(struct octasx_softc *, int);
-#endif
 
 int
 octasx_enable(struct octasx_softc *sc, int enable)
 {
 
-#ifdef CNMAC_DEBUG
-	octasx_enable_intr(sc, enable);
-#endif
 	octasx_enable_tx(sc, enable);
 	octasx_enable_rx(sc, enable);
 	return 0;
@@ -126,56 +105,6 @@ octasx_enable_rx(struct octasx_softc *sc
 	return 0;
 }
 
-#if defined(CNMAC_DEBUG)
-int			octasx_intr_rml_verbose;
-
-static const struct octeon_evcnt_entry octasx_intr_evcnt_entries[] = {
-#define	_ENTRY(name, type, parent, descr) \
-	OCTEON_EVCNT_ENTRY(struct octasx_softc, name, type, parent, descr)
-	_ENTRY(asxrxpsh,	MISC, NULL, "asx tx fifo overflow"),
-	_ENTRY(asxtxpop,	MISC, NULL, "asx tx fifo underflow"),
-	_ENTRY(asxovrflw,	MISC, NULL, "asx rx fifo overflow"),
-#undef	_ENTRY
-};
-
-void
-octasx_intr_evcnt_attach(struct octasx_softc *sc)
-{
-	OCTEON_EVCNT_ATTACH_EVCNTS(sc, octasx_intr_evcnt_entries, "asx0");
-}
-
-void
-octasx_intr_rml(void *arg)
-{
-	struct octasx_softc *sc = __octasx_softc;
-	uint64_t reg = 0;
-
-	reg = octasx_int_summary(sc);
-	if (octasx_intr_rml_verbose)
-		printf("%s: ASX_INT_REG=0x%016" PRIx64 "\n", __func__, reg);
-	if (reg & ASX0_INT_REG_TXPSH)
-		OCTEON_EVCNT_INC(sc, asxrxpsh);
-	if (reg & ASX0_INT_REG_TXPOP)
-		OCTEON_EVCNT_INC(sc, asxtxpop);
-	if (reg & ASX0_INT_REG_OVRFLW)
-		OCTEON_EVCNT_INC(sc, asxovrflw);
-}
-
-static int
-octasx_enable_intr(struct octasx_softc *sc, int enable)
-{
-	uint64_t asx_int_xxx = 0;
-
-	SET(asx_int_xxx,
-	    ASX0_INT_REG_TXPSH |
-	    ASX0_INT_REG_TXPOP |
-	    ASX0_INT_REG_OVRFLW);
-	_ASX_WR8(sc, ASX0_INT_REG_OFFSET, asx_int_xxx);
-	_ASX_WR8(sc, ASX0_INT_EN_OFFSET, enable ? asx_int_xxx : 0);
-	return 0;
-}
-#endif
-
 int
 octasx_clk_set(struct octasx_softc *sc, int tx_setting, int rx_setting)
 {
@@ -183,66 +112,3 @@ octasx_clk_set(struct octasx_softc *sc, 
 	_ASX_WR8(sc, ASX0_RX_CLK_SET0_OFFSET + 8 * sc->sc_port, rx_setting);
 	return 0;
 }
-
-#ifdef CNMAC_DEBUG
-uint64_t
-octasx_int_summary(struct octasx_softc *sc)
-{
-	uint64_t summary;
-
-	summary = _ASX_RD8(sc, ASX0_INT_REG_OFFSET);
-	_ASX_WR8(sc, ASX0_INT_REG_OFFSET, summary);
-	return summary;
-}
-
-#define	_ENTRY(x)	{ #x, x##_BITS, x##_OFFSET }
-
-struct octasx_dump_reg_ {
-	const char *name;
-	const char *format;
-	size_t	offset;
-};
-
-void		octasx_dump(void);
-
-static const struct octasx_dump_reg_ octasx_dump_regs_[] = {
-	_ENTRY(ASX0_RX_PRT_EN),
-	_ENTRY(ASX0_TX_PRT_EN),
-	_ENTRY(ASX0_INT_REG),
-	_ENTRY(ASX0_INT_EN),
-	_ENTRY(ASX0_RX_CLK_SET0),
-	_ENTRY(ASX0_RX_CLK_SET1),
-	_ENTRY(ASX0_RX_CLK_SET2),
-	_ENTRY(ASX0_PRT_LOOP),
-	_ENTRY(ASX0_TX_CLK_SET0),
-	_ENTRY(ASX0_TX_CLK_SET1),
-	_ENTRY(ASX0_TX_CLK_SET2),
-	_ENTRY(ASX0_COMP_BYP),
-	_ENTRY(ASX0_TX_HI_WATER000),
-	_ENTRY(ASX0_TX_HI_WATER001),
-	_ENTRY(ASX0_TX_HI_WATER002),
-	_ENTRY(ASX0_GMII_RX_CLK_SET),
-	_ENTRY(ASX0_GMII_RX_DAT_SET),
-	_ENTRY(ASX0_MII_RX_DAT_SET),
-};
-
-void
-octasx_dump(void)
-{
-	struct octasx_softc *sc = __octasx_softc;
-	const struct octasx_dump_reg_ *reg;
-	uint64_t tmp;
-	char buf[512];
-	int i;
-
-	for (i = 0; i < (int)__arraycount(octasx_dump_regs_); i++) {
-		reg = &octasx_dump_regs_[i];
-		tmp = _ASX_RD8(sc, reg->offset);
-		if (reg->format == NULL)
-			snprintf(buf, sizeof(buf), "%016" PRIx64, tmp);
-		else
-			snprintb(buf, sizeof(buf), reg->format, tmp);
-		printf("\t%-24s: %s\n", reg->name, buf);
-	}
-}
-#endif
Index: src/sys/arch/mips/cavium/dev/octeon_ciu.c
diff -u src/sys/arch/mips/cavium/dev/octeon_ciu.c:1.2 src/sys/arch/mips/cavium/dev/octeon_ciu.c:1.3
--- src/sys/arch/mips/cavium/dev/octeon_ciu.c:1.2	Sun May 31 06:27:06 2020
+++ src/sys/arch/mips/cavium/dev/octeon_ciu.c	Mon Jun 22 02:26:19 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_ciu.c,v 1.2 2020/05/31 06:27:06 simonb Exp $	*/
+/*	$NetBSD: octeon_ciu.c,v 1.3 2020/06/22 02:26:19 simonb Exp $	*/
 
 /*
  * Copyright (c) 2008 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_ciu.c,v 1.2 2020/05/31 06:27:06 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_ciu.c,v 1.3 2020/06/22 02:26:19 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -43,89 +43,4 @@ __KERNEL_RCSID(0, "$NetBSD: octeon_ciu.c
 #include <mips/cavium/octeonvar.h>
 #include <mips/cavium/dev/octeon_ciureg.h>
 
-#ifdef CIUDEBUG
-#define	DPRINTF(x)	printf x
-#else
-#define	DPRINTF(x)
-#endif
-
-#ifdef CNMAC_DEBUG
-void		octciu_dump(void);
-void		octciu_dump_regs(void);
-
-#define	_ENTRY(x)	{ #x, x##_BITS, x }
-
-struct octciu_dump_reg_entry {
-	const char *name;
-	const char *format;
-	paddr_t address;
-};
-
-static const struct octciu_dump_reg_entry octciu_dump_regs_entries[] = {
-	_ENTRY(CIU_INT0_SUM0),
-	_ENTRY(CIU_INT1_SUM0),
-	_ENTRY(CIU_INT2_SUM0),
-	_ENTRY(CIU_INT3_SUM0),
-	_ENTRY(CIU_INT32_SUM0),
-	_ENTRY(CIU_INT_SUM1),
-	_ENTRY(CIU_INT0_EN0),
-	_ENTRY(CIU_INT1_EN0),
-	_ENTRY(CIU_INT2_EN0),
-	_ENTRY(CIU_INT3_EN0),
-	_ENTRY(CIU_INT32_EN0),
-	_ENTRY(CIU_INT0_EN1),
-	_ENTRY(CIU_INT1_EN1),
-	_ENTRY(CIU_INT2_EN1),
-	_ENTRY(CIU_INT3_EN1),
-	_ENTRY(CIU_INT32_EN1),
-	_ENTRY(CIU_TIM0),
-	_ENTRY(CIU_TIM1),
-	_ENTRY(CIU_TIM2),
-	_ENTRY(CIU_TIM3),
-	_ENTRY(CIU_WDOG0),
-	_ENTRY(CIU_WDOG1),
-	/* _ENTRY(CIU_PP_POKE0), */
-	/* _ENTRY(CIU_PP_POKE1), */
-	_ENTRY(CIU_MBOX_SET0),
-	_ENTRY(CIU_MBOX_SET1),
-	_ENTRY(CIU_MBOX_CLR0),
-	_ENTRY(CIU_MBOX_CLR1),
-	_ENTRY(CIU_PP_RST),
-	_ENTRY(CIU_PP_DBG),
-	_ENTRY(CIU_GSTOP),
-	_ENTRY(CIU_NMI),
-	_ENTRY(CIU_DINT),
-	_ENTRY(CIU_FUSE),
-	_ENTRY(CIU_BIST),
-	_ENTRY(CIU_SOFT_BIST),
-	_ENTRY(CIU_SOFT_RST),
-	_ENTRY(CIU_SOFT_PRST),
-	_ENTRY(CIU_PCI_INTA)
-};
-
-void
-octciu_dump(void)
-{
-	octciu_dump_regs();
-}
-
-void
-octciu_dump_regs(void)
-{
-	const struct octciu_dump_reg_entry *reg;
-	uint64_t tmp;
-	char buf[512];
-	int i;
-
-	for (i = 0; i < (int)__arraycount(octciu_dump_regs_entries); i++) {
-		reg = &octciu_dump_regs_entries[i];
-		tmp = octeon_xkphys_read_8(reg->address);
-		if (reg->format == NULL) {
-			snprintf(buf, sizeof(buf), "%16" PRIx64, tmp);
-		} else {
-			snprintb(buf, sizeof(buf), reg->format, tmp);
-		}
-		printf("\t%-24s: %s\n", reg->name, buf);
-	}
-}
-#endif
+/* XXX keep this file? */

Index: src/sys/arch/mips/cavium/dev/octeon_asxvar.h
diff -u src/sys/arch/mips/cavium/dev/octeon_asxvar.h:1.3 src/sys/arch/mips/cavium/dev/octeon_asxvar.h:1.4
--- src/sys/arch/mips/cavium/dev/octeon_asxvar.h:1.3	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_asxvar.h	Mon Jun 22 02:26:19 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_asxvar.h,v 1.3 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_asxvar.h,v 1.4 2020/06/22 02:26:19 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -34,11 +34,6 @@ struct octasx_softc {
 	int			sc_port;
 	bus_space_tag_t		sc_regt;
 	bus_space_handle_t	sc_regh;
-#if defined(OCTEON_DEBUG) || defined(CNMAC_DEBUG)
-	struct evcnt		sc_ev_asxrxpsh;
-	struct evcnt		sc_ev_asxtxpop;
-	struct evcnt		sc_ev_asxovrflw;
-#endif
 };
 
 /* XXX */
Index: src/sys/arch/mips/cavium/dev/octeon_ipdvar.h
diff -u src/sys/arch/mips/cavium/dev/octeon_ipdvar.h:1.3 src/sys/arch/mips/cavium/dev/octeon_ipdvar.h:1.4
--- src/sys/arch/mips/cavium/dev/octeon_ipdvar.h:1.3	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_ipdvar.h	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_ipdvar.h,v 1.3 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_ipdvar.h,v 1.4 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -36,13 +36,6 @@ struct octipd_softc {
 	bus_space_handle_t	sc_regh;
 	size_t			sc_first_mbuff_skip;
 	size_t			sc_not_first_mbuff_skip;
-#ifdef CNMAC_DEBUG
-	struct evcnt		sc_ev_ipdbpsub;
-	struct evcnt		sc_ev_ipdprcpar3;
-	struct evcnt		sc_ev_ipdprcpar2;
-	struct evcnt		sc_ev_ipdprcpar1;
-	struct evcnt		sc_ev_ipdprcpar0;
-#endif
 };
 
 /* XXX */
@@ -53,20 +46,11 @@ struct octipd_attach_args {
 	size_t			aa_not_first_mbuff_skip;
 };
 
-void			octipd_init(struct octipd_attach_args *,
-			    struct octipd_softc **);
-int			octipd_enable(struct octipd_softc *);
-int			octipd_config(struct octipd_softc *);
-int			octipd_red(struct octipd_softc *, uint64_t, uint64_t);
-void			octipd_sub_port_fcs(struct octipd_softc *, int);
-void			octipd_offload(uint64_t, void *, int *);
-
-#ifdef CNMAC_DEBUG
-void			octipd_int_enable(struct octipd_softc *, int);
-uint64_t		octipd_int_summary(struct octipd_softc *);
-#endif /* CNMAC_DEBUG */
-#ifdef CNMAC_DEBUG
-void			octipd_int_enable(struct octipd_softc *, int);
-#endif /* CNMAC_DEBUG */
+void	octipd_init(struct octipd_attach_args *, struct octipd_softc **);
+int	octipd_enable(struct octipd_softc *);
+int	octipd_config(struct octipd_softc *);
+int	octipd_red(struct octipd_softc *, uint64_t, uint64_t);
+void	octipd_sub_port_fcs(struct octipd_softc *, int);
+void	octipd_offload(uint64_t, void *, int *);
 
 #endif /* _OCTEON_IPDVAR_H_ */
Index: src/sys/arch/mips/cavium/dev/octeon_pipvar.h
diff -u src/sys/arch/mips/cavium/dev/octeon_pipvar.h:1.3 src/sys/arch/mips/cavium/dev/octeon_pipvar.h:1.4
--- src/sys/arch/mips/cavium/dev/octeon_pipvar.h:1.3	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_pipvar.h	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_pipvar.h,v 1.3 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_pipvar.h,v 1.4 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -38,14 +38,6 @@ struct octpip_softc {
 	int			sc_tag_type;
 	int			sc_receive_group;
 	size_t			sc_ip_offset;
-#ifdef CNMAC_DEBUG
-	struct evcnt		sc_ev_pipbeperr;
-	struct evcnt		sc_ev_pipfeperr;
-	struct evcnt		sc_ev_pipskprunt;
-	struct evcnt		sc_ev_pipbadtag;
-	struct evcnt		sc_ev_pipprtnxa;
-	struct evcnt		sc_ev_pippktdrp;
-#endif
 };
 
 /* XXX */
@@ -63,16 +55,5 @@ void		octpip_gbl_ctl_debug(struct octpip
 int		octpip_port_config(struct octpip_softc *);
 void		octpip_prt_cfg_enable(struct octpip_softc *, uint64_t, int);
 void		octpip_stats(struct octpip_softc *, struct ifnet *, int);
-#ifdef CNMAC_DEBUG
-void		octpip_int_enable(struct octpip_softc *, int);
-void		octpip_dump(void);
-void		octpip_dump_regs(void);
-void		octpip_dump_stats(void);
-#endif /* CNMAC_DEBUG */
-
-#ifdef CNMAC_DEBUG
-void		octpip_int_enable(struct octpip_softc *, int);
-uint64_t	octpip_int_summary(struct octpip_softc *);
-#endif /* CNMAC_DEBUG */
 
 #endif /* _OCTEON_PIPVAR_H_ */
Index: src/sys/arch/mips/cavium/dev/octeon_pko.c
diff -u src/sys/arch/mips/cavium/dev/octeon_pko.c:1.3 src/sys/arch/mips/cavium/dev/octeon_pko.c:1.4
--- src/sys/arch/mips/cavium/dev/octeon_pko.c:1.3	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_pko.c	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_pko.c,v 1.3 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_pko.c,v 1.4 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_pko.c,v 1.3 2020/06/18 13:52:08 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_pko.c,v 1.4 2020/06/22 02:26:20 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -42,20 +42,11 @@ __KERNEL_RCSID(0, "$NetBSD: octeon_pko.c
 #include <mips/cavium/dev/octeon_pkoreg.h>
 #include <mips/cavium/dev/octeon_pkovar.h>
 
-#ifdef CNMAC_DEBUG
-void			octpko_intr_evcnt_attach(struct octpko_softc *);
-void			octpko_intr_rml(void *);
-#endif
-
 #define	_PKO_RD8(sc, off) \
 	bus_space_read_8((sc)->sc_regt, (sc)->sc_regh, (off))
 #define	_PKO_WR8(sc, off, v) \
 	bus_space_write_8((sc)->sc_regt, (sc)->sc_regh, (off), (v))
 
-#ifdef CNMAC_DEBUG
-struct octpko_softc	*__octpko_softc;
-#endif
-
 /* ----- gloal functions */
 
 /* XXX */
@@ -81,11 +72,6 @@ octpko_init(struct octpko_attach_args *a
 		panic("can't map %s space", "pko register");
 
 	*rsc = sc;
-
-#ifdef CNMAC_DEBUG
-	octpko_intr_evcnt_attach(sc);
-	__octpko_softc = sc;
-#endif
 }
 
 int
@@ -125,10 +111,6 @@ octpko_config(struct octpko_softc *sc)
 	SET(reg_cmd_buf, (sc->sc_cmd_buf_pool << 20) & PKO_REG_CMD_BUF_POOL);
 	SET(reg_cmd_buf, sc->sc_cmd_buf_size & PKO_REG_CMD_BUF_SIZE);
 	_PKO_WR8(sc, PKO_REG_CMD_BUF_OFFSET, reg_cmd_buf);
-
-#ifdef CNMAC_DEBUG
-	octpko_int_enable(sc, 1);
-#endif
 }
 
 int
@@ -192,60 +174,3 @@ octpko_port_config(struct octpko_softc *
 
 	return 0;
 }
-
-#ifdef CNMAC_DEBUG
-int			octpko_intr_rml_verbose;
-struct evcnt		octpko_intr_evcnt;
-
-static const struct octeon_evcnt_entry octpko_intr_evcnt_entries[] = {
-#define	_ENTRY(name, type, parent, descr) \
-	OCTEON_EVCNT_ENTRY(struct octpko_softc, name, type, parent, descr)
-	_ENTRY(pkoerrdbell,		MISC, NULL, "pko doorbell overflow"),
-	_ENTRY(pkoerrparity,		MISC, NULL, "pko parity error")
-#undef	_ENTRY
-};
-
-void
-octpko_intr_evcnt_attach(struct octpko_softc *sc)
-{
-	OCTEON_EVCNT_ATTACH_EVCNTS(sc, octpko_intr_evcnt_entries, "pko0");
-}
-
-void
-octpko_intr_rml(void *arg)
-{
-	struct octpko_softc *sc;
-	uint64_t reg;
-
-	octpko_intr_evcnt.ev_count++;
-	sc = __octpko_softc;
-	KASSERT(sc != NULL);
-	reg = octpko_int_summary(sc);
-	if (octpko_intr_rml_verbose)
-		printf("%s: PKO_REG_ERROR=0x%016" PRIx64 "\n", __func__, reg);
-	if (reg & PKO_REG_ERROR_DOORBELL)
-		OCTEON_EVCNT_INC(sc, pkoerrdbell);
-	if (reg & PKO_REG_ERROR_PARITY)
-		OCTEON_EVCNT_INC(sc, pkoerrparity);
-}
-
-void
-octpko_int_enable(struct octpko_softc *sc, int enable)
-{
-	uint64_t pko_int_xxx = 0;
-
-	pko_int_xxx = PKO_REG_ERROR_DOORBELL | PKO_REG_ERROR_PARITY;
-	_PKO_WR8(sc, PKO_REG_ERROR_OFFSET, pko_int_xxx);
-	_PKO_WR8(sc, PKO_REG_INT_MASK_OFFSET, enable ? pko_int_xxx : 0);
-}
-
-uint64_t
-octpko_int_summary(struct octpko_softc *sc)
-{
-	uint64_t summary;
-
-	summary = _PKO_RD8(sc, PKO_REG_ERROR_OFFSET);
-	_PKO_WR8(sc, PKO_REG_ERROR_OFFSET, summary);
-	return summary;
-}
-#endif

Index: src/sys/arch/mips/cavium/dev/octeon_fpa.c
diff -u src/sys/arch/mips/cavium/dev/octeon_fpa.c:1.6 src/sys/arch/mips/cavium/dev/octeon_fpa.c:1.7
--- src/sys/arch/mips/cavium/dev/octeon_fpa.c:1.6	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_fpa.c	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_fpa.c,v 1.6 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_fpa.c,v 1.7 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -29,7 +29,7 @@
 #undef	FPADEBUG
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_fpa.c,v 1.6 2020/06/18 13:52:08 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_fpa.c,v 1.7 2020/06/22 02:26:20 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -72,17 +72,6 @@ struct octfpa_softc {
 	bus_dma_tag_t		sc_dmat;
 
 	struct octfpa_desc	sc_descs[8];
-
-#ifdef CNMAC_DEBUG
-	struct evcnt		sc_ev_fpaq7perr;
-	struct evcnt		sc_ev_fpaq7coff;
-	struct evcnt		sc_ev_fpaq7und;
-	struct evcnt		sc_ev_fpaq6perr;
-	struct evcnt		sc_ev_fpaq6coff;
-	struct evcnt		sc_ev_fpaq6und;
-	struct evcnt		sc_ev_fpaq5perr;
-	struct evcnt		sc_ev_fpaq5coff;
-#endif
 };
 
 void			octfpa_bootstrap(struct octeon_config *);
@@ -95,11 +84,6 @@ static void		octfpa_init(struct octfpa_s
 static uint64_t		octfpa_iobdma(struct octfpa_softc *, int, int);
 #endif
 
-#ifdef CNMAC_DEBUG
-void			octfpa_intr_evcnt_attach(struct octfpa_softc *);
-void			octfpa_intr_rml(void *);
-#endif
-
 static struct octfpa_softc	octfpa_softc;
 
 /* ---- global functions */
@@ -122,94 +106,6 @@ octfpa_reset(void)
 	/* XXX */
 }
 
-#ifdef CNMAC_DEBUG
-int			octfpa_intr_rml_verbose;
-struct evcnt		octfpa_intr_evcnt;
-
-static const struct octeon_evcnt_entry octfpa_intr_evcnt_entries[] = {
-#define	_ENTRY(name, type, parent, descr) \
-	OCTEON_EVCNT_ENTRY(struct octfpa_softc, name, type, parent, descr)
-	_ENTRY(fpaq7perr,          MISC, NULL, "fpa q7 pointer"),
-	_ENTRY(fpaq7coff,          MISC, NULL, "fpa q7 counter offset"),
-	_ENTRY(fpaq7und,           MISC, NULL, "fpa q7 underflow"),
-	_ENTRY(fpaq6perr,          MISC, NULL, "fpa q6 pointer"),
-	_ENTRY(fpaq6coff,          MISC, NULL, "fpa q6 counter offset"),
-	_ENTRY(fpaq6und,           MISC, NULL, "fpa q6 underflow"),
-	_ENTRY(fpaq5perr,          MISC, NULL, "fpa q5 pointer"),
-	_ENTRY(fpaq5coff,          MISC, NULL, "fpa q5 counter offset"),
-#undef	_ENTRY
-};
-
-void
-octfpa_intr_evcnt_attach(struct octfpa_softc *sc)
-{
-	OCTEON_EVCNT_ATTACH_EVCNTS(sc, octfpa_intr_evcnt_entries, "fpa0");
-}
-
-void
-octfpa_intr_rml(void *arg)
-{
-	struct octfpa_softc *sc;
-	uint64_t reg;
-
-	octfpa_intr_evcnt.ev_count++;
-	sc = &octfpa_softc;
-	KASSERT(sc != NULL);
-	reg = octfpa_int_summary();
-	if (octfpa_intr_rml_verbose)
-		printf("%s: FPA_INT_SUM=0x%016" PRIx64 "\n", __func__, reg);
-	if (reg & FPA_INT_SUM_Q7_PERR)
-		OCTEON_EVCNT_INC(sc, fpaq7perr);
-	if (reg & FPA_INT_SUM_Q7_COFF)
-		OCTEON_EVCNT_INC(sc, fpaq7coff);
-	if (reg & FPA_INT_SUM_Q7_UND)
-		OCTEON_EVCNT_INC(sc, fpaq7und);
-	if (reg & FPA_INT_SUM_Q6_PERR)
-		OCTEON_EVCNT_INC(sc, fpaq6perr);
-	if (reg & FPA_INT_SUM_Q6_COFF)
-		OCTEON_EVCNT_INC(sc, fpaq6coff);
-	if (reg & FPA_INT_SUM_Q6_UND)
-		OCTEON_EVCNT_INC(sc, fpaq6und);
-	if (reg & FPA_INT_SUM_Q5_PERR)
-		OCTEON_EVCNT_INC(sc, fpaq5perr);
-	if (reg & FPA_INT_SUM_Q5_COFF)
-		OCTEON_EVCNT_INC(sc, fpaq5coff);
-}
-
-void
-octfpa_int_enable(struct octfpa_softc *sc, int enable)
-{
-	const uint64_t int_xxx =
-	    FPA_INT_ENB_Q7_PERR | FPA_INT_ENB_Q7_COFF | FPA_INT_ENB_Q7_UND |
-	    FPA_INT_ENB_Q6_PERR | FPA_INT_ENB_Q6_COFF | FPA_INT_ENB_Q6_UND |
-	    FPA_INT_ENB_Q5_PERR | FPA_INT_ENB_Q5_COFF | FPA_INT_ENB_Q5_UND |
-	    FPA_INT_ENB_Q4_PERR | FPA_INT_ENB_Q4_COFF | FPA_INT_ENB_Q4_UND |
-	    FPA_INT_ENB_Q3_PERR | FPA_INT_ENB_Q3_COFF | FPA_INT_ENB_Q3_UND |
-	    FPA_INT_ENB_Q2_PERR | FPA_INT_ENB_Q2_COFF | FPA_INT_ENB_Q2_UND |
-	    FPA_INT_ENB_Q1_PERR | FPA_INT_ENB_Q1_COFF | FPA_INT_ENB_Q1_UND |
-	    FPA_INT_ENB_Q0_PERR | FPA_INT_ENB_Q0_COFF | FPA_INT_ENB_Q0_UND |
-	    FPA_INT_ENB_FED1_DBE | FPA_INT_ENB_FED1_SBE |
-	    FPA_INT_ENB_FED0_DBE | FPA_INT_ENB_FED0_SBE;
-
-	bus_space_write_8(sc->sc_regt, sc->sc_regh, FPA_INT_SUM_OFFSET,
-	    int_xxx);
-	if (enable)
-		bus_space_write_8(sc->sc_regt, sc->sc_regh, FPA_INT_ENB_OFFSET,
-		    int_xxx);
-}
-
-uint64_t
-octfpa_int_summary(void)
-{
-	struct octfpa_softc *sc = &octfpa_softc;
-	uint64_t summary;
-
-	summary = bus_space_read_8(sc->sc_regt, sc->sc_regh, FPA_INT_SUM_OFFSET);
-	bus_space_write_8(sc->sc_regt, sc->sc_regh, FPA_INT_SUM_OFFSET, summary);
-	return summary;
-}
-#endif
-
 int
 octfpa_buf_init(int poolno, size_t size, size_t nelems, struct octfpa_buf **rfb)
 {
@@ -315,10 +211,6 @@ octfpa_init(struct octfpa_softc *sc)
 
 	octfpa_init_bus(sc);
 	octfpa_init_regs(sc);
-#ifdef CNMAC_DEBUG
-	octfpa_int_enable(sc, 1);
-	octfpa_intr_evcnt_attach(sc);
-#endif
 }
 
 void
@@ -348,21 +240,6 @@ octfpa_init_regs(struct octfpa_softc *sc
 
 	bus_space_write_8(sc->sc_regt, sc->sc_regh, FPA_CTL_STATUS_OFFSET,
 	    FPA_CTL_STATUS_ENB);
-
-/* XXX */
-#ifdef CNMAC_DEBUG
-	bus_space_write_8(sc->sc_regt, sc->sc_regh, FPA_INT_ENB_OFFSET,
-	    FPA_INT_ENB_Q7_PERR | FPA_INT_ENB_Q7_COFF | FPA_INT_ENB_Q7_UND |
-	    FPA_INT_ENB_Q6_PERR | FPA_INT_ENB_Q6_COFF | FPA_INT_ENB_Q6_UND |
-	    FPA_INT_ENB_Q5_PERR | FPA_INT_ENB_Q5_COFF | FPA_INT_ENB_Q5_UND |
-	    FPA_INT_ENB_Q4_PERR | FPA_INT_ENB_Q4_COFF | FPA_INT_ENB_Q4_UND |
-	    FPA_INT_ENB_Q3_PERR | FPA_INT_ENB_Q3_COFF | FPA_INT_ENB_Q3_UND |
-	    FPA_INT_ENB_Q2_PERR | FPA_INT_ENB_Q2_COFF | FPA_INT_ENB_Q2_UND |
-	    FPA_INT_ENB_Q1_PERR | FPA_INT_ENB_Q1_COFF | FPA_INT_ENB_Q1_UND |
-	    FPA_INT_ENB_Q0_PERR | FPA_INT_ENB_Q0_COFF | FPA_INT_ENB_Q0_UND |
-	    FPA_INT_ENB_FED1_DBE | FPA_INT_ENB_FED1_SBE |
-	    FPA_INT_ENB_FED0_DBE | FPA_INT_ENB_FED0_SBE);
-#endif
 }
 
 int
@@ -406,113 +283,3 @@ octfpa_available_fpa_pool(int *available
 
 	return 0;
 }
-
-#ifdef CNMAC_DEBUG
-void		octfpa_dump_regs(void);
-void		octfpa_dump_bufs(void);
-void		octfpa_dump_buf(int);
-
-#define	_ENTRY(x)	{ #x, x##_BITS, x##_OFFSET }
-
-struct octfpa_dump_reg_ {
-	const char *name;
-	const char *format;
-	size_t	offset;
-};
-
-static const struct octfpa_dump_reg_ octfpa_dump_regs_[] = {
-	_ENTRY(FPA_INT_SUM),
-	_ENTRY(FPA_INT_ENB),
-	_ENTRY(FPA_CTL_STATUS),
-	_ENTRY(FPA_QUE0_AVAILABLE),
-	_ENTRY(FPA_QUE1_AVAILABLE),
-	_ENTRY(FPA_QUE2_AVAILABLE),
-	_ENTRY(FPA_QUE3_AVAILABLE),
-	_ENTRY(FPA_QUE4_AVAILABLE),
-	_ENTRY(FPA_QUE5_AVAILABLE),
-	_ENTRY(FPA_QUE6_AVAILABLE),
-	_ENTRY(FPA_QUE7_AVAILABLE),
-	_ENTRY(FPA_WART_CTL),
-	_ENTRY(FPA_WART_STATUS),
-	_ENTRY(FPA_BIST_STATUS),
-	_ENTRY(FPA_QUE0_PAGE_INDEX),
-	_ENTRY(FPA_QUE1_PAGE_INDEX),
-	_ENTRY(FPA_QUE2_PAGE_INDEX),
-	_ENTRY(FPA_QUE3_PAGE_INDEX),
-	_ENTRY(FPA_QUE4_PAGE_INDEX),
-	_ENTRY(FPA_QUE5_PAGE_INDEX),
-	_ENTRY(FPA_QUE6_PAGE_INDEX),
-	_ENTRY(FPA_QUE7_PAGE_INDEX),
-	_ENTRY(FPA_QUE_EXP),
-	_ENTRY(FPA_QUE_ACT),
-};
-
-static const char *octfpa_dump_bufs_[8] = {
-	[0] = "recv",
-	[1] = "wq",
-	[2] = "cmdbuf",
-	[3] = "gbuf",
-};
-
-void
-octfpa_dump(void)
-{
-	octfpa_dump_regs();
-	octfpa_dump_bufs();
-}
-
-void
-octfpa_dump_regs(void)
-{
-	struct octfpa_softc *sc = &octfpa_softc;
-	const struct octfpa_dump_reg_ *reg;
-	uint64_t tmp;
-	char buf[512];
-	int i;
-
-	for (i = 0; i < (int)__arraycount(octfpa_dump_regs_); i++) {
-		reg = &octfpa_dump_regs_[i];
-		tmp = bus_space_read_8(sc->sc_regt, sc->sc_regh, reg->offset);
-		if (reg->format == NULL) {
-			snprintf(buf, sizeof(buf), "%16" PRIx64, tmp);
-		} else {
-			snprintb(buf, sizeof(buf), reg->format, tmp);
-		}
-		printf("\t%-24s: %s\n", reg->name, buf);
-	}
-}
-
-/*
- * XXX assume pool 7 is unused!
- */
-void
-octfpa_dump_bufs(void)
-{
-	int i;
-
-	for (i = 0; i < 8; i++)
-		octfpa_dump_buf(i);
-}
-
-void
-octfpa_dump_buf(int pool)
-{
-	int i;
-	uint64_t ptr;
-	const char *name;
-
-	name = octfpa_dump_bufs_[pool];
-	if (name == NULL)
-		return;
-	printf("%s pool:\n", name);
-	for (i = 0; (ptr = octfpa_load(pool)) != 0; i++) {
-		printf("\t%016" PRIx64 "%s", ptr, ((i % 4) == 3) ? "\n" : "");
-		octfpa_store(ptr, OCTEON_POOL_NO_DUMP, 0);
-	}
-	if (i % 4 != 3)
-		printf("\n");
-	printf("total = %d buffers\n", i);
-	while ((ptr = octfpa_load(OCTEON_POOL_NO_DUMP)) != 0)
-		octfpa_store(ptr, pool, 0);
-}
-#endif

Index: src/sys/arch/mips/cavium/dev/octeon_fpavar.h
diff -u src/sys/arch/mips/cavium/dev/octeon_fpavar.h:1.5 src/sys/arch/mips/cavium/dev/octeon_fpavar.h:1.6
--- src/sys/arch/mips/cavium/dev/octeon_fpavar.h:1.5	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_fpavar.h	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_fpavar.h,v 1.5 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_fpavar.h,v 1.6 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -54,10 +54,6 @@ void		*octfpa_buf_get(struct octfpa_buf 
 uint64_t	octfpa_query(int);
 int		octfpa_available_fpa_pool(int *available, int pool_no);
 
-#ifdef CNMAC_DEBUG
-void	octfpa_dump(void);
-#endif
-
 #define OCTEON_CACHE_LINE_SIZE (128)
 
 /* Pool sizes in bytes, must be multiple of a cache line */
Index: src/sys/arch/mips/cavium/dev/octeon_gmxvar.h
diff -u src/sys/arch/mips/cavium/dev/octeon_gmxvar.h:1.5 src/sys/arch/mips/cavium/dev/octeon_gmxvar.h:1.6
--- src/sys/arch/mips/cavium/dev/octeon_gmxvar.h:1.5	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_gmxvar.h	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_gmxvar.h,v 1.5 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_gmxvar.h,v 1.6 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -71,32 +71,6 @@ struct octgmx_port_softc {
 
 	int			sc_clk_tx_setting;
 	int			sc_clk_rx_setting;
-
-#if defined(OCTEON_DEBUG) || defined(CNMAC_DEBUG)
-#if 0
-	/* XXX */
-	struct evcnt		sc_ev_pausedrp;
-	struct evcnt		sc_ev_phydupx;
-	struct evcnt		sc_ev_physpd;
-	struct evcnt		sc_ev_phylink;
-#endif
-	struct evcnt		sc_ev_ifgerr;
-	struct evcnt		sc_ev_coldet;
-	struct evcnt		sc_ev_falerr;
-	struct evcnt		sc_ev_rcverr;
-	struct evcnt		sc_ev_rsverr;
-	struct evcnt		sc_ev_pckterr;
-	struct evcnt		sc_ev_ovrerr;
-	struct evcnt		sc_ev_niberr;
-	struct evcnt		sc_ev_skperr;
-	struct evcnt		sc_ev_lenerr;
-	struct evcnt		sc_ev_alnerr;
-	struct evcnt		sc_ev_fcserr;
-	struct evcnt		sc_ev_jabber;
-	struct evcnt		sc_ev_maxerr;
-	struct evcnt		sc_ev_carext;
-	struct evcnt		sc_ev_minerr;
-#endif
 };
 
 struct octgmx_softc {
@@ -110,14 +84,6 @@ struct octgmx_softc {
 
 	struct octgmx_port_softc
 				*sc_ports;
-
-#if defined(OCTEON_DEBUG) || defined(CNMAC_DEBUG)
-	struct evcnt		sc_ev_latecol;
-	struct evcnt		sc_ev_xsdef;
-	struct evcnt		sc_ev_xscol;
-	struct evcnt		sc_ev_undflw;
-	struct evcnt		sc_ev_pkonxa;
-#endif
 };
 #endif
 
Index: src/sys/arch/mips/cavium/dev/octeon_ipd.c
diff -u src/sys/arch/mips/cavium/dev/octeon_ipd.c:1.5 src/sys/arch/mips/cavium/dev/octeon_ipd.c:1.6
--- src/sys/arch/mips/cavium/dev/octeon_ipd.c:1.5	Fri Jun 19 02:23:43 2020
+++ src/sys/arch/mips/cavium/dev/octeon_ipd.c	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_ipd.c,v 1.5 2020/06/19 02:23:43 simonb Exp $	*/
+/*	$NetBSD: octeon_ipd.c,v 1.6 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_ipd.c,v 1.5 2020/06/19 02:23:43 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_ipd.c,v 1.6 2020/06/22 02:26:20 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -53,22 +53,6 @@ __KERNEL_RCSID(0, "$NetBSD: octeon_ipd.c
 #define IP_OFFSET(data, word2) \
 	((uintptr_t)(data) + (uintptr_t)__SHIFTOUT(word2, PIP_WQE_WORD2_IP_OFFSET))
 
-#ifdef CNMAC_DEBUG
-void			octipd_intr_evcnt_attach(struct octipd_softc *);
-void			octipd_intr_rml(void *);
-int			octipd_intr_drop(void *);
-
-void			octipd_dump(void);
-
-static void		*octipd_intr_drop_ih;
-struct evcnt		octipd_intr_drop_evcnt =
-			    EVCNT_INITIALIZER(EVCNT_TYPE_INTR, NULL, "octeon",
-			    "ipd drop intr");
-EVCNT_ATTACH_STATIC(octipd_intr_drop_evcnt);
-
-struct octipd_softc	*__octipd_softc[3/* XXX */];
-#endif
-
 /* XXX */
 void
 octipd_init(struct octipd_attach_args *aa, struct octipd_softc **rsc)
@@ -91,15 +75,6 @@ octipd_init(struct octipd_attach_args *a
 		panic("can't map %s space", "ipd register");
 
 	*rsc = sc;
-
-#ifdef CNMAC_DEBUG
-	octipd_int_enable(sc, 1);
-	octipd_intr_evcnt_attach(sc);
-	if (octipd_intr_drop_ih == NULL)
-		octipd_intr_drop_ih = octeon_intr_establish(CIU_INT_IPD_DRP,
-		    IPL_NET, octipd_intr_drop, NULL);
-	__octipd_softc[sc->sc_port] = sc;
-#endif /* CNMAC_DEBUG */
 }
 
 #define	_IPD_RD8(sc, off) \
@@ -294,165 +269,3 @@ octipd_sub_port_fcs(struct octipd_softc 
 		SET(sub_port_fcs, 1 << sc->sc_port);
 	_IPD_WR8(sc, IPD_SUB_PORT_FCS_OFFSET, sub_port_fcs);
 }
-
-#ifdef CNMAC_DEBUG
-int			octipd_intr_rml_verbose;
-struct evcnt		octipd_intr_evcnt;
-
-static const struct octeon_evcnt_entry octipd_intr_evcnt_entries[] = {
-#define	_ENTRY(name, type, parent, descr) \
-	OCTEON_EVCNT_ENTRY(struct octipd_softc, name, type, parent, descr)
-	_ENTRY(ipdbpsub,	MISC, NULL, "ipd backpressure subtract"),
-	_ENTRY(ipdprcpar3,	MISC, NULL, "ipd parity error 127:96"),
-	_ENTRY(ipdprcpar2,	MISC, NULL, "ipd parity error 95:64"),
-	_ENTRY(ipdprcpar1,	MISC, NULL, "ipd parity error 63:32"),
-	_ENTRY(ipdprcpar0,	MISC, NULL, "ipd parity error 31:0"),
-#undef	_ENTRY
-};
-
-void
-octipd_intr_evcnt_attach(struct octipd_softc *sc)
-{
-	OCTEON_EVCNT_ATTACH_EVCNTS(sc, octipd_intr_evcnt_entries, "ipd0");
-}
-
-void
-octipd_intr_rml(void *arg)
-{
-	int i;
-
-	octipd_intr_evcnt.ev_count++;
-	for (i = 0; i < 3/* XXX */; i++) {
-		struct octipd_softc *sc;
-		uint64_t reg;
-
-		sc = __octipd_softc[i];
-		KASSERT(sc != NULL);
-		reg = octipd_int_summary(sc);
-		if (octipd_intr_rml_verbose)
-			printf("%s: IPD_INT_SUM=0x%016" PRIx64 "\n", __func__, reg);
-		if (reg & IPD_INT_SUM_BP_SUB)
-			OCTEON_EVCNT_INC(sc, ipdbpsub);
-		if (reg & IPD_INT_SUM_PRC_PAR3)
-			OCTEON_EVCNT_INC(sc, ipdprcpar3);
-		if (reg & IPD_INT_SUM_PRC_PAR2)
-			OCTEON_EVCNT_INC(sc, ipdprcpar2);
-		if (reg & IPD_INT_SUM_PRC_PAR1)
-			OCTEON_EVCNT_INC(sc, ipdprcpar1);
-		if (reg & IPD_INT_SUM_PRC_PAR0)
-			OCTEON_EVCNT_INC(sc, ipdprcpar0);
-	}
-}
-
-void
-octipd_int_enable(struct octipd_softc *sc, int enable)
-{
-	uint64_t ipd_int_xxx = 0;
-
-	SET(ipd_int_xxx,
-	    IPD_INT_SUM_BP_SUB |
-	    IPD_INT_SUM_PRC_PAR3 |
-	    IPD_INT_SUM_PRC_PAR2 |
-	    IPD_INT_SUM_PRC_PAR1 |
-	    IPD_INT_SUM_PRC_PAR0);
-	_IPD_WR8(sc, IPD_INT_SUM_OFFSET, ipd_int_xxx);
-	_IPD_WR8(sc, IPD_INT_ENB_OFFSET, enable ? ipd_int_xxx : 0);
-}
-
-uint64_t
-octipd_int_summary(struct octipd_softc *sc)
-{
-	uint64_t summary;
-
-	summary = _IPD_RD8(sc, IPD_INT_SUM_OFFSET);
-	_IPD_WR8(sc, IPD_INT_SUM_OFFSET, summary);
-	return summary;
-}
-
-int
-octipd_intr_drop(void *arg)
-{
-	octeon_write_csr(CIU_INT0_SUM0, CIU_INTX_SUM0_IPD_DRP);
-	octipd_intr_drop_evcnt.ev_count++;
-	return (1);
-}
-
-#define	_ENTRY(x)	{ #x, x##_BITS, x##_OFFSET }
-
-struct octipd_dump_reg {
-	const char *name;
-	const char *format;
-	size_t	offset;
-};
-
-static const struct octipd_dump_reg octipd_dump_regs[] = {
-	_ENTRY(IPD_1ST_MBUFF_SKIP),
-	_ENTRY(IPD_NOT_1ST_MBUFF_SKIP),
-	_ENTRY(IPD_PACKET_MBUFF_SIZE),
-	_ENTRY(IPD_CTL_STATUS),
-	_ENTRY(IPD_WQE_FPA_QUEUE),
-	_ENTRY(IPD_PORT0_BP_PAGE_CNT),
-	_ENTRY(IPD_PORT1_BP_PAGE_CNT),
-	_ENTRY(IPD_PORT2_BP_PAGE_CNT),
-	_ENTRY(IPD_PORT32_BP_PAGE_CNT),
-	_ENTRY(IPD_SUB_PORT_BP_PAGE_CNT),
-	_ENTRY(IPD_1ST_NEXT_PTR_BACK),
-	_ENTRY(IPD_2ND_NEXT_PTR_BACK),
-	_ENTRY(IPD_INT_ENB),
-	_ENTRY(IPD_INT_SUM),
-	_ENTRY(IPD_SUB_PORT_FCS),
-	_ENTRY(IPD_QOS0_RED_MARKS),
-	_ENTRY(IPD_QOS1_RED_MARKS),
-	_ENTRY(IPD_QOS2_RED_MARKS),
-	_ENTRY(IPD_QOS3_RED_MARKS),
-	_ENTRY(IPD_QOS4_RED_MARKS),
-	_ENTRY(IPD_QOS5_RED_MARKS),
-	_ENTRY(IPD_QOS6_RED_MARKS),
-	_ENTRY(IPD_QOS7_RED_MARKS),
-	_ENTRY(IPD_PORT_BP_COUNTERS_PAIR0),
-	_ENTRY(IPD_PORT_BP_COUNTERS_PAIR1),
-	_ENTRY(IPD_PORT_BP_COUNTERS_PAIR2),
-	_ENTRY(IPD_PORT_BP_COUNTERS_PAIR32),
-	_ENTRY(IPD_RED_PORT_ENABLE),
-	_ENTRY(IPD_RED_QUE0_PARAM),
-	_ENTRY(IPD_RED_QUE1_PARAM),
-	_ENTRY(IPD_RED_QUE2_PARAM),
-	_ENTRY(IPD_RED_QUE3_PARAM),
-	_ENTRY(IPD_RED_QUE4_PARAM),
-	_ENTRY(IPD_RED_QUE5_PARAM),
-	_ENTRY(IPD_RED_QUE6_PARAM),
-	_ENTRY(IPD_RED_QUE7_PARAM),
-	_ENTRY(IPD_PTR_COUNT),
-	_ENTRY(IPD_BP_PRT_RED_END),
-	_ENTRY(IPD_QUE0_FREE_PAGE_CNT),
-	_ENTRY(IPD_CLK_COUNT),
-	_ENTRY(IPD_PWP_PTR_FIFO_CTL),
-	_ENTRY(IPD_PRC_HOLD_PTR_FIFO_CTL),
-	_ENTRY(IPD_PRC_PORT_PTR_FIFO_CTL),
-	_ENTRY(IPD_PKT_PTR_VALID),
-	_ENTRY(IPD_WQE_PTR_VALID),
-	_ENTRY(IPD_BIST_STATUS),
-};
-
-void
-octipd_dump(void)
-{
-	struct octipd_softc *sc;
-	const struct octipd_dump_reg *reg;
-	uint64_t tmp;
-	char buf[512];
-	int i;
-
-	sc = __octipd_softc[0];
-	for (i = 0; i < (int)__arraycount(octipd_dump_regs); i++) {
-		reg = &octipd_dump_regs[i];
-		tmp = _IPD_RD8(sc, reg->offset);
-		if (reg->format == NULL) {
-			snprintf(buf, sizeof(buf), "%16" PRIx64, tmp);
-		} else {
-			snprintb(buf, sizeof(buf), reg->format, tmp);
-		}
-		printf("%-32s: %s\n", reg->name, buf);
-	}
-}
-#endif /* CNMAC_DEBUG */
Index: src/sys/arch/mips/cavium/dev/octeon_pip.c
diff -u src/sys/arch/mips/cavium/dev/octeon_pip.c:1.5 src/sys/arch/mips/cavium/dev/octeon_pip.c:1.6
--- src/sys/arch/mips/cavium/dev/octeon_pip.c:1.5	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_pip.c	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_pip.c,v 1.5 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_pip.c,v 1.6 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_pip.c,v 1.5 2020/06/18 13:52:08 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_pip.c,v 1.6 2020/06/22 02:26:20 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -42,16 +42,6 @@ __KERNEL_RCSID(0, "$NetBSD: octeon_pip.c
 #include <mips/cavium/dev/octeon_pipreg.h>
 #include <mips/cavium/dev/octeon_pipvar.h>
 
-#ifdef CNMAC_DEBUG
-struct octpip_softc *__octpip_softc;
-
-void			octpip_intr_evcnt_attach(struct octpip_softc *);
-void			octpip_intr_rml(void *);
-
-void			octpip_dump(void);
-void			octpip_int_enable(struct octpip_softc *, int);
-#endif
-
 /*
  * register definitions (for debug and statics)
  */
@@ -88,27 +78,6 @@ static const struct octpip_dump_reg_ oct
 	_ENTRY_0_1_2_32	(PIP_STAT_INB_ERRS),
 };
 
-#ifdef CNMAC_DEBUG
-static const struct octpip_dump_reg_ octpip_dump_regs_[] = {
-	_ENTRY		(PIP_BIST_STATUS),
-	_ENTRY		(PIP_INT_REG),
-	_ENTRY		(PIP_INT_EN),
-	_ENTRY		(PIP_STAT_CTL),
-	_ENTRY		(PIP_GBL_CTL),
-	_ENTRY		(PIP_GBL_CFG),
-	_ENTRY		(PIP_SOFT_RST),
-	_ENTRY		(PIP_IP_OFFSET),
-	_ENTRY		(PIP_TAG_SECRET),
-	_ENTRY		(PIP_TAG_MASK),
-	_ENTRY_0_3	(PIP_DEC_IPSEC),
-	_ENTRY		(PIP_RAW_WORD),
-	_ENTRY_0_7	(PIP_QOS_VLAN),
-	_ENTRY_0_3	(PIP_QOS_WATCH),
-	_ENTRY_0_1_2_32	(PIP_PRT_CFG),
-	_ENTRY_0_1_2_32	(PIP_PRT_TAG),
-};
-#endif
-
 #undef	_ENTRY
 #undef	_ENTRY_0_3
 #undef	_ENTRY_0_7
@@ -137,13 +106,6 @@ octpip_init(struct octpip_attach_args *a
 		panic("can't map %s space", "pip register");
 
 	*rsc = sc;
-
-#ifdef CNMAC_DEBUG
-	octpip_int_enable(sc, 1);
-	octpip_intr_evcnt_attach(sc);
-	__octpip_softc = sc;
-	printf("PIP Code initialized.\n");
-#endif
 }
 
 #define	_PIP_RD8(sc, off) \
@@ -247,152 +209,3 @@ octpip_stats(struct octpip_softc *sc, st
 
 	_PIP_WR8(sc, PIP_STAT_CTL_OFFSET, pip_stat_ctl);
 }
-
-
-#ifdef CNMAC_DEBUG
-int			octpip_intr_rml_verbose;
-struct evcnt		octpip_intr_evcnt;
-
-static const struct octeon_evcnt_entry octpip_intr_evcnt_entries[] = {
-#define	_ENTRY(name, type, parent, descr) \
-	OCTEON_EVCNT_ENTRY(struct octpip_softc, name, type, parent, descr)
-	_ENTRY(pipbeperr,	MISC, NULL, "pip parity error backend"),
-	_ENTRY(pipfeperr,	MISC, NULL, "pip parity error frontend"),
-	_ENTRY(pipskprunt,	MISC, NULL, "pip skiper"),
-	_ENTRY(pipbadtag,	MISC, NULL, "pip bad tag"),
-	_ENTRY(pipprtnxa,	MISC, NULL, "pip nonexistent port"),
-	_ENTRY(pippktdrp,	MISC, NULL, "pip qos drop"),
-#undef	_ENTRY
-};
-
-void
-octpip_intr_evcnt_attach(struct octpip_softc *sc)
-{
-	OCTEON_EVCNT_ATTACH_EVCNTS(sc, octpip_intr_evcnt_entries, "pip0");
-}
-
-void
-octpip_intr_rml(void *arg)
-{
-	struct octpip_softc *sc;
-	uint64_t reg;
-
-	octpip_intr_evcnt.ev_count++;
-	sc = __octpip_softc;
-	KASSERT(sc != NULL);
-	reg = octpip_int_summary(sc);
-	if (octpip_intr_rml_verbose)
-		printf("%s: PIP_INT_REG=0x%016" PRIx64 "\n", __func__, reg);
-	if (reg & PIP_INT_REG_BEPERR)
-		OCTEON_EVCNT_INC(sc, pipbeperr);
-	if (reg & PIP_INT_REG_FEPERR)
-		OCTEON_EVCNT_INC(sc, pipfeperr);
-	if (reg & PIP_INT_REG_SKPRUNT)
-		OCTEON_EVCNT_INC(sc, pipskprunt);
-	if (reg & PIP_INT_REG_BADTAG)
-		OCTEON_EVCNT_INC(sc, pipbadtag);
-	if (reg & PIP_INT_REG_PRTNXA)
-		OCTEON_EVCNT_INC(sc, pipprtnxa);
-	if (reg & PIP_INT_REG_PKTDRP)
-		OCTEON_EVCNT_INC(sc, pippktdrp);
-}
-
-void		octpip_dump_regs(void);
-void		octpip_dump_stats(void);
-
-void
-octpip_dump(void)
-{
-	octpip_dump_regs();
-	octpip_dump_stats();
-}
-
-void
-octpip_dump_regs(void)
-{
-	struct octpip_softc *sc = __octpip_softc;
-	const struct octpip_dump_reg_ *reg;
-	uint64_t tmp;
-	char buf[512];
-	int i;
-
-	for (i = 0; i < (int)__arraycount(octpip_dump_regs_); i++) {
-		reg = &octpip_dump_regs_[i];
-		tmp = _PIP_RD8(sc, reg->offset);
-		if (reg->format == NULL) {
-			snprintf(buf, sizeof(buf), "%16" PRIx64, tmp);
-		} else {
-			snprintb(buf, sizeof(buf), reg->format, tmp);
-		}
-		printf("\t%-24s: %s\n", reg->name, buf);
-	}
-}
-
-void
-octpip_dump_stats(void)
-{
-	struct octpip_softc *sc = __octpip_softc;
-	const struct octpip_dump_reg_ *reg;
-	uint64_t tmp;
-	char buf[512];
-	int i;
-	uint64_t pip_stat_ctl;
-
-	pip_stat_ctl = _PIP_RD8(sc, PIP_STAT_CTL_OFFSET);
-	_PIP_WR8(sc, PIP_STAT_CTL_OFFSET, pip_stat_ctl & ~PIP_STAT_CTL_RDCLR);
-	for (i = 0; i < (int)__arraycount(octpip_dump_stats_); i++) {
-		reg = &octpip_dump_stats_[i];
-		tmp = _PIP_RD8(sc, reg->offset);
-		if (reg->format == NULL) {
-			snprintf(buf, sizeof(buf), "%16" PRIx64, tmp);
-		} else {
-			snprintb(buf, sizeof(buf), reg->format, tmp);
-		}
-		printf("\t%-24s: %s\n", reg->name, buf);
-	}
-	printf("\t%-24s:\n", "PIP_QOS_DIFF[0-63]");
-	for (i = 0; i < 64; i++) {
-		tmp = _PIP_RD8(sc, PIP_QOS_DIFF0_OFFSET + sizeof(uint64_t) * i);
-		snprintf(buf, sizeof(buf), "%16" PRIx64, tmp);
-		printf("%s\t%s%s",
-		    ((i % 4) == 0) ? "\t" : "",
-		    buf,
-		    ((i % 4) == 3) ? "\n" : "");
-	}
-	printf("\t%-24s:\n", "PIP_TAG_INC[0-63]");
-	for (i = 0; i < 64; i++) {
-		tmp = _PIP_RD8(sc, PIP_TAG_INC0_OFFSET + sizeof(uint64_t) * i);
-		snprintf(buf, sizeof(buf), "%16" PRIx64, tmp);
-		printf("%s\t%s%s",
-		    ((i % 4) == 0) ? "\t" : "",
-		    buf,
-		    ((i % 4) == 3) ? "\n" : "");
-	}
-	_PIP_WR8(sc, PIP_STAT_CTL_OFFSET, pip_stat_ctl);
-}
-
-void
-octpip_int_enable(struct octpip_softc *sc, int enable)
-{
-	uint64_t pip_int_xxx = 0;
-
-	SET(pip_int_xxx,
-	    PIP_INT_EN_BEPERR |
-	    PIP_INT_EN_FEPERR |
-	    PIP_INT_EN_SKPRUNT |
-	    PIP_INT_EN_BADTAG |
-	    PIP_INT_EN_PRTNXA |
-	    PIP_INT_EN_PKTDRP);
-	_PIP_WR8(sc, PIP_INT_REG_OFFSET, pip_int_xxx);
-	_PIP_WR8(sc, PIP_INT_EN_OFFSET, enable ? pip_int_xxx : 0);
-}
-uint64_t
-octpip_int_summary(struct octpip_softc *sc)
-{
-	uint64_t summary;
-
-	summary = _PIP_RD8(sc, PIP_INT_REG_OFFSET);
-	_PIP_WR8(sc, PIP_INT_REG_OFFSET, summary);
-	return summary;
-}
-#endif /* CNMAC_DEBUG */
Index: src/sys/arch/mips/cavium/dev/octeon_powvar.h
diff -u src/sys/arch/mips/cavium/dev/octeon_powvar.h:1.5 src/sys/arch/mips/cavium/dev/octeon_powvar.h:1.6
--- src/sys/arch/mips/cavium/dev/octeon_powvar.h:1.5	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_powvar.h	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_powvar.h,v 1.5 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_powvar.h,v 1.6 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -57,25 +57,6 @@ struct octpow_softc {
 	bus_space_handle_t	sc_regh;
 	int			sc_port;
 	int			sc_int_pc_base;
-#ifdef CNMAC_DEBUG
-	struct evcnt		sc_ev_powecciopcsrpend;
-	struct evcnt		sc_ev_powecciopdbgpend;
-	struct evcnt		sc_ev_powecciopaddwork;
-	struct evcnt		sc_ev_powecciopillop;
-	struct evcnt		sc_ev_poweccioppend24;
-	struct evcnt		sc_ev_poweccioppend23;
-	struct evcnt		sc_ev_poweccioppend22;
-	struct evcnt		sc_ev_poweccioppend21;
-	struct evcnt		sc_ev_poweccioptagnull;
-	struct evcnt		sc_ev_poweccioptagnullnull;
-	struct evcnt		sc_ev_powecciopordatom;
-	struct evcnt		sc_ev_powecciopnull;
-	struct evcnt		sc_ev_powecciopnullnull;
-	struct evcnt		sc_ev_poweccrpe;
-	struct evcnt		sc_ev_poweccsyn;
-	struct evcnt		sc_ev_poweccdbe;
-	struct evcnt		sc_ev_poweccsbe;
-#endif
 };
 
 /* XXX */

Index: src/sys/arch/mips/cavium/dev/octeon_gmx.c
diff -u src/sys/arch/mips/cavium/dev/octeon_gmx.c:1.13 src/sys/arch/mips/cavium/dev/octeon_gmx.c:1.14
--- src/sys/arch/mips/cavium/dev/octeon_gmx.c:1.13	Fri Jun 19 02:23:43 2020
+++ src/sys/arch/mips/cavium/dev/octeon_gmx.c	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_gmx.c,v 1.13 2020/06/19 02:23:43 simonb Exp $	*/
+/*	$NetBSD: octeon_gmx.c,v 1.14 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_gmx.c,v 1.13 2020/06/19 02:23:43 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_gmx.c,v 1.14 2020/06/22 02:26:20 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -110,13 +110,6 @@ static int	octgmx_rgmii_set_mac_addr(str
 		    uint64_t);
 static int	octgmx_rgmii_set_filter(struct octgmx_port_softc *);
 
-#ifdef CNMAC_DEBUG
-void		octgmx_intr_evcnt_attach(struct octgmx_softc *);
-void		octgmx_dump(void);
-void		octgmx_debug_reset(void);
-int		octgmx_intr_drop(void *);
-#endif
-
 static const int	octgmx_rx_adr_cam_regs[] = {
 	GMX0_RX0_ADR_CAM0, GMX0_RX0_ADR_CAM1, GMX0_RX0_ADR_CAM2,
 	GMX0_RX0_ADR_CAM3, GMX0_RX0_ADR_CAM4, GMX0_RX0_ADR_CAM5
@@ -153,20 +146,6 @@ struct octgmx_port_ops *octgmx_port_ops[
 	[GMX_SPI42_PORT] = &octgmx_port_ops_spi42
 };
 
-#ifdef CNMAC_DEBUG
-static void		*octgmx_intr_drop_ih;
-struct evcnt		octgmx_intr_drop_evcnt =
-			    EVCNT_INITIALIZER(EVCNT_TYPE_INTR, NULL, "octeon",
-			    "gmx drop intr");
-struct evcnt		octgmx_intr_evcnt =
-			    EVCNT_INITIALIZER(EVCNT_TYPE_INTR, NULL, "octeon",
-			    "gmx intr");
-EVCNT_ATTACH_STATIC(octgmx_intr_drop_evcnt);
-EVCNT_ATTACH_STATIC(octgmx_intr_evcnt);
-
-struct octgmx_port_softc *__octgmx_port_softc[3/* XXX */];
-#endif
-
 CFATTACH_DECL_NEW(octgmx, sizeof(struct octgmx_softc),
     octgmx_match, octgmx_attach, NULL, NULL);
 
@@ -230,18 +209,7 @@ octgmx_attach(device_t parent, device_t 
 		gmx_aa.ga_gmx_port = port_sc;
 		config_found_sm_loc(self, "octgmx", NULL, &gmx_aa,
 		    octgmx_print, octgmx_submatch);
-
-#ifdef CNMAC_DEBUG
-		__octgmx_port_softc[i] = port_sc;
-#endif
 	}
-
-#ifdef CNMAC_DEBUG
-	octgmx_intr_evcnt_attach(sc);
-	if (octgmx_intr_drop_ih == NULL)
-		octgmx_intr_drop_ih = octeon_intr_establish(CIU_INT_GMX_DRP,
-		    IPL_NET, octgmx_intr_drop, NULL);
-#endif
 }
 
 static int
@@ -1172,454 +1140,3 @@ octgmx_setfilt_addrs(struct octgmx_port_
 	return 0;
 }
 #endif
-
-/* ---- interrupt */
-
-#ifdef CNMAC_DEBUG
-void			octgmx_intr_rml_gmx0(void);
-
-int			octgmx_intr_rml_verbose;
-
-/* tx - per unit (gmx0, gmx1, ...) */
-static const struct octeon_evcnt_entry octgmx_intr_evcnt_tx_entries[] = {
-#define	_ENTRY(name, type, parent, descr) \
-	OCTEON_EVCNT_ENTRY(struct octgmx_softc, name, type, parent, descr)
-	_ENTRY(latecol,		MISC, NULL, "tx late collision"),
-	_ENTRY(xsdef,		MISC, NULL, "tx excessive deferral"),
-	_ENTRY(xscol,		MISC, NULL, "tx excessive collision"),
-	_ENTRY(undflw,		MISC, NULL, "tx underflow"),
-	_ENTRY(pkonxa,		MISC, NULL, "tx port addr out-of-range")
-#undef	_ENTRY
-};
-
-/* rx - per port (gmx0:0, gmx0:1, ...) */
-static const struct octeon_evcnt_entry octgmx_intr_evcnt_rx_entries[] = {
-#define	_ENTRY(name, type, parent, descr) \
-	OCTEON_EVCNT_ENTRY(struct octgmx_port_softc, name, type, parent, descr)
-	_ENTRY(minerr,		MISC, NULL, "rx min error"),
-	_ENTRY(carext,		MISC, NULL, "rx carrier error"),
-	_ENTRY(maxerr,		MISC, NULL, "rx max error"),
-	_ENTRY(jabber,		MISC, NULL, "rx jabber error"),
-	_ENTRY(fcserr,		MISC, NULL, "rx fcs error"),
-	_ENTRY(alnerr,		MISC, NULL, "rx align error"),
-	_ENTRY(lenerr,		MISC, NULL, "rx length error"),
-	_ENTRY(rcverr,		MISC, NULL, "rx receive error"),
-	_ENTRY(skperr,		MISC, NULL, "rx skip error"),
-	_ENTRY(niberr,		MISC, NULL, "rx nibble error"),
-	_ENTRY(ovrerr,		MISC, NULL, "rx overflow error"),
-	_ENTRY(pckterr,		MISC, NULL, "rx packet error"),
-	_ENTRY(rsverr,		MISC, NULL, "rx reserved opcode error"),
-	_ENTRY(falerr,		MISC, NULL, "rx false carrier error"),
-	_ENTRY(coldet,		MISC, NULL, "rx collision detect"),
-	_ENTRY(ifgerr,		MISC, NULL, "rx ifg error")
-#undef	_ENTRY
-};
-
-void
-octgmx_intr_evcnt_attach(struct octgmx_softc *sc)
-{
-	struct octgmx_port_softc *port_sc;
-	int i;
-
-	OCTEON_EVCNT_ATTACH_EVCNTS(sc, octgmx_intr_evcnt_tx_entries,
-	    device_xname(sc->sc_dev));
-	for (i = 0; i < sc->sc_nports; i++) {
-		port_sc = &sc->sc_ports[i];
-		OCTEON_EVCNT_ATTACH_EVCNTS(port_sc, octgmx_intr_evcnt_rx_entries,
-		    device_xname(sc->sc_dev));
-	}
-}
-
-void
-octgmx_intr_rml_gmx0(void)
-{
-	struct octgmx_port_softc *sc = NULL/* XXX gcc */;
-	int i;
-	uint64_t reg = 0/* XXX gcc */;
-
-	octgmx_intr_evcnt.ev_count++;
-
-	sc = __octgmx_port_softc[0];
-	if (sc == NULL)
-		return;
-
-	/* GMX0_RXn_INT_REG or GMX0_TXn_INT_REG */
-	reg = octgmx_get_tx_int_reg(sc);
-	if (octgmx_intr_rml_verbose && reg != 0)
-		printf("%s: GMX_TX_INT_REG=0x%016" PRIx64 "\n", __func__, reg);
-	if (reg & TX_INT_REG_LATE_COL)
-		OCTEON_EVCNT_INC(sc->sc_port_gmx, latecol);
-	if (reg & TX_INT_REG_XSDEF)
-		OCTEON_EVCNT_INC(sc->sc_port_gmx, xsdef);
-	if (reg & TX_INT_REG_XSCOL)
-		OCTEON_EVCNT_INC(sc->sc_port_gmx, xscol);
-	if (reg & TX_INT_REG_UNDFLW)
-		OCTEON_EVCNT_INC(sc->sc_port_gmx, undflw);
-	if (reg & TX_INT_REG_PKO_NXA)
-		OCTEON_EVCNT_INC(sc->sc_port_gmx, pkonxa);
-
-	for (i = 0; i < GMX_PORT_NUNITS; i++) {
-		sc = __octgmx_port_softc[i];
-		if (sc == NULL)
-			continue;
-		reg = octgmx_get_rx_int_reg(sc);
-		if (octgmx_intr_rml_verbose)
-			printf("%s: GMX_RX_INT_REG=0x%016" PRIx64 "\n", __func__, reg);
-		if (reg & RXN_INT_REG_MINERR)
-			OCTEON_EVCNT_INC(sc, minerr);
-		if (reg & RXN_INT_REG_CAREXT)
-			OCTEON_EVCNT_INC(sc, carext);
-		if (reg & RXN_INT_REG_JABBER)
-			OCTEON_EVCNT_INC(sc, jabber);
-		if (reg & RXN_INT_REG_FCSERR)
-			OCTEON_EVCNT_INC(sc, fcserr);
-		if (reg & RXN_INT_REG_ALNERR)
-			OCTEON_EVCNT_INC(sc, alnerr);
-		if (reg & RXN_INT_REG_LENERR)
-			OCTEON_EVCNT_INC(sc, lenerr);
-		if (reg & RXN_INT_REG_RCVERR)
-			OCTEON_EVCNT_INC(sc, rcverr);
-		if (reg & RXN_INT_REG_SKPERR)
-			OCTEON_EVCNT_INC(sc, skperr);
-		if (reg & RXN_INT_REG_NIBERR)
-			OCTEON_EVCNT_INC(sc, niberr);
-		if (reg & RXN_INT_REG_OVRERR)
-			OCTEON_EVCNT_INC(sc, ovrerr);
-		if (reg & RXN_INT_REG_PCTERR)
-			OCTEON_EVCNT_INC(sc, pckterr);
-		if (reg & RXN_INT_REG_RSVERR)
-			OCTEON_EVCNT_INC(sc, rsverr);
-		if (reg & RXN_INT_REG_FALERR)
-			OCTEON_EVCNT_INC(sc, falerr);
-		if (reg & RXN_INT_REG_COLDET)
-			OCTEON_EVCNT_INC(sc, coldet);
-		if (reg & RXN_INT_REG_IFGERR)
-			OCTEON_EVCNT_INC(sc, ifgerr);
-	}
-}
-
-#ifdef notyet
-void
-octgmx_intr_rml_gmx1(void)
-{
-	uint64_t reg = 0/* XXX gcc */;
-
-		/* GMX1_RXn_INT_REG or GMX1_TXn_INT_REG */
-}
-#endif
-
-int
-octgmx_intr_drop(void *arg)
-{
-	octeon_write_csr(CIU_INT0_SUM0, CIU_INTX_SUM0_GMX_DRP);
-	octgmx_intr_drop_evcnt.ev_count++;
-	return (1);
-}
-
-uint64_t
-octgmx_get_rx_int_reg(struct octgmx_port_softc *sc)
-{
-	uint64_t reg;
-	uint64_t rx_int_reg = 0;
-
-	reg = _GMX_PORT_RD8(sc, GMX0_RX0_INT_REG);
-	/* clear */
-	SET(rx_int_reg, 0 |
-	    RXN_INT_REG_PHY_DUPX |
-	    RXN_INT_REG_PHY_SPD |
-	    RXN_INT_REG_PHY_LINK |
-	    RXN_INT_REG_IFGERR |
-	    RXN_INT_REG_COLDET |
-	    RXN_INT_REG_FALERR |
-	    RXN_INT_REG_RSVERR |
-	    RXN_INT_REG_PCTERR |
-	    RXN_INT_REG_OVRERR |
-	    RXN_INT_REG_NIBERR |
-	    RXN_INT_REG_SKPERR |
-	    RXN_INT_REG_RCVERR |
-	    RXN_INT_REG_LENERR |
-	    RXN_INT_REG_ALNERR |
-	    RXN_INT_REG_FCSERR |
-	    RXN_INT_REG_JABBER |
-	    RXN_INT_REG_MAXERR |
-	    RXN_INT_REG_CAREXT |
-	    RXN_INT_REG_MINERR);
-	_GMX_PORT_WR8(sc, GMX0_RX0_INT_REG, rx_int_reg);
-
-	return reg;
-}
-
-uint64_t
-octgmx_get_tx_int_reg(struct octgmx_port_softc *sc)
-{
-	uint64_t reg;
-	uint64_t tx_int_reg = 0;
-
-	reg = _GMX_PORT_RD8(sc, GMX0_TX_INT_REG);
-	/* clear */
-	SET(tx_int_reg, 0 |
-	    TX_INT_REG_LATE_COL |
-	    TX_INT_REG_XSDEF |
-	    TX_INT_REG_XSCOL |
-	    TX_INT_REG_UNDFLW |
-	    TX_INT_REG_PKO_NXA);
-	_GMX_PORT_WR8(sc, GMX0_TX_INT_REG, tx_int_reg);
-
-	return reg;
-}
-#endif	/* CNMAC_DEBUG */
-
-/* ---- debug */
-
-#ifdef CNMAC_DEBUG
-#define	_ENTRY(x)	{ #x, x##_BITS, x }
-
-struct octgmx_dump_reg_ {
-	const char *name;
-	const char *format;
-	size_t	offset;
-};
-
-static const struct octgmx_dump_reg_ octgmx_dump_regs_[] = {
-	_ENTRY(GMX0_SMAC0),
-	_ENTRY(GMX0_BIST0),
-	_ENTRY(GMX0_RX_PRTS),
-	_ENTRY(GMX0_RX_BP_DROP0),
-	_ENTRY(GMX0_RX_BP_DROP1),
-	_ENTRY(GMX0_RX_BP_DROP2),
-	_ENTRY(GMX0_RX_BP_ON0),
-	_ENTRY(GMX0_RX_BP_ON1),
-	_ENTRY(GMX0_RX_BP_ON2),
-	_ENTRY(GMX0_RX_BP_OFF0),
-	_ENTRY(GMX0_RX_BP_OFF1),
-	_ENTRY(GMX0_RX_BP_OFF2),
-	_ENTRY(GMX0_TX_PRTS),
-	_ENTRY(GMX0_TX_IFG),
-	_ENTRY(GMX0_TX_JAM),
-	_ENTRY(GMX0_TX_COL_ATTEMPT),
-	_ENTRY(GMX0_TX_PAUSE_PKT_DMAC),
-	_ENTRY(GMX0_TX_PAUSE_PKT_TYPE),
-	_ENTRY(GMX0_TX_OVR_BP),
-	_ENTRY(GMX0_TX_BP),
-	_ENTRY(GMX0_TX_CORRUPT),
-	_ENTRY(GMX0_RX_PRT_INFO),
-	_ENTRY(GMX0_TX_LFSR),
-	_ENTRY(GMX0_TX_INT_REG),
-	_ENTRY(GMX0_TX_INT_EN),
-	_ENTRY(GMX0_NXA_ADR),
-	_ENTRY(GMX0_BAD_REG),
-	_ENTRY(GMX0_STAT_BP),
-	_ENTRY(GMX0_TX_CLK_MSK0),
-	_ENTRY(GMX0_TX_CLK_MSK1),
-	_ENTRY(GMX0_RX_TX_STATUS),
-	_ENTRY(GMX0_INF_MODE),
-};
-
-static const struct octgmx_dump_reg_ octgmx_dump_port_regs_[] = {
-	_ENTRY(GMX0_RX0_INT_REG),
-	_ENTRY(GMX0_RX0_INT_EN),
-	_ENTRY(GMX0_PRT0_CFG),
-	_ENTRY(GMX0_RX0_FRM_CTL),
-	_ENTRY(GMX0_RX0_FRM_CHK),
-	_ENTRY(GMX0_RX0_FRM_MIN),
-	_ENTRY(GMX0_RX0_FRM_MAX),
-	_ENTRY(GMX0_RX0_JABBER),
-	_ENTRY(GMX0_RX0_DECISION),
-	_ENTRY(GMX0_RX0_UDD_SKP),
-	_ENTRY(GMX0_RX0_STATS_CTL),
-	_ENTRY(GMX0_RX0_IFG),
-	_ENTRY(GMX0_RX0_RX_INBND),
-	_ENTRY(GMX0_RX0_ADR_CTL),
-	_ENTRY(GMX0_RX0_ADR_CAM_EN),
-	_ENTRY(GMX0_RX0_ADR_CAM0),
-	_ENTRY(GMX0_RX0_ADR_CAM1),
-	_ENTRY(GMX0_RX0_ADR_CAM2),
-	_ENTRY(GMX0_RX0_ADR_CAM3),
-	_ENTRY(GMX0_RX0_ADR_CAM4),
-	_ENTRY(GMX0_RX0_ADR_CAM5),
-	_ENTRY(GMX0_TX0_CLK),
-	_ENTRY(GMX0_TX0_THRESH),
-	_ENTRY(GMX0_TX0_APPEND),
-	_ENTRY(GMX0_TX0_SLOT),
-	_ENTRY(GMX0_TX0_BURST),
-	_ENTRY(GMX0_TX0_PAUSE_PKT_TIME),
-	_ENTRY(GMX0_TX0_MIN_PKT),
-	_ENTRY(GMX0_TX0_PAUSE_PKT_INTERVAL),
-	_ENTRY(GMX0_TX0_SOFT_PAUSE),
-	_ENTRY(GMX0_TX0_PAUSE_TOGO),
-	_ENTRY(GMX0_TX0_PAUSE_ZERO),
-	_ENTRY(GMX0_TX0_STATS_CTL),
-	_ENTRY(GMX0_TX0_CTL),
-};
-
-static const struct octgmx_dump_reg_ octgmx_dump_port_stats_[] = {
-	_ENTRY(GMX0_RX0_STATS_PKTS),
-	_ENTRY(GMX0_RX0_STATS_OCTS),
-	_ENTRY(GMX0_RX0_STATS_PKTS_CTL),
-	_ENTRY(GMX0_RX0_STATS_OCTS_CTL),
-	_ENTRY(GMX0_RX0_STATS_PKTS_DMAC),
-	_ENTRY(GMX0_RX0_STATS_OCTS_DMAC),
-	_ENTRY(GMX0_RX0_STATS_PKTS_DRP),
-	_ENTRY(GMX0_RX0_STATS_OCTS_DRP),
-	_ENTRY(GMX0_RX0_STATS_PKTS_BAD),
-	_ENTRY(GMX0_TX0_STAT0),
-	_ENTRY(GMX0_TX0_STAT1),
-	_ENTRY(GMX0_TX0_STAT2),
-	_ENTRY(GMX0_TX0_STAT3),
-	_ENTRY(GMX0_TX0_STAT4),
-	_ENTRY(GMX0_TX0_STAT5),
-	_ENTRY(GMX0_TX0_STAT6),
-	_ENTRY(GMX0_TX0_STAT7),
-	_ENTRY(GMX0_TX0_STAT8),
-	_ENTRY(GMX0_TX0_STAT9),
-};
-
-void		octgmx_dump_common(void);
-void		octgmx_dump_port0(void);
-void		octgmx_dump_port1(void);
-void		octgmx_dump_port2(void);
-void		octgmx_dump_port0_regs(void);
-void		octgmx_dump_port1_regs(void);
-void		octgmx_dump_port2_regs(void);
-void		octgmx_dump_port0_stats(void);
-void		octgmx_dump_port1_stats(void);
-void		octgmx_dump_port2_stats(void);
-void		octgmx_dump_port_regs(int);
-void		octgmx_dump_port_stats(int);
-void		octgmx_dump_common_x(int, const struct octgmx_dump_reg_ *, size_t);
-void		octgmx_dump_port_x(int, const struct octgmx_dump_reg_ *, size_t);
-void		octgmx_dump_x(int, const struct octgmx_dump_reg_ *, size_t, size_t, int);
-void		octgmx_dump_x_index(char *, size_t, int);
-
-void
-octgmx_dump(void)
-{
-	octgmx_dump_common();
-	octgmx_dump_port0();
-	octgmx_dump_port1();
-	octgmx_dump_port2();
-}
-
-void
-octgmx_dump_common(void)
-{
-	octgmx_dump_common_x(0, octgmx_dump_regs_,
-	    __arraycount(octgmx_dump_regs_));
-}
-
-void
-octgmx_dump_port0(void)
-{
-	octgmx_dump_port_regs(0);
-	octgmx_dump_port_stats(0);
-}
-
-void
-octgmx_dump_port1(void)
-{
-	octgmx_dump_port_regs(1);
-	octgmx_dump_port_stats(1);
-}
-
-void
-octgmx_dump_port2(void)
-{
-	octgmx_dump_port_regs(2);
-	octgmx_dump_port_stats(2);
-}
-
-void
-octgmx_dump_port_regs(int portno)
-{
-	octgmx_dump_port_x(portno, octgmx_dump_port_regs_,
-	    __arraycount(octgmx_dump_port_regs_));
-}
-
-void
-octgmx_dump_port_stats(int portno)
-{
-	struct octgmx_port_softc *sc = __octgmx_port_softc[0];
-	uint64_t rx_stats_ctl;
-	uint64_t tx_stats_ctl;
-
-	rx_stats_ctl = _GMX_RD8(sc, GMX0_BASE_PORT_SIZE * portno + GMX0_RX0_STATS_CTL);
-	_GMX_WR8(sc, GMX0_BASE_PORT_SIZE * portno + GMX0_RX0_STATS_CTL,
-	    rx_stats_ctl & ~RXN_STATS_CTL_RD_CLR);
-	tx_stats_ctl = _GMX_RD8(sc, GMX0_BASE_PORT_SIZE * portno + GMX0_TX0_STATS_CTL);
-	_GMX_WR8(sc, GMX0_BASE_PORT_SIZE * portno + GMX0_TX0_STATS_CTL,
-	    tx_stats_ctl & ~TXN_STATS_CTL_RD_CLR);
-	octgmx_dump_port_x(portno, octgmx_dump_port_stats_,
-	    __arraycount(octgmx_dump_port_stats_));
-	_GMX_WR8(sc, GMX0_BASE_PORT_SIZE * portno + GMX0_RX0_STATS_CTL, rx_stats_ctl);
-	_GMX_WR8(sc, GMX0_BASE_PORT_SIZE * portno + GMX0_TX0_STATS_CTL, tx_stats_ctl);
-}
-
-void
-octgmx_dump_common_x(int portno, const struct octgmx_dump_reg_ *regs, size_t size)
-{
-	octgmx_dump_x(portno, regs, size, 0, 0);
-}
-
-void
-octgmx_dump_port_x(int portno, const struct octgmx_dump_reg_ *regs, size_t size)
-{
-	octgmx_dump_x(portno, regs, size, GMX0_BASE_PORT_SIZE * portno, 1);
-}
-
-void
-octgmx_dump_x(int portno, const struct octgmx_dump_reg_ *regs, size_t size, size_t base, int index)
-{
-	struct octgmx_port_softc *sc = __octgmx_port_softc[0];
-	const struct octgmx_dump_reg_ *reg;
-	uint64_t tmp;
-	char name[64];
-	char buf[512];
-	int i;
-
-	for (i = 0; i < (int)size; i++) {
-		reg = &regs[i];
-		tmp = _GMX_RD8(sc, base + reg->offset);
-
-		if (reg->format == NULL)
-			snprintf(buf, sizeof(buf), "%016" PRIx64, tmp);
-		else
-			snprintb(buf, sizeof(buf), reg->format, tmp);
-
-		snprintf(name, sizeof(name), "%s", reg->name);
-		if (index > 0)
-			octgmx_dump_x_index(name, sizeof(name), portno);
-
-		printf("\t%-24s: %s\n", name, buf);
-	}
-}
-
-void
-octgmx_dump_x_index(char *buf, size_t len, int index)
-{
-	static const char *patterns[] = { "_TX0_", "_RX0_", "_PRT0_" };
-	int i;
-
-	for (i = 0; i < (int)__arraycount(patterns); i++) {
-		char *p;
-
-		p = strstr(buf, patterns[i]);
-		if (p == NULL)
-			continue;
-		p = strchr(p, '0');
-		KASSERT(p != NULL);
-		*p = '0' + index;
-		return;
-	}
-}
-
-void
-octgmx_debug_reset(void)
-{
-	int i;
-
-	for (i = 0; i < 3; i++)
-		octgmx_link_enable(__octgmx_port_softc[i], 0);
-	for (i = 0; i < 3; i++)
-		octgmx_link_enable(__octgmx_port_softc[i], 1);
-}
-#endif

Index: src/sys/arch/mips/cavium/dev/octeon_pci.c
diff -u src/sys/arch/mips/cavium/dev/octeon_pci.c:1.4 src/sys/arch/mips/cavium/dev/octeon_pci.c:1.5
--- src/sys/arch/mips/cavium/dev/octeon_pci.c:1.4	Fri Jun 19 02:23:43 2020
+++ src/sys/arch/mips/cavium/dev/octeon_pci.c	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_pci.c,v 1.4 2020/06/19 02:23:43 simonb Exp $	*/
+/*	$NetBSD: octeon_pci.c,v 1.5 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007, 2008 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_pci.c,v 1.4 2020/06/19 02:23:43 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_pci.c,v 1.5 2020/06/22 02:26:20 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -50,11 +50,6 @@ __KERNEL_RCSID(0, "$NetBSD: octeon_pci.c
 void			octpci_bootstrap(struct octeon_config *);
 static void		octpci_init(void);
 
-#ifdef CNMAC_DEBUG
-static int		octpci_intr_rml(void *);
-static void		*octpci_intr_rml_ih;
-#endif
-
 void
 octpci_bootstrap(struct octeon_config *mcp)
 {
@@ -64,50 +59,6 @@ octpci_bootstrap(struct octeon_config *m
 static void
 octpci_init(void)
 {
-#ifdef CNMAC_DEBUG
-	octpci_intr_rml_ih = octeon_intr_establish( CIU_INT_RML, IPL_NET,
-	    octpci_intr_rml, NULL);
-#endif
-}
-
-#ifdef CNMAC_DEBUG
-int octpci_intr_rml_verbose;
-
-void			octgmx_intr_rml_gmx0(void *);
-void			octgmx_intr_rml_gmx1(void *);
-void			octasx_intr_rml(void *);
-void			octipd_intr_rml(void *);
-void			octpip_intr_rml(void *);
-void			octpow_intr_rml(void *);
-void			octpko_intr_rml(void *);
-void			octfpa_intr_rml(void *);
-
-static int
-octpci_intr_rml(void *arg)
-{
-	uint64_t block;
 
-	block = octeon_read_csr(NPI_RSL_INT_BLOCKS);
-	if (octpci_intr_rml_verbose)
-		printf("%s: block=0x%016" PRIx64 "\n", __func__, block);
-	if (ISSET(block, NPI_RSL_INT_BLOCKS_GMX0))
-		octgmx_intr_rml_gmx0(arg);
-#ifdef notyet
-	if (ISSET(block, NPI_RSL_INT_BLOCKS_GMX1))
-		octgmx_intr_rml_gmx1(arg);
-#endif
-	if (ISSET(block, NPI_RSL_INT_BLOCKS_ASX0))
-		octasx_intr_rml(arg);
-	if (ISSET(block, NPI_RSL_INT_BLOCKS_IPD))
-		octipd_intr_rml(arg);
-	if (ISSET(block, NPI_RSL_INT_BLOCKS_PIP))
-		octpip_intr_rml(arg);
-	if (ISSET(block, NPI_RSL_INT_BLOCKS_POW))
-		octpow_intr_rml(arg);
-	if (ISSET(block, NPI_RSL_INT_BLOCKS_PKO))
-		octpko_intr_rml(arg);
-	if (ISSET(block, NPI_RSL_INT_BLOCKS_FPA))
-		octfpa_intr_rml(arg);
-	return 1;
+	/* XXX remove this? */
 }
-#endif
Index: src/sys/arch/mips/cavium/dev/octeon_pkovar.h
diff -u src/sys/arch/mips/cavium/dev/octeon_pkovar.h:1.4 src/sys/arch/mips/cavium/dev/octeon_pkovar.h:1.5
--- src/sys/arch/mips/cavium/dev/octeon_pkovar.h:1.4	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_pkovar.h	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_pkovar.h,v 1.4 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_pkovar.h,v 1.5 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -61,11 +61,6 @@ struct octpko_softc {
 				*sc_cmdptr;
 	int			sc_cmd_buf_pool;
 	size_t			sc_cmd_buf_size;
-
-#ifdef CNMAC_DEBUG
-	struct evcnt		sc_ev_pkoerrdbell;
-	struct evcnt		sc_ev_pkoerrparity;
-#endif
 };
 
 /* XXX */

Index: src/sys/arch/mips/cavium/dev/octeon_pow.c
diff -u src/sys/arch/mips/cavium/dev/octeon_pow.c:1.8 src/sys/arch/mips/cavium/dev/octeon_pow.c:1.9
--- src/sys/arch/mips/cavium/dev/octeon_pow.c:1.8	Fri Jun 19 02:23:43 2020
+++ src/sys/arch/mips/cavium/dev/octeon_pow.c	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_pow.c,v 1.8 2020/06/19 02:23:43 simonb Exp $	*/
+/*	$NetBSD: octeon_pow.c,v 1.9 2020/06/22 02:26:20 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_pow.c,v 1.8 2020/06/19 02:23:43 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_pow.c,v 1.9 2020/06/22 02:26:20 simonb Exp $");
 
 #include "opt_octeon.h"	/* CNMAC_DEBUG */
 
@@ -61,33 +61,10 @@ struct octpow_intr_handle {
 	int				pi_group;
 	void				(*pi_cb)(void *, uint64_t *);
 	void				*pi_data;
-
-#ifdef CNMAC_DEBUG
-#define	_EV_PER_N	32	/* XXX */
-#define	_EV_IVAL_N	32	/* XXX */
-	int				pi_first;
-	struct timeval			pi_last;
-	struct evcnt			pi_ev_per[_EV_PER_N];
-	struct evcnt			pi_ev_ival[_EV_IVAL_N];
-	struct evcnt			pi_ev_stray_tc;
-	struct evcnt			pi_ev_stray_ds;
-	struct evcnt			pi_ev_stray_iq;
-#endif
 };
 
 void			octpow_bootstrap(struct octeon_config *);
 
-#ifdef CNMAC_DEBUG
-void			octpow_intr_evcnt_attach(struct octpow_softc *);
-void			octpow_intr_rml(void *);
-
-static void             octpow_intr_debug_init(
-			    struct octpow_intr_handle *, int);
-static inline void      octpow_intr_work_debug_ival(struct octpow_softc *,
-			    struct octpow_intr_handle *);
-static inline void	octpow_intr_work_debug_per(struct octpow_softc *,
-			    struct octpow_intr_handle *, int);
-#endif
 static void		octpow_init(struct octpow_softc *);
 static void		octpow_init_regs(struct octpow_softc *);
 static inline int	octpow_tag_sw_poll(void) __unused;
@@ -99,17 +76,9 @@ static inline void	octpow_intr_work(stru
 			    struct octpow_intr_handle *, int);
 static int		octpow_intr(void *);
 
-#ifdef CNMAC_DEBUG
-void			octpow_dump(void);
-#endif
-
 /* XXX */
 struct octpow_softc	octpow_softc;
 
-#ifdef CNMAC_DEBUG
-struct octpow_softc	*__octpow_softc;
-#endif
-
 /*
  * XXX: parameter tuning is needed: see files.octeon
  */
@@ -260,11 +229,6 @@ octpow_bootstrap(struct octeon_config *m
 	/* XXX */
 
 	octpow_init(sc);
-
-#ifdef CNMAC_DEBUG
-	__octpow_softc = sc;
-#endif
-
 }
 
 static inline void
@@ -323,78 +287,9 @@ octpow_intr_establish(int group, int lev
 	pow_ih->pi_cb = cb;
 	pow_ih->pi_data = data;
 
-#ifdef CNMAC_DEBUG
-	octpow_intr_debug_init(pow_ih, group);
-#endif
 	return pow_ih;
 }
 
-#ifdef CNMAC_DEBUG
-#define	_NAMELEN	8
-#define	_DESCRLEN	40
-
-static void
-octpow_intr_debug_init(struct octpow_intr_handle *pow_ih, int group)
-{
-	pow_ih->pi_first = 1;
-	char *name, *descr;
-	int i;
-
-	name = malloc(_NAMELEN +
-	    _DESCRLEN * __arraycount(pow_ih->pi_ev_per) +
-	    _DESCRLEN * __arraycount(pow_ih->pi_ev_ival),
-	    M_DEVBUF, M_WAITOK);
-	descr = name + _NAMELEN;
-	snprintf(name, _NAMELEN, "pow%d", group);
-	for (i = 0; i < (int)__arraycount(pow_ih->pi_ev_per); i++) {
-		int n = 1 << (i - 1);
-
-		(void)snprintf(descr, _DESCRLEN,
-		    "# of works per intr (%d-%d)",
-		    (i == 0) ? 0 : n,
-		    (i == 0) ? 0 : ((n << 1) - 1));
-		evcnt_attach_dynamic(&pow_ih->pi_ev_per[i],
-		    EVCNT_TYPE_MISC, NULL, name, descr);
-		descr += _DESCRLEN;
-	}
-	for (i = 0; i < (int)__arraycount(pow_ih->pi_ev_ival); i++) {
-		int n = 1 << (i - 1);
-		int p, q;
-		char unit;
-
-		p = n;
-		q = (n << 1) - 1;
-		unit = 'u';
-		/*
-		 * 0 is exceptional
-		 */
-		if (i == 0)
-			p = q = 0;
-		/*
-		 * count 1024usec as 1msec
-		 *
-		 * XXX this is not exact
-		 */
-		if ((i - 1) >= 10) {
-			p /= 1000;
-			q /= 1000;
-			unit = 'm';
-		}
-		(void)snprintf(descr, _DESCRLEN, "intr interval (%d-%d%csec)",
-		    p, q, unit);
-		evcnt_attach_dynamic(&pow_ih->pi_ev_ival[i],
-		    EVCNT_TYPE_MISC, NULL, name, descr);
-		descr += _DESCRLEN;
-	}
-	evcnt_attach_dynamic(&pow_ih->pi_ev_stray_tc,
-	    EVCNT_TYPE_MISC, NULL, name, "stray intr (TC)");
-	evcnt_attach_dynamic(&pow_ih->pi_ev_stray_ds,
-	    EVCNT_TYPE_MISC, NULL, name, "stray intr (DS)");
-	evcnt_attach_dynamic(&pow_ih->pi_ev_stray_iq,
-	    EVCNT_TYPE_MISC, NULL, name, "stray intr (IQ)");
-}
-#endif
-
 void
 octpow_init(struct octpow_softc *sc)
 {
@@ -402,10 +297,6 @@ octpow_init(struct octpow_softc *sc)
 
 	sc->sc_int_pc_base = 10000;
 	octpow_config_int_pc(sc, sc->sc_int_pc_base);
-
-#ifdef CNMAC_DEBUG
-	octpow_error_int_enable(sc, 1);
-#endif
 }
 
 void
@@ -417,82 +308,12 @@ octpow_init_regs(struct octpow_softc *sc
 	    &sc->sc_regh);
 	if (status != 0)
 		panic("can't map %s space", "pow register");
-
-#ifdef CNMAC_DEBUG
-	_POW_WR8(sc, POW_ECC_ERR_OFFSET,
-	    POW_ECC_ERR_IOP_IE | POW_ECC_ERR_RPE_IE |
-	    POW_ECC_ERR_DBE_IE | POW_ECC_ERR_SBE_IE);
-#endif
 }
 
 /* -------------------------------------------------------------------------- */
 
 /* ---- interrupt handling */
 
-#ifdef CNMAC_DEBUG
-static inline void
-octpow_intr_work_debug_ival(struct octpow_softc *sc,
-    struct octpow_intr_handle *pow_ih)
-{
-	struct timeval now;
-	struct timeval ival;
-	int n;
-
-	microtime(&now);
-	if (__predict_false(pow_ih->pi_first == 1)) {
-		pow_ih->pi_first = 0;
-		goto stat_done;
-	}
-	timersub(&now, &pow_ih->pi_last, &ival);
-	if (ival.tv_sec != 0)
-		goto stat_done;	/* XXX */
-	n = ffs64((uint64_t)ival.tv_usec);
-	if (n > (int)__arraycount(pow_ih->pi_ev_ival) - 1)
-		n = (int)__arraycount(pow_ih->pi_ev_ival) - 1;
-	pow_ih->pi_ev_ival[n].ev_count++;
-
-stat_done:
-	pow_ih->pi_last = now;	/* struct copy */
-}
-
-static inline void
-octpow_intr_work_debug_per(struct octpow_softc *sc,
-    struct octpow_intr_handle *pow_ih, int count)
-{
-	int n;
-
-	n = ffs64(count);
-	if (n > (int)__arraycount(pow_ih->pi_ev_per) - 1)
-		n = (int)__arraycount(pow_ih->pi_ev_per) - 1;
-	pow_ih->pi_ev_per[n].ev_count++;
-#if 1
-	if (count == 0) {
-		uint64_t wq_int_cnt;
-
-		wq_int_cnt = _POW_GROUP_RD8(sc, pow_ih, POW_WQ_INT_CNT0_OFFSET);
-		if (wq_int_cnt & POW_WQ_INT_CNTX_TC_CNT)
-			pow_ih->pi_ev_stray_tc.ev_count++;
-		if (wq_int_cnt & POW_WQ_INT_CNTX_DS_CNT)
-			pow_ih->pi_ev_stray_ds.ev_count++;
-		if (wq_int_cnt & POW_WQ_INT_CNTX_IQ_CNT)
-			pow_ih->pi_ev_stray_iq.ev_count++;
-	}
-#endif
-}
-#endif
-
-#ifdef CNMAC_DEBUG
-#define _POW_INTR_WORK_DEBUG_IVAL(sc, ih) \
-	    octpow_intr_work_debug_ival((sc), (ih))
-#define _POW_INTR_WORK_DEBUG_PER(sc, ih, count) \
-	    octpow_intr_work_debug_per((sc), (ih), (count))
-#else
-#define _POW_INTR_WORK_DEBUG_IVAL(sc, ih) \
-	    do {} while (0)
-#define _POW_INTR_WORK_DEBUG_PER(sc, ih, count) \
-	    do {} while (0)
-#endif
-
 /*
  * Interrupt handling by fixed count, following Cavium's SDK code.
  *
@@ -514,8 +335,6 @@ octpow_intr_work(struct octpow_softc *sc
 
 	_POW_WR8(sc, POW_PP_GRP_MSK0_OFFSET, __BIT(pow_ih->pi_group));
 
-	_POW_INTR_WORK_DEBUG_IVAL(sc, pow_ih);
-
 	for (count = 0; count < recv_limit; count++) {
 		octpow_tag_sw_wait();
 		octpow_work_request_async(
@@ -526,8 +345,6 @@ octpow_intr_work(struct octpow_softc *sc
 			break;
 		(*pow_ih->pi_cb)(pow_ih->pi_data, work);
 	}
-
-	_POW_INTR_WORK_DEBUG_PER(sc, pow_ih, count);
 }
 
 static int
@@ -647,466 +464,3 @@ octpow_ring_intr(void)
 	return int_rate;
 }
 #endif /* CNMAC_INTR_FEEDBACK_RING */
-
-/* -------------------------------------------------------------------------- */
-
-/* ---- debug configuration */
-
-#ifdef CNMAC_DEBUG
-
-void
-octpow_error_int_enable(void *data, int enable)
-{
-	struct octpow_softc *sc = data;
-	uint64_t pow_error_int_xxx;
-
-	pow_error_int_xxx =
-	    POW_ECC_ERR_IOP | POW_ECC_ERR_RPE |
-	    POW_ECC_ERR_DBE | POW_ECC_ERR_SBE;
-	_POW_WR8(sc, POW_ECC_ERR_OFFSET, pow_error_int_xxx);
-	_POW_WR8(sc, POW_ECC_ERR_OFFSET, enable ? pow_error_int_xxx : 0);
-}
-
-uint64_t
-octpow_error_int_summary(void *data)
-{
-	struct octpow_softc *sc = data;
-	uint64_t summary;
-
-	summary = _POW_RD8(sc, POW_ECC_ERR_OFFSET);
-	_POW_WR8(sc, POW_ECC_ERR_OFFSET, summary);
-	return summary;
-}
-
-#endif
-
-/* -------------------------------------------------------------------------- */
-
-/* ---- debug counter */
-
-#ifdef CNMAC_DEBUG
-int			octpow_intr_rml_verbose;
-struct evcnt		octpow_intr_evcnt;
-
-static const struct octeon_evcnt_entry octpow_intr_evcnt_entries[] = {
-#define	_ENTRY(name, type, parent, descr) \
-	OCTEON_EVCNT_ENTRY(struct octpow_softc, name, type, parent, descr)
-	_ENTRY(powecciopcsrpend,	MISC, NULL, "pow csr load"),
-	_ENTRY(powecciopdbgpend,	MISC, NULL, "pow dbg load"),
-	_ENTRY(powecciopaddwork,	MISC, NULL, "pow addwork"),
-	_ENTRY(powecciopillop,		MISC, NULL, "pow ill op"),
-	_ENTRY(poweccioppend24,		MISC, NULL, "pow pend24"),
-	_ENTRY(poweccioppend23,		MISC, NULL, "pow pend23"),
-	_ENTRY(poweccioppend22,		MISC, NULL, "pow pend22"),
-	_ENTRY(poweccioppend21,		MISC, NULL, "pow pend21"),
-	_ENTRY(poweccioptagnull,	MISC, NULL, "pow tag null"),
-	_ENTRY(poweccioptagnullnull,	MISC, NULL, "pow tag nullnull"),
-	_ENTRY(powecciopordatom,	MISC, NULL, "pow ordered atomic"),
-	_ENTRY(powecciopnull,		MISC, NULL, "pow core null"),
-	_ENTRY(powecciopnullnull,	MISC, NULL, "pow core nullnull"),
-	_ENTRY(poweccrpe,		MISC, NULL, "pow remote-pointer error"),
-	_ENTRY(poweccsyn,		MISC, NULL, "pow syndrome value"),
-	_ENTRY(poweccdbe,		MISC, NULL, "pow double bit"),
-	_ENTRY(poweccsbe,		MISC, NULL, "pow single bit"),
-#undef	_ENTRY
-};
-
-void
-octpow_intr_evcnt_attach(struct octpow_softc *sc)
-{
-	OCTEON_EVCNT_ATTACH_EVCNTS(sc, octpow_intr_evcnt_entries, "pow0");
-}
-
-void
-octpow_intr_rml(void *arg)
-{
-	struct octpow_softc *sc;
-	uint64_t reg;
-
-	octpow_intr_evcnt.ev_count++;
-	sc = __octpow_softc;
-	KASSERT(sc != NULL);
-	reg = octpow_error_int_summary(sc);
-	if (octpow_intr_rml_verbose)
-		printf("%s: POW_ECC_ERR=0x%016" PRIx64 "\n", __func__, reg);
-	switch (reg & POW_ECC_ERR_IOP) {
-	case POW_ECC_ERR_IOP_CSRPEND:
-		OCTEON_EVCNT_INC(sc, powecciopcsrpend);
-		break;
-	case POW_ECC_ERR_IOP_DBGPEND:
-		OCTEON_EVCNT_INC(sc, powecciopdbgpend);
-		break;
-	case POW_ECC_ERR_IOP_ADDWORK:
-		OCTEON_EVCNT_INC(sc, powecciopaddwork);
-		break;
-	case POW_ECC_ERR_IOP_ILLOP:
-		OCTEON_EVCNT_INC(sc, powecciopillop);
-		break;
-	case POW_ECC_ERR_IOP_PEND24:
-		OCTEON_EVCNT_INC(sc, poweccioppend24);
-		break;
-	case POW_ECC_ERR_IOP_PEND23:
-		OCTEON_EVCNT_INC(sc, poweccioppend23);
-		break;
-	case POW_ECC_ERR_IOP_PEND22:
-		OCTEON_EVCNT_INC(sc, poweccioppend22);
-		break;
-	case POW_ECC_ERR_IOP_PEND21:
-		OCTEON_EVCNT_INC(sc, poweccioppend21);
-		break;
-	case POW_ECC_ERR_IOP_TAGNULL:
-		OCTEON_EVCNT_INC(sc, poweccioptagnull);
-		break;
-	case POW_ECC_ERR_IOP_TAGNULLNULL:
-		OCTEON_EVCNT_INC(sc, poweccioptagnullnull);
-		break;
-	case POW_ECC_ERR_IOP_ORDATOM:
-		OCTEON_EVCNT_INC(sc, powecciopordatom);
-		break;
-	case POW_ECC_ERR_IOP_NULL:
-		OCTEON_EVCNT_INC(sc, powecciopnull);
-		break;
-	case POW_ECC_ERR_IOP_NULLNULL:
-		OCTEON_EVCNT_INC(sc, powecciopnullnull);
-		break;
-	default:
-		break;
-	}
-	if (reg & POW_ECC_ERR_RPE)
-		OCTEON_EVCNT_INC(sc, poweccrpe);
-	if (reg & POW_ECC_ERR_SYN)
-		OCTEON_EVCNT_INC(sc, poweccsyn);
-	if (reg & POW_ECC_ERR_DBE)
-		OCTEON_EVCNT_INC(sc, poweccdbe);
-	if (reg & POW_ECC_ERR_SBE)
-		OCTEON_EVCNT_INC(sc, poweccsbe);
-}
-#endif
-
-/* -------------------------------------------------------------------------- */
-
-/* ---- debug dump */
-
-#ifdef CNMAC_DEBUG
-
-void			octpow_dump_reg(void);
-void			octpow_dump_ops(void);
-
-void
-octpow_dump(void)
-{
-	octpow_dump_reg();
-	octpow_dump_ops();
-}
-
-/* ---- register dump */
-
-struct octpow_dump_reg_entry {
-	const char *name;
-	const char *format;
-	size_t offset;
-};
-
-#define	_ENTRY(x)	{ #x, x##_BITS, x##_OFFSET }
-#define	_ENTRY_0_7(x) \
-	_ENTRY(x## 0), _ENTRY(x## 1), _ENTRY(x## 2), _ENTRY(x## 3), \
-	_ENTRY(x## 4), _ENTRY(x## 5), _ENTRY(x## 6), _ENTRY(x## 7)
-#define	_ENTRY_0_15(x) \
-	_ENTRY(x## 0), _ENTRY(x## 1), _ENTRY(x## 2), _ENTRY(x## 3), \
-	_ENTRY(x## 4), _ENTRY(x## 5), _ENTRY(x## 6), _ENTRY(x## 7), \
-	_ENTRY(x## 8), _ENTRY(x## 9), _ENTRY(x##10), _ENTRY(x##11), \
-	_ENTRY(x##12), _ENTRY(x##13), _ENTRY(x##14), _ENTRY(x##15)
-
-static const struct octpow_dump_reg_entry octpow_dump_reg_entries[] = {
-	_ENTRY		(POW_PP_GRP_MSK0),
-	_ENTRY		(POW_PP_GRP_MSK1),
-	_ENTRY_0_15	(POW_WQ_INT_THR),
-	_ENTRY_0_15	(POW_WQ_INT_CNT),
-	_ENTRY_0_7	(POW_QOS_THR),
-	_ENTRY_0_7	(POW_QOS_RND),
-	_ENTRY		(POW_WQ_INT),
-	_ENTRY		(POW_WQ_INT_PC),
-	_ENTRY		(POW_NW_TIM),
-	_ENTRY		(POW_ECC_ERR),
-	_ENTRY		(POW_NOS_CNT),
-	_ENTRY_0_15	(POW_WS_PC),
-	_ENTRY_0_7	(POW_WA_PC),
-	_ENTRY_0_7	(POW_IQ_CNT),
-	_ENTRY		(POW_WA_COM_PC),
-	_ENTRY		(POW_IQ_COM_CNT),
-	_ENTRY		(POW_TS_PC),
-	_ENTRY		(POW_DS_PC),
-	_ENTRY		(POW_BIST_STAT)
-};
-
-#undef _ENTRY
-
-void
-octpow_dump_reg(void)
-{
-	struct octpow_softc *sc = __octpow_softc;
-	const struct octpow_dump_reg_entry *entry;
-	uint64_t tmp;
-	char buf[512];
-	int i;
-
-	for (i = 0; i < (int)__arraycount(octpow_dump_reg_entries); i++) {
-		entry = &octpow_dump_reg_entries[i];
-		tmp = _POW_RD8(sc, entry->offset);
-		if (entry->format == NULL)
-			snprintf(buf, sizeof(buf), "%16" PRIx64, tmp);
-		else
-			snprintb(buf, sizeof(buf), entry->format, tmp);
-		printf("\t%-24s: %s\n", entry->name, buf);
-	}
-}
-
-/* ---- operations dump */
-
-struct octpow_dump_ops_entry {
-	const char *name;
-	const char *format;
-	uint64_t (*func)(int);
-};
-
-void	octpow_dump_ops_coreid(int);
-void	octpow_dump_ops_index(int);
-void	octpow_dump_ops_qos(int);
-void	octpow_dump_ops_grp(int);
-void	octpow_dump_ops_queue(int);
-void	octpow_dump_ops_common(const struct octpow_dump_ops_entry *, size_t,
-	    const char *, int);
-
-#define	_ENTRY_COMMON(name, prefix, x, y) \
-	{ #name "_" #x, prefix##_##y##_BITS, octpow_status_by_##name##_##x }
-
-const struct octpow_dump_ops_entry octpow_dump_ops_coreid_entries[] = {
-#define	_ENTRY(x, y)	_ENTRY_COMMON(coreid, POW_STATUS_LOAD_RESULT, x, y)
-	_ENTRY(pend_tag, PEND_TAG),
-	_ENTRY(pend_wqp, PEND_WQP),
-	_ENTRY(cur_tag_next, CUR_TAG_NEXT),
-	_ENTRY(cur_tag_prev, CUR_TAG_PREV),
-	_ENTRY(cur_wqp_next, CUR_WQP_NEXT),
-	_ENTRY(cur_wqp_prev, CUR_WQP_PREV)
-#undef _ENTRY
-};
-
-const struct octpow_dump_ops_entry octpow_dump_ops_index_entries[] = {
-#define	_ENTRY(x, y)	_ENTRY_COMMON(index, POW_MEMORY_LOAD_RESULT, x, y)
-	_ENTRY(tag, TAG),
-	_ENTRY(wqp, WQP),
-	_ENTRY(desched, DESCHED)
-#undef _ENTRY
-};
-
-const struct octpow_dump_ops_entry octpow_dump_ops_qos_entries[] = {
-#define	_ENTRY(x, y)	_ENTRY_COMMON(qos, POW_IDXPTR_LOAD_RESULT_QOS, x, y)
-	_ENTRY(free_loc, FREE_LOC)
-#undef _ENTRY
-};
-
-const struct octpow_dump_ops_entry octpow_dump_ops_grp_entries[] = {
-#define	_ENTRY(x, y)	_ENTRY_COMMON(grp, POW_IDXPTR_LOAD_RESULT_GRP, x, y)
-	_ENTRY(nosched_des, NOSCHED_DES)
-#undef _ENTRY
-};
-
-const struct octpow_dump_ops_entry octpow_dump_ops_queue_entries[] = {
-#define	_ENTRY(x, y)	_ENTRY_COMMON(queue, POW_IDXPTR_LOAD_RESULT_QUEUE, x, y)
-	_ENTRY(remote_head, REMOTE_HEAD),
-	_ENTRY(remote_tail, REMOTE_TAIL)
-#undef _ENTRY
-};
-
-void
-octpow_dump_ops(void)
-{
-	int i;
-
-	/* XXX */
-	for (i = 0; i < 2/* XXX */; i++)
-		octpow_dump_ops_coreid(i);
-
-	/* XXX */
-	octpow_dump_ops_index(0);
-
-	for (i = 0; i < 8; i++)
-		octpow_dump_ops_qos(i);
-
-	for (i = 0; i < 16; i++)
-		octpow_dump_ops_grp(i);
-
-	for (i = 0; i < 16; i++)
-		octpow_dump_ops_queue(i);
-}
-
-void
-octpow_dump_ops_coreid(int coreid)
-{
-	octpow_dump_ops_common(octpow_dump_ops_coreid_entries,
-	    __arraycount(octpow_dump_ops_coreid_entries), "coreid", coreid);
-}
-
-void
-octpow_dump_ops_index(int index)
-{
-	octpow_dump_ops_common(octpow_dump_ops_index_entries,
-	    __arraycount(octpow_dump_ops_index_entries), "index", index);
-}
-
-void
-octpow_dump_ops_qos(int qos)
-{
-	octpow_dump_ops_common(octpow_dump_ops_qos_entries,
-	    __arraycount(octpow_dump_ops_qos_entries), "qos", qos);
-}
-
-void
-octpow_dump_ops_grp(int grp)
-{
-	octpow_dump_ops_common(octpow_dump_ops_grp_entries,
-	    __arraycount(octpow_dump_ops_grp_entries), "grp", grp);
-}
-
-void
-octpow_dump_ops_queue(int queue)
-{
-	octpow_dump_ops_common(octpow_dump_ops_queue_entries,
-	    __arraycount(octpow_dump_ops_queue_entries), "queue", queue);
-}
-
-void
-octpow_dump_ops_common(const struct octpow_dump_ops_entry *entries,
-    size_t nentries, const char *by_what, int arg)
-{
-	const struct octpow_dump_ops_entry *entry;
-	uint64_t tmp;
-	char buf[512];
-	int i;
-
-	printf("%s=%d\n", by_what, arg);
-	for (i = 0; i < (int)nentries; i++) {
-		entry = &entries[i];
-		tmp = (*entry->func)(arg);
-		if (entry->format == NULL)
-			snprintf(buf, sizeof(buf), "%16" PRIx64, tmp);
-		else
-			snprintb(buf, sizeof(buf), entry->format, tmp);
-		printf("\t%-24s: %s\n", entry->name, buf);
-	}
-}
-
-#endif
-
-/* -------------------------------------------------------------------------- */
-
-/* ---- test */
-
-#ifdef octPOW_TEST
-/*
- * Standalone test entries; meant to be called from ddb.
- */
-
-void			octpow_test(void);
-void			octpow_test_dump_wqe(paddr_t);
-
-static void		octpow_test_1(void);
-
-struct test_wqe {
-	uint64_t word0;
-	uint64_t word1;
-	uint64_t word2;
-	uint64_t word3;
-} __packed;
-struct test_wqe test_wqe;
-
-void
-octpow_test(void)
-{
-	octpow_test_1();
-}
-
-static void
-octpow_test_1(void)
-{
-	struct test_wqe *wqe = &test_wqe;
-	int qos, grp, queue, tt;
-	uint32_t tag;
-	paddr_t ptr;
-
-	qos = 7;			/* XXX */
-	grp = queue = 15;		/* XXX */
-	tt = POW_TAG_TYPE_ORDERED;	/* XXX */
-	tag = UINT32_C(0x01234567);	/* XXX */
-
-	/* => make sure that the queue is empty */
-
-	octpow_dump_ops_qos(qos);
-	octpow_dump_ops_grp(grp);
-	printf("\n");
-
-	/*
-	 * Initialize WQE.
-	 *
-	 * word0:next is used by hardware.
-	 *
-	 * word1:qos, word1:grp, word1:tt, word1:tag must match with arguments
-	 * of the following ADDWQ transaction.
-	 */
-
-	(void)memset(wqe, 0, sizeof(*wqe));
-	wqe->word0 =
-	    __BITS64_SET(POW_WQE_WORD0_NEXT, 0);
-	wqe->word1 =
-	    __BITS64_SET(POW_WQE_WORD1_QOS, qos) |
-	    __BITS64_SET(POW_WQE_WORD1_GRP, grp) |
-	    __BITS64_SET(POW_WQE_WORD1_TT, tt) |
-	    __BITS64_SET(POW_WQE_WORD1_TAG, tag);
-
-	printf("calling ADDWQ\n");
-	octpow_ops_addwq(MIPS_KSEG0_TO_PHYS(wqe), qos, grp, tt, tag);
-
-	octpow_dump_ops_qos(qos);
-	octpow_dump_ops_grp(grp);
-	printf("\n");
-
-	/* => make sure that a WQE is added to the queue */
-
-	printf("calling GET_WORK_LOAD\n");
-	ptr = octpow_ops_get_work_load(0);
-
-	octpow_dump_ops_qos(qos);
-	octpow_dump_ops_grp(grp);
-	printf("\n");
-
-	octpow_test_dump_wqe(ptr);
-
-	/* => make sure that the WQE is in-flight (and scheduled) */
-
-	printf("calling SWTAG(NULL)\n");
-	octpow_ops_swtag(POW_TAG_TYPE_NULL, tag);
-
-	octpow_dump_ops_qos(qos);
-	octpow_dump_ops_grp(grp);
-	printf("\n");
-
-	/* => make sure that the WQE is un-scheduled (completed) */
-}
-
-void
-octpow_test_dump_wqe(paddr_t ptr)
-{
-	uint64_t word0, word1;
-	char buf[128];
-
-	printf("wqe\n");
-
-	word0 = *(uint64_t *)MIPS_PHYS_TO_XKPHYS_CACHED(ptr);
-	snprintb(buf, sizeof(buf), POW_WQE_WORD0_BITS, word0);
-	printf("\t%-24s: %s\n", "word0", buf);
-
-	word1 = *(uint64_t *)MIPS_PHYS_TO_XKPHYS_CACHED(ptr + 8);
-	snprintb(buf, sizeof(buf), POW_WQE_WORD1_BITS, word1);
-	printf("\t%-24s: %s\n", "word1", buf);
-}
-#endif

Index: src/sys/arch/mips/conf/files.octeon
diff -u src/sys/arch/mips/conf/files.octeon:1.7 src/sys/arch/mips/conf/files.octeon:1.8
--- src/sys/arch/mips/conf/files.octeon:1.7	Mon Jun 15 07:48:12 2020
+++ src/sys/arch/mips/conf/files.octeon	Mon Jun 22 02:26:20 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: files.octeon,v 1.7 2020/06/15 07:48:12 simonb Exp $
+#	$NetBSD: files.octeon,v 1.8 2020/06/22 02:26:20 simonb Exp $
 
 file	arch/mips/mips/locore_octeon.S
 file	arch/mips/mips/bus_dma.c
@@ -13,8 +13,7 @@ file	arch/mips/cavium/dev/octeon_ciu.c
 defparam	opt_octeon.h			OCTEON_ECLK
 defparam	opt_octeon.h			CNMAC_RING_MAX
 defparam	opt_octeon.h			CNMAC_RING_MIN
-defflag 	opt_octeon.h			CNMAC_DEBUG
-						CNMAC_FAST_CRC
+defflag 	opt_octeon.h			CNMAC_FAST_CRC
 						CNMAC_IPD_RED
 						CNMAC_USENFS
 						OCTEON_USBN_CN31XX_DMA_WORKAROUND

Reply via email to