diff --git a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwl.c b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwl.c index 0b0e6ceddb..3bc625da28 100644 --- a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwl.c +++ b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwl.c @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting * Copyright (c) 2007-2008 Marvell Semiconductor, Inc. * All rights reserved. @@ -29,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: releng/11.1/sys/dev/mwl/if_mwl.c 300241 2016-05-19 22:28:46Z avos $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/mwl/if_mwl.c 331797 2018-03-30 18:50:13Z brooks $"); /* * Driver for the Marvell 88W8363 Wireless LAN controller. @@ -1240,7 +1242,7 @@ mwl_reset_vap(struct ieee80211vap *vap, int state) /* * Reset the hardware w/o losing operational state. - * Used to to reset or reload hardware state for a vap. + * Used to reset or reload hardware state for a vap. */ static int mwl_reset(struct ieee80211vap *vap, u_long cmd) @@ -1532,7 +1534,7 @@ mwl_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k, return 0; } /* give the caller what they requested */ - *keyix = *rxkeyix = k - vap->iv_nw_keys; + *keyix = *rxkeyix = ieee80211_crypto_get_key_wepidx(vap, k); } else { /* * Firmware handles key allocation. @@ -2530,7 +2532,7 @@ mwl_ext_free(struct mbuf *m, void *data, void *arg) struct mwl_softc *sc = arg; /* XXX bounds check data */ - mwl_putrxdma(sc, data); + mwl_putrxdma(sc, m->m_ext.ext_buf); /* * If we were previously blocked by a lack of rx dma buffers * check if we now have enough to restart rx interrupt handling. @@ -2750,7 +2752,7 @@ mwl_rx_proc(void *arg, int npending) * buffer we just installed above. */ MEXTADD(m, data, MWL_AGGR_SIZE, mwl_ext_free, - data, sc, 0, EXT_NET_DRV); + data, sc, 0, EXT_NET_DRV); m->m_data += off - hdrlen; m->m_pkthdr.len = m->m_len = pktlen; /* NB: dma buffer assumed read-only */ @@ -2894,11 +2896,15 @@ mwl_txq_update(struct mwl_softc *sc, int ac) { #define MWL_EXPONENT_TO_VALUE(v) ((1<sc_ic; + struct chanAccParams chp; struct mwl_txq *txq = sc->sc_ac2q[ac]; - struct wmeParams *wmep = &ic->ic_wme.wme_chanParams.cap_wmeParams[ac]; + struct wmeParams *wmep; struct mwl_hal *mh = sc->sc_mh; int aifs, cwmin, cwmax, txoplim; + ieee80211_wme_ic_getparams(ic, &chp); + wmep = &chp.cap_wmeParams[ac]; + aifs = wmep->wmep_aifsn; /* XXX in sta mode need to pass log values for cwmin/max */ cwmin = MWL_EXPONENT_TO_VALUE(wmep->wmep_logcwmin); @@ -4747,8 +4753,8 @@ mwl_ioctl(struct ieee80211com *ic, u_long cmd, void *data) * statistics. The alternative is to copy the data * to a local structure. */ - return (copyout(&sc->sc_stats, - ifr->ifr_data, sizeof (sc->sc_stats))); + return (copyout(&sc->sc_stats, ifr_data_get_ptr(ifr), + sizeof (sc->sc_stats))); #ifdef MWL_DIAGAPI case SIOCGMVDIAG: /* XXX check privs */ diff --git a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwl_pci.c b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwl_pci.c index 3068812a50..8572d5786c 100644 --- a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwl_pci.c +++ b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwl_pci.c @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting * Copyright (c) 2007-2009 Marvell Semiconductor, Inc. * All rights reserved. @@ -30,7 +32,7 @@ #include #ifdef __FreeBSD__ -__FBSDID("$FreeBSD: releng/11.1/sys/dev/mwl/if_mwl_pci.c 287197 2015-08-27 08:56:39Z glebius $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/mwl/if_mwl_pci.c 326255 2017-11-27 14:52:40Z pfg $"); #endif /* diff --git a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwlioctl.h b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwlioctl.h index 1ea5c72673..a1fe7903b6 100644 --- a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwlioctl.h +++ b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwlioctl.h @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting * Copyright (c) 2007-2009 Marvell Semiconductor, Inc. * All rights reserved. @@ -27,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: releng/11.1/sys/dev/mwl/if_mwlioctl.h 193240 2009-06-01 18:07:01Z sam $ + * $FreeBSD: releng/12.0/sys/dev/mwl/if_mwlioctl.h 326255 2017-11-27 14:52:40Z pfg $ */ /* diff --git a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwlvar.h b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwlvar.h index 0645acd46e..de171edebb 100644 --- a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwlvar.h +++ b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/if_mwlvar.h @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting * Copyright (c) 2007-2009 Marvell Semiconductor, Inc. * All rights reserved. @@ -27,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: releng/11.1/sys/dev/mwl/if_mwlvar.h 298955 2016-05-03 03:41:25Z pfg $ + * $FreeBSD: releng/12.0/sys/dev/mwl/if_mwlvar.h 326255 2017-11-27 14:52:40Z pfg $ */ /* @@ -67,7 +69,7 @@ #ifndef MWL_AGGR_SIZE #define MWL_AGGR_SIZE 3839 /* max tx aggregation size */ #endif -#define MWL_AGEINTERVAL 1 /* poke f/w every sec to age q's */ +#define MWL_AGEINTERVAL 1 /* poke f/w every sec to age q's */ #define MWL_MAXSTAID 64 /* max of 64 stations */ /* @@ -179,7 +181,7 @@ typedef STAILQ_HEAD(, mwl_rxbuf) mwl_rxbufhead; * to identify which BA stream to use (assigning the h/w q to * the TxPriority field of the descriptor). * - * NB: Each station may have at most MWL_MAXBA streams at one time. + * NB: Each station may have at most MWL_MAXBA streams at one time. */ struct mwl_bastate { uint16_t qos; /* QoS ctl for BA stream */ diff --git a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwldiag.h b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwldiag.h index 8e57c87ac2..fcb13b093e 100644 --- a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwldiag.h +++ b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwldiag.h @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting * Copyright (c) 2007-2009 Marvell Semiconductor, Inc. * All rights reserved. @@ -27,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: releng/11.1/sys/dev/mwl/mwldiag.h 193240 2009-06-01 18:07:01Z sam $ + * $FreeBSD: releng/12.0/sys/dev/mwl/mwldiag.h 326255 2017-11-27 14:52:40Z pfg $ */ #ifndef _MWL_DIAG_H_ diff --git a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlhal.c b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlhal.c index cf60b4de59..6b55f8a99a 100644 --- a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlhal.c +++ b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlhal.c @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting * Copyright (c) 2007-2009 Marvell Semiconductor, Inc. * All rights reserved. @@ -27,11 +29,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: releng/11.1/sys/dev/mwl/mwlhal.c 300077 2016-05-17 20:53:56Z avos $ + * $FreeBSD: releng/12.0/sys/dev/mwl/mwlhal.c 326255 2017-11-27 14:52:40Z pfg $ */ #include -#include +#include #include #include #include @@ -316,7 +318,7 @@ mwl_hal_attach(device_t dev, uint16_t devid, /* allocate descriptors */ error = bus_dmamem_alloc(mh->mh_dmat, (void**) &mh->mh_cmdbuf, - BUS_DMA_NOWAIT | BUS_DMA_COHERENT, + BUS_DMA_NOWAIT | BUS_DMA_COHERENT, &mh->mh_dmamap); if (error != 0) { device_printf(dev, "unable to allocate memory for cmd buffer, " @@ -619,22 +621,11 @@ mwl_hal_sethwdma(struct mwl_hal *mh0, const struct mwl_hal_txrxdma *dma) pCmd->NumTxQueues = htole32(dma->maxNumWCB); pCmd->TotalRxWcb = htole32(1); /* XXX */ pCmd->RxPdWrPtr = htole32(dma->rxDescRead); -#ifdef __HAIKU__ -#ifdef MWL_HOST_PS_SUPPORT - pCmd->Flags = htole32(SET_HW_SPEC_HOSTFORM_BEACON - | SET_HW_SPEC_HOST_POWERSAVE - | SET_HW_SPEC_HOSTFORM_PROBERESP); -#else - pCmd->Flags = htole32(SET_HW_SPEC_HOSTFORM_BEACON - | SET_HW_SPEC_HOSTFORM_PROBERESP); -#endif -#else pCmd->Flags = htole32(SET_HW_SPEC_HOSTFORM_BEACON #ifdef MWL_HOST_PS_SUPPORT | SET_HW_SPEC_HOST_POWERSAVE #endif | SET_HW_SPEC_HOSTFORM_PROBERESP); -#endif /* disable multi-bss operation for A1-A4 parts */ if (mh->mh_revs.mh_macRev < 5) pCmd->Flags |= htole32(SET_HW_SPEC_DISABLEMBSS); @@ -841,7 +832,7 @@ mwl_hal_setradardetection(struct mwl_hal *mh0, MWL_HAL_RADAR action) retval = mwlExecuteCmd(mh, HostCmd_CMD_802_11H_DETECT_RADAR); MWL_HAL_UNLOCK(mh); return retval; -} +} /* * Convert public channel flags definition to a @@ -991,7 +982,7 @@ mwl_hal_settxrate(struct mwl_hal_vap *vap, MWL_HAL_TXRATE_HANDLING handling, n++; } pCmd->EntryCount = htole32(n); - } else + } else pCmd->Action = htole32(HostCmd_ACT_NOT_USE_FIXED_RATE); retval = mwlExecuteCmd(mh, HostCmd_CMD_SET_FIXED_RATE); @@ -1391,7 +1382,7 @@ bastream_check_available(struct mwl_hal_vap *vap, int qid, _VCMD_SETUP(vap, pCmd, HostCmd_FW_BASTREAM, HostCmd_CMD_BASTREAM); pCmd->ActionType = htole32(BaCheckCreateStream); pCmd->BaInfo.CreateParams.BarThrs = htole32(63); - pCmd->BaInfo.CreateParams.WindowSize = htole32(64); + pCmd->BaInfo.CreateParams.WindowSize = htole32(64); pCmd->BaInfo.CreateParams.IdleThrs = htole32(0x22000); IEEE80211_ADDR_COPY(&pCmd->BaInfo.CreateParams.PeerMacAddr[0], Macaddr); pCmd->BaInfo.CreateParams.DialogToken = 10; @@ -1575,7 +1566,7 @@ mwl_hal_bastream_get_seqno(struct mwl_hal *mh0, *pseqno = le16toh(pCmd->SeqNo); MWL_HAL_UNLOCK(mh); return retval; -} +} int mwl_hal_getwatchdogbitmap(struct mwl_hal *mh0, uint8_t bitmap[1]) @@ -1617,7 +1608,7 @@ mwl_hal_setaggampduratemode(struct mwl_hal *mh0, int mode, int threshold) pCmd->Threshold = htole32(threshold); retval = mwlExecuteCmd(mh, HostCmd_CMD_AMPDU_RETRY_RATEDROP_MODE); - MWL_HAL_UNLOCK(mh); + MWL_HAL_UNLOCK(mh); return retval; } @@ -1634,7 +1625,7 @@ mwl_hal_getaggampduratemode(struct mwl_hal *mh0, int *mode, int *threshold) pCmd->Action = htole16(0); retval = mwlExecuteCmd(mh, HostCmd_CMD_AMPDU_RETRY_RATEDROP_MODE); - MWL_HAL_UNLOCK(mh); + MWL_HAL_UNLOCK(mh); *mode = le32toh(pCmd->Option); *threshold = le32toh(pCmd->Threshold); return retval; @@ -1656,7 +1647,7 @@ mwl_hal_setcfend(struct mwl_hal *mh0, int ena) pCmd->Enable = htole32(ena); retval = mwlExecuteCmd(mh, HostCmd_CMD_CFEND_ENABLE); - MWL_HAL_UNLOCK(mh); + MWL_HAL_UNLOCK(mh); return retval; } @@ -1692,7 +1683,7 @@ cvtPeerInfo(PeerInfo_t *to, const MWL_HAL_PEERINFO *from) /* XXX station id must be in [0..63] */ int mwl_hal_newstation(struct mwl_hal_vap *vap, - const uint8_t addr[IEEE80211_ADDR_LEN], uint16_t aid, uint16_t sid, + const uint8_t addr[IEEE80211_ADDR_LEN], uint16_t aid, uint16_t sid, const MWL_HAL_PEERINFO *peer, int isQosSta, int wmeInfo) { struct mwl_hal_priv *mh = MWLVAP(vap); @@ -2013,7 +2004,7 @@ mwlGetCalTable(struct mwl_hal_priv *mh, uint8_t annex, uint8_t index) pCmd->calTbl[0] != annex && annex != 0 && annex != 255) retval = EIO; return retval; -} +} /* * Calculate the max tx power from the channel's cal data. @@ -2218,7 +2209,7 @@ mwl_hal_GetBeacon(struct mwl_hal *mh0, uint8_t *pBcn, uint16_t *pLen) } MWL_HAL_UNLOCK(mh); return retval; -} +} int mwl_hal_SetRifs(struct mwl_hal *mh0, uint8_t QNum) @@ -2430,9 +2421,9 @@ mwlExecuteCmd(struct mwl_hal_priv *mh, unsigned short cmd) /* * Firmware download support. */ -#define FW_DOWNLOAD_BLOCK_SIZE 256 +#define FW_DOWNLOAD_BLOCK_SIZE 256 #define FW_CHECK_USECS (5*1000) /* 5ms */ -#define FW_MAX_NUM_CHECKS 200 +#define FW_MAX_NUM_CHECKS 200 #if 0 /* XXX read f/w from file */ diff --git a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlhal.h b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlhal.h index 2f5dc95ec8..0184edfcc0 100644 --- a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlhal.h +++ b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlhal.h @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting * Copyright (c) 2007-2009 Marvell Semiconductor, Inc. * All rights reserved. @@ -27,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: releng/11.1/sys/dev/mwl/mwlhal.h 298915 2016-05-02 04:15:15Z adrian $ + * $FreeBSD: releng/12.0/sys/dev/mwl/mwlhal.h 326255 2017-11-27 14:52:40Z pfg $ */ #ifndef _MWL_HAL_H_ diff --git a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlreg.h b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlreg.h index eb82ac7e2b..969cd05ea1 100644 --- a/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlreg.h +++ b/src/add-ons/kernel/drivers/network/wlan/marvell88w8363/dev/mwl/mwlreg.h @@ -1,4 +1,6 @@ /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting * Copyright (c) 2007-2009 Marvell Semiconductor, Inc. * All rights reserved. @@ -27,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: releng/11.1/sys/dev/mwl/mwlreg.h 195171 2009-06-29 18:42:54Z sam $ + * $FreeBSD: releng/12.0/sys/dev/mwl/mwlreg.h 326255 2017-11-27 14:52:40Z pfg $ */ /*