mbox series

[v9,00/14] rtw88: mac80211 driver for Realtek 802.11ac wireless network chips

Message ID 1555653004-1795-1-git-send-email-yhchuang@realtek.com (mailing list archive)
Headers show
Series rtw88: mac80211 driver for Realtek 802.11ac wireless network chips | expand

Message

Tony Chuang April 19, 2019, 5:49 a.m. UTC
From: Yan-Hsuan Chuang <yhchuang@realtek.com>

This is a new mac80211 driver for Realtek 802.11ac wireless network chips.
rtw88 now supports RTL8822BE/RTL8822CE now, with basic station mode
functionalities. The firmware for both can be found at linux-firmware.

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
For RTL8822BE: rtw88/rtw8822b_fw.bin
For RTL8822CE: rtw88/rtw8822c_fw.bin

And for now, only PCI buses (RTL8xxxE) are supported. We will add support
for USB and SDIO in the future. The bus interface abstraction can be seen
in this driver such as hci.h. Most of the hardware setting are the same
except for some TRX path or probing setup should be separated.

Supported:

 * Basic STA/AP/ADHOC mode, and TDLS (STA is well tested)

Missing feature:

 * WOW/PNO
 * USB & SDIO bus (such as RTL8xxxU/RTL8xxxS)
 * BT coexistence (8822B/8822C are combo ICs)
 * Multiple interfaces (for now single STA is better supported)
 * Dynamic hardware calibrations (to improve/stabilize performance)

Potential problems:

 * static calibration spends too much time, and it is painful for
   driver to leave IDLE state. And slows down associate process.
   But reload function are under development, will be added soon!
 * TRX statictics misleading, as we are not reporting status correctly,
   or say, not reporting for "every" packet.


The next patch set should have BT coexistence code since RTL8822B/C are
combo ICs, and the driver for BT can be found after Linux Kernel v4.20.
So it is better to add it first to make WiFi + BT work concurrently.

Although now rtw88 is simple but we are developing more features for it.
Even we want to add support for more chips such as RTL8821C/RTL8814B.

Finally, rtw88 has many authors, listed alphabetically:

Ping-Ke Shih <pkshih@realtek.com>
Tzu-En Huang <tehuang@realtek.com>
Yan-Hsuan Chuang <yhchuang@realtek.com>


v2

 - add comment for watch dog


v3

 - change tree location to wireless-next


v4

 - remove useless "T:" and "W:" lines in MAINTAINERS file, as we don't have
   our own tree and wiki page now
 - rename patch 13 to "add MAINTAINERS entry"
 - use skb_pull to remove tx descriptors before reporting tx status to
   mac80211 stack, otherwise mac80211 tx status will always fail to match
   addr1/addr2 and will finally trigger to disconnect
 - return back to operating channel when we leave IDLE state, as mac80211
   stack expected. If we don't, mac80211 will assume we are already at
   channel 1 and start to scan. And we will never be able to connect to
   APs that are in channel 1. (which is most AP's default channel)
 - wait for async firmware load successfully, otherwise some slower platform
   might start to download firmware before loaded. And system crashes with a
   null pointer accessed.
 - fix typo for mac.h __RTW_MAc_H__ -> __RTW_MAC_H__


v5

 - add rtw_debug_mask for rtw_dbg to control debug messages
 - use dev_printk for rtw_dbg to not depend on CONFIG_DYNAMIC_DEBUG
 - remove useless rtw_pci_parse_configuration
 - keep struct and MODULE_* declaration close
 - use macro instead of ugly struct layout with #ifdef __LITTLE_ENDIAN
 - simplify efuse logical map parsing function
 - remove unused member and whole map dump for efuse
 - reduce some usage of magic number
 - enable DMA sync to avoid pci bus timeout
 - adjust download firmware sequence to avoid DMA error flag honored
 - change download firmware prototype for further use, sometimes we may
   want to download another special purposed firmware
 - move out rtw_send_rsvd_page_h2c, remove the static


v6

 - merge two patchsets
 - removal of staging/rtlwifi as it is conflicting with rtw88


v7

 - resend for missing util.[ch] in v6


v8

 - add prefix "rtw_" to *_rates and corresponding *_sizes, otherwise
   the extern will confuse the linker there are multiple definitions
   with brcmsmac driver


v9

 - modify license to Dual BSD/GPL
 - remove "default y" in Kconfig



Yan-Hsuan Chuang (14):
  rtw88: main files
  rtw88: core files
  rtw88: hci files
  rtw88: trx files
  rtw88: mac files
  rtw88: fw and efuse files
  rtw88: phy files
  rtw88: debug files
  rtw88: chip files
  rtw88: 8822B init table
  rtw88: 8822C init table
  rtw88: Kconfig & Makefile
  rtw88: add MAINTAINERS entry
  staging: rtlwifi: remove staging rtlwifi driver

 MAINTAINERS                                        |     6 +
 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           |  1724 ++
 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 +
 .../net/wireless/realtek/rtw88/rtw8822b_table.c    | 20783 +++++++++++++++++++
 .../net/wireless/realtek/rtw88/rtw8822b_table.h    |    18 +
 drivers/net/wireless/realtek/rtw88/rtw8822c.c      |  1890 ++
 drivers/net/wireless/realtek/rtw88/rtw8822c.h      |   186 +
 .../net/wireless/realtek/rtw88/rtw8822c_table.c    | 11753 +++++++++++
 .../net/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 +
 drivers/staging/Kconfig                            |     2 -
 drivers/staging/Makefile                           |     1 -
 drivers/staging/rtlwifi/Kconfig                    |    12 -
 drivers/staging/rtlwifi/Makefile                   |    70 -
 drivers/staging/rtlwifi/TODO                       |    11 -
 drivers/staging/rtlwifi/base.c                     |  2815 ---
 drivers/staging/rtlwifi/base.h                     |   175 -
 drivers/staging/rtlwifi/btcoexist/Makefile         |     8 -
 drivers/staging/rtlwifi/btcoexist/halbt_precomp.h  |    74 -
 .../staging/rtlwifi/btcoexist/halbtc8822b1ant.c    |  5233 -----
 .../staging/rtlwifi/btcoexist/halbtc8822b1ant.h    |   433 -
 .../staging/rtlwifi/btcoexist/halbtc8822b2ant.c    |  5210 -----
 .../staging/rtlwifi/btcoexist/halbtc8822b2ant.h    |   487 -
 .../rtlwifi/btcoexist/halbtc8822bwifionly.c        |    54 -
 .../rtlwifi/btcoexist/halbtc8822bwifionly.h        |    24 -
 drivers/staging/rtlwifi/btcoexist/halbtcoutsrc.c   |  1837 --
 drivers/staging/rtlwifi/btcoexist/halbtcoutsrc.h   |   791 -
 drivers/staging/rtlwifi/btcoexist/rtl_btc.c        |   517 -
 drivers/staging/rtlwifi/btcoexist/rtl_btc.h        |    64 -
 drivers/staging/rtlwifi/cam.c                      |   315 -
 drivers/staging/rtlwifi/cam.h                      |    39 -
 drivers/staging/rtlwifi/core.c                     |  1996 --
 drivers/staging/rtlwifi/core.h                     |    71 -
 drivers/staging/rtlwifi/debug.c                    |   624 -
 drivers/staging/rtlwifi/debug.h                    |   223 -
 drivers/staging/rtlwifi/efuse.c                    |  1331 --
 drivers/staging/rtlwifi/efuse.h                    |   109 -
 drivers/staging/rtlwifi/halmac/halmac_2_platform.h |    41 -
 .../halmac_88xx/halmac_8822b/halmac_8822b_cfg.h    |   121 -
 .../halmac_88xx/halmac_8822b/halmac_8822b_phy.c    |    95 -
 .../halmac_8822b/halmac_8822b_pwr_seq.c            |   552 -
 .../halmac_8822b/halmac_8822b_pwr_seq.h            |    29 -
 .../halmac_88xx/halmac_8822b/halmac_api_8822b.c    |   332 -
 .../halmac_88xx/halmac_8822b/halmac_api_8822b.h    |    33 -
 .../halmac_8822b/halmac_api_8822b_pcie.c           |   312 -
 .../halmac_8822b/halmac_api_8822b_pcie.h           |    42 -
 .../halmac_8822b/halmac_api_8822b_sdio.c           |   173 -
 .../halmac_8822b/halmac_api_8822b_sdio.h           |    31 -
 .../halmac_8822b/halmac_api_8822b_usb.c            |   174 -
 .../halmac_8822b/halmac_api_8822b_usb.h            |    34 -
 .../halmac_88xx/halmac_8822b/halmac_func_8822b.c   |   403 -
 .../halmac_88xx/halmac_8822b/halmac_func_8822b.h   |    27 -
 .../rtlwifi/halmac/halmac_88xx/halmac_88xx_cfg.h   |   160 -
 .../rtlwifi/halmac/halmac_88xx/halmac_api_88xx.c   |  5970 ------
 .../rtlwifi/halmac/halmac_88xx/halmac_api_88xx.h   |   385 -
 .../halmac/halmac_88xx/halmac_api_88xx_pcie.c      |   318 -
 .../halmac/halmac_88xx/halmac_api_88xx_pcie.h      |    60 -
 .../halmac/halmac_88xx/halmac_api_88xx_sdio.c      |   963 -
 .../halmac/halmac_88xx/halmac_api_88xx_sdio.h      |    73 -
 .../halmac/halmac_88xx/halmac_api_88xx_usb.c       |   543 -
 .../halmac/halmac_88xx/halmac_api_88xx_usb.h       |    62 -
 .../rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c  |  4462 ----
 .../rtlwifi/halmac/halmac_88xx/halmac_func_88xx.h  |   310 -
 drivers/staging/rtlwifi/halmac/halmac_api.c        |   415 -
 drivers/staging/rtlwifi/halmac/halmac_api.h        |    70 -
 drivers/staging/rtlwifi/halmac/halmac_bit2.h       | 13396 ------------
 drivers/staging/rtlwifi/halmac/halmac_bit_8822b.h  | 12092 -----------
 drivers/staging/rtlwifi/halmac/halmac_fw_info.h    |   111 -
 .../rtlwifi/halmac/halmac_fw_offload_c2h_nic.h     |   173 -
 .../rtlwifi/halmac/halmac_fw_offload_h2c_nic.h     |   504 -
 .../rtlwifi/halmac/halmac_h2c_extra_info_nic.h     |   104 -
 .../staging/rtlwifi/halmac/halmac_intf_phy_cmd.h   |    43 -
 .../rtlwifi/halmac/halmac_original_c2h_nic.h       |   392 -
 .../rtlwifi/halmac/halmac_original_h2c_nic.h       |  1000 -
 .../staging/rtlwifi/halmac/halmac_pwr_seq_cmd.h    |   105 -
 drivers/staging/rtlwifi/halmac/halmac_reg2.h       |  1121 -
 drivers/staging/rtlwifi/halmac/halmac_reg_8822b.h  |   717 -
 drivers/staging/rtlwifi/halmac/halmac_rx_bd_chip.h |    37 -
 drivers/staging/rtlwifi/halmac/halmac_rx_bd_nic.h  |    37 -
 .../staging/rtlwifi/halmac/halmac_rx_desc_chip.h   |   107 -
 .../staging/rtlwifi/halmac/halmac_rx_desc_nic.h    |   122 -
 drivers/staging/rtlwifi/halmac/halmac_sdio_reg.h   |    51 -
 drivers/staging/rtlwifi/halmac/halmac_tx_bd_chip.h |   107 -
 drivers/staging/rtlwifi/halmac/halmac_tx_bd_nic.h  |   112 -
 .../staging/rtlwifi/halmac/halmac_tx_desc_chip.h   |   433 -
 .../staging/rtlwifi/halmac/halmac_tx_desc_nic.h    |   495 -
 drivers/staging/rtlwifi/halmac/halmac_type.h       |  1923 --
 drivers/staging/rtlwifi/halmac/halmac_usb_reg.h    |    17 -
 drivers/staging/rtlwifi/halmac/rtl_halmac.c        |  1373 --
 drivers/staging/rtlwifi/halmac/rtl_halmac.h        |    83 -
 drivers/staging/rtlwifi/pci.c                      |  2496 ---
 drivers/staging/rtlwifi/pci.h                      |   318 -
 drivers/staging/rtlwifi/phydm/halphyrf_ce.c        |   954 -
 drivers/staging/rtlwifi/phydm/halphyrf_ce.h        |    74 -
 drivers/staging/rtlwifi/phydm/mp_precomp.h         |    13 -
 drivers/staging/rtlwifi/phydm/phydm.c              |  1975 --
 drivers/staging/rtlwifi/phydm/phydm.h              |   935 -
 drivers/staging/rtlwifi/phydm/phydm_acs.c          |   189 -
 drivers/staging/rtlwifi/phydm/phydm_acs.h          |    46 -
 drivers/staging/rtlwifi/phydm/phydm_adaptivity.c   |   930 -
 drivers/staging/rtlwifi/phydm/phydm_adaptivity.h   |   108 -
 drivers/staging/rtlwifi/phydm/phydm_adc_sampling.c |   616 -
 drivers/staging/rtlwifi/phydm/phydm_adc_sampling.h |    85 -
 drivers/staging/rtlwifi/phydm/phydm_antdiv.c       |    72 -
 drivers/staging/rtlwifi/phydm/phydm_antdiv.h       |   290 -
 drivers/staging/rtlwifi/phydm/phydm_beamforming.h  |    37 -
 drivers/staging/rtlwifi/phydm/phydm_ccx.c          |   447 -
 drivers/staging/rtlwifi/phydm/phydm_ccx.h          |    72 -
 drivers/staging/rtlwifi/phydm/phydm_cfotracking.c  |   332 -
 drivers/staging/rtlwifi/phydm/phydm_cfotracking.h  |    49 -
 drivers/staging/rtlwifi/phydm/phydm_debug.c        |  2888 ---
 drivers/staging/rtlwifi/phydm/phydm_debug.h        |   164 -
 drivers/staging/rtlwifi/phydm/phydm_dfs.h          |    48 -
 drivers/staging/rtlwifi/phydm/phydm_dig.c          |  1521 --
 drivers/staging/rtlwifi/phydm/phydm_dig.h          |   230 -
 .../staging/rtlwifi/phydm/phydm_dynamic_rx_path.h  |    26 -
 .../rtlwifi/phydm/phydm_dynamicbbpowersaving.c     |   118 -
 .../rtlwifi/phydm/phydm_dynamicbbpowersaving.h     |    39 -
 .../staging/rtlwifi/phydm/phydm_dynamictxpower.c   |    91 -
 .../staging/rtlwifi/phydm/phydm_dynamictxpower.h   |    53 -
 .../staging/rtlwifi/phydm/phydm_edcaturbocheck.c   |   128 -
 .../staging/rtlwifi/phydm/phydm_edcaturbocheck.h   |    33 -
 drivers/staging/rtlwifi/phydm/phydm_features.h     |    22 -
 drivers/staging/rtlwifi/phydm/phydm_hwconfig.c     |  1848 --
 drivers/staging/rtlwifi/phydm/phydm_hwconfig.h     |   487 -
 drivers/staging/rtlwifi/phydm/phydm_interface.c    |   307 -
 drivers/staging/rtlwifi/phydm/phydm_interface.h    |   183 -
 drivers/staging/rtlwifi/phydm/phydm_iqk.h          |    65 -
 drivers/staging/rtlwifi/phydm/phydm_kfree.c        |   217 -
 drivers/staging/rtlwifi/phydm/phydm_kfree.h        |    31 -
 drivers/staging/rtlwifi/phydm/phydm_noisemonitor.c |   319 -
 drivers/staging/rtlwifi/phydm/phydm_noisemonitor.h |    35 -
 .../staging/rtlwifi/phydm/phydm_powertracking_ce.c |   633 -
 .../staging/rtlwifi/phydm/phydm_powertracking_ce.h |   282 -
 drivers/staging/rtlwifi/phydm/phydm_pre_define.h   |   602 -
 drivers/staging/rtlwifi/phydm/phydm_precomp.h      |    74 -
 drivers/staging/rtlwifi/phydm/phydm_psd.c          |   406 -
 drivers/staging/rtlwifi/phydm/phydm_psd.h          |    56 -
 drivers/staging/rtlwifi/phydm/phydm_rainfo.c       |  1196 --
 drivers/staging/rtlwifi/phydm/phydm_rainfo.h       |   258 -
 drivers/staging/rtlwifi/phydm/phydm_reg.h          |   140 -
 .../staging/rtlwifi/phydm/phydm_regdefine11ac.h    |    83 -
 drivers/staging/rtlwifi/phydm/phydm_regdefine11n.h |   202 -
 drivers/staging/rtlwifi/phydm/phydm_types.h        |   119 -
 .../rtlwifi/phydm/rtl8822b/halhwimg8822b_bb.c      |  1956 --
 .../rtlwifi/phydm/rtl8822b/halhwimg8822b_bb.h      |    43 -
 .../rtlwifi/phydm/rtl8822b/halhwimg8822b_mac.c     |   211 -
 .../rtlwifi/phydm/rtl8822b/halhwimg8822b_mac.h     |    27 -
 .../rtlwifi/phydm/rtl8822b/halhwimg8822b_rf.c      |  4730 -----
 .../rtlwifi/phydm/rtl8822b/halhwimg8822b_rf.h      |   118 -
 .../rtlwifi/phydm/rtl8822b/halphyrf_8822b.c        |   340 -
 .../rtlwifi/phydm/rtl8822b/halphyrf_8822b.h        |    34 -
 .../rtlwifi/phydm/rtl8822b/phydm_hal_api8822b.c    |  1804 --
 .../rtlwifi/phydm/rtl8822b/phydm_hal_api8822b.h    |    73 -
 .../rtlwifi/phydm/rtl8822b/phydm_iqk_8822b.c       |  1399 --
 .../rtlwifi/phydm/rtl8822b/phydm_iqk_8822b.h       |    37 -
 .../rtlwifi/phydm/rtl8822b/phydm_regconfig8822b.c  |   157 -
 .../rtlwifi/phydm/rtl8822b/phydm_regconfig8822b.h  |    43 -
 .../rtlwifi/phydm/rtl8822b/phydm_rtl8822b.c        |   214 -
 .../rtlwifi/phydm/rtl8822b/phydm_rtl8822b.h        |    19 -
 .../rtlwifi/phydm/rtl8822b/version_rtl8822b.h      |    23 -
 drivers/staging/rtlwifi/phydm/rtl_phydm.c          |   863 -
 drivers/staging/rtlwifi/phydm/rtl_phydm.h          |    34 -
 drivers/staging/rtlwifi/phydm/txbf/halcomtxbf.h    |    56 -
 drivers/staging/rtlwifi/phydm/txbf/haltxbf8822b.h  |    28 -
 .../staging/rtlwifi/phydm/txbf/haltxbfinterface.h  |    27 -
 drivers/staging/rtlwifi/phydm/txbf/haltxbfjaguar.h |    25 -
 .../rtlwifi/phydm/txbf/phydm_hal_txbf_api.h        |    30 -
 drivers/staging/rtlwifi/ps.c                       |   996 -
 drivers/staging/rtlwifi/ps.h                       |    39 -
 drivers/staging/rtlwifi/pwrseqcmd.h                |    83 -
 drivers/staging/rtlwifi/rc.c                       |   309 -
 drivers/staging/rtlwifi/rc.h                       |    38 -
 drivers/staging/rtlwifi/regd.c                     |   458 -
 drivers/staging/rtlwifi/regd.h                     |    52 -
 drivers/staging/rtlwifi/rtl8822be/Makefile         |     7 -
 drivers/staging/rtlwifi/rtl8822be/def.h            |    71 -
 drivers/staging/rtlwifi/rtl8822be/fw.c             |   960 -
 drivers/staging/rtlwifi/rtl8822be/fw.h             |   187 -
 drivers/staging/rtlwifi/rtl8822be/hw.c             |  2430 ---
 drivers/staging/rtlwifi/rtl8822be/hw.h             |    55 -
 drivers/staging/rtlwifi/rtl8822be/led.c            |   116 -
 drivers/staging/rtlwifi/rtl8822be/led.h            |    23 -
 drivers/staging/rtlwifi/rtl8822be/phy.c            |  2223 --
 drivers/staging/rtlwifi/rtl8822be/phy.h            |   134 -
 drivers/staging/rtlwifi/rtl8822be/reg.h            |  1642 --
 drivers/staging/rtlwifi/rtl8822be/sw.c             |   470 -
 drivers/staging/rtlwifi/rtl8822be/sw.h             |    21 -
 drivers/staging/rtlwifi/rtl8822be/trx.c            |  1004 -
 drivers/staging/rtlwifi/rtl8822be/trx.h            |   154 -
 drivers/staging/rtlwifi/stats.c                    |   249 -
 drivers/staging/rtlwifi/stats.h                    |    31 -
 drivers/staging/rtlwifi/wifi.h                     |  3362 ---
 225 files changed, 47514 insertions(+), 123718 deletions(-)
 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
 delete mode 100644 drivers/staging/rtlwifi/Kconfig
 delete mode 100644 drivers/staging/rtlwifi/Makefile
 delete mode 100644 drivers/staging/rtlwifi/TODO
 delete mode 100644 drivers/staging/rtlwifi/base.c
 delete mode 100644 drivers/staging/rtlwifi/base.h
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/Makefile
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/halbt_precomp.h
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/halbtc8822b1ant.c
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/halbtc8822b1ant.h
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/halbtc8822b2ant.c
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/halbtc8822b2ant.h
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/halbtc8822bwifionly.c
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/halbtc8822bwifionly.h
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/halbtcoutsrc.c
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/halbtcoutsrc.h
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/rtl_btc.c
 delete mode 100644 drivers/staging/rtlwifi/btcoexist/rtl_btc.h
 delete mode 100644 drivers/staging/rtlwifi/cam.c
 delete mode 100644 drivers/staging/rtlwifi/cam.h
 delete mode 100644 drivers/staging/rtlwifi/core.c
 delete mode 100644 drivers/staging/rtlwifi/core.h
 delete mode 100644 drivers/staging/rtlwifi/debug.c
 delete mode 100644 drivers/staging/rtlwifi/debug.h
 delete mode 100644 drivers/staging/rtlwifi/efuse.c
 delete mode 100644 drivers/staging/rtlwifi/efuse.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_2_platform.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_8822b_cfg.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_8822b_phy.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_8822b_pwr_seq.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_8822b_pwr_seq.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_api_8822b.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_api_8822b.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_api_8822b_pcie.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_api_8822b_pcie.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_api_8822b_sdio.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_api_8822b_sdio.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_api_8822b_usb.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_api_8822b_usb.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_func_8822b.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_8822b/halmac_func_8822b.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_88xx_cfg.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_api_88xx.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_api_88xx.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_api_88xx_pcie.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_api_88xx_pcie.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_api_88xx_sdio.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_api_88xx_sdio.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_api_88xx_usb.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_api_88xx_usb.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_api.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_api.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_bit2.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_bit_8822b.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_fw_info.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_fw_offload_c2h_nic.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_fw_offload_h2c_nic.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_h2c_extra_info_nic.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_intf_phy_cmd.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_original_c2h_nic.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_original_h2c_nic.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_pwr_seq_cmd.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_reg2.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_reg_8822b.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_rx_bd_chip.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_rx_bd_nic.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_rx_desc_chip.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_rx_desc_nic.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_sdio_reg.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_tx_bd_chip.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_tx_bd_nic.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_tx_desc_chip.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_tx_desc_nic.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_type.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/halmac_usb_reg.h
 delete mode 100644 drivers/staging/rtlwifi/halmac/rtl_halmac.c
 delete mode 100644 drivers/staging/rtlwifi/halmac/rtl_halmac.h
 delete mode 100644 drivers/staging/rtlwifi/pci.c
 delete mode 100644 drivers/staging/rtlwifi/pci.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/halphyrf_ce.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/halphyrf_ce.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/mp_precomp.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_acs.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_acs.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_adaptivity.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_adaptivity.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_adc_sampling.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_adc_sampling.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_antdiv.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_antdiv.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_beamforming.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_ccx.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_ccx.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_cfotracking.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_cfotracking.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_debug.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_debug.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_dfs.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_dig.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_dig.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_dynamic_rx_path.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_dynamicbbpowersaving.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_dynamicbbpowersaving.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_dynamictxpower.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_dynamictxpower.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_edcaturbocheck.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_edcaturbocheck.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_features.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_hwconfig.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_hwconfig.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_interface.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_interface.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_iqk.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_kfree.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_kfree.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_noisemonitor.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_noisemonitor.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_pre_define.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_precomp.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_psd.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_psd.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_rainfo.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_rainfo.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_reg.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_regdefine11ac.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_regdefine11n.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/phydm_types.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_bb.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_bb.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_mac.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_mac.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_rf.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_rf.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/halphyrf_8822b.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/halphyrf_8822b.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/phydm_hal_api8822b.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/phydm_hal_api8822b.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/phydm_iqk_8822b.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/phydm_iqk_8822b.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/phydm_regconfig8822b.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/phydm_regconfig8822b.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/phydm_rtl8822b.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/phydm_rtl8822b.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl8822b/version_rtl8822b.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl_phydm.c
 delete mode 100644 drivers/staging/rtlwifi/phydm/rtl_phydm.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/txbf/halcomtxbf.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/txbf/haltxbf8822b.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/txbf/haltxbfinterface.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/txbf/haltxbfjaguar.h
 delete mode 100644 drivers/staging/rtlwifi/phydm/txbf/phydm_hal_txbf_api.h
 delete mode 100644 drivers/staging/rtlwifi/ps.c
 delete mode 100644 drivers/staging/rtlwifi/ps.h
 delete mode 100644 drivers/staging/rtlwifi/pwrseqcmd.h
 delete mode 100644 drivers/staging/rtlwifi/rc.c
 delete mode 100644 drivers/staging/rtlwifi/rc.h
 delete mode 100644 drivers/staging/rtlwifi/regd.c
 delete mode 100644 drivers/staging/rtlwifi/regd.h
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/Makefile
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/def.h
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/fw.c
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/fw.h
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/hw.c
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/hw.h
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/led.c
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/led.h
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/phy.c
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/phy.h
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/reg.h
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/sw.c
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/sw.h
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/trx.c
 delete mode 100644 drivers/staging/rtlwifi/rtl8822be/trx.h
 delete mode 100644 drivers/staging/rtlwifi/stats.c
 delete mode 100644 drivers/staging/rtlwifi/stats.h
 delete mode 100644 drivers/staging/rtlwifi/wifi.h

Comments

Kalle Valo April 26, 2019, 12:09 p.m. UTC | #1
<yhchuang@realtek.com> writes:

> From: Yan-Hsuan Chuang <yhchuang@realtek.com>
>
> The rtlwifi driver is conflicting with Realtek's new 802.11ac chip
> series driver rtw88, remove it to avoid racing with the same ID.
>
> The rtw88 driver can be found at drivers/net/wireless/realtek/rtw88
>
> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>

BTW, this patch does not apply to wireless-drivers-next anymore. To
avoid any conflicts, would be it be safer that the driver is removed
directly from Greg's tree? After rtw88 is applied to
wireless-drivers-next, of course.

error: patch failed: drivers/staging/rtlwifi/Kconfig:1
error: drivers/staging/rtlwifi/Kconfig: patch does not apply
error: patch failed: drivers/staging/rtlwifi/efuse.c:1
error: drivers/staging/rtlwifi/efuse.c: patch does not apply
error: patch failed: drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c:1
error: drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c: patch does not apply
error: patch failed: drivers/staging/rtlwifi/pci.h:1
error: drivers/staging/rtlwifi/pci.h: patch does not apply
error: patch failed: drivers/staging/rtlwifi/phydm/phydm_rainfo.c:1
error: drivers/staging/rtlwifi/phydm/phydm_rainfo.c: patch does not apply
error: patch failed: drivers/staging/rtlwifi/phydm/rtl_phydm.c:1
error: drivers/staging/rtlwifi/phydm/rtl_phydm.c: patch does not apply
error: patch failed: drivers/staging/rtlwifi/rtl8822be/fw.c:1
error: drivers/staging/rtlwifi/rtl8822be/fw.c: patch does not apply
Patch failed at 0014 staging: rtlwifi: remove staging rtlwifi driver
Tony Chuang April 26, 2019, 12:19 p.m. UTC | #2
Hi Greg,

> -----Original Message-----
> From: Kalle Valo [mailto:kvalo@codeaurora.org]
> Sent: Friday, April 26, 2019 8:10 PM
> To: Tony Chuang
> Cc: linux-wireless@vger.kernel.org; johannes@sipsolutions.net; Pkshih; Andy
> Huang; Larry.Finger@lwfinger.net; sgruszka@redhat.com;
> briannorris@chromium.org; gregkh@linuxfoundation.org
> Subject: Re: [PATCH v9 14/14] staging: rtlwifi: remove staging rtlwifi driver
> 
> <yhchuang@realtek.com> writes:
> 
> > From: Yan-Hsuan Chuang <yhchuang@realtek.com>
> >
> > The rtlwifi driver is conflicting with Realtek's new 802.11ac chip
> > series driver rtw88, remove it to avoid racing with the same ID.
> >
> > The rtw88 driver can be found at drivers/net/wireless/realtek/rtw88
> >
> > Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
> 
> BTW, this patch does not apply to wireless-drivers-next anymore. To
> avoid any conflicts, would be it be safer that the driver is removed
> directly from Greg's tree? After rtw88 is applied to
> wireless-drivers-next, of course.
> 
> error: patch failed: drivers/staging/rtlwifi/Kconfig:1
> error: drivers/staging/rtlwifi/Kconfig: patch does not apply
> error: patch failed: drivers/staging/rtlwifi/efuse.c:1
> error: drivers/staging/rtlwifi/efuse.c: patch does not apply
> error: patch failed:
> drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c:1
> error: drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c: patch
> does not apply
> error: patch failed: drivers/staging/rtlwifi/pci.h:1
> error: drivers/staging/rtlwifi/pci.h: patch does not apply
> error: patch failed: drivers/staging/rtlwifi/phydm/phydm_rainfo.c:1
> error: drivers/staging/rtlwifi/phydm/phydm_rainfo.c: patch does not apply
> error: patch failed: drivers/staging/rtlwifi/phydm/rtl_phydm.c:1
> error: drivers/staging/rtlwifi/phydm/rtl_phydm.c: patch does not apply
> error: patch failed: drivers/staging/rtlwifi/rtl8822be/fw.c:1
> error: drivers/staging/rtlwifi/rtl8822be/fw.c: patch does not apply
> Patch failed at 0014 staging: rtlwifi: remove staging rtlwifi driver
> 

Hi Greg,

Can you help us to remove the staging driver rtlwifi in your tree ?
I think Kalle can issue a signal to you when he has done reviewing
the rtw88 driver and merge it into wireless-drivers-next.
Thanks

Yan-Hsuan
Greg Kroah-Hartman April 27, 2019, 6:36 a.m. UTC | #3
On Fri, Apr 26, 2019 at 12:19:14PM +0000, Tony Chuang wrote:
> Hi Greg,
> 
> > -----Original Message-----
> > From: Kalle Valo [mailto:kvalo@codeaurora.org]
> > Sent: Friday, April 26, 2019 8:10 PM
> > To: Tony Chuang
> > Cc: linux-wireless@vger.kernel.org; johannes@sipsolutions.net; Pkshih; Andy
> > Huang; Larry.Finger@lwfinger.net; sgruszka@redhat.com;
> > briannorris@chromium.org; gregkh@linuxfoundation.org
> > Subject: Re: [PATCH v9 14/14] staging: rtlwifi: remove staging rtlwifi driver
> > 
> > <yhchuang@realtek.com> writes:
> > 
> > > From: Yan-Hsuan Chuang <yhchuang@realtek.com>
> > >
> > > The rtlwifi driver is conflicting with Realtek's new 802.11ac chip
> > > series driver rtw88, remove it to avoid racing with the same ID.
> > >
> > > The rtw88 driver can be found at drivers/net/wireless/realtek/rtw88
> > >
> > > Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > > Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
> > 
> > BTW, this patch does not apply to wireless-drivers-next anymore. To
> > avoid any conflicts, would be it be safer that the driver is removed
> > directly from Greg's tree? After rtw88 is applied to
> > wireless-drivers-next, of course.
> > 
> > error: patch failed: drivers/staging/rtlwifi/Kconfig:1
> > error: drivers/staging/rtlwifi/Kconfig: patch does not apply
> > error: patch failed: drivers/staging/rtlwifi/efuse.c:1
> > error: drivers/staging/rtlwifi/efuse.c: patch does not apply
> > error: patch failed:
> > drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c:1
> > error: drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c: patch
> > does not apply
> > error: patch failed: drivers/staging/rtlwifi/pci.h:1
> > error: drivers/staging/rtlwifi/pci.h: patch does not apply
> > error: patch failed: drivers/staging/rtlwifi/phydm/phydm_rainfo.c:1
> > error: drivers/staging/rtlwifi/phydm/phydm_rainfo.c: patch does not apply
> > error: patch failed: drivers/staging/rtlwifi/phydm/rtl_phydm.c:1
> > error: drivers/staging/rtlwifi/phydm/rtl_phydm.c: patch does not apply
> > error: patch failed: drivers/staging/rtlwifi/rtl8822be/fw.c:1
> > error: drivers/staging/rtlwifi/rtl8822be/fw.c: patch does not apply
> > Patch failed at 0014 staging: rtlwifi: remove staging rtlwifi driver
> > 
> 
> Hi Greg,
> 
> Can you help us to remove the staging driver rtlwifi in your tree ?
> I think Kalle can issue a signal to you when he has done reviewing
> the rtw88 driver and merge it into wireless-drivers-next.

Sure, I will be glad to drop the driver from my tree once the new driver
has been added to the wireless-drivers-next tree.  Just let me know!

thanks,

greg k-h
Kalle Valo April 30, 2019, 12:40 p.m. UTC | #4
<yhchuang@realtek.com> writes:

> From: Yan-Hsuan Chuang <yhchuang@realtek.com>
>
> This is a new mac80211 driver for Realtek 802.11ac wireless network chips.
> rtw88 now supports RTL8822BE/RTL8822CE now, with basic station mode
> functionalities. The firmware for both can be found at linux-firmware.

This looks very good now. I did a quick review of the driver and had few
netpicks but nothing really blocking applying this. So I have now
combined these patches into one big patch and pushed it to the pending
branch:

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?h=pending&id=284d1e4e3311cfe67c1c57ccc275ff0f5666aeea

I appreciate if people could do a quick check and make sure that I
didn't do anything stupid when folding the patches. I'm planning to
apply this to master branch still today evening so that it makes to
tomorrow's linux-next build, and I can get it to net-next before the
merge window starts on Sunday.

Yan-Hsuan, during review you have received very good comments from a lot
of folks, I recommend you go through all of them and send fixes as
follow up patches. I can then apply them after the merge window.
Stanislaw Gruszka April 30, 2019, 3:58 p.m. UTC | #5
On Tue, Apr 30, 2019 at 03:40:02PM +0300, Kalle Valo wrote:
> > From: Yan-Hsuan Chuang <yhchuang@realtek.com>
> >
> > This is a new mac80211 driver for Realtek 802.11ac wireless network chips.
> > rtw88 now supports RTL8822BE/RTL8822CE now, with basic station mode
> > functionalities. The firmware for both can be found at linux-firmware.
> 
> This looks very good now. I did a quick review of the driver and had few
> netpicks but nothing really blocking applying this. So I have now
> combined these patches into one big patch and pushed it to the pending
> branch:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?h=pending&id=284d1e4e3311cfe67c1c57ccc275ff0f5666aeea
> 
> I appreciate if people could do a quick check and make sure that I
> didn't do anything stupid when folding the patches.

I've build pending branch and done few quick tests on Realtek
8822CE device. Everything works ok.

> I'm planning to
> apply this to master branch still today evening so that it makes to
> tomorrow's linux-next build, and I can get it to net-next before the
> merge window starts on Sunday.

Yay! Great :-)

Stanislaw
Kalle Valo April 30, 2019, 4:47 p.m. UTC | #6
Stanislaw Gruszka <sgruszka@redhat.com> writes:

> On Tue, Apr 30, 2019 at 03:40:02PM +0300, Kalle Valo wrote:
>> > From: Yan-Hsuan Chuang <yhchuang@realtek.com>
>> >
>> > This is a new mac80211 driver for Realtek 802.11ac wireless network chips.
>> > rtw88 now supports RTL8822BE/RTL8822CE now, with basic station mode
>> > functionalities. The firmware for both can be found at linux-firmware.
>> 
>> This looks very good now. I did a quick review of the driver and had few
>> netpicks but nothing really blocking applying this. So I have now
>> combined these patches into one big patch and pushed it to the pending
>> branch:
>> 
>> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?h=pending&id=284d1e4e3311cfe67c1c57ccc275ff0f5666aeea
>> 
>> I appreciate if people could do a quick check and make sure that I
>> didn't do anything stupid when folding the patches.
>
> I've build pending branch and done few quick tests on Realtek
> 8822CE device. Everything works ok.

Thanks so much for this, I now feel much more comfortable merging it :)

So this is manually applied to wireless-drivers-next:

e3037485c68e rtw88: new Realtek 802.11ac driver

And it should be in tomorrow's linux-next build, let's see what kind of
reports we get. Greg, feel free to delete the corresponding staging
driver from your tree (I forgot the name of the driver already).
Greg Kroah-Hartman April 30, 2019, 5:42 p.m. UTC | #7
On Tue, Apr 30, 2019 at 07:47:13PM +0300, Kalle Valo wrote:
> Stanislaw Gruszka <sgruszka@redhat.com> writes:
> 
> > On Tue, Apr 30, 2019 at 03:40:02PM +0300, Kalle Valo wrote:
> >> > From: Yan-Hsuan Chuang <yhchuang@realtek.com>
> >> >
> >> > This is a new mac80211 driver for Realtek 802.11ac wireless network chips.
> >> > rtw88 now supports RTL8822BE/RTL8822CE now, with basic station mode
> >> > functionalities. The firmware for both can be found at linux-firmware.
> >> 
> >> This looks very good now. I did a quick review of the driver and had few
> >> netpicks but nothing really blocking applying this. So I have now
> >> combined these patches into one big patch and pushed it to the pending
> >> branch:
> >> 
> >> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?h=pending&id=284d1e4e3311cfe67c1c57ccc275ff0f5666aeea
> >> 
> >> I appreciate if people could do a quick check and make sure that I
> >> didn't do anything stupid when folding the patches.
> >
> > I've build pending branch and done few quick tests on Realtek
> > 8822CE device. Everything works ok.
> 
> Thanks so much for this, I now feel much more comfortable merging it :)
> 
> So this is manually applied to wireless-drivers-next:
> 
> e3037485c68e rtw88: new Realtek 802.11ac driver
> 
> And it should be in tomorrow's linux-next build, let's see what kind of
> reports we get. Greg, feel free to delete the corresponding staging
> driver from your tree (I forgot the name of the driver already).

I'll be glad to do so if someone also tells me what the driver's name is
as well, I don't remember either :)

thanks,

greg k-h
Kalle Valo May 1, 2019, 7:09 a.m. UTC | #8
Greg KH <gregkh@linuxfoundation.org> writes:

> On Tue, Apr 30, 2019 at 07:47:13PM +0300, Kalle Valo wrote:
>> Stanislaw Gruszka <sgruszka@redhat.com> writes:
>> 
>> > On Tue, Apr 30, 2019 at 03:40:02PM +0300, Kalle Valo wrote:
>> >> > From: Yan-Hsuan Chuang <yhchuang@realtek.com>
>> >> >
>> >> > This is a new mac80211 driver for Realtek 802.11ac wireless network chips.
>> >> > rtw88 now supports RTL8822BE/RTL8822CE now, with basic station mode
>> >> > functionalities. The firmware for both can be found at linux-firmware.
>> >> 
>> >> This looks very good now. I did a quick review of the driver and had few
>> >> netpicks but nothing really blocking applying this. So I have now
>> >> combined these patches into one big patch and pushed it to the pending
>> >> branch:
>> >> 
>> >> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?h=pending&id=284d1e4e3311cfe67c1c57ccc275ff0f5666aeea
>> >> 
>> >> I appreciate if people could do a quick check and make sure that I
>> >> didn't do anything stupid when folding the patches.
>> >
>> > I've build pending branch and done few quick tests on Realtek
>> > 8822CE device. Everything works ok.
>> 
>> Thanks so much for this, I now feel much more comfortable merging it :)
>> 
>> So this is manually applied to wireless-drivers-next:
>> 
>> e3037485c68e rtw88: new Realtek 802.11ac driver
>> 
>> And it should be in tomorrow's linux-next build, let's see what kind of
>> reports we get. Greg, feel free to delete the corresponding staging
>> driver from your tree (I forgot the name of the driver already).
>
> I'll be glad to do so if someone also tells me what the driver's name is
> as well, I don't remember either :)

I checked it now, the directory is drivers/staging/rtlwifi. Here's the
commit adding the upstream driver, in case you need that in the commit
log:

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?id=e3037485c68ec1a299ff41160d8fedbd4abc29b9
Greg Kroah-Hartman May 1, 2019, 8:19 a.m. UTC | #9
On Wed, May 01, 2019 at 10:09:34AM +0300, Kalle Valo wrote:
> Greg KH <gregkh@linuxfoundation.org> writes:
> 
> > On Tue, Apr 30, 2019 at 07:47:13PM +0300, Kalle Valo wrote:
> >> Stanislaw Gruszka <sgruszka@redhat.com> writes:
> >> 
> >> > On Tue, Apr 30, 2019 at 03:40:02PM +0300, Kalle Valo wrote:
> >> >> > From: Yan-Hsuan Chuang <yhchuang@realtek.com>
> >> >> >
> >> >> > This is a new mac80211 driver for Realtek 802.11ac wireless network chips.
> >> >> > rtw88 now supports RTL8822BE/RTL8822CE now, with basic station mode
> >> >> > functionalities. The firmware for both can be found at linux-firmware.
> >> >> 
> >> >> This looks very good now. I did a quick review of the driver and had few
> >> >> netpicks but nothing really blocking applying this. So I have now
> >> >> combined these patches into one big patch and pushed it to the pending
> >> >> branch:
> >> >> 
> >> >> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?h=pending&id=284d1e4e3311cfe67c1c57ccc275ff0f5666aeea
> >> >> 
> >> >> I appreciate if people could do a quick check and make sure that I
> >> >> didn't do anything stupid when folding the patches.
> >> >
> >> > I've build pending branch and done few quick tests on Realtek
> >> > 8822CE device. Everything works ok.
> >> 
> >> Thanks so much for this, I now feel much more comfortable merging it :)
> >> 
> >> So this is manually applied to wireless-drivers-next:
> >> 
> >> e3037485c68e rtw88: new Realtek 802.11ac driver
> >> 
> >> And it should be in tomorrow's linux-next build, let's see what kind of
> >> reports we get. Greg, feel free to delete the corresponding staging
> >> driver from your tree (I forgot the name of the driver already).
> >
> > I'll be glad to do so if someone also tells me what the driver's name is
> > as well, I don't remember either :)
> 
> I checked it now, the directory is drivers/staging/rtlwifi. Here's the
> commit adding the upstream driver, in case you need that in the commit
> log:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?id=e3037485c68ec1a299ff41160d8fedbd4abc29b9

Thanks for this, now dropped from my tree (with the exception of 2 .h
files which a different driver used, and I'll clean that up as well with
a later patch.)

Note, the diffstat involved here shows that a "proper" Linux driver that
is merged into the kernel tree follows the rule-of-thumb that I have
consistently seen over time.  An in-tree driver that has been reviewed
properly is 33% of the size of an "out of tree" driver.  It's always
nice to see users benefit from properly developed drivers like this.

thanks,

greg k-h
Greg Kroah-Hartman May 1, 2019, 8:42 a.m. UTC | #10
On Wed, May 01, 2019 at 10:19:35AM +0200, Greg KH wrote:
> On Wed, May 01, 2019 at 10:09:34AM +0300, Kalle Valo wrote:
> > Greg KH <gregkh@linuxfoundation.org> writes:
> > 
> > > On Tue, Apr 30, 2019 at 07:47:13PM +0300, Kalle Valo wrote:
> > >> Stanislaw Gruszka <sgruszka@redhat.com> writes:
> > >> 
> > >> > On Tue, Apr 30, 2019 at 03:40:02PM +0300, Kalle Valo wrote:
> > >> >> > From: Yan-Hsuan Chuang <yhchuang@realtek.com>
> > >> >> >
> > >> >> > This is a new mac80211 driver for Realtek 802.11ac wireless network chips.
> > >> >> > rtw88 now supports RTL8822BE/RTL8822CE now, with basic station mode
> > >> >> > functionalities. The firmware for both can be found at linux-firmware.
> > >> >> 
> > >> >> This looks very good now. I did a quick review of the driver and had few
> > >> >> netpicks but nothing really blocking applying this. So I have now
> > >> >> combined these patches into one big patch and pushed it to the pending
> > >> >> branch:
> > >> >> 
> > >> >> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?h=pending&id=284d1e4e3311cfe67c1c57ccc275ff0f5666aeea
> > >> >> 
> > >> >> I appreciate if people could do a quick check and make sure that I
> > >> >> didn't do anything stupid when folding the patches.
> > >> >
> > >> > I've build pending branch and done few quick tests on Realtek
> > >> > 8822CE device. Everything works ok.
> > >> 
> > >> Thanks so much for this, I now feel much more comfortable merging it :)
> > >> 
> > >> So this is manually applied to wireless-drivers-next:
> > >> 
> > >> e3037485c68e rtw88: new Realtek 802.11ac driver
> > >> 
> > >> And it should be in tomorrow's linux-next build, let's see what kind of
> > >> reports we get. Greg, feel free to delete the corresponding staging
> > >> driver from your tree (I forgot the name of the driver already).
> > >
> > > I'll be glad to do so if someone also tells me what the driver's name is
> > > as well, I don't remember either :)
> > 
> > I checked it now, the directory is drivers/staging/rtlwifi. Here's the
> > commit adding the upstream driver, in case you need that in the commit
> > log:
> > 
> > https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?id=e3037485c68ec1a299ff41160d8fedbd4abc29b9
> 
> Thanks for this, now dropped from my tree (with the exception of 2 .h
> files which a different driver used, and I'll clean that up as well with
> a later patch.)

Attached below are the 2 follow-on patches that I have applied that
clean up the remaining .h rtlwifi files, and then move them into the
location where they are used.

thanks,

greg k-h
From 8a90bdcb64a9e3732279bb6d9f5054dd6ce3dfbd Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Wed, 1 May 2019 10:37:13 +0200
Subject: [PATCH 1/2] staging: rtlwifi: strip down phydm .h files

The phydm .h files are used by another driver, but not all of the
defines are used, so strip them down to their basic necessities before
we move them out of this directory.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/staging/rtlwifi/phydm/phydm_reg.h     | 118 --------------
 .../rtlwifi/phydm/phydm_regdefine11n.h        | 153 +-----------------
 2 files changed, 2 insertions(+), 269 deletions(-)

diff --git a/drivers/staging/rtlwifi/phydm/phydm_reg.h b/drivers/staging/rtlwifi/phydm/phydm_reg.h
index 562c1199d669..e3ae006487ba 100644
--- a/drivers/staging/rtlwifi/phydm/phydm_reg.h
+++ b/drivers/staging/rtlwifi/phydm/phydm_reg.h
@@ -11,130 +11,12 @@
  * Larry Finger <Larry.Finger@lwfinger.net>
  *
  *****************************************************************************/
-/* ************************************************************
- * File Name: odm_reg.h
- *
- * Description:
- *
- * This file is for general register definition.
- *
- *
- * *************************************************************/
 #ifndef __HAL_ODM_REG_H__
 #define __HAL_ODM_REG_H__
 
-/*
- * Register Definition
- */
-
-/* MAC REG */
-#define ODM_BB_RESET 0x002
-#define ODM_DUMMY 0x4fe
-#define RF_T_METER_OLD 0x24
-#define RF_T_METER_NEW 0x42
-
 #define ODM_EDCA_VO_PARAM 0x500
 #define ODM_EDCA_VI_PARAM 0x504
 #define ODM_EDCA_BE_PARAM 0x508
 #define ODM_EDCA_BK_PARAM 0x50C
-#define ODM_TXPAUSE 0x522
-
-/* LTE_COEX */
-#define REG_LTECOEX_CTRL 0x07C0
-#define REG_LTECOEX_WRITE_DATA 0x07C4
-#define REG_LTECOEX_READ_DATA 0x07C8
-#define REG_LTECOEX_PATH_CONTROL 0x70
-
-/* BB REG */
-#define ODM_FPGA_PHY0_PAGE8 0x800
-#define ODM_PSD_SETTING 0x808
-#define ODM_AFE_SETTING 0x818
-#define ODM_TXAGC_B_6_18 0x830
-#define ODM_TXAGC_B_24_54 0x834
-#define ODM_TXAGC_B_MCS32_5 0x838
-#define ODM_TXAGC_B_MCS0_MCS3 0x83c
-#define ODM_TXAGC_B_MCS4_MCS7 0x848
-#define ODM_TXAGC_B_MCS8_MCS11 0x84c
-#define ODM_ANALOG_REGISTER 0x85c
-#define ODM_RF_INTERFACE_OUTPUT 0x860
-#define ODM_TXAGC_B_MCS12_MCS15 0x868
-#define ODM_TXAGC_B_11_A_2_11 0x86c
-#define ODM_AD_DA_LSB_MASK 0x874
-#define ODM_ENABLE_3_WIRE 0x88c
-#define ODM_PSD_REPORT 0x8b4
-#define ODM_R_ANT_SELECT 0x90c
-#define ODM_CCK_ANT_SELECT 0xa07
-#define ODM_CCK_PD_THRESH 0xa0a
-#define ODM_CCK_RF_REG1 0xa11
-#define ODM_CCK_MATCH_FILTER 0xa20
-#define ODM_CCK_RAKE_MAC 0xa2e
-#define ODM_CCK_CNT_RESET 0xa2d
-#define ODM_CCK_TX_DIVERSITY 0xa2f
-#define ODM_CCK_FA_CNT_MSB 0xa5b
-#define ODM_CCK_FA_CNT_LSB 0xa5c
-#define ODM_CCK_NEW_FUNCTION 0xa75
-#define ODM_OFDM_PHY0_PAGE_C 0xc00
-#define ODM_OFDM_RX_ANT 0xc04
-#define ODM_R_A_RXIQI 0xc14
-#define ODM_R_A_AGC_CORE1 0xc50
-#define ODM_R_A_AGC_CORE2 0xc54
-#define ODM_R_B_AGC_CORE1 0xc58
-#define ODM_R_AGC_PAR 0xc70
-#define ODM_R_HTSTF_AGC_PAR 0xc7c
-#define ODM_TX_PWR_TRAINING_A 0xc90
-#define ODM_TX_PWR_TRAINING_B 0xc98
-#define ODM_OFDM_FA_CNT1 0xcf0
-#define ODM_OFDM_PHY0_PAGE_D 0xd00
-#define ODM_OFDM_FA_CNT2 0xda0
-#define ODM_OFDM_FA_CNT3 0xda4
-#define ODM_OFDM_FA_CNT4 0xda8
-#define ODM_TXAGC_A_6_18 0xe00
-#define ODM_TXAGC_A_24_54 0xe04
-#define ODM_TXAGC_A_1_MCS32 0xe08
-#define ODM_TXAGC_A_MCS0_MCS3 0xe10
-#define ODM_TXAGC_A_MCS4_MCS7 0xe14
-#define ODM_TXAGC_A_MCS8_MCS11 0xe18
-#define ODM_TXAGC_A_MCS12_MCS15 0xe1c
-
-/* RF REG */
-#define ODM_GAIN_SETTING 0x00
-#define ODM_CHANNEL 0x18
-#define ODM_RF_T_METER 0x24
-#define ODM_RF_T_METER_92D 0x42
-#define ODM_RF_T_METER_88E 0x42
-#define ODM_RF_T_METER_92E 0x42
-#define ODM_RF_T_METER_8812 0x42
-#define REG_RF_TX_GAIN_OFFSET 0x55
-
-/* ant Detect Reg */
-#define ODM_DPDT 0x300
-
-/* PSD Init */
-#define ODM_PSDREG 0x808
-
-/* 92D path Div */
-#define PATHDIV_REG 0xB30
-#define PATHDIV_TRI 0xBA0
-
-/*
- * Bitmap Definition
- */
-
-#define BIT_FA_RESET BIT(0)
-
-#define REG_OFDM_0_XA_TX_IQ_IMBALANCE 0xC80
-#define REG_OFDM_0_ECCA_THRESHOLD 0xC4C
-#define REG_FPGA0_XB_LSSI_READ_BACK 0x8A4
-#define REG_FPGA0_TX_GAIN_STAGE 0x80C
-#define REG_OFDM_0_XA_AGC_CORE1 0xC50
-#define REG_OFDM_0_XB_AGC_CORE1 0xC58
-#define REG_A_TX_SCALE_JAGUAR 0xC1C
-#define REG_B_TX_SCALE_JAGUAR 0xE1C
-
-#define REG_AFE_XTAL_CTRL 0x0024
-#define REG_AFE_PLL_CTRL 0x0028
-#define REG_MAC_PHY_CTRL 0x002C
-
-#define RF_CHNLBW 0x18
 
 #endif
diff --git a/drivers/staging/rtlwifi/phydm/phydm_regdefine11n.h b/drivers/staging/rtlwifi/phydm/phydm_regdefine11n.h
index 765e0a0c8c7b..565996828cab 100644
--- a/drivers/staging/rtlwifi/phydm/phydm_regdefine11n.h
+++ b/drivers/staging/rtlwifi/phydm/phydm_regdefine11n.h
@@ -15,188 +15,39 @@
 #ifndef __ODM_REGDEFINE11N_H__
 #define __ODM_REGDEFINE11N_H__
 
-/* 2 RF REG LIST */
-#define ODM_REG_RF_MODE_11N 0x00
-#define ODM_REG_RF_0B_11N 0x0B
-#define ODM_REG_CHNBW_11N 0x18
-#define ODM_REG_T_METER_11N 0x24
-#define ODM_REG_RF_25_11N 0x25
-#define ODM_REG_RF_26_11N 0x26
-#define ODM_REG_RF_27_11N 0x27
-#define ODM_REG_RF_2B_11N 0x2B
-#define ODM_REG_RF_2C_11N 0x2C
-#define ODM_REG_RXRF_A3_11N 0x3C
-#define ODM_REG_T_METER_92D_11N 0x42
-#define ODM_REG_T_METER_88E_11N 0x42
-
-/* 2 BB REG LIST */
-/* PAGE 8 */
-#define ODM_REG_BB_CTRL_11N 0x800
-#define ODM_REG_RF_PIN_11N 0x804
-#define ODM_REG_PSD_CTRL_11N 0x808
 #define ODM_REG_TX_ANT_CTRL_11N 0x80C
-#define ODM_REG_BB_PWR_SAV5_11N 0x818
-#define ODM_REG_CCK_RPT_FORMAT_11N 0x824
-#define ODM_REG_CCK_RPT_FORMAT_11N_B 0x82C
 #define ODM_REG_RX_DEFAULT_A_11N 0x858
-#define ODM_REG_RX_DEFAULT_B_11N 0x85A
-#define ODM_REG_BB_PWR_SAV3_11N 0x85C
 #define ODM_REG_ANTSEL_CTRL_11N 0x860
 #define ODM_REG_RX_ANT_CTRL_11N 0x864
 #define ODM_REG_PIN_CTRL_11N 0x870
-#define ODM_REG_BB_PWR_SAV1_11N 0x874
-#define ODM_REG_ANTSEL_PATH_11N 0x878
-#define ODM_REG_BB_3WIRE_11N 0x88C
 #define ODM_REG_SC_CNT_11N 0x8C4
-#define ODM_REG_PSD_DATA_11N 0x8B4
-#define ODM_REG_CCX_PERIOD_11N 0x894
-#define ODM_REG_NHM_TH9_TH10_11N 0x890
-#define ODM_REG_CLM_11N 0x890
-#define ODM_REG_NHM_TH3_TO_TH0_11N 0x898
-#define ODM_REG_NHM_TH7_TO_TH4_11N 0x89c
-#define ODM_REG_NHM_TH8_11N 0xe28
-#define ODM_REG_CLM_READY_11N 0x8b4
-#define ODM_REG_CLM_RESULT_11N 0x8d0
-#define ODM_REG_NHM_CNT_11N 0x8d8
-
-/* For struct acs_info, Jeffery, 2014-12-26 */
-#define ODM_REG_NHM_CNT7_TO_CNT4_11N 0x8dc
-#define ODM_REG_NHM_CNT9_TO_CNT8_11N 0x8d0
-#define ODM_REG_NHM_CNT10_TO_CNT11_11N 0x8d4
 
-/* PAGE 9 */
-#define ODM_REG_BB_CTRL_PAGE9_11N 0x900
-#define ODM_REG_DBG_RPT_11N 0x908
-#define ODM_REG_BB_TX_PATH_11N 0x90c
 #define ODM_REG_ANT_MAPPING1_11N 0x914
-#define ODM_REG_ANT_MAPPING2_11N 0x918
-#define ODM_REG_EDCCA_DOWN_OPT_11N 0x948
-#define ODM_REG_RX_DFIR_MOD_97F 0x948
 
-/* PAGE A */
 #define ODM_REG_CCK_ANTDIV_PARA1_11N 0xA00
-#define ODM_REG_CCK_ANT_SEL_11N 0xA04
 #define ODM_REG_CCK_CCA_11N 0xA0A
 #define ODM_REG_CCK_ANTDIV_PARA2_11N 0xA0C
-#define ODM_REG_CCK_ANTDIV_PARA3_11N 0xA10
-#define ODM_REG_CCK_ANTDIV_PARA4_11N 0xA14
-#define ODM_REG_CCK_FILTER_PARA1_11N 0xA22
-#define ODM_REG_CCK_FILTER_PARA2_11N 0xA23
-#define ODM_REG_CCK_FILTER_PARA3_11N 0xA24
-#define ODM_REG_CCK_FILTER_PARA4_11N 0xA25
-#define ODM_REG_CCK_FILTER_PARA5_11N 0xA26
-#define ODM_REG_CCK_FILTER_PARA6_11N 0xA27
-#define ODM_REG_CCK_FILTER_PARA7_11N 0xA28
-#define ODM_REG_CCK_FILTER_PARA8_11N 0xA29
 #define ODM_REG_CCK_FA_RST_11N 0xA2C
 #define ODM_REG_CCK_FA_MSB_11N 0xA58
 #define ODM_REG_CCK_FA_LSB_11N 0xA5C
 #define ODM_REG_CCK_CCA_CNT_11N 0xA60
 #define ODM_REG_BB_PWR_SAV4_11N 0xA74
-/* PAGE B */
+
 #define ODM_REG_LNA_SWITCH_11N 0xB2C
-#define ODM_REG_PATH_SWITCH_11N 0xB30
-#define ODM_REG_RSSI_CTRL_11N 0xB38
-#define ODM_REG_CONFIG_ANTA_11N 0xB68
-#define ODM_REG_RSSI_BT_11N 0xB9C
-#define ODM_REG_RXCK_RFMOD 0xBB0
-#define ODM_REG_EDCCA_DCNF_97F 0xBC0
 
-/* PAGE C */
 #define ODM_REG_OFDM_FA_HOLDC_11N 0xC00
-#define ODM_REG_BB_RX_PATH_11N 0xC04
-#define ODM_REG_TRMUX_11N 0xC08
-#define ODM_REG_OFDM_FA_RSTC_11N 0xC0C
-#define ODM_REG_DOWNSAM_FACTOR_11N 0xC10
-#define ODM_REG_RXIQI_MATRIX_11N 0xC14
-#define ODM_REG_TXIQK_MATRIX_LSB1_11N 0xC4C
 #define ODM_REG_IGI_A_11N 0xC50
-#define ODM_REG_ANTDIV_PARA2_11N 0xC54
-#define ODM_REG_IGI_B_11N 0xC58
-#define ODM_REG_ANTDIV_PARA3_11N 0xC5C
-#define ODM_REG_L1SBD_PD_CH_11N 0XC6C
-#define ODM_REG_BB_PWR_SAV2_11N 0xC70
-#define ODM_REG_BB_AGC_SET_2_11N 0xc74
-#define ODM_REG_RX_OFF_11N 0xC7C
-#define ODM_REG_TXIQK_MATRIXA_11N 0xC80
-#define ODM_REG_TXIQK_MATRIXB_11N 0xC88
-#define ODM_REG_TXIQK_MATRIXA_LSB2_11N 0xC94
-#define ODM_REG_TXIQK_MATRIXB_LSB2_11N 0xC9C
-#define ODM_REG_RXIQK_MATRIX_LSB_11N 0xCA0
 #define ODM_REG_ANTDIV_PARA1_11N 0xCA4
-#define ODM_REG_SMALL_BANDWIDTH_11N 0xCE4
 #define ODM_REG_OFDM_FA_TYPE1_11N 0xCF0
-/* PAGE D */
+
 #define ODM_REG_OFDM_FA_RSTD_11N 0xD00
-#define ODM_REG_BB_RX_ANT_11N 0xD04
-#define ODM_REG_BB_ATC_11N 0xD2C
 #define ODM_REG_OFDM_FA_TYPE2_11N 0xDA0
 #define ODM_REG_OFDM_FA_TYPE3_11N 0xDA4
 #define ODM_REG_OFDM_FA_TYPE4_11N 0xDA8
-#define ODM_REG_RPT_11N 0xDF4
-/* PAGE E */
-#define ODM_REG_TXAGC_A_6_18_11N 0xE00
-#define ODM_REG_TXAGC_A_24_54_11N 0xE04
-#define ODM_REG_TXAGC_A_1_MCS32_11N 0xE08
-#define ODM_REG_TXAGC_A_MCS0_3_11N 0xE10
-#define ODM_REG_TXAGC_A_MCS4_7_11N 0xE14
-#define ODM_REG_TXAGC_A_MCS8_11_11N 0xE18
-#define ODM_REG_TXAGC_A_MCS12_15_11N 0xE1C
-#define ODM_REG_EDCCA_DCNF_11N 0xE24
-#define ODM_REG_TAP_UPD_97F 0xE24
-#define ODM_REG_FPGA0_IQK_11N 0xE28
-#define ODM_REG_PAGE_B1_97F 0xE28
-#define ODM_REG_TXIQK_TONE_A_11N 0xE30
-#define ODM_REG_RXIQK_TONE_A_11N 0xE34
-#define ODM_REG_TXIQK_PI_A_11N 0xE38
-#define ODM_REG_RXIQK_PI_A_11N 0xE3C
-#define ODM_REG_TXIQK_11N 0xE40
-#define ODM_REG_RXIQK_11N 0xE44
-#define ODM_REG_IQK_AGC_PTS_11N 0xE48
-#define ODM_REG_IQK_AGC_RSP_11N 0xE4C
-#define ODM_REG_BLUETOOTH_11N 0xE6C
-#define ODM_REG_RX_WAIT_CCA_11N 0xE70
-#define ODM_REG_TX_CCK_RFON_11N 0xE74
-#define ODM_REG_TX_CCK_BBON_11N 0xE78
-#define ODM_REG_OFDM_RFON_11N 0xE7C
-#define ODM_REG_OFDM_BBON_11N 0xE80
-#define ODM_REG_TX2RX_11N 0xE84
-#define ODM_REG_TX2TX_11N 0xE88
-#define ODM_REG_RX_CCK_11N 0xE8C
-#define ODM_REG_RX_OFDM_11N 0xED0
-#define ODM_REG_RX_WAIT_RIFS_11N 0xED4
-#define ODM_REG_RX2RX_11N 0xED8
-#define ODM_REG_STANDBY_11N 0xEDC
-#define ODM_REG_SLEEP_11N 0xEE0
-#define ODM_REG_PMPD_ANAEN_11N 0xEEC
-/* PAGE F */
-#define ODM_REG_PAGE_F_RST_11N 0xF14
-#define ODM_REG_IGI_C_11N 0xF84
-#define ODM_REG_IGI_D_11N 0xF88
-#define ODM_REG_CCK_CRC32_ERROR_CNT_11N 0xF84
-#define ODM_REG_CCK_CRC32_OK_CNT_11N 0xF88
-#define ODM_REG_HT_CRC32_CNT_11N 0xF90
-#define ODM_REG_OFDM_CRC32_CNT_11N 0xF94
 
-/* 2 MAC REG LIST */
-#define ODM_REG_BB_RST_11N 0x02
 #define ODM_REG_ANTSEL_PIN_11N 0x4C
-#define ODM_REG_EARLY_MODE_11N 0x4D0
-#define ODM_REG_RSSI_MONITOR_11N 0x4FE
-#define ODM_REG_EDCA_VO_11N 0x500
-#define ODM_REG_EDCA_VI_11N 0x504
-#define ODM_REG_EDCA_BE_11N 0x508
-#define ODM_REG_EDCA_BK_11N 0x50C
-#define ODM_REG_TXPAUSE_11N 0x522
 #define ODM_REG_RESP_TX_11N 0x6D8
-#define ODM_REG_ANT_TRAIN_PARA1_11N 0x7b0
-#define ODM_REG_ANT_TRAIN_PARA2_11N 0x7b4
 
-/* DIG Related */
 #define ODM_BIT_IGI_11N 0x0000007F
-#define ODM_BIT_CCK_RPT_FORMAT_11N BIT(9)
-#define ODM_BIT_BB_RX_PATH_11N 0xF
-#define ODM_BIT_BB_TX_PATH_11N 0xF
-#define ODM_BIT_BB_ATC_11N BIT(11)
 
 #endif
Tony Chuang May 2, 2019, 2:05 a.m. UTC | #11
> 
> > From: Yan-Hsuan Chuang <yhchuang@realtek.com>
> >
> > This is a new mac80211 driver for Realtek 802.11ac wireless network chips.
> > rtw88 now supports RTL8822BE/RTL8822CE now, with basic station mode
> > functionalities. The firmware for both can be found at linux-firmware.
> 
> This looks very good now. I did a quick review of the driver and had few
> netpicks but nothing really blocking applying this. So I have now
> combined these patches into one big patch and pushed it to the pending
> branch:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/c
> ommit/?h=pending&id=284d1e4e3311cfe67c1c57ccc275ff0f5666aeea
> 
> I appreciate if people could do a quick check and make sure that I
> didn't do anything stupid when folding the patches. I'm planning to
> apply this to master branch still today evening so that it makes to
> tomorrow's linux-next build, and I can get it to net-next before the
> merge window starts on Sunday.

Thanks, that's great.

> 
> Yan-Hsuan, during review you have received very good comments from a lot
> of folks, I recommend you go through all of them and send fixes as
> follow up patches. I can then apply them after the merge window.

Yes I will include those good comments.
Should I send them to your next branch? Such as [PATCH][next].

Yan-Hsuan
Rudi Heitbaum June 18, 2021, 12:08 p.m. UTC | #12
Hi Realtek Team,

I was hoping to get an update on your progress with SDIO in the rtw88
mainline driver? Is there a WIP or prerelease available?

The UART BT is working in Mainline, but was hoping to include wireless
in the device tree kernel updates.

Thanks

Rudi

On Fri, Apr 19, 2019 at 01:49:50PM +0800, yhchuang@realtek.com wrote:
> From: Yan-Hsuan Chuang <yhchuang@realtek.com>

...

> And for now, only PCI buses (RTL8xxxE) are supported. We will add support
> for USB and SDIO in the future. The bus interface abstraction can be seen
> in this driver such as hci.h. Most of the hardware setting are the same
> except for some TRX path or probing setup should be separated.

...

> Missing feature:
> 
>  * WOW/PNO
>  * USB & SDIO bus (such as RTL8xxxU/RTL8xxxS)
>  * BT coexistence (8822B/8822C are combo ICs)

...

> The next patch set should have BT coexistence code since RTL8822B/C are
> combo ICs, and the driver for BT can be found after Linux Kernel v4.20.
> So it is better to add it first to make WiFi + BT work concurrently.