mbox series

[0/7] wifi: rtw89: apply TX power read from firmware file

Message ID 20231003015446.14658-1-pkshih@realtek.com (mailing list archive)
Headers show
Series wifi: rtw89: apply TX power read from firmware file | expand

Message

Ping-Ke Shih Oct. 3, 2023, 1:54 a.m. UTC
We have read TX power from firmware file (named firmware elements), and
then write TX power values to registers by this patchset.

The register addresses between WiFi 6 and 7 chips are different, and
tables for WiFi 7 are larger. But we still try to reuse functions if
possible, otherwise implement separate functions for each of them.

The registers of TX power can be categorized: 
 1. TX power by rate: a value for a rate section (RS for short in code)
 2. TX power offset: a offset value from base of rate section above.
    This uses less register bits than TX power by rate.
 3. TX power limit: the power to follow regulation, so output power is
    min(TX_power_by_rate, TX_power_limit) basically.
 4. TX power RU limit: like above, but for OFDMA RU.

Since there are many TX power values, we need to convert them to human
readable format to quickly check if values are expected. The last two
patches of this patchset are to extend existing debugfs to show current
TX power for all chips.

Zong-Zhe Yang (7):
  wifi: rtw89: mac: get TX power control register according to chip gen
  wifi: rtw89: phy: set TX power by rate according to chip gen
  wifi: rtw89: phy: set TX power offset according to chip gen
  wifi: rtw89: phy: set TX power limit according to chip gen
  wifi: rtw89: phy: set TX power RU limit according to chip gen
  wifi: rtw89: debug: show txpwr table according to chip gen
  wifi: rtw89: debug: txpwr table supports Wi-Fi 7 chips

 drivers/net/wireless/realtek/rtw89/core.h   |  30 --
 drivers/net/wireless/realtek/rtw89/debug.c  | 272 +++++++++-
 drivers/net/wireless/realtek/rtw89/mac.c    |  14 +-
 drivers/net/wireless/realtek/rtw89/mac.h    |  16 +-
 drivers/net/wireless/realtek/rtw89/mac_be.c |  40 ++
 drivers/net/wireless/realtek/rtw89/phy.c    | 173 +++---
 drivers/net/wireless/realtek/rtw89/phy.h    | 120 ++++-
 drivers/net/wireless/realtek/rtw89/phy_be.c | 568 ++++++++++++++++++++
 drivers/net/wireless/realtek/rtw89/reg.h    |  50 +-
 9 files changed, 1126 insertions(+), 157 deletions(-)