svn commit: r299302 - in stable/9/sys: dev/bxe modules/bxe
Author: davidcs Date: Tue May 10 02:50:54 2016 New Revision: 299302 URL: https://svnweb.freebsd.org/changeset/base/299302 Log: MFC r298591 1. Removed -Wno-shift-negative-value from Makefile 2. Fixed warning its absence caused in bxe_elink.c Modified: stable/9/sys/dev/bxe/bxe_elink.c stable/9/sys/modules/bxe/Makefile Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) stable/9/sys/modules/ (props changed) Modified: stable/9/sys/dev/bxe/bxe_elink.c == --- stable/9/sys/dev/bxe/bxe_elink.cTue May 10 02:47:40 2016 (r299301) +++ stable/9/sys/dev/bxe/bxe_elink.cTue May 10 02:50:54 2016 (r299302) @@ -11969,8 +11969,8 @@ static elink_status_t elink_54618se_conf elink_eee_disable(phy, params, vars); } } else { - vars->eee_status &= ~SHMEM_EEE_1G_ADV << - SHMEM_EEE_SUPPORTED_SHIFT; + vars->eee_status &= ((uint32_t)(~SHMEM_EEE_1G_ADV) << + SHMEM_EEE_SUPPORTED_SHIFT); if (phy->flags & ELINK_FLAGS_EEE) { /* Handle legacy auto-grEEEn */ Modified: stable/9/sys/modules/bxe/Makefile == --- stable/9/sys/modules/bxe/Makefile Tue May 10 02:47:40 2016 (r299301) +++ stable/9/sys/modules/bxe/Makefile Tue May 10 02:50:54 2016 (r299302) @@ -14,6 +14,5 @@ SRCS += bxe.c \ 57712_init_values.c CFLAGS += -I${BXE} -#CFLAGS += -Wno-shift-negative-value .include ___ svn-src-stable-9@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-9 To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"
svn commit: r299301 - stable/9/sys/dev/bxe
Author: davidcs Date: Tue May 10 02:47:40 2016 New Revision: 299301 URL: https://svnweb.freebsd.org/changeset/base/299301 Log: MFC r298496 Remove Unused/Dead Code Modified: stable/9/sys/dev/bxe/bxe.c 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 Tue May 10 02:44:23 2016(r299300) +++ stable/9/sys/dev/bxe/bxe.c Tue May 10 02:47:40 2016(r299301) @@ -4440,115 +4440,6 @@ bxe_ifmedia_status(struct ifnet *ifp, st } } -static int -bxe_ioctl_nvram(struct bxe_softc *sc, -uint32_t priv_op, -struct ifreq *ifr) -{ -struct bxe_nvram_data nvdata_base; -struct bxe_nvram_data *nvdata; -int len; -int error = 0; - -copyin(ifr->ifr_data, _base, sizeof(nvdata_base)); - -len = (sizeof(struct bxe_nvram_data) + - nvdata_base.len - - sizeof(uint32_t)); - -if (len > sizeof(struct bxe_nvram_data)) { -if ((nvdata = (struct bxe_nvram_data *) - malloc(len, M_DEVBUF, -(M_NOWAIT | M_ZERO))) == NULL) { -BLOGE(sc, "BXE_IOC_RD_NVRAM malloc failed priv_op 0x%x " -" len = 0x%x\n", priv_op, len); -return (1); -} -memcpy(nvdata, _base, sizeof(struct bxe_nvram_data)); -} else { -nvdata = _base; -} - -if (priv_op == BXE_IOC_RD_NVRAM) { -BLOGD(sc, DBG_IOCTL, "IOC_RD_NVRAM 0x%x %d\n", - nvdata->offset, nvdata->len); -error = bxe_nvram_read(sc, - nvdata->offset, - (uint8_t *)nvdata->value, - nvdata->len); -copyout(nvdata, ifr->ifr_data, len); -} else { /* BXE_IOC_WR_NVRAM */ -BLOGD(sc, DBG_IOCTL, "IOC_WR_NVRAM 0x%x %d\n", - nvdata->offset, nvdata->len); -copyin(ifr->ifr_data, nvdata, len); -error = bxe_nvram_write(sc, -nvdata->offset, -(uint8_t *)nvdata->value, -nvdata->len); -} - -if (len > sizeof(struct bxe_nvram_data)) { -free(nvdata, M_DEVBUF); -} - -return (error); -} - -static int -bxe_ioctl_stats_show(struct bxe_softc *sc, - uint32_t priv_op, - struct ifreq *ifr) -{ -const size_t str_size = (BXE_NUM_ETH_STATS * STAT_NAME_LEN); -const size_t stats_size = (BXE_NUM_ETH_STATS * sizeof(uint64_t)); -caddr_t p_tmp; -uint32_t *offset; -int i; - -switch (priv_op) -{ -case BXE_IOC_STATS_SHOW_NUM: -memset(ifr->ifr_data, 0, sizeof(union bxe_stats_show_data)); -((union bxe_stats_show_data *)ifr->ifr_data)->desc.num = -BXE_NUM_ETH_STATS; -((union bxe_stats_show_data *)ifr->ifr_data)->desc.len = -STAT_NAME_LEN; -return (0); - -case BXE_IOC_STATS_SHOW_STR: -memset(ifr->ifr_data, 0, str_size); -p_tmp = ifr->ifr_data; -for (i = 0; i < BXE_NUM_ETH_STATS; i++) { -strcpy(p_tmp, bxe_eth_stats_arr[i].string); -p_tmp += STAT_NAME_LEN; -} -return (0); - -case BXE_IOC_STATS_SHOW_CNT: -memset(ifr->ifr_data, 0, stats_size); -p_tmp = ifr->ifr_data; -for (i = 0; i < BXE_NUM_ETH_STATS; i++) { -offset = ((uint32_t *)>eth_stats + - bxe_eth_stats_arr[i].offset); -switch (bxe_eth_stats_arr[i].size) { -case 4: -*((uint64_t *)p_tmp) = (uint64_t)*offset; -break; -case 8: -*((uint64_t *)p_tmp) = HILO_U64(*offset, *(offset + 1)); -break; -default: -*((uint64_t *)p_tmp) = 0; -} -p_tmp += sizeof(uint64_t); -} -return (0); - -default: -return (-1); -} -} - static void bxe_handle_chip_tq(void *context, int pending) @@ -4588,8 +4479,6 @@ bxe_ioctl(struct ifnet *ifp, { struct bxe_softc *sc = ifp->if_softc; struct ifreq *ifr = (struct ifreq *)data; -struct bxe_nvram_data *nvdata; -uint32_t priv_op; int mask = 0; int reinit = 0; int error = 0; @@ -4774,36 +4663,6 @@ bxe_ioctl(struct ifnet *ifp, error = ifmedia_ioctl(ifp, ifr, >ifmedia, command); break; -case SIOCGPRIVATE_0: -copyin(ifr->ifr_data, _op, sizeof(priv_op)); - -switch (priv_op) -{ -case BXE_IOC_RD_NVRAM: -case BXE_IOC_WR_NVRAM: -nvdata = (struct bxe_nvram_data *)ifr->ifr_data; -BLOGD(sc, DBG_IOCTL, - "Received Private NVRAM ioctl addr=0x%x size=%u\n", -
svn commit: r299300 - stable/9/sys/dev/bxe
Author: davidcs Date: Tue May 10 02:44:23 2016 New Revision: 299300 URL: https://svnweb.freebsd.org/changeset/base/299300 Log: MFC r298294 1. modify fwdump (a.k.a grcdump) so that grcdump memory is allocated and freed on as needed basis. 2. grcdump can be taken at failure points by invoking bxe_grc_dump() when trigger_grcdump sysctl flag is set. When grcdump is taken grcdump_done sysctl flag is set. 3. grcdump_done can be monitored by the user to retrieve the grcdump Submitted by:vaishali.kulka...@qlogic.com Modified: stable/9/sys/dev/bxe/bxe.c stable/9/sys/dev/bxe/bxe.h stable/9/sys/dev/bxe/bxe_stats.c 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 Tue May 10 02:35:13 2016(r299299) +++ stable/9/sys/dev/bxe/bxe.c Tue May 10 02:44:23 2016(r299300) @@ -683,7 +683,6 @@ 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); static int bxe_alloc_buf_rings(struct bxe_softc *sc); static void bxe_free_buf_rings(struct bxe_softc *sc); @@ -3460,6 +3459,10 @@ bxe_watchdog(struct bxe_softc*sc, } BLOGE(sc, "TX watchdog timeout on fp[%02d], resetting!\n", fp->index); +if(sc->trigger_grcdump) { + /* taking grcdump */ + bxe_grc_dump(sc); +} BXE_FP_TX_UNLOCK(fp); @@ -15677,30 +15680,6 @@ 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; @@ -15851,14 +15830,16 @@ bxe_add_sysctls(struct bxe_softc *sc) "debug logging mode"); #endif /* #if __FreeBSD_version >= 90 */ -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->trigger_grcdump = 0; +SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "trigger_grcdump", + CTLFLAG_RW, >trigger_grcdump, 0, + "trigger grcdump should be invoked" + " before collecting grcdump"); +sc->grcdump_started = 0; sc->grcdump_done = 0; SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "grcdump_done", - CTLFLAG_RW, >grcdump_done, 0, + CTLFLAG_RD, >grcdump_done, 0, "set by driver when grcdump is done"); sc->rx_budget = bxe_rx_budget; @@ -18690,7 +18671,7 @@ bxe_get_preset_regs(struct bxe_softc *sc return 0; } -static int +int bxe_grc_dump(struct bxe_softc *sc) { int rval = 0; @@ -18698,12 +18679,53 @@ bxe_grc_dump(struct bxe_softc *sc) uint8_t *buf; uint32_t size; struct dump_header *d_hdr; +uint32_t i; +uint32_t reg_val; +uint32_t reg_addr; +uint32_t cmd_offset; +int context_size; +int allocated; +struct ecore_ilt *ilt = SC_ILT(sc); +struct bxe_fastpath *fp; +struct ilt_client_info *ilt_cli; +int grc_dump_size; -if (sc->grcdump_done) + +if (sc->grcdump_done || sc->grcdump_started) return (rval); +sc->grcdump_started = 1; +BLOGI(sc, "Started collecting grcdump\n"); + +grc_dump_size = (bxe_get_total_regs_len32(sc) * sizeof(uint32_t)) + +sizeof(struct dump_header); + +sc->grc_dump = malloc(grc_dump_size, M_DEVBUF, M_NOWAIT); + +if (sc->grc_dump == NULL) { +BLOGW(sc, "Unable to allocate memory for grcdump collection\n"); +return(ENOMEM); +} + + + +/* Disable parity attentions as long as following dump may + * cause false alarms by reading never written registers. We + * will re-enable parity attentions right after the dump. + */ + +/* Disable parity on path 0 */ +bxe_pretend_func(sc, 0); + ecore_disable_blocks_parity(sc); +/* Disable parity on path 1 */ +bxe_pretend_func(sc, 1); +ecore_disable_blocks_parity(sc); + +/* Return to current function */ +bxe_pretend_func(sc, SC_ABS_FUNC(sc)); + buf = sc->grc_dump; d_hdr = sc->grc_dump; @@ -18735,7 +18757,7 @@ bxe_grc_dump(struct bxe_softc *sc) (preset_idx == 11))
svn commit: r299261 - stable/9/etc/devd
Author: hselasky Date: Mon May 9 13:13:55 2016 New Revision: 299261 URL: https://svnweb.freebsd.org/changeset/base/299261 Log: MFC r298783: Regenerate usb.conf . Modified: stable/9/etc/devd/usb.conf Directory Properties: stable/9/etc/ (props changed) Modified: stable/9/etc/devd/usb.conf == --- stable/9/etc/devd/usb.conf Mon May 9 13:12:12 2016(r299260) +++ stable/9/etc/devd/usb.conf Mon May 9 13:13:55 2016(r299261) @@ -1721,7 +1721,7 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x07b8"; - match "product" "(0x8178|0x8188|0x8189)"; + match "product" "(0x8178|0x8179|0x8188|0x8189)"; action "kldload -n if_urtwn"; }; @@ -3161,7 +3161,23 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x0df6"; - match "product" "(0x0052|0x005c|0x0061)"; + match "product" "0x0052"; + action "kldload -n if_urtwn"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0df6"; + match "product" "0x0056"; + action "kldload -n if_axe"; +}; + +nomatch 32 { + match "bus" "uhub[0-9]+"; + match "mode" "host"; + match "vendor" "0x0df6"; + match "product" "(0x005c|0x0061)"; action "kldload -n if_urtwn"; }; @@ -4633,7 +4649,7 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x17e9"; - match "product" "(0x0059|0x0100|0x0117|0x0136|0x0138|0x0141|0x015a|0x0198|0x019b|0x01ba|0x01bb|0x01d4|0x01d7|0x01e2|0x0215|0x024c|0x02a9|0x0377|0x03e0|0x401a)"; + match "product" "(0x0059|0x0100|0x0117|0x0136|0x0138|0x0141|0x015a|0x0198|0x019b|0x01ba|0x01bb|0x01d4|0x01d7|0x01e2|0x0215|0x024c|0x02a9|0x02e9|0x0377|0x03e0|0x401a)"; action "kldload -n udl"; }; @@ -5801,5 +5817,5 @@ nomatch 32 { action "kldload -n umass"; }; -# 2719 USB entries processed +# 2722 USB entries processed ___ svn-src-stable-9@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-9 To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"