[SRU][OEM-D][PULL] To support Intel Wireless-AX 22000 series

AceLan Kao acelan.kao at canonical.com
Wed May 29 05:58:01 UTC 2019

BugLink: https://bugs.launchpad.net/bugs/1809224

New Intel Cyclone Peak Wifi doesn't work without newly added driver.

Cherry pick iwlwifi commits from v5.0 to v5.1, and confirmed with proper
firmware the wifi works.

Verified on AX200NGW & 22560NGW chips & Killer 1653 card, wifi works well.

[Regression Potential]
Medium, it affects the whole iwlwifi driver, but I've verified it with
fwst S3 test, and the wifi is still working after S3 test 30 times.

The following changes since commit 3e73c1d558edf70f0186fd03cebd7892df4081b1:

  UBUNTU: Ubuntu-oem-osp1-5.0.0-1008.9 (2019-05-26 21:58:43 +0300)

are available in the Git repository at:

  git://git.launchpad.net/~acelankao/+git/ubuntu-disco iwlwifi-ax

for you to fetch changes up to 52f788430b2f6f55c08b4a2efb36e4b242f5b8ce:

  UBUNTU: SAUCE: iwlwifi: trans: fix killer series loadded incorrect firmware (2019-05-28 10:08:44 +0800)

Andrei Otcheretianski (2):
      iwlwifi: mvm: Disconnect on large beacon loss
      iwlwifi: mvm: Set TX_CMD_FLG_PROT_REQUIRE correctly

Arnd Bergmann (2):
      iwlwifi: fix false-positive maybe-uninitialized warning
      iwlwifi: fix 64-bit division

Avigail Grinstein (1):
      iwlwifi: mvm: support absolute thresholds in bf configuration

Avraham Stern (4):
      iwlwifi: mvm: Fix possible NULL pointer dereference
      iwlwifi: mvm: add support for new FTM fw API
      iwlwifi: mvm: add debug prints for FTM
      iwlwifi: mvm: stop static queues correctly

Colin Ian King (2):
      iwlwifi: pcie: make array 'prop' static, shrinks object size
      iwlwifi: fix spelling mistake "registrating" -> "registering"

Cyrus Lien (1):
      UBUNTU: SAUCE: iwlwifi: trans: fix killer series loadded incorrect firmware

David Spinadel (1):
      iwlwifi: mvm: Change FW channel info API

Emmanuel Grumbach (8):
      iwlwifi: mvm: advertise support for TWT in the Extended Capability IE
      iwlwifi: mvm: rely on mac80211 to configure TWT support
      iwlwifi: mvm: fix firmware statistics usage
      iwlwifi: mvm: freeze management TXQ timer when station goes to sleep
      iwlwifi: mvm: support new format for the beacon notification
      iwlwifi: mvm: fix AP mode in WEP
      iwlwifi: mvm: fix the spatial reuse parsing for HE_TRIG PPDUs
      iwlwifi: fix driver operation for 5350

Greg Kroah-Hartman (4):
      iwlwifi: dvm: no need to check return value of debugfs_create functions
      iwlwifi: fw: no need to check return value of debugfs_create functions
      iwlwifi: iwl-drv: no need to check return value of debugfs_create functions
      iwlwifi: mvm: properly check debugfs dentry before using it

Gustavo A. R. Silva (2):
      iwlwifi: eeprom-parse: use struct_size() in kzalloc()
      iwlwifi: nvm-parse: use struct_size() in kzalloc()

Haim Dreyfuss (1):
      iwlwifi: mvm: add support for 32kHz external clock indication

Ido Yariv (1):
      iwlwifi: mvm: don't require WOWLAN images when unified

Ihab Zhaika (6):
      iwlwifi: correct one of the PCI struct names
      iwlwifi: add new cards for 22560, 9260 and killer series
      iwlwifi: update product name for 9260 and 9560
      iwlwifi: add new cards for 22000 and killer series and change the market name
      iwlwifi: rename structs to fit the new names
      iwlwifi: add new 0x2723/0x2080 card for 22000

Ilan Peer (8):
      iwlwifi: mvm: Flush transmit queues on P2P Device ROC done
      iwlwifi: mvm: Set Tx rate and flags when there is not station
      iwlwifi: mvm: Do not set RTS/CTS protection for P2P Device MAC
      iwiwifi: mvm: Fix FW scan concurrency support assumptions
      iwlwifi: mvm: Don't warn on command failure during restart
      iwlwifi: mvm: Do not return an error value on HW restart
      iwlwifi: mvm: Don't request HW restart if already requested
      iwlwifi: mvm: Allow retries for probe responses

Johannes Berg (36):
      iwlwifi: mvm: make NVM access actually fail on failures
      iwlwifi: fw api: remove unused/deprecated filter status
      iwlwifi: fw api: document WoWLAN patterns command
      iwlwifi: mvm: fix %16 to %016 print format
      iwlwifi: mvm: read IWL_RX_MPDU_PHY_SHORT_PREAMBLE only for CCK
      iwlwifi: pcie: align licensing to dual GPL/BSD
      iwlwifi: mvm: clean up LDBG config command usage
      iwlwifi: move iwl_enable_{rx,tx}_ampdu to iwl-modparams.h
      iwlwifi: mvm: fix A-MPDU reference assignment
      iwlwifi: remove TOF implementation
      iwlwifi: dvm: remove useless condition
      iwlwifi: pcie: use u32* argument to iwl_trans_get_fw_monitor_len()
      iwlwifi: mvm: add location APIs
      iwlwifi: mvm: implement CSI reporting
      iwlwifi: mvm: document monitor mode reorder buffer bypass
      iwlwifi: mvm: include configured sniffer AID in radiotap
      iwlwifi: mvm: remove redundant condition
      iwlwifi: dvm: use %u for sscanf() into unsigned variable
      iwlwifi: mvm: add HE TB PPDU SIG-A BW to radiotap
      iwlwifi: move config structs to C file
      iwlwifi: mvm: don't hide HE radiotap data in SKB
      iwlwifi: refactor NIC init sequence
      iwlwifi: implement BISR HW workaround for 22260 devices
      iwlwifi: mvm: support FTM responder
      iwlwifi: mvm: support FTM initiator
      iwlwifi: mvm: clean up NO_PSDU case
      iwlwifi: bump FW API to 46 for 9000 and 22000 series
      iwlwifi: mvm: fix HE radiotap data4 for HE-TB PPDUs
      iwlwifi: mvm: fix error path in iwl_mvm_mac_setup_register()
      iwlwifi: nvm-parse: advertise IEEE80211_VHT_EXT_NSS_BW_CAPABLE in VHT
      iwlwifi: mvm: remove IWL_MVM_INIT_STATUS_REG_HW_INIT_COMPLETE
      iwlwifi: mvm: implement VHT extended NSS support in rs.c
      iwlwifi: mvm: fix TX crypto on 22560+ devices
      iwlwifi: mvm: avoid possible deadlock in TX path
      iwlwifi: mvm: update offloaded rate control on changes
      iwlwifi: mvm: don't attempt debug collection in rfkill

Liad Kaufman (9):
      iwlwifi: update hcmds documentation
      iwlwifi: mvm: make num_active_macs unsigned
      iwlwifi: tighten boundary checks
      iwlwifi: memcpy from dev_cmd and not dev_cmd->hdr
      iwlwifi: mvm: remove sta key on wep ap
      iwlwifi: mvm: add tlc command name to output
      iwlwifi: mvm: config mac ctxt to HE before TLC
      iwlwifi: mvm: add read debugfs for he_sniffer_params
      mac80211: update HE IEs to D3.3

Luca Coelho (20):
      iwlwifi: add PCI IDs for the 22260 device series
      iwlwifi: pcie: recognize NICs with hw_rev 0x364 correctly
      iwlwifi: remove support for 9000 A-step devices
      iwlwifi: pcie: remove unnecessary iwl_pcie_enable_rx_wake() function
      iwlwifi: pcie: remove suspend/resume workaround for 9000A devices
      iwlwifi: mvm: fix values in the table example
      iwlwifi: mvm: save and export regdb blob from the NVM
      iwlwifi: make iwl_fw_dbg_start_stop_hcmd() inline
      iwlwifi: mvm: pre-initialize alive_data in wait_alive()
      iwlwifi: calculate pointers from out_cmd instead of out_cmd->hdr
      iwlwifi: make sure cur_fw_img is valid before accessing img
      iwlwifi: mvm: fix merge damage in iwl_mvm_rx_mpdu_mq()
      iwlwifi: bump FW API to 44 for 9000 and 22000 series
      iwlwifi: dvm: fix some fall through warnings
      iwlwifi: mvm: add fall through comments where needed
      iwlwifi: bump FW API to 45 for 9000 and 22000 series
      iwlwifi: start using B-step for some 9000 devices
      iwlwifi: add support for quz firmwares
      iwlwifi: mvm: check for length correctness in iwl_mvm_create_skb()
      iwlwifi: mvm: fix merge damage in iwl_mvm_vif_dbgfs_register()

Masahiro Yamada (1):
      wireless: prefix header search paths with $(srctree)/

Mordechay Goodstein (4):
      iwlwifi: mvm: avoid possible access out of array.
      iwlwifi: avoid access out of memory allocated
      iwlwifi: mvm: disable completely low latency mode with debugfs
      iwlwifi: add FW recovery flow

Naftali Goldstein (1):
      iwlwifi: mvm: add description to second BAD_COMMAND assert number

Sara Sharon (18):
      iwlwifi: mvm: support mac80211 TXQs model
      iwlwifi: mvm: support mac80211 AMSDU
      iwlwifi: mvm: bring back mvm GSO code
      iwlwifi: pcie: fix the use of a wrong define
      iwlwifi: pcie: add prints to track virtual ID
      iwlwifi: mvm: add an option to dereference vif by id
      iwlwifi: mvm: get rid of tx_path_lock
      iwlwifi: mvm: simplify some return conditions
      iwlwifi: mvm: support CHANNEL_SWITCH_TIME_EVENT_CMD command
      iwlwifi: mvm: limit AMSDU size to 8K
      iwlwifi: mvm: fix RSS config command
      iwlwifi: dvm: don't use IWL_DL_FW_ERRORS
      iwlwifi: pcie: add TPT oriented prints
      iwlwifi: mvm: support beacon IE injection
      iwlwifi: pcie: fix TX while flushing
      iwlwifi: mvm: reject new beacons when in inject mode
      iwlwifi: mvm: support non-transmitting AP
      iwlwifi: mvm: add some debug data to TX path

Shahar S Matityahu (48):
      iwlwifi: wrt: add to dump number of lmacs, lmac1 and umac error id
      iwlwifi: wrt: add 22000 device familiy prph dump support
      iwlwifi: monitor dumping flow cleanup
      iwlwifi: trigger dump on assert prior to setting the device up
      iwlwifi: dbg_ini: allocate dram buffer with proper flags
      iwlwifi: dbg_ini: properly handle ini user trigger
      iwlwifi: dbg_ini: retrieve dump_delay value properly
      iwlwifi: dbg_ini: set dump mask BIT(n) instead of n
      iwiwifi: fix bad monitor buffer register addresses
      iwlwifi dbg_ini: update ini structs doc
      iwlwifi: dbg_ini: fix iwl_fw_ini_buffer_location field enum bad naming
      iwlwifi: dbg_ini: give better naming to region struct fields
      iwlwifi: fix bad dma handling in page_mem dumping flow
      iwlwifi: differentiate between alive timeout and alive flow failure
      iwlwifi: dbg_ini: update ini triggers enum
      iwlwifi: dbg_ini: update max region id num to  support 64 regions
      iwlwifi: Fix pre operational dumping flows
      iwlwifi: dbg_ini: update ini structs meta doc
      iwlwifi: dbg_ini: remove redundant dram buffer allocation
      iwlwifi: dbg_ini: align struct iwl_fw_ini_region_cfg to the FW
      iwlwifi: dbg_ini: create new dump flow and implement prph dump
      iwlwifi: dbg_ini: implement csr memory dump
      iwlwifi: dbg_ini: implement device internal memory dump
      iwlwifi: dbg_ini: implement paging memory dump
      iwlwifi: fix send hcmd timeout recovery flow
      iwlwifi: dbg_ini: implement monitor sram memory dump
      iwlwifi: dbg_ini: implement monitor dram memory dump
      iwlwifi: receive umac and lmac error table addresses from TLVs
      iwlwifi: dbg_ini: rewrite trigger flow and align to FW API changes
      iwlwifi: mvm: add a debug_enable op
      iwlwifi: properly use delay option in dump trigger flow
      iwlwifi: dbg_ini: enable ignore consecutive trigger feature
      iwlwifi: dbg: buffer overflow in non_collect_ts_start array
      iwlwifi: dbg_ini: add early and after alive apply points to unified images
      iwlwifi: remove redundant condition from prior alive dump flow
      iwlwifi: dbg_ini: fix infinite time ignore consecutive dumps
      iwlwifi: dbg_ini: add print to iwl_dump_ini_mem in case of invalid range
      iwlwifi: dbg_ini: make memory dump get_size handler include headers
      iwlwifi: dbg_ini: make fill_range handler accept generic range pointer
      iwlwifi: dbg_ini: add region to fill_header handler
      iwlwifi: dbg_ini: implement Tx fifos dump
      iwlwifi: dbg_ini: implement Rx fifos dump
      iwlwifi: add sync_nmi to trans ops
      iwlwifi: dbg_ini: in case of region dump failure set memory to 0
      iwlwifi: dbg_ini: fix bad dump size calculation
      iwlwifi: use sync nmi in case of init flow failure
      iwlwifi: don't panic in error path on non-msix systems
      iwlwifi: dbg_ini: check debug TLV type explicitly

Shaul Triebitz (10):
      iwlwifi: mvm: fix wrong DCM TLC config
      iwlwifi: iwlmvm: ignore HE PPDU type regarding EOF
      iwlwifi: iwlmvm: in monitor NDP notif take the NSS from rx_vec
      iwlwifi: mvm: update firmware when MU EDCA params change
      iwlwifi: introduce device family AX210
      iwlwifi: do not fail on large amount of channels
      iwlwifi: dbg: temporarily skip periphery dump for AX210 devices
      iwlwifi: align to new periphery address space for AX210 family
      iwlwifi: add force NMI for AX210 devices
      iwlwifi: cfg: use family 22560 based_params for AX210 family

Triebitz (1):
      iwlwifi: pcie: allocate rb_stts's for all queues in one place

YueHaibing (2):
      iwlwifi: use kmemdup in iwl_parse_nvm_mcc_info()
      iwlwifi: mvm: remove duplicated include from ops.c

 .../wireless/broadcom/brcm80211/brcmfmac/Makefile  |    4 +-
 .../wireless/broadcom/brcm80211/brcmsmac/Makefile  |    6 +-
 .../wireless/broadcom/brcm80211/brcmutil/Makefile  |    4 +-
 drivers/net/wireless/intel/iwlwifi/cfg/22000.c     |  176 ++-
 drivers/net/wireless/intel/iwlwifi/cfg/5000.c      |    3 +-
 drivers/net/wireless/intel/iwlwifi/cfg/9000.c      |  141 +--
 drivers/net/wireless/intel/iwlwifi/dvm/Makefile    |    2 +-
 drivers/net/wireless/intel/iwlwifi/dvm/agn.h       |    9 +-
 drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c   |   47 +-
 drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c  |   23 +-
 drivers/net/wireless/intel/iwlwifi/dvm/main.c      |   21 +-
 drivers/net/wireless/intel/iwlwifi/dvm/rx.c        |    6 +-
 drivers/net/wireless/intel/iwlwifi/dvm/scan.c      |    3 +-
 drivers/net/wireless/intel/iwlwifi/dvm/tt.c        |    5 +-
 drivers/net/wireless/intel/iwlwifi/fw/acpi.c       |   32 +
 drivers/net/wireless/intel/iwlwifi/fw/acpi.h       |   22 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/alive.h  |   48 +-
 .../net/wireless/intel/iwlwifi/fw/api/commands.h   |   28 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/d3.h     |   10 +
 .../net/wireless/intel/iwlwifi/fw/api/datapath.h   |   55 +
 .../net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h    |  180 +--
 drivers/net/wireless/intel/iwlwifi/fw/api/debug.h  |   33 +-
 .../net/wireless/intel/iwlwifi/fw/api/location.h   |  878 +++++++++++++
 .../net/wireless/intel/iwlwifi/fw/api/mac-cfg.h    |   27 +
 drivers/net/wireless/intel/iwlwifi/fw/api/mac.h    |   26 +-
 .../net/wireless/intel/iwlwifi/fw/api/phy-ctxt.h   |   51 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/power.h  |   24 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/rx.h     |   11 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/scan.h   |    6 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/stats.h  |   15 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/tdls.h   |   19 +-
 .../net/wireless/intel/iwlwifi/fw/api/time-event.h |   34 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/tof.h    |  393 ------
 drivers/net/wireless/intel/iwlwifi/fw/api/tx.h     |   18 +-
 drivers/net/wireless/intel/iwlwifi/fw/dbg.c        | 1290 +++++++++++++++-----
 drivers/net/wireless/intel/iwlwifi/fw/dbg.h        |  107 +-
 drivers/net/wireless/intel/iwlwifi/fw/debugfs.c    |   11 +-
 drivers/net/wireless/intel/iwlwifi/fw/debugfs.h    |    9 +-
 drivers/net/wireless/intel/iwlwifi/fw/error-dump.h |  106 +-
 drivers/net/wireless/intel/iwlwifi/fw/file.h       |   52 +-
 drivers/net/wireless/intel/iwlwifi/fw/img.h        |   31 +-
 drivers/net/wireless/intel/iwlwifi/fw/init.c       |    2 +
 drivers/net/wireless/intel/iwlwifi/fw/runtime.h    |   26 +-
 drivers/net/wireless/intel/iwlwifi/iwl-config.h    |   68 +-
 drivers/net/wireless/intel/iwlwifi/iwl-csr.h       |    7 +
 drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c   |   26 +-
 drivers/net/wireless/intel/iwlwifi/iwl-debug.h     |    5 +-
 drivers/net/wireless/intel/iwlwifi/iwl-drv.c       |  104 +-
 .../net/wireless/intel/iwlwifi/iwl-eeprom-parse.c  |    3 +-
 .../net/wireless/intel/iwlwifi/iwl-eeprom-read.c   |   47 +-
 drivers/net/wireless/intel/iwlwifi/iwl-io.c        |  120 +-
 drivers/net/wireless/intel/iwlwifi/iwl-io.h        |   82 +-
 drivers/net/wireless/intel/iwlwifi/iwl-modparams.h |   18 +
 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c |   96 +-
 drivers/net/wireless/intel/iwlwifi/iwl-prph.h      |   11 +-
 drivers/net/wireless/intel/iwlwifi/iwl-trans.h     |   41 +
 drivers/net/wireless/intel/iwlwifi/mvm/Makefile    |    4 +-
 drivers/net/wireless/intel/iwlwifi/mvm/coex.c      |    7 +-
 drivers/net/wireless/intel/iwlwifi/mvm/constants.h |    7 +
 drivers/net/wireless/intel/iwlwifi/mvm/d3.c        |   10 +-
 .../net/wireless/intel/iwlwifi/mvm/debugfs-vif.c   |  816 +------------
 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c   |  229 +++-
 .../net/wireless/intel/iwlwifi/mvm/ftm-initiator.c |  652 ++++++++++
 .../net/wireless/intel/iwlwifi/mvm/ftm-responder.c |  244 ++++
 drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h    |    4 +-
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c        |  130 +-
 drivers/net/wireless/intel/iwlwifi/mvm/led.c       |    3 +
 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c  |  322 ++---
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  |  590 +++++++--
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h       |  263 +++-
 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c       |   15 +-
 drivers/net/wireless/intel/iwlwifi/mvm/ops.c       |  177 ++-
 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c  |   25 +-
 drivers/net/wireless/intel/iwlwifi/mvm/power.c     |   23 +-
 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c     |   21 +-
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c        |   56 +-
 drivers/net/wireless/intel/iwlwifi/mvm/rx.c        |   12 +-
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c      |  225 +++-
 drivers/net/wireless/intel/iwlwifi/mvm/scan.c      |   20 +-
 drivers/net/wireless/intel/iwlwifi/mvm/sf.c        |    4 +-
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c       |  506 ++++----
 drivers/net/wireless/intel/iwlwifi/mvm/sta.h       |    8 +-
 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c      |   33 +-
 .../net/wireless/intel/iwlwifi/mvm/time-event.c    |    7 +-
 drivers/net/wireless/intel/iwlwifi/mvm/tof.c       |  305 -----
 drivers/net/wireless/intel/iwlwifi/mvm/tof.h       |   89 --
 drivers/net/wireless/intel/iwlwifi/mvm/tx.c        |  186 ++-
 drivers/net/wireless/intel/iwlwifi/mvm/utils.c     |   66 +-
 .../wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c   |   16 +-
 .../net/wireless/intel/iwlwifi/pcie/ctxt-info.c    |    6 +-
 drivers/net/wireless/intel/iwlwifi/pcie/drv.c      |  295 +++--
 drivers/net/wireless/intel/iwlwifi/pcie/internal.h |   74 +-
 drivers/net/wireless/intel/iwlwifi/pcie/rx.c       |  187 ++-
 .../net/wireless/intel/iwlwifi/pcie/trans-gen2.c   |   28 +-
 drivers/net/wireless/intel/iwlwifi/pcie/trans.c    |  270 ++--
 drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c  |   22 +-
 drivers/net/wireless/intel/iwlwifi/pcie/tx.c       |   75 +-
 .../net/wireless/realtek/rtl818x/rtl8180/Makefile  |    2 +-
 .../net/wireless/realtek/rtl818x/rtl8187/Makefile  |    2 +-
 include/linux/ieee80211.h                          |   24 +-
 include/net/ieee80211_radiotap.h                   |    6 +
 net/mac80211/debugfs_sta.c                         |   35 +-
 102 files changed, 6772 insertions(+), 3951 deletions(-)
 create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/api/location.h
 delete mode 100644 drivers/net/wireless/intel/iwlwifi/fw/api/tof.h
 create mode 100644 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c
 create mode 100644 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c
 delete mode 100644 drivers/net/wireless/intel/iwlwifi/mvm/tof.c
 delete mode 100644 drivers/net/wireless/intel/iwlwifi/mvm/tof.h

More information about the kernel-team mailing list