[Pull] [Unstable] Add support for Realtek 8723DE wireless adapter

Kai-Heng Feng kai.heng.feng at canonical.com
Thu Feb 20 11:30:11 UTC 2020


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

[Impact]
There's no in-kernel support for Realtek 8723DE, so users need to use
out-of-tree DKMS which is not from Ubuntu archive. This has security
implication and should be avoided. Also this provides pretty bad user
experience.

[Fix]
Add support to Realtek 8723DE.
All commits are cherry-picked from Realtek maintained repo:
https://github.com/rtlwifi-linux/rtw88_8723de

[Test]
With the patch series applied, 8723DE can scan and connect to APs
succesfully. Also did some S3 smoke test, it continues to work.

[Regression Potential]
Low. The device in question was never supported, and if there's any
regression, we can count on Realtek Wireless team, thy are now pretty
responsive on upstream mailing list.

[Pull]
The following changes since commit 97a9de9213830cac73cbcd3ff2cc15a6c6dae37f:

  UBUNTU: [Config] CONFIG_LOCK_DOWN_IN_SECURE_BOOT=y (2020-02-19 13:24:14 -0600)

are available in the Git repository at:

  https://git.launchpad.net/~kaihengfeng/linux lp1780590-unstable

for you to fetch changes up to 6c831b2d9cf1715a0427a9bf36ffa3a4ba0bb29a:

  UBUNTU: [Config] CONFIG_RTW88_8723DE=y (2020-02-20 15:22:05 +0800)

----------------------------------------------------------------
Brian Norris (1):
      UBUNTU: SAUCE: rtw88: don't hold all IRQs disabled for PS operations

Chien-Hsun Liao (1):
      UBUNTU: SAUCE: rtw88: 8822c: modify rf protection setting

Kai-Heng Feng (1):
      UBUNTU: [Config] CONFIG_RTW88_8723DE=y

Ping-Ke Shih (42):
      UBUNTU: SAUCE: rtw88: Use secondary channel offset enumeration
      UBUNTU: SAUCE: rtw88: move rtw_enter_ips() to the last when config
      UBUNTU: SAUCE: rtw88: add ciphers to suppress error message
      UBUNTU: SAUCE: rtw88: 8723d: Add basic chip capabilities
      UBUNTU: SAUCE: rtw88: 8723d: add beamform wrapper functions
      UBUNTU: SAUCE: rtw88: 8723d: Add power sequence
      UBUNTU: SAUCE: rtw88: 8723d: Add RF read/write ops
      UBUNTU: SAUCE: rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables
      UBUNTU: SAUCE: rtw88: 8723d: Add cfg_ldo25 to control LDO25
      UBUNTU: SAUCE: rtw88: 8723d: Add new chip op efuse_grant() to control efuse access
      UBUNTU: SAUCE: rtw88: 8723d: Add read_efuse to recognize efuse info from map
      UBUNTU: SAUCE: rtw88: add legacy firmware download for 8723D devices
      UBUNTU: SAUCE: rtw88: no need to send additional information to legacy firmware
      UBUNTU: SAUCE: rtw88: 8723d: Add mac power-on/-off function
      UBUNTU: SAUCE: rtw88: decompose while(1) loop of power sequence polling command
      UBUNTU: SAUCE: rtw88: 8723d: 11N chips don't support H2C queue
      UBUNTU: SAUCE: rtw88: 8723d: implement set_tx_power_index ops
      UBUNTU: SAUCE: rtw88: 8723d: Organize chip TX/RX FIFO
      UBUNTU: SAUCE: rtw88: 8723d: initialize mac/bb/rf basic functions
      UBUNTU: SAUCE: rtw88: 8723d: Add DIG parameter
      UBUNTU: SAUCE: rtw88: 8723d: Add query_rx_desc
      UBUNTU: SAUCE: rtw88: 8723d: Add set_channel
      UBUNTU: SAUCE: rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully
      UBUNTU: SAUCE: rtw88: 8723d: 11N chips don't support LDPC
      UBUNTU: SAUCE: rtw88: sar: add SAR of TX power limit
      UBUNTU: SAUCE: rtw88: sar: Load static SAR table from ACPI WRDS method
      UBUNTU: SAUCE: rtw88: sar: Load dynamic SAR table from ACPI methods
      UBUNTU: SAUCE: rtw88: sar: apply dynamic SAR table to tx power limit
      UBUNTU: SAUCE: rtw88: sar: add sar_work to poll if dynamic SAR table is changed
      UBUNTU: SAUCE: rtw88: sar: dump sar information via debugfs
      UBUNTU: SAUCE: rtw88: 8723d: Add chip_ops::false_alarm_statistics
      UBUNTU: SAUCE: rtw88: 8723d: Set IG register for CCK rate
      UBUNTU: SAUCE: rtw88: 8723d: add interface configurations table
      UBUNTU: SAUCE: rtw88: 8723d: Add LC calibration
      UBUNTU: SAUCE: rtw88: 8723d: add IQ calibration
      UBUNTU: SAUCE: rtw88: 8723d: Add power tracking
      UBUNTU: SAUCE: rtw88: 8723d: Add shutdown callback to disable BT USB suspend
      UBUNTU: SAUCE: rtw88: 8723d: implement flush queue
      UBUNTU: SAUCE: rtw88: 8723d: set ltecoex register address in chip_info
      UBUNTU: SAUCE: rtw88: 8723d: Add coex support
      UBUNTU: SAUCE: rtw88: fill zeros to words 0x06 and 0x07 of security cam entry
      UBUNTU: SAUCE: rtw88: 8723d: Add 8723DE to Kconfig and Makefile

Tzu-En Huang (6):
      UBUNTU: SAUCE: rtw88: add regulatory process strategy for different chipset
      UBUNTU: SAUCE: rtw88: support dynamic user regulatory setting
      UBUNTU: SAUCE: rtw88: 8822c: update power sequence to v16
      UBUNTU: SAUCE: rtw88: Fix incorrect beamformee role setting
      UBUNTU: SAUCE: rtw88: add adaptivity support for EU/JP regulatory
      UBUNTU: SAUCE: rtw88: update tx descriptor of mgmt and rsvd page packets

Yan-Hsuan Chuang (10):
      UBUNTU: SAUCE: rtw88: disable TX-AMSDU on 2.4G band
      UBUNTU: SAUCE: Revert "rtw88: disable TX-AMSDU on 2.4G band"
      UBUNTU: SAUCE: rtw88: disable TX-AMSDU on 2.4G band
      UBUNTU: SAUCE: rtw88: remove unused parameter vif in rtw_lps_pg_info_get()
      UBUNTU: SAUCE: rtw88: add rtw_read8_mask and rtw_read16_mask
      UBUNTU: SAUCE: rtw88: pci: 8822c should set clock delay to zero
      UBUNTU: SAUCE: rtw88: avoid holding mutex for cancel_delayed_work_sync()
      UBUNTU: SAUCE: rtw88: extract alloc rsvd_page and h2c skb routines
      UBUNTU: SAUCE: rtw88: associate reserved pages with each vif
      UBUNTU: SAUCE: rtw88: set default port to firmware

 debian.master/config/annotations                   |    2 +
 debian.master/config/config.common.ubuntu          |    2 +
 drivers/net/wireless/realtek/rtw88/Kconfig         |   20 +
 drivers/net/wireless/realtek/rtw88/Makefile        |    2 +
 drivers/net/wireless/realtek/rtw88/bf.c            |   13 +-
 drivers/net/wireless/realtek/rtw88/bf.h            |   22 +
 drivers/net/wireless/realtek/rtw88/coex.c          |    3 +
 drivers/net/wireless/realtek/rtw88/debug.c         |   51 +-
 drivers/net/wireless/realtek/rtw88/efuse.c         |    4 +
 drivers/net/wireless/realtek/rtw88/fw.c            |  330 ++-
 drivers/net/wireless/realtek/rtw88/fw.h            |   61 +-
 drivers/net/wireless/realtek/rtw88/hci.h           |   26 +
 drivers/net/wireless/realtek/rtw88/mac.c           |  438 +++-
 drivers/net/wireless/realtek/rtw88/mac.h           |    1 +
 drivers/net/wireless/realtek/rtw88/mac80211.c      |   66 +-
 drivers/net/wireless/realtek/rtw88/main.c          |   98 +-
 drivers/net/wireless/realtek/rtw88/main.h          |  152 ++
 drivers/net/wireless/realtek/rtw88/pci.c           |  143 +-
 drivers/net/wireless/realtek/rtw88/pci.h           |    5 +-
 drivers/net/wireless/realtek/rtw88/phy.c           |  308 ++-
 drivers/net/wireless/realtek/rtw88/phy.h           |   12 +
 drivers/net/wireless/realtek/rtw88/reg.h           |  110 +
 drivers/net/wireless/realtek/rtw88/regd.c          |   63 +-
 drivers/net/wireless/realtek/rtw88/rtw8723d.c      | 2762 ++++++++++++++++++++
 drivers/net/wireless/realtek/rtw88/rtw8723d.h      |  245 ++
 .../net/wireless/realtek/rtw88/rtw8723d_table.c    | 1196 +++++++++
 .../net/wireless/realtek/rtw88/rtw8723d_table.h    |   15 +
 drivers/net/wireless/realtek/rtw88/rtw8822b.c      |   71 +-
 drivers/net/wireless/realtek/rtw88/rtw8822b.h      |    6 +
 drivers/net/wireless/realtek/rtw88/rtw8822c.c      |   93 +-
 drivers/net/wireless/realtek/rtw88/rtw8822c.h      |    7 +
 drivers/net/wireless/realtek/rtw88/sar.c           |  778 ++++++
 drivers/net/wireless/realtek/rtw88/sar.h           |   15 +
 drivers/net/wireless/realtek/rtw88/sec.c           |    6 +-
 drivers/net/wireless/realtek/rtw88/tx.c            |  175 +-
 drivers/net/wireless/realtek/rtw88/tx.h            |   31 +-
 drivers/net/wireless/realtek/rtw88/util.c          |   18 +-
 drivers/net/wireless/realtek/rtw88/wow.c           |   43 +-
 38 files changed, 6971 insertions(+), 422 deletions(-)
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723d.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723d.h
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723d_table.h
 create mode 100644 drivers/net/wireless/realtek/rtw88/sar.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/sar.h



More information about the kernel-team mailing list