RFC wifi: aic: add AIC8800D80 SDIO FullMAC driver
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v4 RFC Latest4 patches 1 replyIn review
- v3 RFC4 patches 3 repliesSuperseded
- v2 RFC4 patches 2 repliesSuperseded
Earlier versions · 1
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v1 RFC | 4 patches | 0 replies | Superseded |
Changes in v4 from the cover letter
- rebase on current wireless-next;
- adapt remain_on_channel and mgmt_tx to cfg80211's cookie-by-value API;
- preserve cfg80211-assigned cookies through asynchronous completion;
- remove the obsolete local ROC cookie counter; and
- remove two unused global definitions.
Patches in v4 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | wifi: aic: add SDIO BSP and build configurationdrivers/ drivers/ drivers/ +22 more | +7882 | 0 replies | |
| 2/4 | wifi: aic: add FullMAC firmware and platform interfacedrivers/ drivers/ drivers/ +29 more | +17082 | 0 replies | |
| 3/4 | wifi: aic: add FullMAC WLAN driverdrivers/ drivers/ drivers/ +46 more | +28900 | 0 replies | |
| 4/4 | wifi: aic: integrate AIC8800 driverMAINTAINERS drivers/ drivers/ | +12 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.
Cover letter [RFC PATCH wireless-next v4 0/4] wifi: aic: add AIC8800D80 SDIO FullMAC driver
Johannes,
This v4 fixes the build failure in v3 against current wireless-next.
Commit 914781c72813 ("wifi: cfg80211: convert cookie output to input parameter") changed the cfg80211 remain_on_channel and mgmt_tx callbacks from u64 pointer output parameters to preassigned u64 input parameters. The driver now accepts each cookie by value, carries it through the remain-on-channel and management-TX state, and reports the same cookie in the corresponding cfg80211 completion notification. The obsolete local remain-on-channel cookie counter has been removed.
This revision also removes two unused global definitions found during the rebuild. The feature scope and the status of the outstanding RFC review items are otherwise unchanged from v3.
Validation performed for v4 against wireless-next at ca800a9302764:
- x86-64 GCC build with AIC8800_BSP_SUPPORT=m,
AIC8800_WLAN_SUPPORT=m and W=1;
- sequential application of all four patches; and
- comparison of the applied series with the current AIC source tree.
No runtime retest was performed for v4. The AIC8800D80 U02 SDIO hardware validation reported with v3 is unchanged.
Changes since v3:
- rebase on current wireless-next;
- adapt remain_on_channel and mgmt_tx to cfg80211's cookie-by-value API;
- preserve cfg80211-assigned cookies through asynchronous completion;
- remove the obsolete local ROC cookie counter; and
- remove two unused global definitions.
v3: https://lore.kernel.org/r/[email protected]
v2: https://lore.kernel.org/r/[email protected]
v1: https://lore.kernel.org/r/[email protected]
Zhirun Liu (4):
wifi: aic: add SDIO BSP and build configuration
wifi: aic: add FullMAC firmware and platform interface
wifi: aic: add FullMAC WLAN driver
wifi: aic: integrate AIC8800 driver
MAINTAINERS | 10 + drivers/net/wireless/Kconfig | 1 + drivers/net/wireless/Makefile | 1 + drivers/net/wireless/aic/Kconfig | 40 + drivers/net/wireless/aic/Makefile | 7 + drivers/net/wireless/aic/aic8800_bsp/Kconfig | 3 + drivers/net/wireless/aic/aic8800_bsp/Makefile | 16 + .../aic/aic8800_bsp/aic8800d80_compat.c | 290 + .../aic/aic8800_bsp/aic8800d80_compat.h | 11 + .../aic/aic8800_bsp/aic8800dc_compat.c | 1342 ++++ .../aic/aic8800_bsp/aic8800dc_compat.h | 34 + .../wireless/aic/aic8800_bsp/aic_bsp_driver.c | 1670 +++++ .../wireless/aic/aic8800_bsp/aic_bsp_driver.h | 598 ++ .../wireless/aic/aic8800_bsp/aic_bsp_export.h | 70 + .../wireless/aic/aic8800_bsp/aic_bsp_main.c | 310 + .../aic/aic8800_bsp/aic_chip_8800d80.c | 98 + .../aic/aic8800_bsp/aic_chip_8800dc.c | 133 + .../wireless/aic/aic8800_bsp/aic_chip_8801.c | 117 + .../wireless/aic/aic8800_bsp/aic_chip_ops.c | 64 + .../wireless/aic/aic8800_bsp/aic_chip_ops.h | 69 + .../net/wireless/aic/aic8800_bsp/aicsdio.c | 2027 ++++++ .../net/wireless/aic/aic8800_bsp/aicsdio.h | 176 + .../wireless/aic/aic8800_bsp/aicsdio_txrxif.c | 464 ++ .../wireless/aic/aic8800_bsp/aicsdio_txrxif.h | 180 + .../aic/aic8800_bsp/aicwf_txq_prealloc.c | 72 + .../aic/aic8800_bsp/aicwf_txq_prealloc.h | 8 + drivers/net/wireless/aic/aic8800_fdrv/Kconfig | 37 + .../net/wireless/aic/aic8800_fdrv/Makefile | 46 + .../aic/aic8800_fdrv/aic_bsp_export.h | 62 + .../net/wireless/aic/aic8800_fdrv/aic_bus.h | 191 + .../wireless/aic/aic8800_fdrv/aic_priv_cmd.c | 763 +++ .../wireless/aic/aic8800_fdrv/aic_priv_cmd.h | 103 + .../aic/aic8800_fdrv/aicwf_chip_8800d80.c | 291 + .../aic/aic8800_fdrv/aicwf_chip_8800dc.c | 300 + .../aic/aic8800_fdrv/aicwf_chip_8801.c | 279 + .../aic/aic8800_fdrv/aicwf_chip_ops.c | 251 + .../aic/aic8800_fdrv/aicwf_chip_ops.h | 184 + .../aic/aic8800_fdrv/aicwf_compat_8800d80.c | 96 + .../aic/aic8800_fdrv/aicwf_compat_8800d80.h | 16 + .../aic/aic8800_fdrv/aicwf_compat_8800dc.c | 505 ++ .../aic/aic8800_fdrv/aicwf_compat_8800dc.h | 22 + .../wireless/aic/aic8800_fdrv/aicwf_debug.h | 37 + .../wireless/aic/aic8800_fdrv/aicwf_genl.c | 699 +++ .../wireless/aic/aic8800_fdrv/aicwf_genl.h | 84 + .../aic/aic8800_fdrv/aicwf_rx_prealloc.c | 102 + .../aic/aic8800_fdrv/aicwf_rx_prealloc.h | 34 + .../wireless/aic/aic8800_fdrv/aicwf_sdio.c | 2831 +++++++++ .../wireless/aic/aic8800_fdrv/aicwf_sdio.h | 275 + .../wireless/aic/aic8800_fdrv/aicwf_tcp_ack.c | 565 ++ .../wireless/aic/aic8800_fdrv/aicwf_tcp_ack.h | 104 + .../wireless/aic/aic8800_fdrv/aicwf_txrxif.c | 752 +++ .../wireless/aic/aic8800_fdrv/aicwf_txrxif.h | 217 + .../net/wireless/aic/aic8800_fdrv/hal_desc.h | 359 ++ .../wireless/aic/aic8800_fdrv/ipc_compat.h | 25 + .../net/wireless/aic/aic8800_fdrv/ipc_host.c | 42 + .../net/wireless/aic/aic8800_fdrv/ipc_host.h | 169 + .../wireless/aic/aic8800_fdrv/ipc_shared.h | 770 +++ .../net/wireless/aic/aic8800_fdrv/lmac_mac.h | 437 ++ .../net/wireless/aic/aic8800_fdrv/lmac_msg.h | 3101 ++++++++++ .../wireless/aic/aic8800_fdrv/lmac_types.h | 22 + .../wireless/aic/aic8800_fdrv/reg_access.h | 146 + drivers/net/wireless/aic/aic8800_fdrv/regdb.c | 2772 +++++++++ .../wireless/aic/aic8800_fdrv/rwnx_bfmer.c | 93 + .../wireless/aic/aic8800_fdrv/rwnx_bfmer.h | 100 + .../wireless/aic/aic8800_fdrv/rwnx_cfgfile.c | 265 + .../wireless/aic/aic8800_fdrv/rwnx_cfgfile.h | 33 + .../net/wireless/aic/aic8800_fdrv/rwnx_cmds.c | 471 ++ .../net/wireless/aic/aic8800_fdrv/rwnx_cmds.h | 99 + .../wireless/aic/aic8800_fdrv/rwnx_compat.h | 80 + .../net/wireless/aic/aic8800_fdrv/rwnx_defs.h | 704 +++ .../wireless/aic/aic8800_fdrv/rwnx_events.h | 938 +++ .../net/wireless/aic/aic8800_fdrv/rwnx_irqs.c | 49 + .../net/wireless/aic/aic8800_fdrv/rwnx_irqs.h | 12 + .../net/wireless/aic/aic8800_fdrv/rwnx_main.c | 5435 +++++++++++++++++ .../net/wireless/aic/aic8800_fdrv/rwnx_main.h | 35 + .../net/wireless/aic/aic8800_fdrv/rwnx_mesh.c | 33 + .../net/wireless/aic/aic8800_fdrv/rwnx_mesh.h | 35 + .../aic/aic8800_fdrv/rwnx_mod_params.c | 985 +++ .../aic/aic8800_fdrv/rwnx_mod_params.h | 74 + .../wireless/aic/aic8800_fdrv/rwnx_msg_rx.c | 1614 +++++ .../wireless/aic/aic8800_fdrv/rwnx_msg_rx.h | 8 + .../wireless/aic/aic8800_fdrv/rwnx_msg_tx.c | 3619 +++++++++++ .../wireless/aic/aic8800_fdrv/rwnx_msg_tx.h | 266 + .../wireless/aic/aic8800_fdrv/rwnx_mu_group.c | 653 ++ .../wireless/aic/aic8800_fdrv/rwnx_mu_group.h | 159 + .../wireless/aic/aic8800_fdrv/rwnx_platform.c | 2868 +++++++++ .../wireless/aic/aic8800_fdrv/rwnx_platform.h | 183 + .../net/wireless/aic/aic8800_fdrv/rwnx_prof.h | 142 + .../wireless/aic/aic8800_fdrv/rwnx_radar.c | 1970 ++++++ .../wireless/aic/aic8800_fdrv/rwnx_radar.h | 285 + .../net/wireless/aic/aic8800_fdrv/rwnx_rx.c | 2320 +++++++ .../net/wireless/aic/aic8800_fdrv/rwnx_rx.h | 358 ++ .../net/wireless/aic/aic8800_fdrv/rwnx_strs.c | 269 + .../net/wireless/aic/aic8800_fdrv/rwnx_strs.h | 31 + .../net/wireless/aic/aic8800_fdrv/rwnx_tdls.c | 772 +++ .../net/wireless/aic/aic8800_fdrv/rwnx_tdls.h | 57 + .../wireless/aic/aic8800_fdrv/rwnx_testmode.c | 217 + .../wireless/aic/aic8800_fdrv/rwnx_testmode.h | 68 + .../wireless/aic/aic8800_fdrv/rwnx_trace.c | 5 + .../net/wireless/aic/aic8800_fdrv/rwnx_tx.c | 1634 +++++ .../net/wireless/aic/aic8800_fdrv/rwnx_tx.h | 178 + .../net/wireless/aic/aic8800_fdrv/rwnx_txq.c | 1362 +++++ .../net/wireless/aic/aic8800_fdrv/rwnx_txq.h | 358 ++ .../wireless/aic/aic8800_fdrv/rwnx_utils.c | 35 + .../wireless/aic/aic8800_fdrv/rwnx_utils.h | 131 + .../net/wireless/aic/aic8800_fdrv/rwnx_v7.c | 181 + .../net/wireless/aic/aic8800_fdrv/rwnx_v7.h | 21 + .../net/wireless/aic/aic8800_fdrv/sdio_host.c | 132 + .../net/wireless/aic/aic8800_fdrv/sdio_host.h | 39 + 109 files changed, 53876 insertions(+) create mode 100644 drivers/net/wireless/aic/Kconfig create mode 100644 drivers/net/wireless/aic/Makefile create mode 100644 drivers/net/wireless/aic/aic8800_bsp/Kconfig create mode 100644 drivers/net/wireless/aic/aic8800_bsp/Makefile create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic8800d80_compat.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic8800d80_compat.h create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic8800dc_compat.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic8800dc_compat.h create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_bsp_driver.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_bsp_driver.h create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_bsp_export.h create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_bsp_main.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_chip_8800d80.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_chip_8800dc.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_chip_8801.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_chip_ops.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_chip_ops.h create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicsdio.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicsdio.h create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicsdio_txrxif.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicsdio_txrxif.h create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicwf_txq_prealloc.c create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicwf_txq_prealloc.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/Kconfig create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/Makefile create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aic_bsp_export.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aic_bus.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aic_priv_cmd.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aic_priv_cmd.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_chip_8800d80.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_chip_8800dc.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_chip_8801.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_chip_ops.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_chip_ops.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_compat_8800d80.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_compat_8800d80.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_compat_8800dc.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_compat_8800dc.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_debug.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_genl.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_genl.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_rx_prealloc.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_rx_prealloc.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_sdio.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_sdio.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_tcp_ack.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_tcp_ack.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_txrxif.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_txrxif.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/hal_desc.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/ipc_compat.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/ipc_host.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/ipc_host.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/ipc_shared.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/lmac_mac.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/lmac_msg.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/lmac_types.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/reg_access.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/regdb.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_bfmer.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_bfmer.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_cfgfile.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_cfgfile.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_cmds.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_cmds.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_compat.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_defs.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_events.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_irqs.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_irqs.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_main.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_main.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mesh.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mesh.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mod_params.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mod_params.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_msg_rx.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_msg_rx.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_msg_tx.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_msg_tx.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mu_group.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mu_group.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_platform.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_platform.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_prof.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_radar.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_radar.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_rx.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_rx.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_strs.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_strs.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_tdls.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_tdls.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_testmode.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_testmode.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_trace.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_tx.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_tx.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_txq.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_txq.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_utils.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_utils.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_v7.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_v7.h create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/sdio_host.c create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/sdio_host.h
base-commit: ca800a9302764c445de0da0e84d2252400a770ee
Signature · 1 line
2.34.1