svn commit: r300194 - head/sys/dev/bwn
Adrian Chadd
adrian at FreeBSD.org
Thu May 19 05:06:49 UTC 2016
Author: adrian
Date: Thu May 19 05:06:48 2016
New Revision: 300194
URL: https://svnweb.freebsd.org/changeset/base/300194
Log:
[bwn] program in the MAC capabilities somewhere where later microcode
expects it.
Obtained from: Linux b43
Modified:
head/sys/dev/bwn/if_bwn.c
head/sys/dev/bwn/if_bwnreg.h
Modified: head/sys/dev/bwn/if_bwn.c
==============================================================================
--- head/sys/dev/bwn/if_bwn.c Thu May 19 05:06:12 2016 (r300193)
+++ head/sys/dev/bwn/if_bwn.c Thu May 19 05:06:48 2016 (r300194)
@@ -2071,6 +2071,19 @@ bwn_core_init(struct bwn_mac *mac)
hf &= ~BWN_HF_SKIP_CFP_UPDATE;
bwn_hf_write(mac, hf);
+ /* Tell the firmware about the MAC capabilities */
+ if (siba_get_revid(sc->sc_dev) >= 13) {
+ uint32_t cap;
+ cap = BWN_READ_4(mac, BWN_MAC_HW_CAP);
+ DPRINTF(sc, BWN_DEBUG_RESET,
+ "%s: hw capabilities: 0x%08x\n",
+ __func__, cap);
+ bwn_shm_write_2(mac, BWN_SHARED, BWN_SHARED_MACHW_L,
+ cap & 0xffff);
+ bwn_shm_write_2(mac, BWN_SHARED, BWN_SHARED_MACHW_H,
+ (cap >> 16) & 0xffff);
+ }
+
bwn_set_txretry(mac, BWN_RETRY_SHORT, BWN_RETRY_LONG);
bwn_shm_write_2(mac, BWN_SHARED, BWN_SHARED_SHORT_RETRY_FALLBACK, 3);
bwn_shm_write_2(mac, BWN_SHARED, BWN_SHARED_LONG_RETRY_FALLBACK, 2);
Modified: head/sys/dev/bwn/if_bwnreg.h
==============================================================================
--- head/sys/dev/bwn/if_bwnreg.h Thu May 19 05:06:12 2016 (r300193)
+++ head/sys/dev/bwn/if_bwnreg.h Thu May 19 05:06:48 2016 (r300194)
@@ -169,6 +169,7 @@
#define BWN_RAM_CONTROL 0x130
#define BWN_RAM_DATA 0x134
#define BWN_PS_STATUS 0x140
+#define BWN_MAC_HW_CAP 0x15c /* core rev >= 13 */
#define BWN_RF_HWENABLED_HI 0x158
#define BWN_RF_HWENABLED_HI_MASK (1 << 16)
#define BWN_SHM_CONTROL 0x160
@@ -284,6 +285,8 @@
#define BWN_SHARED_SPU_WAKEUP 0x0094
#define BWN_SHARED_PRETBTT 0x0096
#define BWN_SHARED_CHAN 0x00a0
+#define BWN_SHARED_MACHW_L 0x00c0
+#define BWN_SHARED_MACHW_H 0x00c2
#define BWN_SHARED_AUTOINC 0x0100
#define BWN_SHARED_PROBE_RESP_PHYCTL 0x0188
#define BWN_SHARED_EDCFQ 0x0240
More information about the svn-src-head
mailing list