iprowifi4965: Upgrade to FreeBSD 12.
Tested on a ThinkPad T61.
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
SubDir HAIKU_TOP src add-ons kernel drivers network wlan ;
|
||||
|
||||
# FreeBSD 11.1 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 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 ;
|
||||
@@ -16,5 +14,7 @@ SubInclude HAIKU_TOP src add-ons kernel drivers network wlan wavelanwifi ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi2200 ;
|
||||
|
||||
# FreeBSD 12 drivers
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan atheroswifi ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan aironetwifi ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan idualwifi7260 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi4965 ;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -14,7 +14,7 @@
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/12.0/sys/dev/iwn/if_iwn_chip_cfg.h 335785 2018-06-28 21:59:45Z eadler $
|
||||
*/
|
||||
|
||||
#ifndef __IF_IWN_CHIP_CFG_H__
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/12.0/sys/dev/iwn/if_iwn_debug.h 315946 2017-03-25 13:15:43Z avos $
|
||||
*/
|
||||
|
||||
#ifndef __IF_IWN_DEBUG_H__
|
||||
@@ -72,6 +72,7 @@ iwn_intr_str(uint8_t cmd)
|
||||
case IWN_RX_PHY: return "RX_PHY";
|
||||
case IWN_MPDU_RX_DONE: return "MPDU_RX_DONE";
|
||||
case IWN_RX_DONE: return "RX_DONE";
|
||||
case IWN_RX_COMPRESSED_BA: return "RX_COMPRESSED_BA";
|
||||
|
||||
/* Command Notifications */
|
||||
case IWN_CMD_RXON: return "IWN_CMD_RXON";
|
||||
@@ -81,6 +82,7 @@ iwn_intr_str(uint8_t cmd)
|
||||
case IWN_CMD_LINK_QUALITY: return "IWN_CMD_LINK_QUALITY";
|
||||
case IWN_CMD_SET_LED: return "IWN_CMD_SET_LED";
|
||||
case IWN5000_CMD_WIMAX_COEX: return "IWN5000_CMD_WIMAX_COEX";
|
||||
case IWN_TEMP_NOTIFICATION: return "IWN_TEMP_NOTIFICATION";
|
||||
case IWN5000_CMD_CALIB_CONFIG: return "IWN5000_CMD_CALIB_CONFIG";
|
||||
case IWN5000_CMD_CALIB_RESULT: return "IWN5000_CMD_CALIB_RESULT";
|
||||
case IWN5000_CMD_CALIB_COMPLETE: return "IWN5000_CMD_CALIB_COMPLETE";
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/12.0/sys/dev/iwn/if_iwn_devid.h 335812 2018-06-30 04:30:08Z eadler $
|
||||
*/
|
||||
|
||||
#ifndef __IF_IWN_DEVID_H__
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/12.0/sys/dev/iwn/if_iwn_ioctl.h 287312 2015-08-30 21:54:33Z adrian $
|
||||
*/
|
||||
#ifndef __IF_IWN_IOCTL_H__
|
||||
#define __IF_IWN_IOCTL_H__
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $FreeBSD$ */
|
||||
/* $FreeBSD: releng/12.0/sys/dev/iwn/if_iwnreg.h 315958 2017-03-25 15:57:47Z avos $ */
|
||||
/* $OpenBSD: if_iwnreg.h,v 1.40 2010/05/05 19:41:57 damien Exp $ */
|
||||
|
||||
/*-
|
||||
@@ -617,6 +617,34 @@ struct iwn_rxon {
|
||||
#define IWN4965_RXONSZ (sizeof (struct iwn_rxon) - 6)
|
||||
#define IWN5000_RXONSZ (sizeof (struct iwn_rxon))
|
||||
|
||||
/* Structure for command IWN_CMD_RXON_ASSOC (4965AGN only.) */
|
||||
struct iwn4965_rxon_assoc {
|
||||
uint32_t flags;
|
||||
uint32_t filter;
|
||||
uint8_t ofdm_mask;
|
||||
uint8_t cck_mask;
|
||||
uint8_t ht_single_mask;
|
||||
uint8_t ht_dual_mask;
|
||||
uint16_t rxchain;
|
||||
uint16_t reserved;
|
||||
} __packed;
|
||||
|
||||
/* Structure for command IWN_CMD_RXON_ASSOC (5000 Series only.) */
|
||||
struct iwn5000_rxon_assoc {
|
||||
uint32_t flags;
|
||||
uint32_t filter;
|
||||
uint8_t ofdm_mask;
|
||||
uint8_t cck_mask;
|
||||
uint16_t reserved1;
|
||||
uint8_t ht_single_mask;
|
||||
uint8_t ht_dual_mask;
|
||||
uint8_t ht_triple_mask;
|
||||
uint8_t reserved2;
|
||||
uint16_t rxchain;
|
||||
uint16_t acquisition;
|
||||
uint32_t reserved3;
|
||||
} __packed;
|
||||
|
||||
/* Structure for command IWN_CMD_ASSOCIATE. */
|
||||
struct iwn_assoc {
|
||||
uint32_t flags;
|
||||
@@ -662,13 +690,15 @@ struct iwn_node_info {
|
||||
uint8_t macaddr[IEEE80211_ADDR_LEN];
|
||||
uint16_t reserved2;
|
||||
uint8_t id;
|
||||
#define IWN_ID_BSS 0
|
||||
#define IWN_ID_BSS 0
|
||||
#define IWN_STA_ID 1
|
||||
|
||||
#define IWN_PAN_ID_BCAST 14
|
||||
#define IWN_PAN_ID_BCAST 14
|
||||
#define IWN5000_ID_BROADCAST 15
|
||||
#define IWN4965_ID_BROADCAST 31
|
||||
|
||||
#define IWN_ID_UNDEFINED (uint8_t)-1
|
||||
|
||||
uint8_t flags;
|
||||
#define IWN_FLAG_SET_KEY (1 << 0)
|
||||
#define IWN_FLAG_SET_DISABLE_TID (1 << 1)
|
||||
@@ -736,6 +766,10 @@ struct iwn4965_node_info {
|
||||
uint32_t reserved7;
|
||||
} __packed;
|
||||
|
||||
#define IWN_RFLAG_RATE 0xff
|
||||
#define IWN_RFLAG_RATE_MCS 0x1f
|
||||
#define IWN_RFLAG_HT40_DUP 0x20
|
||||
|
||||
#define IWN_RFLAG_MCS (1 << 8)
|
||||
#define IWN_RFLAG_CCK (1 << 9)
|
||||
#define IWN_RFLAG_GREENFIELD (1 << 10)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $FreeBSD$ */
|
||||
/* $FreeBSD: releng/12.0/sys/dev/iwn/if_iwnvar.h 314923 2017-03-08 22:49:22Z avos $ */
|
||||
/* $OpenBSD: if_iwnvar.h,v 1.18 2010/04/30 16:06:46 damien Exp $ */
|
||||
|
||||
/*-
|
||||
@@ -206,10 +206,10 @@ struct iwn_ops {
|
||||
uint16_t);
|
||||
int (*get_temperature)(struct iwn_softc *);
|
||||
int (*get_rssi)(struct iwn_softc *, struct iwn_rx_stat *);
|
||||
int (*set_txpower)(struct iwn_softc *,
|
||||
struct ieee80211_channel *, int);
|
||||
int (*set_txpower)(struct iwn_softc *, int);
|
||||
int (*init_gains)(struct iwn_softc *);
|
||||
int (*set_gains)(struct iwn_softc *);
|
||||
int (*rxon_assoc)(struct iwn_softc *, int);
|
||||
int (*add_node)(struct iwn_softc *, struct iwn_node_info *,
|
||||
int);
|
||||
void (*tx_done)(struct iwn_softc *, struct iwn_rx_desc *,
|
||||
@@ -305,8 +305,7 @@ struct iwn_softc {
|
||||
int sc_cap_off; /* PCIe Capabilities. */
|
||||
|
||||
/* Tasks used by the driver */
|
||||
struct task sc_radioon_task;
|
||||
struct task sc_radiooff_task;
|
||||
struct task sc_rftoggle_task;
|
||||
struct task sc_panic_task;
|
||||
struct task sc_xmit_task;
|
||||
|
||||
@@ -405,11 +404,6 @@ struct iwn_softc {
|
||||
struct iwn_rx_radiotap_header sc_rxtap;
|
||||
struct iwn_tx_radiotap_header sc_txtap;
|
||||
|
||||
#if defined(__HAIKU__)
|
||||
uint32_t sc_intr_status_1;
|
||||
uint32_t sc_intr_status_2;
|
||||
#endif
|
||||
|
||||
/* The power save level originally configured by user */
|
||||
int desired_pwrsave_level;
|
||||
|
||||
@@ -431,6 +425,11 @@ struct iwn_softc {
|
||||
* frames whilst waiting for beacons.)
|
||||
*/
|
||||
struct mbufq sc_xmit_queue;
|
||||
|
||||
#if defined(__HAIKU__)
|
||||
uint32_t sc_intr_status_1;
|
||||
uint32_t sc_intr_status_2;
|
||||
#endif
|
||||
};
|
||||
|
||||
#define IWN_LOCK_INIT(_sc) \
|
||||
|
||||
Reference in New Issue
Block a user