• Zong-Zhe Yang's avatar
    rtw88: support SAR via kernel common API · 8704d0be
    Zong-Zhe Yang authored
    Register cfg80211_sar_capa with type NL80211_SAR_TYPE_POWER and four
    frequency ranges for configurations in unit of 0.25 dBm. And handle
    callback set_sar_specs.
    
    Originally, TX power has three main parameters, i.e. power base,
    power by rate, and power limit. The formula can be simply considered
    as TX power = power base + min(power by rate, power limit). With the
    support of SAR which can be treated as another power limit, there is
    one more parameter for TX power. And the formula will evolve into
    TX power = power base + min(power by rate, power limit, power sar).
    
    Besides, debugfs tx_pwr_tbl is also refined to show SAR information.
    The following is an example for the difference.
    Before supporting SAR,
    -----------------------------------
    ...
    path rate       pwr       base      (byr  lmt ) rem
       A  CCK_1M     66(0x42)   78  -12 (  12  -12)    0
       A  CCK_2M     66(0x42)   78  -12 (   8  -12)    0
    ...
    -----------------------------------
    After supporting SAR and making some configurations,
    -----------------------------------
    ...
    path rate       pwr       base      (byr  lmt  sar ) rem
       A  CCK_1M     62(0x3e)   78  -16 (  12  -12  -16)    0
       A  CCK_2M     62(0x3e)   78  -16 (   8  -12  -16)    0
    ...
    -----------------------------------
    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@kernel.org>
    Link: https://lore.kernel.org/r/20211220093656.65312-1-pkshih@realtek.com
    8704d0be
phy.c 63.2 KB