• Zong-Zhe Yang's avatar
    wifi: rtw89: cam: tweak relation between sec CAM and addr CAM · 0448c65a
    Zong-Zhe Yang authored
    In original code architecture, sec CAM is a component of addr CAM.
    Hence, sec CAM could not be shared. After MLO, each link has its own
    addr CAM. However, one MLD PTK takes only one sec CAM but it needs to
    work on multiple links' addr CAMs. So, we now manage sec CAMs in global
    pool, and each of them is not bound to a single addr CAM now.
    
    before:
    
    +-----------------+         +--------------------+
    | rtw89_{vif/sta} |   ...   | ieee80211_key_conf |
    +-----------------+         +--------------------+
            ^                              |
            V                              | hw_key_idx
            |                              |
            |                              V
            |                             +--
       +----------+   addr_cam::key_idx   |  \        +---------+
       | addr_cam |<>---------------------|   |-------| sec_cam |
       +----------+                       |  /        +---------+
                                          +--
    
    after:
    
    +----------------------+         +--------------------+
    | rtw89_{vif/sta}_link |   ...   | ieee80211_key_conf |
    +----------------------+         +--------------------+
            ^                                   |
            V                                   | hw_key_idx
            |                                   |
            |                                   V
            |                                  --+                  +---------+
            |              +---------+        /  |  sec_cam_idx     | global  |
            |              | sec_cam |-------|   |----------------<>| sec_cam |
            |              +---------+        \  |                  | pool    |
            |                   ^              --+                  +---------+
            |                   |
            |               (*) |
       +----------+             |
       | addr_cam |-------------+
       +----------+
    Signed-off-by: default avatarZong-Zhe Yang <kevin_yang@realtek.com>
    Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
    Link: https://msgid.link/20240509090646.35304-3-pkshih@realtek.com
    0448c65a
core.h 154 KB