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
|
# 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 broadcom43xx ;
|
||||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan marvell88w8363 ;
|
|
||||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan wavelanwifi ;
|
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan wavelanwifi ;
|
||||||
|
|
||||||
# FreeBSD 11.1 drivers
|
# 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 iprowifi3945 ;
|
||||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi4965 ;
|
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 marvell88w8335 ;
|
||||||
|
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan marvell88w8363 ;
|
||||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan ralinkwifi ;
|
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan ralinkwifi ;
|
||||||
|
|
||||||
# FreeBSD 11.2 drivers
|
# FreeBSD 11.2 drivers
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
SubDir HAIKU_TOP src add-ons kernel drivers network wlan marvell88w8363 ;
|
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 ;
|
: true ;
|
||||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ;
|
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd11_wlan ] : true ;
|
||||||
UsePrivateHeaders net system ;
|
UsePrivateHeaders net system ;
|
||||||
UsePrivateKernelHeaders ;
|
UsePrivateKernelHeaders ;
|
||||||
|
|
||||||
## TODO once all driver are updated to their FreeBSD 8 version this define
|
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1
|
||||||
## can be omitted
|
|
||||||
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 __FreeBSD_version__=8
|
|
||||||
_XOPEN_SOURCE ]
|
_XOPEN_SOURCE ]
|
||||||
-Wno-format
|
-Wno-format
|
||||||
-Wno-unused
|
-Wno-unused
|
||||||
@@ -24,8 +22,8 @@ KernelAddon marvell88w8363 :
|
|||||||
mwlhal.c
|
mwlhal.c
|
||||||
glue.c
|
glue.c
|
||||||
:
|
:
|
||||||
libfreebsd_wlan.a
|
libfreebsd11_wlan.a
|
||||||
libfreebsd_network.a
|
libfreebsd11_network.a
|
||||||
;
|
;
|
||||||
|
|
||||||
HAIKU_WIFI_FIRMWARE_PACKAGE on marvell88w8363 = "" ;
|
HAIKU_WIFI_FIRMWARE_PACKAGE on marvell88w8363 = "" ;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
#ifdef __FreeBSD__
|
#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
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$");
|
|||||||
#include <sys/module.h>
|
#include <sys/module.h>
|
||||||
#include <sys/kernel.h>
|
#include <sys/kernel.h>
|
||||||
#include <sys/lock.h>
|
#include <sys/lock.h>
|
||||||
|
#include <sys/malloc.h>
|
||||||
|
#include <sys/mbuf.h>
|
||||||
#include <sys/mutex.h>
|
#include <sys/mutex.h>
|
||||||
#include <sys/errno.h>
|
#include <sys/errno.h>
|
||||||
|
|
||||||
@@ -52,9 +54,11 @@ __FBSDID("$FreeBSD$");
|
|||||||
|
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
|
||||||
|
#include <net/ethernet.h>
|
||||||
#include <net/if.h>
|
#include <net/if.h>
|
||||||
#include <net/if_media.h>
|
#include <net/if_media.h>
|
||||||
#include <net/if_arp.h>
|
#include <net/if_arp.h>
|
||||||
|
#include <net/route.h>
|
||||||
|
|
||||||
#include <net80211/ieee80211_var.h>
|
#include <net80211/ieee80211_var.h>
|
||||||
|
|
||||||
@@ -175,9 +179,9 @@ mwl_pci_attach(device_t dev)
|
|||||||
BUS_SPACE_MAXADDR_32BIT, /* lowaddr */
|
BUS_SPACE_MAXADDR_32BIT, /* lowaddr */
|
||||||
BUS_SPACE_MAXADDR, /* highaddr */
|
BUS_SPACE_MAXADDR, /* highaddr */
|
||||||
NULL, NULL, /* filter, filterarg */
|
NULL, NULL, /* filter, filterarg */
|
||||||
BUS_SPACE_MAXADDR, /* maxsize */
|
BUS_SPACE_MAXSIZE, /* maxsize */
|
||||||
MWL_TXDESC, /* nsegments */
|
MWL_TXDESC, /* nsegments */
|
||||||
BUS_SPACE_MAXADDR, /* maxsegsize */
|
BUS_SPACE_MAXSIZE, /* maxsegsize */
|
||||||
0, /* flags */
|
0, /* flags */
|
||||||
NULL, /* lockfunc */
|
NULL, /* lockfunc */
|
||||||
NULL, /* lockarg */
|
NULL, /* lockarg */
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
* 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
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
* 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
|
#define _DEV_MWL_MVVAR_H
|
||||||
|
|
||||||
#include <sys/endian.h>
|
#include <sys/endian.h>
|
||||||
|
#include <sys/bus.h>
|
||||||
#include <net80211/ieee80211_radiotap.h>
|
#include <net80211/ieee80211_radiotap.h>
|
||||||
#include <dev/mwl/mwlhal.h>
|
#include <dev/mwl/mwlhal.h>
|
||||||
#include <dev/mwl/mwlreg.h>
|
#include <dev/mwl/mwlreg.h>
|
||||||
@@ -64,7 +65,7 @@
|
|||||||
#define MWL_TXDESC 1 /* max tx descriptors/segments */
|
#define MWL_TXDESC 1 /* max tx descriptors/segments */
|
||||||
#endif
|
#endif
|
||||||
#ifndef MWL_AGGR_SIZE
|
#ifndef MWL_AGGR_SIZE
|
||||||
#define MWL_AGGR_SIZE 3839 /* max tx agregation size */
|
#define MWL_AGGR_SIZE 3839 /* max tx aggregation size */
|
||||||
#endif
|
#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 */
|
#define MWL_MAXSTAID 64 /* max of 64 stations */
|
||||||
@@ -187,10 +188,10 @@ struct mwl_bastate {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static __inline__ void
|
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->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
|
static __inline__ void
|
||||||
@@ -244,7 +245,8 @@ struct mwl_vap {
|
|||||||
#define MWL_VAP_CONST(vap) ((const struct mwl_vap *)(vap))
|
#define MWL_VAP_CONST(vap) ((const struct mwl_vap *)(vap))
|
||||||
|
|
||||||
struct mwl_softc {
|
struct mwl_softc {
|
||||||
struct ifnet *sc_ifp; /* interface common */
|
struct ieee80211com sc_ic;
|
||||||
|
struct mbufq sc_snd;
|
||||||
struct mwl_stats sc_stats; /* interface statistics */
|
struct mwl_stats sc_stats; /* interface statistics */
|
||||||
int sc_debug;
|
int sc_debug;
|
||||||
device_t sc_dev;
|
device_t sc_dev;
|
||||||
@@ -257,7 +259,8 @@ struct mwl_softc {
|
|||||||
struct taskqueue *sc_tq; /* private task queue */
|
struct taskqueue *sc_tq; /* private task queue */
|
||||||
struct callout sc_watchdog;
|
struct callout sc_watchdog;
|
||||||
int sc_tx_timer;
|
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_recvsetup:1, /* recv setup */
|
||||||
sc_csapending:1,/* 11h channel switch pending */
|
sc_csapending:1,/* 11h channel switch pending */
|
||||||
sc_radarena : 1,/* radar detection enabled */
|
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
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
* 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_
|
#ifndef _MWL_DIAG_H_
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
* 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>
|
#include <sys/param.h>
|
||||||
@@ -309,19 +309,12 @@ mwl_hal_attach(device_t dev, uint16_t devid,
|
|||||||
NULL, /* lockarg */
|
NULL, /* lockarg */
|
||||||
&mh->mh_dmat);
|
&mh->mh_dmat);
|
||||||
if (error != 0) {
|
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);
|
"error %u\n", error);
|
||||||
goto fail0;
|
goto fail0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* allocate descriptors */
|
/* 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,
|
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);
|
&mh->mh_dmamap);
|
||||||
@@ -365,9 +358,8 @@ mwl_hal_attach(device_t dev, uint16_t devid,
|
|||||||
fail2:
|
fail2:
|
||||||
bus_dmamem_free(mh->mh_dmat, mh->mh_cmdbuf, mh->mh_dmamap);
|
bus_dmamem_free(mh->mh_dmat, mh->mh_cmdbuf, mh->mh_dmamap);
|
||||||
fail1:
|
fail1:
|
||||||
bus_dmamap_destroy(mh->mh_dmat, mh->mh_dmamap);
|
|
||||||
fail0:
|
|
||||||
bus_dma_tag_destroy(mh->mh_dmat);
|
bus_dma_tag_destroy(mh->mh_dmat);
|
||||||
|
fail0:
|
||||||
mtx_destroy(&mh->mh_mtx);
|
mtx_destroy(&mh->mh_mtx);
|
||||||
free(mh, M_DEVBUF);
|
free(mh, M_DEVBUF);
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -379,7 +371,6 @@ mwl_hal_detach(struct mwl_hal *mh0)
|
|||||||
struct mwl_hal_priv *mh = MWLPRIV(mh0);
|
struct mwl_hal_priv *mh = MWLPRIV(mh0);
|
||||||
|
|
||||||
bus_dmamem_free(mh->mh_dmat, mh->mh_cmdbuf, mh->mh_dmamap);
|
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);
|
bus_dma_tag_destroy(mh->mh_dmat);
|
||||||
mtx_destroy(&mh->mh_mtx);
|
mtx_destroy(&mh->mh_mtx);
|
||||||
free(mh, M_DEVBUF);
|
free(mh, M_DEVBUF);
|
||||||
@@ -1460,7 +1451,7 @@ mwl_hal_bastream_alloc(struct mwl_hal_vap *vap, int ba_policy,
|
|||||||
sp->setup = 0;
|
sp->setup = 0;
|
||||||
sp->ba_policy = ba_policy;
|
sp->ba_policy = ba_policy;
|
||||||
MWL_HAL_UNLOCK(mh);
|
MWL_HAL_UNLOCK(mh);
|
||||||
return sp != NULL ? &sp->public : NULL;
|
return &sp->public;
|
||||||
}
|
}
|
||||||
|
|
||||||
const MWL_HAL_BASTREAM *
|
const MWL_HAL_BASTREAM *
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
* 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_
|
#ifndef _MWL_HAL_H_
|
||||||
@@ -71,15 +71,13 @@ enum {
|
|||||||
MWL_WME_AC_VO = 3, /* voice access category */
|
MWL_WME_AC_VO = 3, /* voice access category */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct device;
|
|
||||||
|
|
||||||
struct mwl_hal {
|
struct mwl_hal {
|
||||||
bus_space_handle_t mh_ioh; /* BAR 1 copied from softc */
|
bus_space_handle_t mh_ioh; /* BAR 1 copied from softc */
|
||||||
bus_space_tag_t mh_iot;
|
bus_space_tag_t mh_iot;
|
||||||
uint32_t mh_imask; /* interrupt mask */
|
uint32_t mh_imask; /* interrupt mask */
|
||||||
/* remainder is opaque to driver */
|
/* 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);
|
bus_space_handle_t ioh, bus_space_tag_t iot, bus_dma_tag_t tag);
|
||||||
void mwl_hal_detach(struct mwl_hal *);
|
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
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||||
* THE POSSIBILITY OF SUCH DAMAGES.
|
* 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