[PULL] [Focal/Unstable] Add support for Realtek 8723DE wireless adapter
Kai-Heng Feng
kai.heng.feng at canonical.com
Tue Dec 10 07:40:14 UTC 2019
[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
Realtek is committed to update this repo until every bits are
upstreamed.
[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.
The following changes since commit f77b7acc39ef131f91db7fb6b17185c1ae03f118:
UBUNTU: Ubuntu-5.4.0-8.10 (2019-12-06 12:56:54 -0600)
are available in the Git repository at:
https://git.launchpad.net/~kaihengfeng/linux rtw88
for you to fetch changes up to 03a2a020af1f2eff0f745c464a50de88c4034aae:
UBUNTU: [Config] CONFIG_RTW88_8723DE=y (2019-12-09 14:32:40 +0800)
----------------------------------------------------------------
Chin-Yen Lee (6):
UBUNTU: SAUCE: rtw88: check firmware leave lps successfully
UBUNTU: SAUCE: rtw88: support wowlan feature for 8822c
UBUNTU: SAUCE: rtw88: wowlan: support pattern match
UBUNTU: SAUCE: rtw88: wowlan: support PNO for 8822C
UBUNTU: SAUCE: rtw88: add module parameter to enable PCIE clock request
UBUNTU: SAUCE: rtw88: add module parameter to enable PCIE ASPM L1
Kai-Heng Feng (2):
Bluetooth: btusb: Disable runtime suspend on Realtek devices
UBUNTU: [Config] CONFIG_RTW88_8723DE=y
Ping-Ke Shih (56):
UBUNTU: SAUCE: rtw88: use struct rtw_fw_hdr to access firmware header
UBUNTU: SAUCE: rtw88: fix NSS of hw_cap
UBUNTU: SAUCE: rtw88: fix error handling when setup efuse info
UBUNTU: SAUCE: rtw88: coex: Set 4 slot mode for A2DP
UBUNTU: SAUCE: rtw88: fix TX secondary channel offset of 40M if current bw is 20M or 40M
UBUNTU: SAUCE: rtw88: Use secondary channel offset enumeration to make better read
UBUNTU: SAUCE: rtw88: keep leave and enter IPS as the first and last in config callback
UBUNTU: SAUCE: rtw88: fix rate mask for 1SS chip
UBUNTU: SAUCE: rtw88: refine conversion of rx_evm_dbm from rx_evm
UBUNTU: SAUCE: rtw88: 8723d: Add firmware
UBUNTU: SAUCE: rtw88: 8723d: Add basic chip information of 8723D
UBUNTU: SAUCE: rtw88: 8723de: Add 8723DE to Kconfig and Makefile
UBUNTU: SAUCE: rtw88: 8723d: check set_gid_table before calling
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 ops cfg_ldo25 to control LDO25
UBUNTU: SAUCE: rtw88: 8723d: Add ops efuse_en to enable/disable efuse access
UBUNTU: SAUCE: rtw88: 8723d: Add read_efuse ops to recognize efuse info from map
UBUNTU: SAUCE: rtw88: add legacy firmware download for 8723de
UBUNTU: SAUCE: rtw88: Don't need send additional information to legacy firmware
UBUNTU: SAUCE: rtw88: 8723d: Implement 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 ops set_tx_power_index to set tx power
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 ops query_rx_desc
UBUNTU: SAUCE: rtw88: 8723d: Add ops set_channel
UBUNTU: SAUCE: rtw88: handle C2H_CCX_TX_RPT (0x03) to know if packet TX successfully
UBUNTU: SAUCE: rtw88: 8723d: Add LDPC cap to chip info
UBUNTU: SAUCE: rtw88: 8723d: 11N chip doesn't have LS field in TX descriptor
UBUNTU: SAUCE: rtw88: 8723d: Add 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 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: sar: add SAR of TX power limit
UBUNTU: SAUCE: rtw88: sar: Load SAR table from ACPI
UBUNTU: SAUCE: rtw88: fill zeros to words 0x06 and 0x07 of security cam entry
UBUNTU: SAUCE: rtw88: Don't set RX_FLAG_DECRYPTED to rx_status if packet has no encryption
UBUNTU: SAUCE: rtw88: sar: Don't induce to SAR WW if regd WW is specified
UBUNTU: SAUCE: rtw88: sar: try use WW one if SAR value of specified regd is invalid
UBUNTU: SAUCE: rtw88: sar: sar.c include sar.h
UBUNTU: SAUCE: rtw88: sar: generalize WRDS read function to support more tables
UBUNTU: SAUCE: rtw88: sar: add basic parser of RT tables
UBUNTU: SAUCE: rtw88: sar: apply RWRD/RWSI/RWGS tables to tx power limit
UBUNTU: SAUCE: rtw88: sar: add sar_work to poll if RWSI changed
UBUNTU: SAUCE: rtw88: sar: dump sar information via debugfs
UBUNTU: SAUCE: rtw88: add ciphers to suppress error message
Tsang-Shian Lin (1):
UBUNTU: SAUCE: rtw88: add phy_info debugfs to show Tx/Rx physical status
Tzu-En Huang (6):
UBUNTU: SAUCE: rtw88: report tx rate to mac80211 stack
UBUNTU: SAUCE: rtw88: add power tracking support
UBUNTU: SAUCE: rtw88: Enable 802.11ac beamformee support
UBUNTU: SAUCE: rtw88: config 8822c multicast address in MAC init flow
UBUNTU: SAUCE: rtw88: add set_bitrate_mask support
UBUNTU: SAUCE: rtw88: update regulatory settings implementaion
Yan-Hsuan Chuang (16):
UBUNTU: SAUCE: rtw88: remove redundant flag check helper function
UBUNTU: SAUCE: rtw88: not to enter or leave PS under IRQ
UBUNTU: SAUCE: rtw88: not to control LPS by each vif
UBUNTU: SAUCE: rtw88: remove unused lps state check helper
UBUNTU: SAUCE: rtw88: LPS enter/leave should be protected by lock
UBUNTU: SAUCE: rtw88: leave PS state for dynamic mechanism
UBUNTU: SAUCE: rtw88: add deep power save support
UBUNTU: SAUCE: rtw88: not to enter LPS by coex strategy
UBUNTU: SAUCE: rtw88: select deep PS mode when module is inserted
UBUNTU: SAUCE: rtw88: add deep PS PG mode for 8822c
UBUNTU: SAUCE: rtw88: add RTS support
UBUNTU: SAUCE: rtw88: add driver tx queue support
UBUNTU: SAUCE: rtw88: take over rate control from mac80211
UBUNTU: SAUCE: rtw88: add TX-AMSDU support
UBUNTU: SAUCE: rtw88: flush hardware tx queues
UBUNTU: SAUCE: rtw88: default enable LPS + LCLK
debian.master/config/config.common.ubuntu | 1 +
drivers/bluetooth/btusb.c | 4 +
drivers/net/wireless/realtek/rtw88/Kconfig | 10 +
drivers/net/wireless/realtek/rtw88/Makefile | 4 +
drivers/net/wireless/realtek/rtw88/bf.c | 408 ++++
drivers/net/wireless/realtek/rtw88/bf.h | 92 +
drivers/net/wireless/realtek/rtw88/coex.c | 38 +-
drivers/net/wireless/realtek/rtw88/debug.c | 205 +-
drivers/net/wireless/realtek/rtw88/debug.h | 3 +
drivers/net/wireless/realtek/rtw88/efuse.c | 4 +
drivers/net/wireless/realtek/rtw88/fw.c | 610 ++++-
drivers/net/wireless/realtek/rtw88/fw.h | 286 ++-
drivers/net/wireless/realtek/rtw88/hci.h | 14 +
drivers/net/wireless/realtek/rtw88/mac.c | 459 +++-
drivers/net/wireless/realtek/rtw88/mac.h | 13 +-
drivers/net/wireless/realtek/rtw88/mac80211.c | 271 ++-
drivers/net/wireless/realtek/rtw88/main.c | 379 ++-
drivers/net/wireless/realtek/rtw88/main.h | 360 ++-
drivers/net/wireless/realtek/rtw88/pci.c | 278 ++-
drivers/net/wireless/realtek/rtw88/pci.h | 21 +-
drivers/net/wireless/realtek/rtw88/phy.c | 305 ++-
drivers/net/wireless/realtek/rtw88/phy.h | 23 +
drivers/net/wireless/realtek/rtw88/ps.c | 178 +-
drivers/net/wireless/realtek/rtw88/ps.h | 13 +-
.../realtek/rtw88/reference/fw/rtw8723d_fw | Bin 0 -> 28884 bytes
drivers/net/wireless/realtek/rtw88/reg.h | 141 +-
drivers/net/wireless/realtek/rtw88/regd.c | 61 +-
drivers/net/wireless/realtek/rtw88/rtw8723d.c | 2560 ++++++++++++++++++++
drivers/net/wireless/realtek/rtw88/rtw8723d.h | 204 ++
.../net/wireless/realtek/rtw88/rtw8723d_table.c | 1196 +++++++++
.../net/wireless/realtek/rtw88/rtw8723d_table.h | 15 +
drivers/net/wireless/realtek/rtw88/rtw8822b.c | 417 +++-
drivers/net/wireless/realtek/rtw88/rtw8822b.h | 12 +
drivers/net/wireless/realtek/rtw88/rtw8822c.c | 354 ++-
drivers/net/wireless/realtek/rtw88/rtw8822c.h | 12 +
drivers/net/wireless/realtek/rtw88/rx.c | 93 +-
drivers/net/wireless/realtek/rtw88/rx.h | 11 +
drivers/net/wireless/realtek/rtw88/sar.c | 762 ++++++
drivers/net/wireless/realtek/rtw88/sar.h | 14 +
drivers/net/wireless/realtek/rtw88/sec.c | 27 +-
drivers/net/wireless/realtek/rtw88/sec.h | 1 +
drivers/net/wireless/realtek/rtw88/tx.c | 178 +-
drivers/net/wireless/realtek/rtw88/tx.h | 14 +-
drivers/net/wireless/realtek/rtw88/util.c | 45 +-
drivers/net/wireless/realtek/rtw88/util.h | 17 +
drivers/net/wireless/realtek/rtw88/wow.c | 758 ++++++
drivers/net/wireless/realtek/rtw88/wow.h | 62 +
47 files changed, 10553 insertions(+), 380 deletions(-)
create mode 100644 drivers/net/wireless/realtek/rtw88/bf.c
create mode 100644 drivers/net/wireless/realtek/rtw88/bf.h
create mode 100644 drivers/net/wireless/realtek/rtw88/reference/fw/rtw8723d_fw
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
create mode 100644 drivers/net/wireless/realtek/rtw88/wow.c
create mode 100644 drivers/net/wireless/realtek/rtw88/wow.h
More information about the kernel-team
mailing list