Originally rtw89 design is to WiFi 6 chips, and things are limit to single link (i.e. deflink). The security CAM is used to install keys, which one CAM entry can share to multiple links (the same MLD), so we adjust to maintain the CAM as a common pool, instead of binding to address CAM that belongs to single link. Also adjust use of bss_info_changed to vif_cfg_changed/link_info_changed, which are still compatible to existing ones. MAC_ID is to represent an instance ID of a link, so more than one MAC_ID are used by a MLD. However, assignment of MAC_ID for links of a MLD should follow rules of hardware design (MAC_ID of 2nd link = MAC_ID of 1st link + 16). Prepare supported number of MAC_ID in chip_info. Zong-Zhe Yang (4): wifi: rtw89: ser: avoid multiple deinit on same CAM wifi: rtw89: cam: tweak relation between sec CAM and addr CAM wifi: rtw89: switch to register vif_cfg_changed and link_info_changed wifi: rtw89: support mac_id number according to chip drivers/net/wireless/realtek/rtw89/cam.c | 79 ++++++++++++------- drivers/net/wireless/realtek/rtw89/core.c | 48 ++++++----- drivers/net/wireless/realtek/rtw89/core.h | 5 +- drivers/net/wireless/realtek/rtw89/debug.c | 16 ++-- drivers/net/wireless/realtek/rtw89/mac.c | 7 +- drivers/net/wireless/realtek/rtw89/mac80211.c | 42 ++++++---- drivers/net/wireless/realtek/rtw89/rtw8851b.c | 1 + drivers/net/wireless/realtek/rtw89/rtw8852a.c | 1 + drivers/net/wireless/realtek/rtw89/rtw8852b.c | 1 + drivers/net/wireless/realtek/rtw89/rtw8852c.c | 1 + drivers/net/wireless/realtek/rtw89/rtw8922a.c | 1 + drivers/net/wireless/realtek/rtw89/ser.c | 8 +- 12 files changed, 134 insertions(+), 76 deletions(-) -- 2.25.1