diff options
author | Visa Hankala <visa@cvs.openbsd.org> | 2017-11-05 04:57:29 +0000 |
---|---|---|
committer | Visa Hankala <visa@cvs.openbsd.org> | 2017-11-05 04:57:29 +0000 |
commit | e136b60b5aafa235d12bedfdadcb53ccdae8d465 (patch) | |
tree | cf42702e959e446f24270f0d7f7a923a1c27c42d /sys/arch/octeon/dev/cn30xxgmx.c | |
parent | 05a681f22992622250e30c8a03e9ee3f93448b33 (diff) |
Remove unmaintained debug code.
Diffstat (limited to 'sys/arch/octeon/dev/cn30xxgmx.c')
-rw-r--r-- | sys/arch/octeon/dev/cn30xxgmx.c | 384 |
1 files changed, 1 insertions, 383 deletions
diff --git a/sys/arch/octeon/dev/cn30xxgmx.c b/sys/arch/octeon/dev/cn30xxgmx.c index 04b9bf1b2db..54af0427f82 100644 --- a/sys/arch/octeon/dev/cn30xxgmx.c +++ b/sys/arch/octeon/dev/cn30xxgmx.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cn30xxgmx.c,v 1.37 2017/11/03 16:46:17 visa Exp $ */ +/* $OpenBSD: cn30xxgmx.c,v 1.38 2017/11/05 04:57:28 visa Exp $ */ /* * Copyright (c) 2007 Internet Initiative Japan, Inc. @@ -106,9 +106,6 @@ int cn30xxgmx_tx_ovr_bp_enable(struct cn30xxgmx_port_softc *, int); int cn30xxgmx_rx_pause_enable(struct cn30xxgmx_port_softc *, int); #ifdef OCTEON_ETH_DEBUG -void cn30xxgmx_dump(void); -void cn30xxgmx_debug_reset(void); -int cn30xxgmx_intr_drop(void *); int cn30xxgmx_rgmii_speed_newlink_log(struct cn30xxgmx_port_softc *, uint64_t); #endif @@ -152,12 +149,6 @@ struct cn30xxgmx_port_ops *cn30xxgmx_port_ops[] = { [GMX_SPI42_PORT] = &cn30xxgmx_port_ops_spi42 }; -#ifdef OCTEON_ETH_DEBUG -void *cn30xxgmx_intr_drop_ih; - -struct cn30xxgmx_port_softc *__cn30xxgmx_port_softc[GMX_PORT_NUNITS]; -#endif - struct cfattach cn30xxgmx_ca = {sizeof(struct cn30xxgmx_softc), cn30xxgmx_match, cn30xxgmx_attach, NULL, NULL}; @@ -276,18 +267,7 @@ cn30xxgmx_attach(struct device *parent, struct device *self, void *aux) gmx_aa.ga_smi = smi; config_found(self, &gmx_aa, cn30xxgmx_print); - -#ifdef OCTEON_ETH_DEBUG - __cn30xxgmx_port_softc[port_sc->sc_port_no] = port_sc; -#endif } - -#ifdef OCTEON_ETH_DEBUG - if (cn30xxgmx_intr_drop_ih == NULL) - cn30xxgmx_intr_drop_ih = octeon_intr_establish( - ffs64(CIU_INTX_SUM0_GMX_DRP) - 1, IPL_NET, - cn30xxgmx_intr_drop, NULL, "cn30xxgmx"); -#endif } int @@ -1306,365 +1286,3 @@ cn30xxgmx_stats(struct cn30xxgmx_port_softc *sc) tmp = _GMX_PORT_RD8(sc, GMX0_TX0_STAT9); ifp->if_oerrors += (uint32_t)(tmp >> 32); } - -/* ---- interrupt */ - -#ifdef OCTEON_ETH_DEBUG -void cn30xxgmx_intr_rml_gmx0(void); - -int cn30xxgmx_intr_rml_verbose; - -void -cn30xxgmx_intr_rml_gmx0(void) -{ - struct cn30xxgmx_port_softc *sc; - int i; - uint64_t reg; - - sc = __cn30xxgmx_port_softc[0]; - if (sc == NULL) - return; - - /* GMX0_RXn_INT_REG or GMX0_TXn_INT_REG */ - reg = cn30xxgmx_get_tx_int_reg(sc); - if (cn30xxgmx_intr_rml_verbose && reg != 0) - printf("%s: GMX_TX_INT_REG=0x%016llx\n", __func__, reg); - - for (i = 0; i < GMX_PORT_NUNITS; i++) { - sc = __cn30xxgmx_port_softc[i]; - if (sc == NULL) - continue; - reg = cn30xxgmx_get_rx_int_reg(sc); - if (cn30xxgmx_intr_rml_verbose) - printf("%s: GMX_RX_INT_REG=0x%016llx\n", __func__, reg); - } -} - -int -cn30xxgmx_intr_drop(void *arg) -{ - octeon_xkphys_write_8(CIU_INT0_SUM0, CIU_INTX_SUM0_GMX_DRP); - return (1); -} - -uint64_t -cn30xxgmx_get_rx_int_reg(struct cn30xxgmx_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 -cn30xxgmx_get_tx_int_reg(struct cn30xxgmx_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 /* OCTEON_ETH_DEBUG */ - -/* ---- debug */ - -#ifdef OCTEON_ETH_DEBUG -#define _ENTRY(x) { #x, x } - -struct cn30xxgmx_dump_reg_ { - const char *name; - size_t offset; -}; - -const struct cn30xxgmx_dump_reg_ cn30xxgmx_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), -}; - -const struct cn30xxgmx_dump_reg_ cn30xxgmx_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), -}; - -const struct cn30xxgmx_dump_reg_ cn30xxgmx_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 cn30xxgmx_dump_common(void); -void cn30xxgmx_dump_port0(void); -void cn30xxgmx_dump_port1(void); -void cn30xxgmx_dump_port2(void); -void cn30xxgmx_dump_port0_regs(void); -void cn30xxgmx_dump_port1_regs(void); -void cn30xxgmx_dump_port2_regs(void); -void cn30xxgmx_dump_port0_stats(void); -void cn30xxgmx_dump_port1_stats(void); -void cn30xxgmx_dump_port2_stats(void); -void cn30xxgmx_dump_port_regs(int); -void cn30xxgmx_dump_port_stats(int); -void cn30xxgmx_dump_common_x(int, const struct cn30xxgmx_dump_reg_ *, size_t); -void cn30xxgmx_dump_port_x(int, const struct cn30xxgmx_dump_reg_ *, size_t); -void cn30xxgmx_dump_x(int, const struct cn30xxgmx_dump_reg_ *, size_t, size_t, int); -void cn30xxgmx_dump_x_index(char *, size_t, int); - -void -cn30xxgmx_dump(void) -{ - cn30xxgmx_dump_common(); - cn30xxgmx_dump_port0(); - cn30xxgmx_dump_port1(); - cn30xxgmx_dump_port2(); -} - -void -cn30xxgmx_dump_common(void) -{ - cn30xxgmx_dump_common_x(0, cn30xxgmx_dump_regs_, - nitems(cn30xxgmx_dump_regs_)); -} - -void -cn30xxgmx_dump_port0(void) -{ - cn30xxgmx_dump_port_regs(0); - cn30xxgmx_dump_port_stats(0); -} - -void -cn30xxgmx_dump_port1(void) -{ - cn30xxgmx_dump_port_regs(1); - cn30xxgmx_dump_port_stats(1); -} - -void -cn30xxgmx_dump_port2(void) -{ - cn30xxgmx_dump_port_regs(2); - cn30xxgmx_dump_port_stats(2); -} - -void -cn30xxgmx_dump_port_regs(int portno) -{ - cn30xxgmx_dump_port_x(portno, cn30xxgmx_dump_port_regs_, - nitems(cn30xxgmx_dump_port_regs_)); -} - -void -cn30xxgmx_dump_port_stats(int portno) -{ - struct cn30xxgmx_port_softc *sc = __cn30xxgmx_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); - cn30xxgmx_dump_port_x(portno, cn30xxgmx_dump_port_stats_, - nitems(cn30xxgmx_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 -cn30xxgmx_dump_common_x(int portno, const struct cn30xxgmx_dump_reg_ *regs, size_t size) -{ - cn30xxgmx_dump_x(portno, regs, size, 0, 0); -} - -void -cn30xxgmx_dump_port_x(int portno, const struct cn30xxgmx_dump_reg_ *regs, size_t size) -{ - cn30xxgmx_dump_x(portno, regs, size, GMX0_BASE_PORT_SIZE * portno, 1); -} - -void -cn30xxgmx_dump_x(int portno, const struct cn30xxgmx_dump_reg_ *regs, size_t size, size_t base, int index) -{ - struct cn30xxgmx_port_softc *sc = __cn30xxgmx_port_softc[0]; - const struct cn30xxgmx_dump_reg_ *reg; - uint64_t tmp; - char name[64]; - int i; - - for (i = 0; i < (int)size; i++) { - reg = ®s[i]; - tmp = _GMX_RD8(sc, base + reg->offset); - - snprintf(name, sizeof(name), "%s", reg->name); - if (index > 0) - cn30xxgmx_dump_x_index(name, sizeof(name), portno); - - printf("\t%-24s: %016llx\n", name, tmp); - } -} - -/* not in libkern */ -static char *strstr(const char *, const char *); -static char * -strstr(const char *s, const char *find) -{ - char c, sc; - size_t len; - - if ((c = *find++) != 0) { - len = strlen(find); - do { - do { - if ((sc = *s++) == 0) - return (NULL); - } while (sc != c); - } while (strncmp(s, find, len) != 0); - s--; - } - return (char *)s; -} - -void -cn30xxgmx_dump_x_index(char *buf, size_t len, int index) -{ - static const char *patterns[] = { "_TX0_", "_RX0_", "_PRT0_" }; - int i; - - for (i = 0; i < (int)nitems(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 -cn30xxgmx_debug_reset(void) -{ - int i; - - for (i = 0; i < 3; i++) - cn30xxgmx_link_enable(__cn30xxgmx_port_softc[i], 0); - for (i = 0; i < 3; i++) - cn30xxgmx_link_enable(__cn30xxgmx_port_softc[i], 1); -} -#endif |