> From: Yan-Hsuan Chuang <yhchuang@xxxxxxxxxxx> > > This is a new mac80211 driver for Realtek 802.11ac wireless network chips. > rtw88 supports 8822BE and 8822CE chips, and will be able to support > multi-vif combinations in run-time. > > For now, only PCI bus is supported, but rtw88 was originally designed > to optionally support three buses includes USB & SDIO. USB & SDIO modules > will soon be supported by rtw88, with configurable core module to fit > with different bus modules in the same time. > > For example, if we choose 8822BE and 8822CU, only PCI & USB modules will > be selected, built, loaded into kernel. This is one of the major > difference from rtlwifi, which can only support specific combinations. > > Another difference from rtlwifi is that rtw88 is designed to support > the latest Realtek 802.11ac wireless network chips like 8822B and > 8822C series. Compared to the earlier chips supported by rtlwifi like > the 802.11n 8192EE chipset or 802.11ac 8821AE/8812AE chips, newer ICs > have different MAC & PHY settings, such as new multi-port feature for the > MAC layer design and Jaguar2/Jaguar3 PHY layer IPs. > > Multi-Port feature is also supported under rtw88's software architecture. > rtlwifi can only support one vif in the same time, most because of the > hardware limitations for early chips, hence the original design of it > also restricts the usage of multi-vif support, so latest chipset seems not > take advantages from its new MAC engine. > > However, rtw88 can run multiple vifs concurrently by holding them on > hardware ports provided by MAC engine, hence can easily start different > roles on a single device. > > Based on the reasons mentioned before, we implemented rtw88. It had many > authors, they are listed here alphabetically: > > Ping-Ke Shih <pkshih@xxxxxxxxxxx> > Tzu-En Huang <tehuang@xxxxxxxxxxx> > Yan-Hsuan Chuang <yhchuang@xxxxxxxxxxx> > > > 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 > I am sorry that I missed some descriptions about v5. Listed below - 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 Thanks. Yan-Hsuan