iprowifi2200: Sync with FreeBSD 11.1.
Untested, but the changes are relatively minimal (mostly adapations to the new FreeBSD KPIs), and ttcoder recently opened a ticket (#14258) about it, so he can test.
This commit is contained in:
@@ -10,13 +10,13 @@ SubInclude HAIKU_TOP src add-ons kernel drivers network wlan marvell88w8335 ;
|
||||
# FreeBSD 9.3 drivers
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan atheroswifi ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan broadcom43xx ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi2200 ;
|
||||
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 wavelanwifi ;
|
||||
|
||||
# FreeBSD 11.1 drivers
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan aironetwifi ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi2200 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi3945 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi4965 ;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
SubDir HAIKU_TOP src add-ons kernel drivers network wlan iprowifi2200 ;
|
||||
|
||||
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 ;
|
||||
|
||||
@@ -10,10 +10,10 @@ UsePrivateKernelHeaders ;
|
||||
Includes [ FGristFiles kernel_c++_structs.h ]
|
||||
: <src!system!kernel>kernel_c++_struct_sizes.h ;
|
||||
|
||||
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ]
|
||||
-Wno-format
|
||||
-Wno-unused
|
||||
-Wno-uninitialized
|
||||
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ]
|
||||
-Wno-format
|
||||
-Wno-unused
|
||||
-Wno-uninitialized
|
||||
-Werror ;
|
||||
|
||||
UseHeaders [ FDirName $(SUBDIR) ] : true ;
|
||||
@@ -24,8 +24,8 @@ KernelAddon iprowifi2200 :
|
||||
if_iwi.c
|
||||
glue.c
|
||||
:
|
||||
libfreebsd_wlan.a
|
||||
libfreebsd_network.a
|
||||
libfreebsd11_wlan.a
|
||||
libfreebsd11_network.a
|
||||
;
|
||||
|
||||
# Note: Due to licensing restrictions, we can only distribute the archive.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,25 @@
|
||||
/*-
|
||||
* Copyright (c) 2014 Adrian Chadd <adrian@FreeBSD.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* $FreeBSD: releng/11.2/sys/dev/iwi/if_iwi_ioctl.h 263920 2014-03-29 19:53:04Z adrian $
|
||||
*/
|
||||
#ifndef __IF_IWI_IOCTL_H__
|
||||
#define __IF_IWI_IOCTL_H__
|
||||
|
||||
/* XXX how should I pick appropriate ioctl numbers? */
|
||||
#define SIOCGIWISTATS _IOWR('i', 147, struct ifreq)
|
||||
#define SIOCZIWISTATS _IOWR('i', 148, struct ifreq)
|
||||
|
||||
#endif /* __IF_IWI_IOCTL_H__ */
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $FreeBSD$ */
|
||||
/* $FreeBSD: releng/11.2/sys/dev/iwi/if_iwireg.h 331722 2018-03-29 02:50:57Z eadler $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2004, 2005
|
||||
@@ -221,6 +221,7 @@ struct iwi_notif_association {
|
||||
/* structure for notification IWI_NOTIF_TYPE_SCAN_CHANNEL */
|
||||
struct iwi_notif_scan_channel {
|
||||
uint8_t nchan;
|
||||
/* XXX this is iwi_cmd_stats, and a u8 reserved field */
|
||||
uint8_t reserved[47];
|
||||
} __packed;
|
||||
|
||||
@@ -239,6 +240,68 @@ struct iwi_notif_beacon_state {
|
||||
uint32_t number;
|
||||
} __packed;
|
||||
|
||||
/* structure(s) for notification IWI_NOTIF_TYPE_LINK_QUALITY */
|
||||
|
||||
#define RX_FREE_BUFFERS 32
|
||||
#define RX_LOW_WATERMARK 8
|
||||
|
||||
#define SUP_RATE_11A_MAX_NUM_CHANNELS 8
|
||||
#define SUP_RATE_11B_MAX_NUM_CHANNELS 4
|
||||
#define SUP_RATE_11G_MAX_NUM_CHANNELS 12
|
||||
|
||||
// Used for passing to driver number of successes and failures per rate
|
||||
struct iwi_rate_histogram {
|
||||
union {
|
||||
uint32_t a[SUP_RATE_11A_MAX_NUM_CHANNELS];
|
||||
uint32_t b[SUP_RATE_11B_MAX_NUM_CHANNELS];
|
||||
uint32_t g[SUP_RATE_11G_MAX_NUM_CHANNELS];
|
||||
} success;
|
||||
union {
|
||||
uint32_t a[SUP_RATE_11A_MAX_NUM_CHANNELS];
|
||||
uint32_t b[SUP_RATE_11B_MAX_NUM_CHANNELS];
|
||||
uint32_t g[SUP_RATE_11G_MAX_NUM_CHANNELS];
|
||||
} failed;
|
||||
} __packed;
|
||||
|
||||
/* statistics command response */
|
||||
struct iwi_cmd_stats {
|
||||
uint8_t cmd_id;
|
||||
uint8_t seq_num;
|
||||
uint16_t good_sfd;
|
||||
uint16_t bad_plcp;
|
||||
uint16_t wrong_bssid;
|
||||
uint16_t valid_mpdu;
|
||||
uint16_t bad_mac_header;
|
||||
uint16_t reserved_frame_types;
|
||||
uint16_t rx_ina;
|
||||
uint16_t bad_crc32;
|
||||
uint16_t invalid_cts;
|
||||
uint16_t invalid_acks;
|
||||
uint16_t long_distance_ina_fina;
|
||||
uint16_t dsp_silence_unreachable;
|
||||
uint16_t accumulated_rssi;
|
||||
uint16_t rx_ovfl_frame_tossed;
|
||||
uint16_t rssi_silence_threshold;
|
||||
uint16_t rx_ovfl_frame_supplied;
|
||||
uint16_t last_rx_frame_signal;
|
||||
uint16_t last_rx_frame_noise;
|
||||
uint16_t rx_autodetec_no_ofdm;
|
||||
uint16_t rx_autodetec_no_barker;
|
||||
uint16_t reserved;
|
||||
} __packed;
|
||||
|
||||
#define SILENCE_OVER_THRESH (1)
|
||||
#define SILENCE_UNDER_THRESH (2)
|
||||
|
||||
struct iwi_notif_link_quality {
|
||||
struct iwi_cmd_stats stats;
|
||||
uint8_t rate;
|
||||
uint8_t modulation;
|
||||
struct iwi_rate_histogram histogram;
|
||||
uint8_t silence_notification_type; /* SILENCE_OVER/UNDER_THRESH */
|
||||
uint16_t silence_count;
|
||||
} __packed;
|
||||
|
||||
/* received frame header */
|
||||
struct iwi_frame {
|
||||
uint32_t reserved1[2];
|
||||
@@ -418,7 +481,7 @@ struct iwi_scan {
|
||||
#define IWI_SCAN_TYPES 5
|
||||
|
||||
/* scan result codes */
|
||||
#define IWI_SCAN_COMPLETED 1 /* scan compeleted sucessfully */
|
||||
#define IWI_SCAN_COMPLETED 1 /* scan compeleted successfully */
|
||||
#define IWI_SCAN_ABORTED 2 /* scan was aborted by the driver */
|
||||
|
||||
/* structure for command IWI_CMD_SCAN_EXT */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $FreeBSD$ */
|
||||
/* $FreeBSD: releng/11.2/sys/dev/iwi/if_iwivar.h 331722 2018-03-29 02:50:57Z eadler $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2004, 2005
|
||||
@@ -125,11 +125,13 @@ struct iwi_vap {
|
||||
#define IWI_VAP(vap) ((struct iwi_vap *)(vap))
|
||||
|
||||
struct iwi_softc {
|
||||
struct ifnet *sc_ifp;
|
||||
void (*sc_node_free)(struct ieee80211_node *);
|
||||
struct mtx sc_mtx;
|
||||
struct ieee80211com sc_ic;
|
||||
struct mbufq sc_snd;
|
||||
device_t sc_dev;
|
||||
|
||||
struct mtx sc_mtx;
|
||||
void (*sc_node_free)(struct ieee80211_node *);
|
||||
|
||||
uint8_t sc_mcast[IEEE80211_ADDR_LEN];
|
||||
struct unrhdr *sc_unr;
|
||||
|
||||
@@ -190,10 +192,10 @@ struct iwi_softc {
|
||||
struct task sc_radiofftask; /* radio off processing */
|
||||
struct task sc_restarttask; /* restart adapter processing */
|
||||
struct task sc_disassoctask;
|
||||
struct task sc_wmetask; /* set wme parameters */
|
||||
struct task sc_monitortask;
|
||||
|
||||
unsigned int sc_softled : 1, /* enable LED gpio status */
|
||||
unsigned int sc_running : 1, /* initialized */
|
||||
sc_softled : 1, /* enable LED gpio status */
|
||||
sc_ledstate: 1, /* LED on/off state */
|
||||
sc_blinking: 1; /* LED blink operation active */
|
||||
u_int sc_nictype; /* NIC type from EEPROM */
|
||||
@@ -216,6 +218,9 @@ struct iwi_softc {
|
||||
struct iwi_rx_radiotap_header sc_rxtap;
|
||||
struct iwi_tx_radiotap_header sc_txtap;
|
||||
|
||||
struct iwi_notif_link_quality sc_linkqual;
|
||||
int sc_linkqual_valid;
|
||||
|
||||
#if defined(__HAIKU__)
|
||||
uint32_t sc_intr_status;
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user