marvell88w8363: Sync with FreeBSD 11.1.
Untested, but the changes are mostly adapations to the new KPIs.
This commit is contained in:
@@ -2,7 +2,6 @@ SubDir HAIKU_TOP src add-ons kernel drivers network wlan ;
|
||||
|
||||
# FreeBSD 9.3 drivers
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan broadcom43xx ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan marvell88w8363 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan wavelanwifi ;
|
||||
|
||||
# FreeBSD 11.1 drivers
|
||||
@@ -12,6 +11,7 @@ SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi2100 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi3945 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi4965 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan marvell88w8335 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan marvell88w8363 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan ralinkwifi ;
|
||||
|
||||
# FreeBSD 11.2 drivers
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
SubDir HAIKU_TOP src add-ons kernel drivers network wlan marvell88w8363 ;
|
||||
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd11_network compat ]
|
||||
: true ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd11_wlan ] : true ;
|
||||
UsePrivateHeaders net system ;
|
||||
UsePrivateKernelHeaders ;
|
||||
|
||||
## TODO once all driver are updated to their FreeBSD 8 version this define
|
||||
## can be omitted
|
||||
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 __FreeBSD_version__=8
|
||||
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1
|
||||
_XOPEN_SOURCE ]
|
||||
-Wno-format
|
||||
-Wno-unused
|
||||
@@ -24,8 +22,8 @@ KernelAddon marvell88w8363 :
|
||||
mwlhal.c
|
||||
glue.c
|
||||
:
|
||||
libfreebsd_wlan.a
|
||||
libfreebsd_network.a
|
||||
libfreebsd11_wlan.a
|
||||
libfreebsd11_network.a
|
||||
;
|
||||
|
||||
HAIKU_WIFI_FIRMWARE_PACKAGE on marvell88w8363 = "" ;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -30,7 +30,7 @@
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#ifdef __FreeBSD__
|
||||
__FBSDID("$FreeBSD$");
|
||||
__FBSDID("$FreeBSD: releng/11.1/sys/dev/mwl/if_mwl_pci.c 287197 2015-08-27 08:56:39Z glebius $");
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/module.h>
|
||||
#include <sys/kernel.h>
|
||||
#include <sys/lock.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/mbuf.h>
|
||||
#include <sys/mutex.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
@@ -52,9 +54,11 @@ __FBSDID("$FreeBSD$");
|
||||
|
||||
#include <sys/socket.h>
|
||||
|
||||
#include <net/ethernet.h>
|
||||
#include <net/if.h>
|
||||
#include <net/if_media.h>
|
||||
#include <net/if_arp.h>
|
||||
#include <net/route.h>
|
||||
|
||||
#include <net80211/ieee80211_var.h>
|
||||
|
||||
@@ -175,9 +179,9 @@ mwl_pci_attach(device_t dev)
|
||||
BUS_SPACE_MAXADDR_32BIT, /* lowaddr */
|
||||
BUS_SPACE_MAXADDR, /* highaddr */
|
||||
NULL, NULL, /* filter, filterarg */
|
||||
BUS_SPACE_MAXADDR, /* maxsize */
|
||||
BUS_SPACE_MAXSIZE, /* maxsize */
|
||||
MWL_TXDESC, /* nsegments */
|
||||
BUS_SPACE_MAXADDR, /* maxsegsize */
|
||||
BUS_SPACE_MAXSIZE, /* maxsegsize */
|
||||
0, /* flags */
|
||||
NULL, /* lockfunc */
|
||||
NULL, /* lockarg */
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/11.1/sys/dev/mwl/if_mwlioctl.h 193240 2009-06-01 18:07:01Z sam $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/11.1/sys/dev/mwl/if_mwlvar.h 298955 2016-05-03 03:41:25Z pfg $
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -37,6 +37,7 @@
|
||||
#define _DEV_MWL_MVVAR_H
|
||||
|
||||
#include <sys/endian.h>
|
||||
#include <sys/bus.h>
|
||||
#include <net80211/ieee80211_radiotap.h>
|
||||
#include <dev/mwl/mwlhal.h>
|
||||
#include <dev/mwl/mwlreg.h>
|
||||
@@ -64,7 +65,7 @@
|
||||
#define MWL_TXDESC 1 /* max tx descriptors/segments */
|
||||
#endif
|
||||
#ifndef MWL_AGGR_SIZE
|
||||
#define MWL_AGGR_SIZE 3839 /* max tx agregation 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_MAXSTAID 64 /* max of 64 stations */
|
||||
@@ -187,10 +188,10 @@ struct mwl_bastate {
|
||||
};
|
||||
|
||||
static __inline__ void
|
||||
mwl_bastream_setup(struct mwl_bastate *bas, int ac, int txq)
|
||||
mwl_bastream_setup(struct mwl_bastate *bas, int tid, int txq)
|
||||
{
|
||||
bas->txq = txq;
|
||||
bas->qos = htole16(WME_AC_TO_TID(ac) | IEEE80211_QOS_ACKPOLICY_BA);
|
||||
bas->qos = htole16(tid | IEEE80211_QOS_ACKPOLICY_BA);
|
||||
}
|
||||
|
||||
static __inline__ void
|
||||
@@ -244,7 +245,8 @@ struct mwl_vap {
|
||||
#define MWL_VAP_CONST(vap) ((const struct mwl_vap *)(vap))
|
||||
|
||||
struct mwl_softc {
|
||||
struct ifnet *sc_ifp; /* interface common */
|
||||
struct ieee80211com sc_ic;
|
||||
struct mbufq sc_snd;
|
||||
struct mwl_stats sc_stats; /* interface statistics */
|
||||
int sc_debug;
|
||||
device_t sc_dev;
|
||||
@@ -257,7 +259,8 @@ struct mwl_softc {
|
||||
struct taskqueue *sc_tq; /* private task queue */
|
||||
struct callout sc_watchdog;
|
||||
int sc_tx_timer;
|
||||
unsigned int sc_invalid : 1, /* disable hardware accesses */
|
||||
unsigned int sc_running : 1,
|
||||
sc_invalid : 1, /* disable hardware accesses */
|
||||
sc_recvsetup:1, /* recv setup */
|
||||
sc_csapending:1,/* 11h channel switch pending */
|
||||
sc_radarena : 1,/* radar detection enabled */
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/11.1/sys/dev/mwl/mwldiag.h 193240 2009-06-01 18:07:01Z sam $
|
||||
*/
|
||||
|
||||
#ifndef _MWL_DIAG_H_
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/11.1/sys/dev/mwl/mwlhal.c 300077 2016-05-17 20:53:56Z avos $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
@@ -309,19 +309,12 @@ mwl_hal_attach(device_t dev, uint16_t devid,
|
||||
NULL, /* lockarg */
|
||||
&mh->mh_dmat);
|
||||
if (error != 0) {
|
||||
device_printf(dev, "unable to allocate memory for cmd buffer, "
|
||||
device_printf(dev, "unable to allocate memory for cmd tag, "
|
||||
"error %u\n", error);
|
||||
goto fail0;
|
||||
}
|
||||
|
||||
/* allocate descriptors */
|
||||
error = bus_dmamap_create(mh->mh_dmat, BUS_DMA_NOWAIT, &mh->mh_dmamap);
|
||||
if (error != 0) {
|
||||
device_printf(dev, "unable to create dmamap for cmd buffers, "
|
||||
"error %u\n", error);
|
||||
goto fail0;
|
||||
}
|
||||
|
||||
error = bus_dmamem_alloc(mh->mh_dmat, (void**) &mh->mh_cmdbuf,
|
||||
BUS_DMA_NOWAIT | BUS_DMA_COHERENT,
|
||||
&mh->mh_dmamap);
|
||||
@@ -365,9 +358,8 @@ mwl_hal_attach(device_t dev, uint16_t devid,
|
||||
fail2:
|
||||
bus_dmamem_free(mh->mh_dmat, mh->mh_cmdbuf, mh->mh_dmamap);
|
||||
fail1:
|
||||
bus_dmamap_destroy(mh->mh_dmat, mh->mh_dmamap);
|
||||
fail0:
|
||||
bus_dma_tag_destroy(mh->mh_dmat);
|
||||
fail0:
|
||||
mtx_destroy(&mh->mh_mtx);
|
||||
free(mh, M_DEVBUF);
|
||||
return NULL;
|
||||
@@ -379,7 +371,6 @@ mwl_hal_detach(struct mwl_hal *mh0)
|
||||
struct mwl_hal_priv *mh = MWLPRIV(mh0);
|
||||
|
||||
bus_dmamem_free(mh->mh_dmat, mh->mh_cmdbuf, mh->mh_dmamap);
|
||||
bus_dmamap_destroy(mh->mh_dmat, mh->mh_dmamap);
|
||||
bus_dma_tag_destroy(mh->mh_dmat);
|
||||
mtx_destroy(&mh->mh_mtx);
|
||||
free(mh, M_DEVBUF);
|
||||
@@ -1460,7 +1451,7 @@ mwl_hal_bastream_alloc(struct mwl_hal_vap *vap, int ba_policy,
|
||||
sp->setup = 0;
|
||||
sp->ba_policy = ba_policy;
|
||||
MWL_HAL_UNLOCK(mh);
|
||||
return sp != NULL ? &sp->public : NULL;
|
||||
return &sp->public;
|
||||
}
|
||||
|
||||
const MWL_HAL_BASTREAM *
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/11.1/sys/dev/mwl/mwlhal.h 298915 2016-05-02 04:15:15Z adrian $
|
||||
*/
|
||||
|
||||
#ifndef _MWL_HAL_H_
|
||||
@@ -71,15 +71,13 @@ enum {
|
||||
MWL_WME_AC_VO = 3, /* voice access category */
|
||||
};
|
||||
|
||||
struct device;
|
||||
|
||||
struct mwl_hal {
|
||||
bus_space_handle_t mh_ioh; /* BAR 1 copied from softc */
|
||||
bus_space_tag_t mh_iot;
|
||||
uint32_t mh_imask; /* interrupt mask */
|
||||
/* remainder is opaque to driver */
|
||||
};
|
||||
struct mwl_hal *mwl_hal_attach(struct device *dev, uint16_t devid,
|
||||
struct mwl_hal *mwl_hal_attach(device_t dev, uint16_t devid,
|
||||
bus_space_handle_t ioh, bus_space_tag_t iot, bus_dma_tag_t tag);
|
||||
void mwl_hal_detach(struct mwl_hal *);
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/11.1/sys/dev/mwl/mwlreg.h 195171 2009-06-29 18:42:54Z sam $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user