svn commit: r299302 - in stable/9/sys: dev/bxe modules/bxe

2016-05-09 Thread David C Somayajulu
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

2016-05-09 Thread David C Somayajulu
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

2016-05-09 Thread David C Somayajulu
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

2016-05-09 Thread Hans Petter Selasky
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"