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

AceLan Kao acelan.kao at canonical.com
Tue May 14 03:55:02 UTC 2019


BugLink: https://bugs.launchpad.net/bugs/1809224
  
[Impact]
New Intel Cyclone Peak Wifi doesn't work without newly added driver.

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

[Test]
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 3bc1d19e09dd75355f9acdaefe8431a4561563d8:

  UBUNTU: Ubuntu-oem-osp1-5.0.0-1006.7 (2019-05-06 12:49:50 +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 5691c6d1fc8422ff347231d9d27fb06681bd277a:

  UBUNTU: SAUCE: iwlwifi: trans: fix killer series loadded incorrect firmware (2019-05-14 11:39:39 +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 (37):
      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: mvm: fix RFH config command with >=10 CPUs
      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 (19):
      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: pcie: fix emergency path
      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        |  150 ++-
 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       |  194 ++-
 .../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, 6792 insertions(+), 3958 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