Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Jun 2016 07:55:21 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r301434 - head/sys/dev/bwn
Message-ID:  <201606050755.u557tL6s081534@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Sun Jun  5 07:55:21 2016
New Revision: 301434
URL: https://svnweb.freebsd.org/changeset/base/301434

Log:
  [bwn] Enable PHY-LP 5GHz support for the one NIC I have tested it on so far.
  
  After perusing the PHY-LP code (don't ask why; honest) I discovered that
  it /has/ 5GHz support - but it's not ever used.  I found one NIC - a
  BCM4312 w/ pci id 0x4315 - which advertised dual-band PHY-LP support.
  
  Turns out it works.
  
  Whilst here, move up the support bit logging code so I can use it
  to debug this.
  
  Tested:
  
  * BCM4312 (pci id 0x4315); 5GHz STA operation

Modified:
  head/sys/dev/bwn/if_bwn.c

Modified: head/sys/dev/bwn/if_bwn.c
==============================================================================
--- head/sys/dev/bwn/if_bwn.c	Sun Jun  5 07:51:36 2016	(r301433)
+++ head/sys/dev/bwn/if_bwn.c	Sun Jun  5 07:55:21 2016	(r301434)
@@ -1163,6 +1163,16 @@ bwn_attach_core(struct bwn_mac *mac)
 			have_bg = 1;
 			have_a = 1;
 		}
+#if 0
+		device_printf(sc->sc_dev, "%s: high=0x%08x, have_a=%d, have_bg=%d,"
+		    " deviceid=0x%04x, siba_deviceid=0x%04x\n",
+		    __func__,
+		    high,
+		    have_a,
+		    have_bg,
+		    siba_get_pci_device(sc->sc_dev),
+		    siba_get_chipid(sc->sc_dev));
+#endif
 	} else {
 		device_printf(sc->sc_dev, "%s: not siba; bailing\n", __func__);
 		error = ENXIO;
@@ -1183,18 +1193,12 @@ bwn_attach_core(struct bwn_mac *mac)
 	if (error)
 		goto fail;
 
-#if 0
-	device_printf(sc->sc_dev, "%s: high=0x%08x, have_a=%d, have_bg=%d,"
-	    " deviceid=0x%04x, siba_deviceid=0x%04x\n",
-	    __func__,
-	    high,
-	    have_a,
-	    have_bg,
-	    siba_get_pci_device(sc->sc_dev),
-	    siba_get_chipid(sc->sc_dev));
-#endif
-
+	/*
+	 * This is the whitelist of devices which we "believe"
+	 * the SPROM PHY config from.  The rest are "guessed".
+	 */
 	if (siba_get_pci_device(sc->sc_dev) != 0x4312 &&
+	    siba_get_pci_device(sc->sc_dev) != 0x4315 &&
 	    siba_get_pci_device(sc->sc_dev) != 0x4319 &&
 	    siba_get_pci_device(sc->sc_dev) != 0x4324 &&
 	    siba_get_pci_device(sc->sc_dev) != 0x4328 &&



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606050755.u557tL6s081534>