Message ID | 20190606034255.2192-1-aaron.ma@canonical.com |
---|---|
Headers | show |
Series | Add RTL8822 wifi driver | expand |
Applied on Ubuntu-oem-4.15.0-1040.45
Acked-By: AceLan Kao <acelan.kao@canonical.com>
On 6.6.2019 6.42, Aaron Ma wrote: > BugLink: https://bugs.launchpad.net/bugs/1831828 > > [Impact] > RTL8822BE/RTL8822CE need new driver rtw88 supports. applied to osp1 oem-next after some minor adjustments, thanks
Acked-by: Hui Wang <hui.wang@canonical.com> On 2019/6/6 上午11:42, Aaron Ma wrote: > BugLink: https://bugs.launchpad.net/bugs/1831828 > > [Impact] > RTL8822BE/RTL8822CE need new driver rtw88 supports. > > [Fix] > This is a new mac80211 driver for Realtek 802.11ac wireless network > chips. > And it needs new firmware too. > > [Test] > Verified on hardware. Tests result are good. > > [Regression Potential] > Low, it introducs the new driver to enable new wifi chips supports. > 2 more upstream commits are introduced: > e7d4a95da bitfield: fix *_encode_bits() > 00b0c9b82 Add primitives for manipulating bitfields both in host- and > fixed-endian. > These 2 commits add "le32p_replace_bits" functions that rtw88 uses. > They introduced new operator of bitfields since 4.16 kernel, don't > change exsit funtions. > C/D/OEM-OSP-1 don't need these 2 patches. > > These firmwares are already in disco. > > Aaron Ma (1): > UBUNTU: [Config] Add realtek wifi RTW88 support > > Al Viro (1): > Add primitives for manipulating bitfields both in host- and > fixed-endian. > > Colin Ian King (1): > rtw88: fix shift of more than 32 bits of a integer > > Gustavo A. R. Silva (1): > rtw88: phy: mark expected switch fall-throughs > > Johannes Berg (1): > bitfield: fix *_encode_bits() > > Nathan Chancellor (1): > rtw88: Make RA_MASK macros ULL > > Yan-Hsuan Chuang (1): > rtw88: new Realtek 802.11ac driver > > MAINTAINERS | 6 + > debian.master/config/annotations | 9 + > debian.master/config/config.common.ubuntu | 7 + > drivers/net/wireless/realtek/Kconfig | 1 + > drivers/net/wireless/realtek/Makefile | 1 + > drivers/net/wireless/realtek/rtw88/Kconfig | 54 + > drivers/net/wireless/realtek/rtw88/Makefile | 20 + > drivers/net/wireless/realtek/rtw88/debug.c | 637 + > drivers/net/wireless/realtek/rtw88/debug.h | 52 + > drivers/net/wireless/realtek/rtw88/efuse.c | 160 + > drivers/net/wireless/realtek/rtw88/efuse.h | 26 + > drivers/net/wireless/realtek/rtw88/fw.c | 633 + > drivers/net/wireless/realtek/rtw88/fw.h | 222 + > drivers/net/wireless/realtek/rtw88/hci.h | 211 + > drivers/net/wireless/realtek/rtw88/mac.c | 965 + > drivers/net/wireless/realtek/rtw88/mac.h | 35 + > drivers/net/wireless/realtek/rtw88/mac80211.c | 481 + > drivers/net/wireless/realtek/rtw88/main.c | 1211 + > drivers/net/wireless/realtek/rtw88/main.h | 1104 + > drivers/net/wireless/realtek/rtw88/pci.c | 1211 + > drivers/net/wireless/realtek/rtw88/pci.h | 237 + > drivers/net/wireless/realtek/rtw88/phy.c | 1727 ++ > drivers/net/wireless/realtek/rtw88/phy.h | 134 + > drivers/net/wireless/realtek/rtw88/ps.c | 166 + > drivers/net/wireless/realtek/rtw88/ps.h | 20 + > drivers/net/wireless/realtek/rtw88/reg.h | 421 + > drivers/net/wireless/realtek/rtw88/regd.c | 391 + > drivers/net/wireless/realtek/rtw88/regd.h | 67 + > drivers/net/wireless/realtek/rtw88/rtw8822b.c | 1594 ++ > drivers/net/wireless/realtek/rtw88/rtw8822b.h | 170 + > .../wireless/realtek/rtw88/rtw8822b_table.c | 20783 ++++++++++++++++ > .../wireless/realtek/rtw88/rtw8822b_table.h | 18 + > drivers/net/wireless/realtek/rtw88/rtw8822c.c | 1890 ++ > drivers/net/wireless/realtek/rtw88/rtw8822c.h | 186 + > .../wireless/realtek/rtw88/rtw8822c_table.c | 11753 +++++++++ > .../wireless/realtek/rtw88/rtw8822c_table.h | 17 + > drivers/net/wireless/realtek/rtw88/rx.c | 151 + > drivers/net/wireless/realtek/rtw88/rx.h | 41 + > drivers/net/wireless/realtek/rtw88/sec.c | 120 + > drivers/net/wireless/realtek/rtw88/sec.h | 39 + > drivers/net/wireless/realtek/rtw88/tx.c | 367 + > drivers/net/wireless/realtek/rtw88/tx.h | 89 + > drivers/net/wireless/realtek/rtw88/util.c | 72 + > drivers/net/wireless/realtek/rtw88/util.h | 34 + > include/linux/bitfield.h | 46 + > 45 files changed, 47579 insertions(+) > create mode 100644 drivers/net/wireless/realtek/rtw88/Kconfig > create mode 100644 drivers/net/wireless/realtek/rtw88/Makefile > create mode 100644 drivers/net/wireless/realtek/rtw88/debug.c > create mode 100644 drivers/net/wireless/realtek/rtw88/debug.h > create mode 100644 drivers/net/wireless/realtek/rtw88/efuse.c > create mode 100644 drivers/net/wireless/realtek/rtw88/efuse.h > create mode 100644 drivers/net/wireless/realtek/rtw88/fw.c > create mode 100644 drivers/net/wireless/realtek/rtw88/fw.h > create mode 100644 drivers/net/wireless/realtek/rtw88/hci.h > create mode 100644 drivers/net/wireless/realtek/rtw88/mac.c > create mode 100644 drivers/net/wireless/realtek/rtw88/mac.h > create mode 100644 drivers/net/wireless/realtek/rtw88/mac80211.c > create mode 100644 drivers/net/wireless/realtek/rtw88/main.c > create mode 100644 drivers/net/wireless/realtek/rtw88/main.h > create mode 100644 drivers/net/wireless/realtek/rtw88/pci.c > create mode 100644 drivers/net/wireless/realtek/rtw88/pci.h > create mode 100644 drivers/net/wireless/realtek/rtw88/phy.c > create mode 100644 drivers/net/wireless/realtek/rtw88/phy.h > create mode 100644 drivers/net/wireless/realtek/rtw88/ps.c > create mode 100644 drivers/net/wireless/realtek/rtw88/ps.h > create mode 100644 drivers/net/wireless/realtek/rtw88/reg.h > create mode 100644 drivers/net/wireless/realtek/rtw88/regd.c > create mode 100644 drivers/net/wireless/realtek/rtw88/regd.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b_table.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b_table.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c_table.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c_table.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rx.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rx.h > create mode 100644 drivers/net/wireless/realtek/rtw88/sec.c > create mode 100644 drivers/net/wireless/realtek/rtw88/sec.h > create mode 100644 drivers/net/wireless/realtek/rtw88/tx.c > create mode 100644 drivers/net/wireless/realtek/rtw88/tx.h > create mode 100644 drivers/net/wireless/realtek/rtw88/util.c > create mode 100644 drivers/net/wireless/realtek/rtw88/util.h >
On 06.06.19 05:42, Aaron Ma wrote: > BugLink: https://bugs.launchpad.net/bugs/1831828 > > [Impact] > RTL8822BE/RTL8822CE need new driver rtw88 supports. > > [Fix] > This is a new mac80211 driver for Realtek 802.11ac wireless network > chips. > And it needs new firmware too. > > [Test] > Verified on hardware. Tests result are good. > > [Regression Potential] > Low, it introducs the new driver to enable new wifi chips supports. > 2 more upstream commits are introduced: > e7d4a95da bitfield: fix *_encode_bits() > 00b0c9b82 Add primitives for manipulating bitfields both in host- and > fixed-endian. > These 2 commits add "le32p_replace_bits" functions that rtw88 uses. > They introduced new operator of bitfields since 4.16 kernel, don't > change exsit funtions. > C/D/OEM-OSP-1 don't need these 2 patches. > > These firmwares are already in disco. > > Aaron Ma (1): > UBUNTU: [Config] Add realtek wifi RTW88 support > > Al Viro (1): > Add primitives for manipulating bitfields both in host- and > fixed-endian. > > Colin Ian King (1): > rtw88: fix shift of more than 32 bits of a integer > > Gustavo A. R. Silva (1): > rtw88: phy: mark expected switch fall-throughs > > Johannes Berg (1): > bitfield: fix *_encode_bits() > > Nathan Chancellor (1): > rtw88: Make RA_MASK macros ULL > > Yan-Hsuan Chuang (1): > rtw88: new Realtek 802.11ac driver > > MAINTAINERS | 6 + > debian.master/config/annotations | 9 + > debian.master/config/config.common.ubuntu | 7 + > drivers/net/wireless/realtek/Kconfig | 1 + > drivers/net/wireless/realtek/Makefile | 1 + > drivers/net/wireless/realtek/rtw88/Kconfig | 54 + > drivers/net/wireless/realtek/rtw88/Makefile | 20 + > drivers/net/wireless/realtek/rtw88/debug.c | 637 + > drivers/net/wireless/realtek/rtw88/debug.h | 52 + > drivers/net/wireless/realtek/rtw88/efuse.c | 160 + > drivers/net/wireless/realtek/rtw88/efuse.h | 26 + > drivers/net/wireless/realtek/rtw88/fw.c | 633 + > drivers/net/wireless/realtek/rtw88/fw.h | 222 + > drivers/net/wireless/realtek/rtw88/hci.h | 211 + > drivers/net/wireless/realtek/rtw88/mac.c | 965 + > drivers/net/wireless/realtek/rtw88/mac.h | 35 + > drivers/net/wireless/realtek/rtw88/mac80211.c | 481 + > drivers/net/wireless/realtek/rtw88/main.c | 1211 + > drivers/net/wireless/realtek/rtw88/main.h | 1104 + > drivers/net/wireless/realtek/rtw88/pci.c | 1211 + > drivers/net/wireless/realtek/rtw88/pci.h | 237 + > drivers/net/wireless/realtek/rtw88/phy.c | 1727 ++ > drivers/net/wireless/realtek/rtw88/phy.h | 134 + > drivers/net/wireless/realtek/rtw88/ps.c | 166 + > drivers/net/wireless/realtek/rtw88/ps.h | 20 + > drivers/net/wireless/realtek/rtw88/reg.h | 421 + > drivers/net/wireless/realtek/rtw88/regd.c | 391 + > drivers/net/wireless/realtek/rtw88/regd.h | 67 + > drivers/net/wireless/realtek/rtw88/rtw8822b.c | 1594 ++ > drivers/net/wireless/realtek/rtw88/rtw8822b.h | 170 + > .../wireless/realtek/rtw88/rtw8822b_table.c | 20783 ++++++++++++++++ > .../wireless/realtek/rtw88/rtw8822b_table.h | 18 + > drivers/net/wireless/realtek/rtw88/rtw8822c.c | 1890 ++ > drivers/net/wireless/realtek/rtw88/rtw8822c.h | 186 + > .../wireless/realtek/rtw88/rtw8822c_table.c | 11753 +++++++++ > .../wireless/realtek/rtw88/rtw8822c_table.h | 17 + > drivers/net/wireless/realtek/rtw88/rx.c | 151 + > drivers/net/wireless/realtek/rtw88/rx.h | 41 + > drivers/net/wireless/realtek/rtw88/sec.c | 120 + > drivers/net/wireless/realtek/rtw88/sec.h | 39 + > drivers/net/wireless/realtek/rtw88/tx.c | 367 + > drivers/net/wireless/realtek/rtw88/tx.h | 89 + > drivers/net/wireless/realtek/rtw88/util.c | 72 + > drivers/net/wireless/realtek/rtw88/util.h | 34 + > include/linux/bitfield.h | 46 + > 45 files changed, 47579 insertions(+) > create mode 100644 drivers/net/wireless/realtek/rtw88/Kconfig > create mode 100644 drivers/net/wireless/realtek/rtw88/Makefile > create mode 100644 drivers/net/wireless/realtek/rtw88/debug.c > create mode 100644 drivers/net/wireless/realtek/rtw88/debug.h > create mode 100644 drivers/net/wireless/realtek/rtw88/efuse.c > create mode 100644 drivers/net/wireless/realtek/rtw88/efuse.h > create mode 100644 drivers/net/wireless/realtek/rtw88/fw.c > create mode 100644 drivers/net/wireless/realtek/rtw88/fw.h > create mode 100644 drivers/net/wireless/realtek/rtw88/hci.h > create mode 100644 drivers/net/wireless/realtek/rtw88/mac.c > create mode 100644 drivers/net/wireless/realtek/rtw88/mac.h > create mode 100644 drivers/net/wireless/realtek/rtw88/mac80211.c > create mode 100644 drivers/net/wireless/realtek/rtw88/main.c > create mode 100644 drivers/net/wireless/realtek/rtw88/main.h > create mode 100644 drivers/net/wireless/realtek/rtw88/pci.c > create mode 100644 drivers/net/wireless/realtek/rtw88/pci.h > create mode 100644 drivers/net/wireless/realtek/rtw88/phy.c > create mode 100644 drivers/net/wireless/realtek/rtw88/phy.h > create mode 100644 drivers/net/wireless/realtek/rtw88/ps.c > create mode 100644 drivers/net/wireless/realtek/rtw88/ps.h > create mode 100644 drivers/net/wireless/realtek/rtw88/reg.h > create mode 100644 drivers/net/wireless/realtek/rtw88/regd.c > create mode 100644 drivers/net/wireless/realtek/rtw88/regd.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b_table.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b_table.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c_table.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c_table.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rx.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rx.h > create mode 100644 drivers/net/wireless/realtek/rtw88/sec.c > create mode 100644 drivers/net/wireless/realtek/rtw88/sec.h > create mode 100644 drivers/net/wireless/realtek/rtw88/tx.c > create mode 100644 drivers/net/wireless/realtek/rtw88/tx.h > create mode 100644 drivers/net/wireless/realtek/rtw88/util.c > create mode 100644 drivers/net/wireless/realtek/rtw88/util.h > Yes, this is "only" adding a new driver. But it also might add new security risks or unexpected side effects from interaction with the other drivers (or the mac80211 layer). So IMO this is nothing I would like to see as a SRU into the Bionic 4.15 kernel. SRU should be as small as possible and address real bugs, not add new features and nearly 50000 lines of new code. Maybe I have to in the end but for now I am only ACKing for Disco. That way it might make it into the HWE option for the 18.04.3 images. Acked-by: Stefan Bader <stefan.bader@canonical.com>
Cosmic reaches EOL soon, it does not make sense to pull in that much change before that. -Stefan
On 6/6/19 5:42 AM, Aaron Ma wrote: > BugLink: https://bugs.launchpad.net/bugs/1831828 > > [Impact] > RTL8822BE/RTL8822CE need new driver rtw88 supports. > > [Fix] > This is a new mac80211 driver for Realtek 802.11ac wireless network > chips. > And it needs new firmware too. > > [Test] > Verified on hardware. Tests result are good. > > [Regression Potential] > Low, it introducs the new driver to enable new wifi chips supports. > 2 more upstream commits are introduced: > e7d4a95da bitfield: fix *_encode_bits() > 00b0c9b82 Add primitives for manipulating bitfields both in host- and > fixed-endian. > These 2 commits add "le32p_replace_bits" functions that rtw88 uses. > They introduced new operator of bitfields since 4.16 kernel, don't > change exsit funtions. > C/D/OEM-OSP-1 don't need these 2 patches. > > These firmwares are already in disco. Applied *only* to disco/master-next branch, patches from 3/7 to 7/7: rtw88: new Realtek 802.11ac driver rtw88: fix shift of more than 32 bits of a integer rtw88: phy: mark expected switch fall-throughs rtw88: Make RA_MASK macros ULL UBUNTU: [Config] Add realtek wifi RTW88 support Fixing merging conflicts with patches 3/7 and 7/7. Thanks, Kleber > > Aaron Ma (1): > UBUNTU: [Config] Add realtek wifi RTW88 support > > Al Viro (1): > Add primitives for manipulating bitfields both in host- and > fixed-endian. > > Colin Ian King (1): > rtw88: fix shift of more than 32 bits of a integer > > Gustavo A. R. Silva (1): > rtw88: phy: mark expected switch fall-throughs > > Johannes Berg (1): > bitfield: fix *_encode_bits() > > Nathan Chancellor (1): > rtw88: Make RA_MASK macros ULL > > Yan-Hsuan Chuang (1): > rtw88: new Realtek 802.11ac driver > > MAINTAINERS | 6 + > debian.master/config/annotations | 9 + > debian.master/config/config.common.ubuntu | 7 + > drivers/net/wireless/realtek/Kconfig | 1 + > drivers/net/wireless/realtek/Makefile | 1 + > drivers/net/wireless/realtek/rtw88/Kconfig | 54 + > drivers/net/wireless/realtek/rtw88/Makefile | 20 + > drivers/net/wireless/realtek/rtw88/debug.c | 637 + > drivers/net/wireless/realtek/rtw88/debug.h | 52 + > drivers/net/wireless/realtek/rtw88/efuse.c | 160 + > drivers/net/wireless/realtek/rtw88/efuse.h | 26 + > drivers/net/wireless/realtek/rtw88/fw.c | 633 + > drivers/net/wireless/realtek/rtw88/fw.h | 222 + > drivers/net/wireless/realtek/rtw88/hci.h | 211 + > drivers/net/wireless/realtek/rtw88/mac.c | 965 + > drivers/net/wireless/realtek/rtw88/mac.h | 35 + > drivers/net/wireless/realtek/rtw88/mac80211.c | 481 + > drivers/net/wireless/realtek/rtw88/main.c | 1211 + > drivers/net/wireless/realtek/rtw88/main.h | 1104 + > drivers/net/wireless/realtek/rtw88/pci.c | 1211 + > drivers/net/wireless/realtek/rtw88/pci.h | 237 + > drivers/net/wireless/realtek/rtw88/phy.c | 1727 ++ > drivers/net/wireless/realtek/rtw88/phy.h | 134 + > drivers/net/wireless/realtek/rtw88/ps.c | 166 + > drivers/net/wireless/realtek/rtw88/ps.h | 20 + > drivers/net/wireless/realtek/rtw88/reg.h | 421 + > drivers/net/wireless/realtek/rtw88/regd.c | 391 + > drivers/net/wireless/realtek/rtw88/regd.h | 67 + > drivers/net/wireless/realtek/rtw88/rtw8822b.c | 1594 ++ > drivers/net/wireless/realtek/rtw88/rtw8822b.h | 170 + > .../wireless/realtek/rtw88/rtw8822b_table.c | 20783 ++++++++++++++++ > .../wireless/realtek/rtw88/rtw8822b_table.h | 18 + > drivers/net/wireless/realtek/rtw88/rtw8822c.c | 1890 ++ > drivers/net/wireless/realtek/rtw88/rtw8822c.h | 186 + > .../wireless/realtek/rtw88/rtw8822c_table.c | 11753 +++++++++ > .../wireless/realtek/rtw88/rtw8822c_table.h | 17 + > drivers/net/wireless/realtek/rtw88/rx.c | 151 + > drivers/net/wireless/realtek/rtw88/rx.h | 41 + > drivers/net/wireless/realtek/rtw88/sec.c | 120 + > drivers/net/wireless/realtek/rtw88/sec.h | 39 + > drivers/net/wireless/realtek/rtw88/tx.c | 367 + > drivers/net/wireless/realtek/rtw88/tx.h | 89 + > drivers/net/wireless/realtek/rtw88/util.c | 72 + > drivers/net/wireless/realtek/rtw88/util.h | 34 + > include/linux/bitfield.h | 46 + > 45 files changed, 47579 insertions(+) > create mode 100644 drivers/net/wireless/realtek/rtw88/Kconfig > create mode 100644 drivers/net/wireless/realtek/rtw88/Makefile > create mode 100644 drivers/net/wireless/realtek/rtw88/debug.c > create mode 100644 drivers/net/wireless/realtek/rtw88/debug.h > create mode 100644 drivers/net/wireless/realtek/rtw88/efuse.c > create mode 100644 drivers/net/wireless/realtek/rtw88/efuse.h > create mode 100644 drivers/net/wireless/realtek/rtw88/fw.c > create mode 100644 drivers/net/wireless/realtek/rtw88/fw.h > create mode 100644 drivers/net/wireless/realtek/rtw88/hci.h > create mode 100644 drivers/net/wireless/realtek/rtw88/mac.c > create mode 100644 drivers/net/wireless/realtek/rtw88/mac.h > create mode 100644 drivers/net/wireless/realtek/rtw88/mac80211.c > create mode 100644 drivers/net/wireless/realtek/rtw88/main.c > create mode 100644 drivers/net/wireless/realtek/rtw88/main.h > create mode 100644 drivers/net/wireless/realtek/rtw88/pci.c > create mode 100644 drivers/net/wireless/realtek/rtw88/pci.h > create mode 100644 drivers/net/wireless/realtek/rtw88/phy.c > create mode 100644 drivers/net/wireless/realtek/rtw88/phy.h > create mode 100644 drivers/net/wireless/realtek/rtw88/ps.c > create mode 100644 drivers/net/wireless/realtek/rtw88/ps.h > create mode 100644 drivers/net/wireless/realtek/rtw88/reg.h > create mode 100644 drivers/net/wireless/realtek/rtw88/regd.c > create mode 100644 drivers/net/wireless/realtek/rtw88/regd.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b_table.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822b_table.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c_table.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822c_table.h > create mode 100644 drivers/net/wireless/realtek/rtw88/rx.c > create mode 100644 drivers/net/wireless/realtek/rtw88/rx.h > create mode 100644 drivers/net/wireless/realtek/rtw88/sec.c > create mode 100644 drivers/net/wireless/realtek/rtw88/sec.h > create mode 100644 drivers/net/wireless/realtek/rtw88/tx.c > create mode 100644 drivers/net/wireless/realtek/rtw88/tx.h > create mode 100644 drivers/net/wireless/realtek/rtw88/util.c > create mode 100644 drivers/net/wireless/realtek/rtw88/util.h >