svn commit: r296050 - stable/9/sys/dev/bxe
Author: davidcs Date: Thu Feb 25 18:28:56 2016 New Revision: 296050 URL: https://svnweb.freebsd.org/changeset/base/296050 Log: MFC r295830 Remove dead code. Code Cleanup. Improve clarity in debug messages Modified: stable/9/sys/dev/bxe/bxe.c stable/9/sys/dev/bxe/bxe.h stable/9/sys/dev/bxe/bxe_stats.c stable/9/sys/dev/bxe/ecore_init.h Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/bxe/bxe.c == --- stable/9/sys/dev/bxe/bxe.c Thu Feb 25 18:27:22 2016(r296049) +++ stable/9/sys/dev/bxe/bxe.c Thu Feb 25 18:28:56 2016(r296050) @@ -124,14 +124,6 @@ static struct bxe_device_type bxe_devs[] PCI_ANY_ID, PCI_ANY_ID, "QLogic NetXtreme II BCM57712 MF 10GbE" }, -#if 0 -{ -BRCM_VENDORID, -CHIP_NUM_57712_VF, -PCI_ANY_ID, PCI_ANY_ID, -"QLogic NetXtreme II BCM57712 VF 10GbE" -}, -#endif { BRCM_VENDORID, CHIP_NUM_57800, @@ -144,14 +136,6 @@ static struct bxe_device_type bxe_devs[] PCI_ANY_ID, PCI_ANY_ID, "QLogic NetXtreme II BCM57800 MF 10GbE" }, -#if 0 -{ -BRCM_VENDORID, -CHIP_NUM_57800_VF, -PCI_ANY_ID, PCI_ANY_ID, -"QLogic NetXtreme II BCM57800 VF 10GbE" -}, -#endif { BRCM_VENDORID, CHIP_NUM_57810, @@ -164,14 +148,6 @@ static struct bxe_device_type bxe_devs[] PCI_ANY_ID, PCI_ANY_ID, "QLogic NetXtreme II BCM57810 MF 10GbE" }, -#if 0 -{ -BRCM_VENDORID, -CHIP_NUM_57810_VF, -PCI_ANY_ID, PCI_ANY_ID, -"QLogic NetXtreme II BCM57810 VF 10GbE" -}, -#endif { BRCM_VENDORID, CHIP_NUM_57811, @@ -184,42 +160,18 @@ static struct bxe_device_type bxe_devs[] PCI_ANY_ID, PCI_ANY_ID, "QLogic NetXtreme II BCM57811 MF 10GbE" }, -#if 0 -{ -BRCM_VENDORID, -CHIP_NUM_57811_VF, -PCI_ANY_ID, PCI_ANY_ID, -"QLogic NetXtreme II BCM57811 VF 10GbE" -}, -#endif { BRCM_VENDORID, CHIP_NUM_57840_4_10, PCI_ANY_ID, PCI_ANY_ID, "QLogic NetXtreme II BCM57840 4x10GbE" }, -#if 0 -{ -BRCM_VENDORID, -CHIP_NUM_57840_2_20, -PCI_ANY_ID, PCI_ANY_ID, -"QLogic NetXtreme II BCM57840 2x20GbE" -}, -#endif { BRCM_VENDORID, CHIP_NUM_57840_MF, PCI_ANY_ID, PCI_ANY_ID, "QLogic NetXtreme II BCM57840 MF 10GbE" }, -#if 0 -{ -BRCM_VENDORID, -CHIP_NUM_57840_VF, -PCI_ANY_ID, PCI_ANY_ID, -"QLogic NetXtreme II BCM57840 VF 10GbE" -}, -#endif { 0, 0, 0, 0, NULL } @@ -245,10 +197,6 @@ static device_method_t bxe_methods[] = { DEVMETHOD(device_attach,bxe_attach), DEVMETHOD(device_detach,bxe_detach), DEVMETHOD(device_shutdown, bxe_shutdown), -#if 0 -DEVMETHOD(device_suspend, bxe_suspend), -DEVMETHOD(device_resume,bxe_resume), -#endif /* Bus interface (bus_if.h) */ DEVMETHOD(bus_print_child, bus_generic_print_child), DEVMETHOD(bus_driver_added, bus_generic_driver_added), @@ -469,12 +417,6 @@ static const struct { 8, STATS_FLAGS_FUNC, "tpa_aggregated_frames"}, { STATS_OFFSET32(total_tpa_bytes_hi), 8, STATS_FLAGS_FUNC, "tpa_bytes"}, -#if 0 -{ STATS_OFFSET32(recoverable_error), -4, STATS_FLAGS_FUNC, "recoverable_errors" }, -{ STATS_OFFSET32(unrecoverable_error), -4, STATS_FLAGS_FUNC, "unrecoverable_errors" }, -#endif { STATS_OFFSET32(eee_tx_lpi), 4, STATS_FLAGS_PORT, "eee_tx_lpi"}, { STATS_OFFSET32(rx_calls), @@ -527,12 +469,6 @@ static const struct { 4, STATS_FLAGS_FUNC, "tx_window_violation_std"}, { STATS_OFFSET32(tx_window_violation_tso), 4, STATS_FLAGS_FUNC, "tx_window_violation_tso"}, -#if 0 -{ STATS_OFFSET32(tx_unsupported_tso_request_ipv6), -4, STATS_FLAGS_FUNC, "tx_unsupported_tso_request_ipv6"}, -{ STATS_OFFSET32(tx_unsupported_tso_request_not_tcp), -4, STATS_FLAGS_FUNC, "tx_unsupported_tso_request_not_tcp"}, -#endif { STATS_OFFSET32(tx_chain_lost_mbuf), 4, STATS_FLAGS_FUNC, "tx_chain_lost_mbuf"}, { STATS_OFFSET32(tx_frames_deferred), @@ -644,12 +580,6 @@ static const struct { 4, "tx_window_violation_std"}, { Q_STATS_OFFSET32(tx_window_violation_tso), 4, "tx_window_violation_tso"}, -#if 0 -{ Q_STATS_OFFSET32(tx_unsupported_tso_request_ipv6), -4, "tx_unsupported_tso_request_ipv6"}, -{ Q_STATS_OFFSET32(tx_unsupported_tso_request_not_tcp), -4, "tx_unsupported_tso_request_not_tcp"}, -#endif { Q_STATS_OFFSET32(tx_chain_lost_mbuf),
svn commit: r296048 - stable/9/sys/dev/bxe
Author: davidcs Date: Thu Feb 25 18:25:36 2016 New Revision: 296048 URL: https://svnweb.freebsd.org/changeset/base/296048 Log: MFC r295823 Modified the use of bxe_grc_dump() function so that it can be invoked directly at any potential error path, where a fwdump is needed. The fwdump (a.k.a grcdump) is stored in a driver buffer. The sysctl grcdump_done indicates if a fwdump was taken and waiting to be retrieved. The sysctl trigger_grcdump can be used to manually trigger a fwdump. Modified: stable/9/sys/dev/bxe/bxe.c stable/9/sys/dev/bxe/bxe.h Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/bxe/bxe.c == --- stable/9/sys/dev/bxe/bxe.c Thu Feb 25 18:23:40 2016(r296047) +++ stable/9/sys/dev/bxe/bxe.c Thu Feb 25 18:25:36 2016(r296048) @@ -749,6 +749,7 @@ static void bxe_handle_fp_tq(void *conte static int bxe_add_cdev(struct bxe_softc *sc); static void bxe_del_cdev(struct bxe_softc *sc); +static int bxe_grc_dump(struct bxe_softc *sc); /* calculate crc32 on a buffer (NOTE: crc32_length MUST be aligned to 8) */ uint32_t @@ -7949,6 +7950,16 @@ bxe_chk_parity_attn(struct bxe_softc *sc attn.sig[2] = REG_RD(sc, MISC_REG_AEU_AFTER_INVERT_3_FUNC_0 + port*4); attn.sig[3] = REG_RD(sc, MISC_REG_AEU_AFTER_INVERT_4_FUNC_0 + port*4); +/* + * Since MCP attentions can't be disabled inside the block, we need to + * read AEU registers to see whether they're currently disabled + */ +attn.sig[3] &= ((REG_RD(sc, (!port ? MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0 + : MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0)) & + MISC_AEU_ENABLE_MCP_PRTY_BITS) | +~MISC_AEU_ENABLE_MCP_PRTY_BITS); + + if (!CHIP_IS_E1x(sc)) attn.sig[4] = REG_RD(sc, MISC_REG_AEU_AFTER_INVERT_5_FUNC_0 + port*4); @@ -16189,6 +16200,30 @@ bxe_sysctl_state(SYSCTL_HANDLER_ARGS) } static int +bxe_sysctl_trigger_grcdump(SYSCTL_HANDLER_ARGS) +{ +struct bxe_softc *sc; +int error, result; + +result = 0; +error = sysctl_handle_int(oidp, , 0, req); + +if (error || !req->newptr) { +return (error); +} + +if (result == 1) { +sc = (struct bxe_softc *)arg1; + +BLOGI(sc, "... grcdump start ...\n"); +bxe_grc_dump(sc); +BLOGI(sc, "... grcdump done ...\n"); +} + +return (error); +} + +static int bxe_sysctl_eth_stat(SYSCTL_HANDLER_ARGS) { struct bxe_softc *sc = (struct bxe_softc *)arg1; @@ -16320,11 +16355,15 @@ bxe_add_sysctls(struct bxe_softc *sc) CTLFLAG_RW, >debug, "debug logging mode"); -sc->trigger_grcdump = 0; -SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "trigger_grcdump", -CTLFLAG_RW, >trigger_grcdump, 0, +SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "trigger_grcdump", +CTLTYPE_UINT | CTLFLAG_RW, sc, 0, +bxe_sysctl_trigger_grcdump, "IU", "set by driver when a grcdump is needed"); +sc->grcdump_done = 0; +SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "grcdump_done", + CTLFLAG_RW, >grcdump_done, 0, + "set by driver when grcdump is done"); sc->rx_budget = bxe_rx_budget; SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "rx_budget", @@ -18942,26 +18981,6 @@ bxe_get_preset_regs_len(struct bxe_softc } static int -bxe_get_max_regs_len(struct bxe_softc *sc) -{ -uint32_t preset_idx; -int regdump_len32, len32; - -regdump_len32 = bxe_get_preset_regs_len(sc, 1); - -/* Calculate the total preset regs length */ -for (preset_idx = 2; preset_idx <= DUMP_MAX_PRESETS; preset_idx++) { - -len32 = bxe_get_preset_regs_len(sc, preset_idx); - -if (regdump_len32 < len32) -regdump_len32 = len32; -} - -return regdump_len32; -} - -static int bxe_get_total_regs_len32(struct bxe_softc *sc) { uint32_t preset_idx; @@ -19188,18 +19207,21 @@ bxe_get_preset_regs(struct bxe_softc *sc } static int -bxe_grc_dump(struct bxe_softc *sc, bxe_grcdump_t *dump) +bxe_grc_dump(struct bxe_softc *sc) { int rval = 0; uint32_t preset_idx; uint8_t *buf; uint32_t size; struct dump_header *d_hdr; + +if (sc->grcdump_done) + return (rval); ecore_disable_blocks_parity(sc); -buf = dump->grcdump; -d_hdr = dump->grcdump; +buf = sc->grc_dump; +d_hdr = sc->grc_dump; d_hdr->header_size = (sizeof(struct dump_header) >> 2) - 1; d_hdr->version = BNX2X_DUMP_VERSION; @@ -19220,7 +19242,6 @@ bxe_grc_dump(struct bxe_softc *sc, bxe_g (BXE_PATH(sc) ? DUMP_PATH_1 : DUMP_PATH_0); } -dump->grcdump_dwords = sizeof(struct dump_header) >> 2; buf += sizeof(struct dump_header); for