• Zong-Zhe Yang's avatar
    rtw88: add regulatory strategy by chip type · 8d4fb399
    Zong-Zhe Yang authored
    Realtek chips can program a specific country domain on efuse to
    indicate what is the expected rtw_regulatory. For chips with a
    programmed country domain, we set REGULATORY_STRICT_REG to tell
    stack to consider follow-up regulatory_hint() as the superset of
    our regulatory rule. Besides, on driver side, only the request via
    NL80211_REGDOM_SET_BY_DRIVER, which matches programmed country
    domain, will be handled to keep rtw_regulatory unchanged.
    
    For worldwide roaming chips, i.e. ones without a specific programmed
    country domain, system of distro can set expected regulatory via
    NL80211_REGDOM_SET_BY_USER. With setting from it, rtw_regulatory
    will handle the requests only via NL80211_REGDOM_SET_BY_USER to
    follow setting from system of distro. REGULATORY_COUNTRY_IE_IGNORE
    will then be set to tell stack to ignore country IE for us. The
    restrictions mentioned above will remain until 00, i.e. worldwide,
    is set via NL80211_REGDOM_SET_BY_USER.
    
    On the other hand, for worldwide roamin chips, if there is no
    specific regulatory set via NL80211_REGDOM_SET_BY_USER, requests
    from all regulatory notifications will be handled by rtw_regulatory.
    And REGULATORY_COUNTRY_IE_IGNORE won't be set.
    Signed-off-by: default avatarZong-Zhe Yang <kevin_yang@realtek.com>
    Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20210830072014.12250-3-pkshih@realtek.com
    8d4fb399
main.h 41.9 KB