mbox series

[0/7,SRU,B/B-OEM/C/D/OEM-OSP1] Add RTL8822 wifi driver

Message ID 20190606034255.2192-1-aaron.ma@canonical.com
Headers show
Series Add RTL8822 wifi driver | expand

Message

Aaron Ma June 6, 2019, 3:42 a.m. UTC
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

Comments

AceLan Kao June 9, 2019, 4:10 a.m. UTC | #1
Applied on Ubuntu-oem-4.15.0-1040.45

Acked-By: AceLan Kao <acelan.kao@canonical.com>
Timo Aaltonen June 12, 2019, 10:15 a.m. UTC | #2
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
Hui Wang June 18, 2019, 7:11 a.m. UTC | #3
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
>
Stefan Bader July 1, 2019, 10:01 a.m. UTC | #4
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>
Stefan Bader July 1, 2019, 10:02 a.m. UTC | #5
Cosmic reaches EOL soon, it does not make sense to pull in that much change
before that.

-Stefan
Kleber Sacilotto de Souza July 1, 2019, 10:25 a.m. UTC | #6
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
>