diff options
Diffstat (limited to 'sys/dev/pci/if_iwmvar.h')
-rw-r--r-- | sys/dev/pci/if_iwmvar.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/sys/dev/pci/if_iwmvar.h b/sys/dev/pci/if_iwmvar.h index 95688e67c8f..c8efd2cdc84 100644 --- a/sys/dev/pci/if_iwmvar.h +++ b/sys/dev/pci/if_iwmvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_iwmvar.h,v 1.16 2016/01/25 11:27:11 stsp Exp $ */ +/* $OpenBSD: if_iwmvar.h,v 1.17 2016/05/25 13:35:12 stsp Exp $ */ /* * Copyright (c) 2014 genua mbh <info@genua.de> @@ -137,7 +137,7 @@ struct iwm_tx_radiotap_header { (1 << IEEE80211_RADIOTAP_CHANNEL) | \ (1 << IEEE80211_RADIOTAP_HWQUEUE)) -#define IWM_UCODE_SECT_MAX 6 +#define IWM_UCODE_SECT_MAX 16 #define IWM_FWDMASEGSZ (192*1024) /* sanity check value */ #define IWM_FWMAXSIZE (2*1024*1024) @@ -152,9 +152,10 @@ struct iwm_tx_radiotap_header { #define IWM_FW_STATUS_DONE 2 enum iwm_ucode_type { - IWM_UCODE_TYPE_INIT, IWM_UCODE_TYPE_REGULAR, + IWM_UCODE_TYPE_INIT, IWM_UCODE_TYPE_WOW, + IWM_UCODE_TYPE_REGULAR_USNIFFER, IWM_UCODE_TYPE_MAX }; @@ -217,7 +218,7 @@ struct iwm_host_cmd { uint32_t flags; uint16_t len[IWM_MAX_CMD_TBS_PER_TFD]; uint8_t dataflags[IWM_MAX_CMD_TBS_PER_TFD]; - uint8_t id; + uint32_t id; }; /* @@ -290,6 +291,7 @@ struct iwm_rx_ring { #define IWM_FLAG_STOPPED 0x04 #define IWM_FLAG_RFKILL 0x08 #define IWM_FLAG_BUSY 0x10 +#define IWM_FLAG_SCANNING 0x20 struct iwm_ucode_status { uint32_t uc_error_event_table; @@ -304,7 +306,8 @@ struct iwm_ucode_status { #define IWM_CMD_RESP_MAX PAGE_SIZE -#define IWM_OTP_LOW_IMAGE_SIZE 2048 +/* lower blocks contain EEPROM image and calibration data */ +#define IWM_OTP_LOW_IMAGE_SIZE_FAMILY_7000 16384 #define IWM_MVM_TE_SESSION_PROTECTION_MAX_TIME_MS 1000 #define IWM_MVM_TE_SESSION_PROTECTION_MIN_TIME_MS 400 @@ -320,7 +323,7 @@ enum iwm_hcmd_dataflag { IWM_HCMD_DFL_DUP = (1 << 1), }; -#define IWM_NUM_PAPD_CH_GROUPS 4 +#define IWM_NUM_PAPD_CH_GROUPS 9 #define IWM_NUM_TXP_CH_GROUPS 9 struct iwm_phy_db_entry { @@ -413,10 +416,14 @@ struct iwm_softc { struct iwm_ucode_status sc_uc; enum iwm_ucode_type sc_uc_current; - int sc_fwver; + char sc_fwver[32]; int sc_capaflags; int sc_capa_max_probe_len; + int sc_capa_n_scan_channels; + uint32_t sc_ucode_api; + uint8_t sc_enabled_capa[howmany(IWM_NUM_UCODE_TLV_CAPA, NBBY)]; + char sc_fw_mcc[3]; int sc_intmask; int sc_flags; @@ -448,10 +455,7 @@ struct iwm_softc { int sc_tx_timer; int sc_rx_ba_sessions; - struct iwm_scan_cmd *sc_scan_cmd; - size_t sc_scan_cmd_len; int sc_scan_last_antenna; - int sc_scanband; int sc_fixed_ridx; @@ -511,6 +515,7 @@ struct iwm_node { struct ieee80211_amrr_node in_amn; }; #define IWM_STATION_ID 0 +#define IWM_AUX_STA_ID 1 #define IWM_ICT_SIZE 4096 #define IWM_ICT_COUNT (IWM_ICT_SIZE / sizeof (uint32_t)) |