mbox series

[SRU,OEM-A,PULL] Intel WiFi driver update for ETSI 5GHz adaptivity requirement

Message ID 20180528183226.GA21851@ThinkPad-X1-Carbon
State New
Headers show
Series [SRU,OEM-A,PULL] Intel WiFi driver update for ETSI 5GHz adaptivity requirement | expand

Pull-request

git://git.launchpad.net/~anthonywong/ubuntu/+source/linux-oem lp1769980

Message

Anthony Wong May 28, 2018, 6:32 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1769980

This series of patches is required to meet the ETSI 5GHz adaptivity
requirement, which is soon to be enforced. Due to the number of
commits this is sent as a pull request.

We have tested them on Intel 3165, 8260, 9260, 9462 and 9560 modules with the
latest firmwares from upstream to ensure they are still functional and no
regression introduced.

Thanks,
Anthony

----------------------------------------------------------------

The following changes since commit d3af839a1b1980c136f9c38049f8aff56afc8948:

  UBUNTU: Ubuntu-oem-4.13.0-1028.31 (2018-05-17 16:30:14 +0200)

are available in the git repository at:

  git://git.launchpad.net/~anthonywong/ubuntu/+source/linux-oem lp1769980

for you to fetch changes up to f79069cc598adda32f8ce58c391c49ea63cb5f0b:

  iwlwifi: mvm: query regdb for wmm rule if needed (2018-05-28 11:26:50 -0400)

----------------------------------------------------------------
Anthony Wong (3):
      Revert "UBUNTU: SAUCE: iwlwifi: Adding missing id A370:42A4"
      Revert "iwlwifi: fix PCI IDs and configuration mapping for 9000 series"
      Revert "iwlwifi: fix firmware names for 9000 and A000 series hw"

Arnd Bergmann (2):
      cfg80211: fix CFG80211_EXTRA_REGDB_KEYDIR typo
      cfg80211: don't print log output for building shipped-certs

Avraham Stern (3):
      cfg80211/nl80211: add a port authorized event
      ieee80211: Add WFA TPC report element OUI type
      iwlwifi: mvm: add WFA vendor specific TPC report IE to probe request

Beni Lev (1):
      iwlwifi: mvm: allow reading UMAC error data from SMEM in A000 devices

Chaya Rachel Ivgi (1):
      iwlwifi: nvm: set the correct offsets to 3168 series

David Spinadel (1):
      iwlwifi: mvm: Add new quota command API

Emmanuel Grumbach (12):
      iwlwifi: mvm: fix the FIFO numbers in A000 devices
      iwlwifi: pcie: free the TSO page when a Tx queue is unmapped on A000 devices
      iwlwifi: mvm: fix the coex firmware API
      iwlwifi: mvm: support new Coex firmware API
      iwlwifi: pcie: support short Tx queues for A000 device family
      cfg80211: honor NL80211_RRF_NO_HT40{MINUS,PLUS}
      iwlwifi: mvm: bump API to 34 for 8000 and up
      iwlwifi: mvm: remove support for Link Quality Measurements
      iwlwifi: mvm: remove set but unused variable in iwl_mvm_roc_done_wk
      iwlwifi: fw: fix the enums in the rate scaling API
      iwlwifi: define and use if iwl_mvm_has_tlc_offload
      iwlwifi: bump the max API version for 9000 and 22000 devices

Golan Ben-Ami (1):
      iwlwifi: fix nmi triggering from host

Gregory Greenman (8):
      iwlwifi: mvm: change open and close criteria of a BA session
      iwlwifi: mvm: rs: introduce new API for rate scaling
      iwlwifi: mvm: rs: add ops for the new rate scaling in the FW
      iwlwifi: mvm: rs: add basic implementation of the new RS API handlers
      iwlwifi: mvm: rs: new rate scale API - add FW notifications
      iwlwifi: mvm: rs: new rate scale API - add debugfs hooks
      iwlwifi: mvm: rs: add size checks when printing to a buffer
      iwlwifi: mvm: rs: add sanity check when sending LQ command

Haim Dreyfuss (6):
      iwlwifi: Cancel and set MARKER_CMD timer during suspend-resume
      iwlwifi: api: Add geographic profile information to MCC_UPDATE_CMD
      cfg80211: read wmm rules from regulatory database
      mac80211: limit wmm params to comply with ETSI requirements
      cfg80211: Add API to allow querying regdb for wmm_rule
      iwlwifi: mvm: query regdb for wmm rule if needed

Ihab Zhaika (3):
      iwlwifi: add new cards for 8260 series
      iwlwifi: add new cards for 8265 series
      iwlwifi: add new cards for a000 series

Johannes Berg (14):
      iwlwifi: track current firmware image in common code
      iwlwifi: refactor firmware debug code
      iwlwifi: mvm: remove non-DQA mode
      iwlwifi: mvm: check family instead of new TX API for workarounds
      iwlwifi: mvm: add and use iwl_mvm_has_unified_ucode()
      iwlwifi: nvm-parse: unify channel flags printing
      cfg80211: support loading regulatory database as firmware file
      cfg80211: support reloading regulatory database
      cfg80211: reg: remove support for built-in regdb
      cfg80211: implement regdb signature checking
      cfg80211: initialize regulatory keys/database later
      wireless: replace usage of hexdump with od/sed
      wireless: don't write C files on failures
      cfg80211: ship certificates as hex files

Liad Kaufman (2):
      iwlwifi: mvm: support fw reading empty OTP
      iwlwifi: fix long debug print

Luca Coelho (20):
      iwlwifi: mvm: group all dummy SAR function declarations together
      iwlwifi: mvm: use mvmsta consistently in rs.c
      iwlwifi: update channel flags parser
      iwlwifi: fw: fix lar_enabled endian problem in iwl_fw_get_nvm
      iwlwifi: mvm: remove useless argument in iwl_nvm_init()
      iwlwifi: acpi: add common code to read from ACPI
      iwlwifi: acpi: move ACPI method definitions to acpi.h
      iwlwifi: acpi: move ACPI-related definitions to acpi.h
      iwlwifi: acpi: generalize iwl_mvm_sar_find_wifi_pkg()
      iwlwifi: acpi: use iwl_acpi_get_wifi_pkg when reading reading SPLC
      iwlwifi: acpi: make iwl_get_bios_mcc() use the common acpi functions
      iwlwifi: acpi: move function to get mcc into acpi code
      iwlwifi: pcie: sort IDs for the 9000 series for easier comparisons
      iwlwifi: mvm: move umac_error_event_table validity check to where it's set
      iwlwifi: define minimum valid address for umac_error_event_table in cfg
      iwlwifi: fix PCI IDs and configuration mapping for 9000 series
      iwlwifi: rename the temporary name of A000 to the official 22000
      iwlwifi: bump FW API to 36 for 8000 and up
      iwlwifi: add shared clock PHY config flag for some devices
      iwlwifi: add a bunch of new 9000 PCI IDs

Mordechai Goodstein (1):
      iwlwifi: implement fseq version mismatch warning

Mordechay Goodstein (2):
      iwlwifi: runtime: sync FW and host clocks for logs
      iwlwifi: set default timstamp marker cmd

Sara Sharon (2):
      iwlwifi: fix multi queue notification for a000 devices
      iwlwifi: mvm: support RX flags API change

Shahar S Matityahu (1):
      iwlwifi: pcie: dynamic Tx command queue size

Shaul Triebitz (4):
      iwlwifi: mvm: move a000 device NVM retrieval to a common place
      iwlwifi: mvm: adjust to quota offload
      iwlwifi: mvm: send the low latency command
      iwlwifi: align timestamp cancel with timestamp start

Thierry Reding (1):
      cfg80211: always rewrite generated files from scratch

Thomas Backlund (1):
      iwlwifi: fix firmware names for 9000 and A000 series hw

Tzipi Peres (2):
      iwlwifi: add support of FPGA fw
      iwlwifi: distinguish different RF modules in A000 devices

 Documentation/networking/regulatory.txt            |  30 +-
 drivers/net/wireless/intel/iwlwifi/Makefile        |   7 +-
 drivers/net/wireless/intel/iwlwifi/cfg/22000.c     | 218 +++++++
 drivers/net/wireless/intel/iwlwifi/cfg/7000.c      |   1 +
 drivers/net/wireless/intel/iwlwifi/cfg/8000.c      |   9 +-
 drivers/net/wireless/intel/iwlwifi/cfg/9000.c      |  71 ++-
 drivers/net/wireless/intel/iwlwifi/cfg/a000.c      |  50 +-
 drivers/net/wireless/intel/iwlwifi/fw/acpi.c       | 183 ++++++
 drivers/net/wireless/intel/iwlwifi/fw/acpi.h       | 131 ++++
 drivers/net/wireless/intel/iwlwifi/fw/api/alive.h  |  16 +
 .../net/wireless/intel/iwlwifi/fw/api/binding.h    |  41 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/coex.h   |  43 +-
 .../net/wireless/intel/iwlwifi/fw/api/commands.h   |   9 +-
 .../net/wireless/intel/iwlwifi/fw/api/datapath.h   |  15 +
 drivers/net/wireless/intel/iwlwifi/fw/api/debug.h  |   4 +-
 .../net/wireless/intel/iwlwifi/fw/api/mac-cfg.h    |  82 +--
 .../net/wireless/intel/iwlwifi/fw/api/nvm-reg.h    |  32 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/power.h  |   3 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/rs.h     | 262 +++++++-
 drivers/net/wireless/intel/iwlwifi/fw/api/tx.h     |   4 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/txq.h    |  18 +-
 drivers/net/wireless/intel/iwlwifi/fw/common_rx.c  |  88 +++
 .../intel/iwlwifi/{mvm/fw-dbg.c => fw/dbg.c}       | 442 +++++++------
 .../intel/iwlwifi/{mvm/fw-dbg.h => fw/dbg.h}       | 125 ++--
 drivers/net/wireless/intel/iwlwifi/fw/debugfs.c    | 201 ++++++
 drivers/net/wireless/intel/iwlwifi/fw/debugfs.h    | 110 ++++
 drivers/net/wireless/intel/iwlwifi/fw/file.h       |  14 +
 drivers/net/wireless/intel/iwlwifi/fw/init.c       |  90 +++
 drivers/net/wireless/intel/iwlwifi/fw/nvm.c        | 162 +++++
 drivers/net/wireless/intel/iwlwifi/fw/runtime.h    |  67 +-
 drivers/net/wireless/intel/iwlwifi/fw/smem.c       |   8 +-
 drivers/net/wireless/intel/iwlwifi/iwl-config.h    |  42 +-
 drivers/net/wireless/intel/iwlwifi/iwl-csr.h       |   7 +-
 drivers/net/wireless/intel/iwlwifi/iwl-debug.h     |   1 +
 drivers/net/wireless/intel/iwlwifi/iwl-fh.h        |  12 +-
 drivers/net/wireless/intel/iwlwifi/iwl-io.c        |  14 +-
 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 345 +++++-----
 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h |  23 +-
 drivers/net/wireless/intel/iwlwifi/iwl-prph.h      |  13 +-
 drivers/net/wireless/intel/iwlwifi/iwl-trans.h     |   2 +-
 drivers/net/wireless/intel/iwlwifi/mvm/Makefile    |   4 +-
 drivers/net/wireless/intel/iwlwifi/mvm/coex.c      |  40 +-
 drivers/net/wireless/intel/iwlwifi/mvm/constants.h |   2 +-
 drivers/net/wireless/intel/iwlwifi/mvm/d3.c        |  24 +-
 .../net/wireless/intel/iwlwifi/mvm/debugfs-vif.c   |  76 ---
 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c   | 114 +++-
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c        | 306 +++------
 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c  | 180 +-----
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  | 197 +++---
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h       | 190 +++---
 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c       | 217 ++-----
 drivers/net/wireless/intel/iwlwifi/mvm/ops.c       | 157 ++---
 drivers/net/wireless/intel/iwlwifi/mvm/power.c     |  23 +-
 drivers/net/wireless/intel/iwlwifi/mvm/quota.c     |  63 +-
 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c     | 314 +++++++++
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c        | 364 ++++++-----
 drivers/net/wireless/intel/iwlwifi/mvm/rs.h        |  48 ++
 drivers/net/wireless/intel/iwlwifi/mvm/rx.c        |  17 +-
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c      |  13 +-
 drivers/net/wireless/intel/iwlwifi/mvm/scan.c      |  35 +-
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c       | 469 ++++----------
 drivers/net/wireless/intel/iwlwifi/mvm/sta.h       |  28 +-
 .../net/wireless/intel/iwlwifi/mvm/time-event.c    |  29 +-
 drivers/net/wireless/intel/iwlwifi/mvm/tt.c        |   6 +-
 drivers/net/wireless/intel/iwlwifi/mvm/tx.c        | 161 ++---
 drivers/net/wireless/intel/iwlwifi/mvm/utils.c     | 131 ++--
 .../net/wireless/intel/iwlwifi/pcie/ctxt-info.c    |   2 +-
 drivers/net/wireless/intel/iwlwifi/pcie/drv.c      | 361 +++++++----
 drivers/net/wireless/intel/iwlwifi/pcie/internal.h |  18 +-
 drivers/net/wireless/intel/iwlwifi/pcie/rx.c       |   2 +-
 drivers/net/wireless/intel/iwlwifi/pcie/trans.c    |  13 +-
 drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c  |  56 +-
 drivers/net/wireless/intel/iwlwifi/pcie/tx.c       |  40 +-
 include/linux/ieee80211.h                          |   1 +
 include/net/cfg80211.h                             |  49 +-
 include/net/regulatory.h                           |  28 +
 include/uapi/linux/nl80211.h                       |  32 +-
 net/mac80211/cfg.c                                 |   3 +
 net/mac80211/ieee80211_i.h                         |   4 +
 net/mac80211/mlme.c                                |   1 +
 net/mac80211/util.c                                |  44 ++
 net/wireless/.gitignore                            |   3 +-
 net/wireless/Kconfig                               |  58 +-
 net/wireless/Makefile                              |  41 +-
 net/wireless/certs/sforshee.hex                    |  86 +++
 net/wireless/core.c                                |   2 +-
 net/wireless/core.h                                |   5 +
 net/wireless/db.txt                                |  17 -
 net/wireless/genregdb.awk                          | 158 -----
 net/wireless/nl80211.c                             |  45 +-
 net/wireless/nl80211.h                             |   2 +
 net/wireless/reg.c                                 | 706 +++++++++++++++++++--
 net/wireless/reg.h                                 |  14 +
 net/wireless/regdb.h                               |  23 -
 net/wireless/sme.c                                 |  45 +-
 net/wireless/util.c                                |   3 +
 96 files changed, 5227 insertions(+), 2838 deletions(-)
 create mode 100644 drivers/net/wireless/intel/iwlwifi/cfg/22000.c
 create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/acpi.c
 create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/acpi.h
 create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/common_rx.c
 rename drivers/net/wireless/intel/iwlwifi/{mvm/fw-dbg.c => fw/dbg.c} (69%)
 rename drivers/net/wireless/intel/iwlwifi/{mvm/fw-dbg.h => fw/dbg.h} (59%)
 create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/debugfs.c
 create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/debugfs.h
 create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/init.c
 create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/nvm.c
 create mode 100644 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c
 create mode 100644 net/wireless/certs/sforshee.hex
 delete mode 100644 net/wireless/db.txt
 delete mode 100644 net/wireless/genregdb.awk
 delete mode 100644 net/wireless/regdb.h

Comments

Timo Aaltonen May 29, 2018, 8:01 a.m. UTC | #1
On 28.05.2018 21:32, Anthony Wong wrote:
> BugLink: https://bugs.launchpad.net/bugs/1769980
> 
> This series of patches is required to meet the ETSI 5GHz adaptivity
> requirement, which is soon to be enforced. Due to the number of
> commits this is sent as a pull request.
> 
> We have tested them on Intel 3165, 8260, 9260, 9462 and 9560 modules with the
> latest firmwares from upstream to ensure they are still functional and no
> regression introduced.
> 
> Thanks,
> Anthony
> 
> ----------------------------------------------------------------
> 
> The following changes since commit d3af839a1b1980c136f9c38049f8aff56afc8948:
> 
>   UBUNTU: Ubuntu-oem-4.13.0-1028.31 (2018-05-17 16:30:14 +0200)
> 
> are available in the git repository at:
> 
>   git://git.launchpad.net/~anthonywong/ubuntu/+source/linux-oem lp1769980
> 
> for you to fetch changes up to f79069cc598adda32f8ce58c391c49ea63cb5f0b:
> 
>   iwlwifi: mvm: query regdb for wmm rule if needed (2018-05-28 11:26:50 -0400)
> 
> ----------------------------------------------------------------
> Anthony Wong (3):
>       Revert "UBUNTU: SAUCE: iwlwifi: Adding missing id A370:42A4"
>       Revert "iwlwifi: fix PCI IDs and configuration mapping for 9000 series"
>       Revert "iwlwifi: fix firmware names for 9000 and A000 series hw"
> 
> Arnd Bergmann (2):
>       cfg80211: fix CFG80211_EXTRA_REGDB_KEYDIR typo
>       cfg80211: don't print log output for building shipped-certs
> 
> Avraham Stern (3):
>       cfg80211/nl80211: add a port authorized event
>       ieee80211: Add WFA TPC report element OUI type
>       iwlwifi: mvm: add WFA vendor specific TPC report IE to probe request
> 
> Beni Lev (1):
>       iwlwifi: mvm: allow reading UMAC error data from SMEM in A000 devices
> 
> Chaya Rachel Ivgi (1):
>       iwlwifi: nvm: set the correct offsets to 3168 series
> 
> David Spinadel (1):
>       iwlwifi: mvm: Add new quota command API
> 
> Emmanuel Grumbach (12):
>       iwlwifi: mvm: fix the FIFO numbers in A000 devices
>       iwlwifi: pcie: free the TSO page when a Tx queue is unmapped on A000 devices
>       iwlwifi: mvm: fix the coex firmware API
>       iwlwifi: mvm: support new Coex firmware API
>       iwlwifi: pcie: support short Tx queues for A000 device family
>       cfg80211: honor NL80211_RRF_NO_HT40{MINUS,PLUS}
>       iwlwifi: mvm: bump API to 34 for 8000 and up
>       iwlwifi: mvm: remove support for Link Quality Measurements
>       iwlwifi: mvm: remove set but unused variable in iwl_mvm_roc_done_wk
>       iwlwifi: fw: fix the enums in the rate scaling API
>       iwlwifi: define and use if iwl_mvm_has_tlc_offload
>       iwlwifi: bump the max API version for 9000 and 22000 devices
> 
> Golan Ben-Ami (1):
>       iwlwifi: fix nmi triggering from host
> 
> Gregory Greenman (8):
>       iwlwifi: mvm: change open and close criteria of a BA session
>       iwlwifi: mvm: rs: introduce new API for rate scaling
>       iwlwifi: mvm: rs: add ops for the new rate scaling in the FW
>       iwlwifi: mvm: rs: add basic implementation of the new RS API handlers
>       iwlwifi: mvm: rs: new rate scale API - add FW notifications
>       iwlwifi: mvm: rs: new rate scale API - add debugfs hooks
>       iwlwifi: mvm: rs: add size checks when printing to a buffer
>       iwlwifi: mvm: rs: add sanity check when sending LQ command
> 
> Haim Dreyfuss (6):
>       iwlwifi: Cancel and set MARKER_CMD timer during suspend-resume
>       iwlwifi: api: Add geographic profile information to MCC_UPDATE_CMD
>       cfg80211: read wmm rules from regulatory database
>       mac80211: limit wmm params to comply with ETSI requirements
>       cfg80211: Add API to allow querying regdb for wmm_rule
>       iwlwifi: mvm: query regdb for wmm rule if needed
> 
> Ihab Zhaika (3):
>       iwlwifi: add new cards for 8260 series
>       iwlwifi: add new cards for 8265 series
>       iwlwifi: add new cards for a000 series
> 
> Johannes Berg (14):
>       iwlwifi: track current firmware image in common code
>       iwlwifi: refactor firmware debug code
>       iwlwifi: mvm: remove non-DQA mode
>       iwlwifi: mvm: check family instead of new TX API for workarounds
>       iwlwifi: mvm: add and use iwl_mvm_has_unified_ucode()
>       iwlwifi: nvm-parse: unify channel flags printing
>       cfg80211: support loading regulatory database as firmware file
>       cfg80211: support reloading regulatory database
>       cfg80211: reg: remove support for built-in regdb
>       cfg80211: implement regdb signature checking
>       cfg80211: initialize regulatory keys/database later
>       wireless: replace usage of hexdump with od/sed
>       wireless: don't write C files on failures
>       cfg80211: ship certificates as hex files
> 
> Liad Kaufman (2):
>       iwlwifi: mvm: support fw reading empty OTP
>       iwlwifi: fix long debug print
> 
> Luca Coelho (20):
>       iwlwifi: mvm: group all dummy SAR function declarations together
>       iwlwifi: mvm: use mvmsta consistently in rs.c
>       iwlwifi: update channel flags parser
>       iwlwifi: fw: fix lar_enabled endian problem in iwl_fw_get_nvm
>       iwlwifi: mvm: remove useless argument in iwl_nvm_init()
>       iwlwifi: acpi: add common code to read from ACPI
>       iwlwifi: acpi: move ACPI method definitions to acpi.h
>       iwlwifi: acpi: move ACPI-related definitions to acpi.h
>       iwlwifi: acpi: generalize iwl_mvm_sar_find_wifi_pkg()
>       iwlwifi: acpi: use iwl_acpi_get_wifi_pkg when reading reading SPLC
>       iwlwifi: acpi: make iwl_get_bios_mcc() use the common acpi functions
>       iwlwifi: acpi: move function to get mcc into acpi code
>       iwlwifi: pcie: sort IDs for the 9000 series for easier comparisons
>       iwlwifi: mvm: move umac_error_event_table validity check to where it's set
>       iwlwifi: define minimum valid address for umac_error_event_table in cfg
>       iwlwifi: fix PCI IDs and configuration mapping for 9000 series
>       iwlwifi: rename the temporary name of A000 to the official 22000
>       iwlwifi: bump FW API to 36 for 8000 and up
>       iwlwifi: add shared clock PHY config flag for some devices
>       iwlwifi: add a bunch of new 9000 PCI IDs
> 
> Mordechai Goodstein (1):
>       iwlwifi: implement fseq version mismatch warning
> 
> Mordechay Goodstein (2):
>       iwlwifi: runtime: sync FW and host clocks for logs
>       iwlwifi: set default timstamp marker cmd
> 
> Sara Sharon (2):
>       iwlwifi: fix multi queue notification for a000 devices
>       iwlwifi: mvm: support RX flags API change
> 
> Shahar S Matityahu (1):
>       iwlwifi: pcie: dynamic Tx command queue size
> 
> Shaul Triebitz (4):
>       iwlwifi: mvm: move a000 device NVM retrieval to a common place
>       iwlwifi: mvm: adjust to quota offload
>       iwlwifi: mvm: send the low latency command
>       iwlwifi: align timestamp cancel with timestamp start
> 
> Thierry Reding (1):
>       cfg80211: always rewrite generated files from scratch
> 
> Thomas Backlund (1):
>       iwlwifi: fix firmware names for 9000 and A000 series hw
> 
> Tzipi Peres (2):
>       iwlwifi: add support of FPGA fw
>       iwlwifi: distinguish different RF modules in A000 devices
> 
>  Documentation/networking/regulatory.txt            |  30 +-
>  drivers/net/wireless/intel/iwlwifi/Makefile        |   7 +-
>  drivers/net/wireless/intel/iwlwifi/cfg/22000.c     | 218 +++++++
>  drivers/net/wireless/intel/iwlwifi/cfg/7000.c      |   1 +
>  drivers/net/wireless/intel/iwlwifi/cfg/8000.c      |   9 +-
>  drivers/net/wireless/intel/iwlwifi/cfg/9000.c      |  71 ++-
>  drivers/net/wireless/intel/iwlwifi/cfg/a000.c      |  50 +-
>  drivers/net/wireless/intel/iwlwifi/fw/acpi.c       | 183 ++++++
>  drivers/net/wireless/intel/iwlwifi/fw/acpi.h       | 131 ++++
>  drivers/net/wireless/intel/iwlwifi/fw/api/alive.h  |  16 +
>  .../net/wireless/intel/iwlwifi/fw/api/binding.h    |  41 +-
>  drivers/net/wireless/intel/iwlwifi/fw/api/coex.h   |  43 +-
>  .../net/wireless/intel/iwlwifi/fw/api/commands.h   |   9 +-
>  .../net/wireless/intel/iwlwifi/fw/api/datapath.h   |  15 +
>  drivers/net/wireless/intel/iwlwifi/fw/api/debug.h  |   4 +-
>  .../net/wireless/intel/iwlwifi/fw/api/mac-cfg.h    |  82 +--
>  .../net/wireless/intel/iwlwifi/fw/api/nvm-reg.h    |  32 +-
>  drivers/net/wireless/intel/iwlwifi/fw/api/power.h  |   3 +-
>  drivers/net/wireless/intel/iwlwifi/fw/api/rs.h     | 262 +++++++-
>  drivers/net/wireless/intel/iwlwifi/fw/api/tx.h     |   4 +-
>  drivers/net/wireless/intel/iwlwifi/fw/api/txq.h    |  18 +-
>  drivers/net/wireless/intel/iwlwifi/fw/common_rx.c  |  88 +++
>  .../intel/iwlwifi/{mvm/fw-dbg.c => fw/dbg.c}       | 442 +++++++------
>  .../intel/iwlwifi/{mvm/fw-dbg.h => fw/dbg.h}       | 125 ++--
>  drivers/net/wireless/intel/iwlwifi/fw/debugfs.c    | 201 ++++++
>  drivers/net/wireless/intel/iwlwifi/fw/debugfs.h    | 110 ++++
>  drivers/net/wireless/intel/iwlwifi/fw/file.h       |  14 +
>  drivers/net/wireless/intel/iwlwifi/fw/init.c       |  90 +++
>  drivers/net/wireless/intel/iwlwifi/fw/nvm.c        | 162 +++++
>  drivers/net/wireless/intel/iwlwifi/fw/runtime.h    |  67 +-
>  drivers/net/wireless/intel/iwlwifi/fw/smem.c       |   8 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-config.h    |  42 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-csr.h       |   7 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-debug.h     |   1 +
>  drivers/net/wireless/intel/iwlwifi/iwl-fh.h        |  12 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-io.c        |  14 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 345 +++++-----
>  drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h |  23 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-prph.h      |  13 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-trans.h     |   2 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/Makefile    |   4 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/coex.c      |  40 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/constants.h |   2 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/d3.c        |  24 +-
>  .../net/wireless/intel/iwlwifi/mvm/debugfs-vif.c   |  76 ---
>  drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c   | 114 +++-
>  drivers/net/wireless/intel/iwlwifi/mvm/fw.c        | 306 +++------
>  drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c  | 180 +-----
>  drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  | 197 +++---
>  drivers/net/wireless/intel/iwlwifi/mvm/mvm.h       | 190 +++---
>  drivers/net/wireless/intel/iwlwifi/mvm/nvm.c       | 217 ++-----
>  drivers/net/wireless/intel/iwlwifi/mvm/ops.c       | 157 ++---
>  drivers/net/wireless/intel/iwlwifi/mvm/power.c     |  23 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/quota.c     |  63 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c     | 314 +++++++++
>  drivers/net/wireless/intel/iwlwifi/mvm/rs.c        | 364 ++++++-----
>  drivers/net/wireless/intel/iwlwifi/mvm/rs.h        |  48 ++
>  drivers/net/wireless/intel/iwlwifi/mvm/rx.c        |  17 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c      |  13 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/scan.c      |  35 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/sta.c       | 469 ++++----------
>  drivers/net/wireless/intel/iwlwifi/mvm/sta.h       |  28 +-
>  .../net/wireless/intel/iwlwifi/mvm/time-event.c    |  29 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/tt.c        |   6 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/tx.c        | 161 ++---
>  drivers/net/wireless/intel/iwlwifi/mvm/utils.c     | 131 ++--
>  .../net/wireless/intel/iwlwifi/pcie/ctxt-info.c    |   2 +-
>  drivers/net/wireless/intel/iwlwifi/pcie/drv.c      | 361 +++++++----
>  drivers/net/wireless/intel/iwlwifi/pcie/internal.h |  18 +-
>  drivers/net/wireless/intel/iwlwifi/pcie/rx.c       |   2 +-
>  drivers/net/wireless/intel/iwlwifi/pcie/trans.c    |  13 +-
>  drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c  |  56 +-
>  drivers/net/wireless/intel/iwlwifi/pcie/tx.c       |  40 +-
>  include/linux/ieee80211.h                          |   1 +
>  include/net/cfg80211.h                             |  49 +-
>  include/net/regulatory.h                           |  28 +
>  include/uapi/linux/nl80211.h                       |  32 +-
>  net/mac80211/cfg.c                                 |   3 +
>  net/mac80211/ieee80211_i.h                         |   4 +
>  net/mac80211/mlme.c                                |   1 +
>  net/mac80211/util.c                                |  44 ++
>  net/wireless/.gitignore                            |   3 +-
>  net/wireless/Kconfig                               |  58 +-
>  net/wireless/Makefile                              |  41 +-
>  net/wireless/certs/sforshee.hex                    |  86 +++
>  net/wireless/core.c                                |   2 +-
>  net/wireless/core.h                                |   5 +
>  net/wireless/db.txt                                |  17 -
>  net/wireless/genregdb.awk                          | 158 -----
>  net/wireless/nl80211.c                             |  45 +-
>  net/wireless/nl80211.h                             |   2 +
>  net/wireless/reg.c                                 | 706 +++++++++++++++++++--
>  net/wireless/reg.h                                 |  14 +
>  net/wireless/regdb.h                               |  23 -
>  net/wireless/sme.c                                 |  45 +-
>  net/wireless/util.c                                |   3 +
>  96 files changed, 5227 insertions(+), 2838 deletions(-)
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/cfg/22000.c
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/acpi.c
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/acpi.h
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/common_rx.c
>  rename drivers/net/wireless/intel/iwlwifi/{mvm/fw-dbg.c => fw/dbg.c} (69%)
>  rename drivers/net/wireless/intel/iwlwifi/{mvm/fw-dbg.h => fw/dbg.h} (59%)
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/debugfs.c
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/debugfs.h
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/init.c
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/fw/nvm.c
>  create mode 100644 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c
>  create mode 100644 net/wireless/certs/sforshee.hex
>  delete mode 100644 net/wireless/db.txt
>  delete mode 100644 net/wireless/genregdb.awk
>  delete mode 100644 net/wireless/regdb.h

That's a big pile of backports, but as you say they've been tested on a
number of devices already, so applied to artful/oem-next.