[SRU] [OEM-OSP1-B] [Pull] Enable Realtek Wireless Lan 8723DE
Kai-Heng Feng
kai.heng.feng at canonical.com
Mon Nov 4 18:56:39 UTC 2019
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
Realtek will rebase the driver to 5.4 to target Focal.
[Test]
With the patch series applied, 8723DE can scan and connect to APs
succesfully. Also did some S3 smoke test, it continues to work.
Realtek also tested this driver internally.
[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 1daace260d57df4372f984a16876ac7e4b4aa5d7:
UBUNTU: Ubuntu-oem-osp1-5.0.0-1026.29 (2019-10-23 13:31:31 +0300)
are available in the Git repository at:
https://git.launchpad.net/~kaihengfeng/linux lp1780590-oem-osp1
for you to fetch changes up to b04f795629ad06266ba50ee28e9b67c6788c3736:
UBUNTU: [Config] CONFIG_RTW88_8723DE=y (2019-11-05 02:27:51 +0800)
----------------------------------------------------------------
Chin-Yen Lee (7):
UBUNTU: SAUCE: rtw88: 8822c: update pwr_seq to v13
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 (1):
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 (3):
UBUNTU: SAUCE: rtw88: 8822c: Enable interrupt migration
UBUNTU: SAUCE: rtw88: fix wrong rx power calculation
UBUNTU: SAUCE: rtw88: add phy_info debugfs to show Tx/Rx physical status
Tzu-En Huang (8):
UBUNTU: SAUCE: rtw88: 8822c: add SW DPK support
UBUNTU: SAUCE: rtw88: add dynamic cck pd mechanism
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 (22):
UBUNTU: SAUCE: rtw88: 8822c: update PHY parameter to v38
UBUNTU: SAUCE: rtw88: 8822c: add FW IQK support
UBUNTU: SAUCE: rtw88: move IQK/DPK into phy_calibration
UBUNTU: SAUCE: rtw88: allows to receive AMSDU in AMPDU
UBUNTU: SAUCE: rtw88: remove redundant flag check helper function
UBUNTU: SAUCE: rtw88: pci: extract skbs free routine for trx rings
UBUNTU: SAUCE: rtw88: pci: release tx skbs DMAed when stop
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.oem-osp1/config/config.common.ubuntu | 1 +
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 | 40 +-
drivers/net/wireless/realtek/rtw88/coex.h | 1 +
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 | 273 +-
drivers/net/wireless/realtek/rtw88/main.c | 380 +-
drivers/net/wireless/realtek/rtw88/main.h | 412 +-
drivers/net/wireless/realtek/rtw88/pci.c | 326 +-
drivers/net/wireless/realtek/rtw88/pci.h | 21 +-
drivers/net/wireless/realtek/rtw88/phy.c | 448 +-
drivers/net/wireless/realtek/rtw88/phy.h | 25 +
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 | 158 +-
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 | 424 +-
drivers/net/wireless/realtek/rtw88/rtw8822b.h | 12 +
drivers/net/wireless/realtek/rtw88/rtw8822c.c | 1986 +++++-
drivers/net/wireless/realtek/rtw88/rtw8822c.h | 98 +
.../net/wireless/realtek/rtw88/rtw8822c_table.c | 6930 ++++++++++++++------
.../net/wireless/realtek/rtw88/rtw8822c_table.h | 3 +
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 +
49 files changed, 17135 insertions(+), 2720 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