Search Linux Wireless

Re: [PATCH v6 13/13] wifi: ath11k: send TPC power to firmware for 6 GHz station

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/22/2023 9:25 PM, Aditya Kumar Singh wrote:
On 9/22/23 15:42, Wen Gong wrote:
On 9/22/2023 5:24 PM, Aditya Kumar Singh wrote:
On 9/20/23 13:53, Wen Gong wrote:
When station is connected to a 6 GHz AP, it has 2 way to configure
the power limit to firmware. The first way is to send 2 wmi command
WMI_PDEV_PARAM_TXPOWER_LIMIT2G/WMI_PDEV_PARAM_TXPOWER_LIMIT5G to
firmware, the second way is to send WMI_VDEV_SET_TPC_POWER_CMDID to
firmware which include more parameters for power control.

The first way is disabled in previous patch
"ath11k: discard BSS_CHANGED_TXPOWER when EXT_TPC_REG_SUPPORT for 6 GHz".

Prepare the parameter for wmi command WMI_VDEV_SET_TPC_POWER_CMDID and
send the firmware after vdev start response success from firmware, it
is for the second way of power control.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23

Signed-off-by: Wen Gong <quic_wgong@xxxxxxxxxxx>
---
  drivers/net/wireless/ath/ath11k/mac.c | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index a8ae281d2635..f8b907a758b1 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -7296,6 +7296,12 @@ ath11k_mac_vdev_start_restart(struct ath11k_vif *arvif,
          return ret;
      }
  +    if (ath11k_mac_supports_station_tpc(ar, arvif, chandef)) {
+        ath11k_mac_fill_reg_tpc_info(ar, arvif->vif, &arvif->chanctx);
So we are passing local copy of channel context stored in arvif->chanctx. Do we need to update it when channel changes?

I see that during assignment time, we are copying/updating it and accordingly the command will be sent to firmware, but what about when STA moves channel? arvif->chanctx should be updated and tpc command should be sent again in that case?

This has been discussed before here per question of Johannes:"Could this information change? Should we track it in beacons?":

[PATCH 9/9] mac80211: save transmit power envelope element and power constraint

https://lore.kernel.org/linux-wireless/38e7d9d2eebafa7245a36a0a0396094526eb3efd.camel@xxxxxxxxxxxxxxxx/
That's fine. That's w.r.t to TX power change. I'm saying here about CSA? What when AP tries to switch channel? For that client need not disassociate and associate back right?

In that case, channel context in mac80211 layer will change. But our driver's arvif->chanctx will have previous one only. We are using channel context to get the ieee80211_channel which has the PSD value, and that value we are sending to firmware via TPC command during intial association time. So when channel changes, firmware also should be updated with the latest PSD values via TPC command for the latest channel right?

You are right. CSA may be change channel bandwidth.

Currently we could keep NOT support CSA as well as CSA for MLO since these are the basic TPC support feature.

We could make new patch later to support CSA fro TPC power, OK?






[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux