diff mbox series

[4/4] wifi: mt76: mt7915: cleanup mt7915_get_power_bound

Message ID 20250209011856.6726-5-razvan.grigore@vampirebyte.ro
State New
Headers show
Series wifi: mt76: fix returned txpower for mt7921 and mt7925 | expand

Commit Message

Razvan Grigore Feb. 9, 2025, 1:18 a.m. UTC
Refactor for making use of mt76_get_power_bound instead of the specific mt7915_get_power_bound, since we need this for other chipsets as well when calculating txpower

Signed-off-by: Razvan Grigore <razvan.grigore@vampirebyte.ro>
---
 drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c |  8 ++++----
 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c     |  4 ++--
 drivers/net/wireless/mediatek/mt76/mt7915/mcu.h     | 12 ------------
 3 files changed, 6 insertions(+), 18 deletions(-)

Comments

Shengyu Qu Feb. 9, 2025, 8:02 a.m. UTC | #1
Hi,

I think we should do the same for MT7996?

Best regards,
Shengyu

在 2025/2/9 9:18, Razvan Grigore 写道:
> Refactor for making use of mt76_get_power_bound instead of the specific mt7915_get_power_bound, since we need this for other chipsets as well when calculating txpower
> 
> Signed-off-by: Razvan Grigore <razvan.grigore@vampirebyte.ro>
> ---
>   drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c |  8 ++++----
>   drivers/net/wireless/mediatek/mt76/mt7915/mcu.c     |  4 ++--
>   drivers/net/wireless/mediatek/mt76/mt7915/mcu.h     | 12 ------------
>   3 files changed, 6 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c b/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
> index 578013884e43..db8560f7e657 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
> @@ -1084,13 +1084,13 @@ mt7915_rate_txpower_set(struct file *file, const char __user *user_buf,
>   		return -EINVAL;
>   
>   	if (pwr160)
> -		pwr160 = mt7915_get_power_bound(phy, pwr160);
> +		pwr160 = mt76_get_power_bound(mphy, pwr160);
>   	if (pwr80)
> -		pwr80 = mt7915_get_power_bound(phy, pwr80);
> +		pwr80 = mt76_get_power_bound(mphy, pwr80);
>   	if (pwr40)
> -		pwr40 = mt7915_get_power_bound(phy, pwr40);
> +		pwr40 = mt76_get_power_bound(mphy, pwr40);
>   	if (pwr20)
> -		pwr20 = mt7915_get_power_bound(phy, pwr20);
> +		pwr20 = mt76_get_power_bound(mphy, pwr20);
>   
>   	if (pwr160 < 0 || pwr80 < 0 || pwr40 < 0 || pwr20 < 0)
>   		return -EINVAL;
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
> index 9d790f234e82..3643c72bb68d 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
> @@ -3323,7 +3323,7 @@ int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
>   	if (ret)
>   		return ret;
>   
> -	txpower = mt7915_get_power_bound(phy, txpower);
> +	txpower = mt76_get_power_bound(mphy, txpower);
>   	if (txpower > mphy->txpower_cur || txpower < 0)
>   		return -EINVAL;
>   
> @@ -3373,7 +3373,7 @@ int mt7915_mcu_set_txpower_sku(struct mt7915_phy *phy)
>   	int i, idx;
>   	int tx_power;
>   
> -	tx_power = mt7915_get_power_bound(phy, hw->conf.power_level);
> +	tx_power = mt76_get_power_bound(mphy, hw->conf.power_level);
>   	tx_power = mt76_get_rate_power_limits(mphy, mphy->chandef.chan,
>   					      &limits_array, tx_power);
>   	mphy->txpower_cur = tx_power;
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.h b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.h
> index 49476a4182fd..092ed504a8f2 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.h
> +++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.h
> @@ -515,16 +515,4 @@ enum {
>   					 sizeof(struct bss_info_bmc_rate) +\
>   					 sizeof(struct bss_info_ext_bss))
>   
> -static inline s8
> -mt7915_get_power_bound(struct mt7915_phy *phy, s8 txpower)
> -{
> -	struct mt76_phy *mphy = phy->mt76;
> -	int n_chains = hweight16(mphy->chainmask);
> -
> -	txpower = mt76_get_sar_power(mphy, mphy->chandef.chan, txpower * 2);
> -	txpower -= mt76_tx_power_nss_delta(n_chains);
> -
> -	return txpower;
> -}
> -
>   #endif
diff mbox series

Patch

diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c b/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
index 578013884e43..db8560f7e657 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
@@ -1084,13 +1084,13 @@  mt7915_rate_txpower_set(struct file *file, const char __user *user_buf,
 		return -EINVAL;
 
 	if (pwr160)
-		pwr160 = mt7915_get_power_bound(phy, pwr160);
+		pwr160 = mt76_get_power_bound(mphy, pwr160);
 	if (pwr80)
-		pwr80 = mt7915_get_power_bound(phy, pwr80);
+		pwr80 = mt76_get_power_bound(mphy, pwr80);
 	if (pwr40)
-		pwr40 = mt7915_get_power_bound(phy, pwr40);
+		pwr40 = mt76_get_power_bound(mphy, pwr40);
 	if (pwr20)
-		pwr20 = mt7915_get_power_bound(phy, pwr20);
+		pwr20 = mt76_get_power_bound(mphy, pwr20);
 
 	if (pwr160 < 0 || pwr80 < 0 || pwr40 < 0 || pwr20 < 0)
 		return -EINVAL;
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
index 9d790f234e82..3643c72bb68d 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
@@ -3323,7 +3323,7 @@  int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
 	if (ret)
 		return ret;
 
-	txpower = mt7915_get_power_bound(phy, txpower);
+	txpower = mt76_get_power_bound(mphy, txpower);
 	if (txpower > mphy->txpower_cur || txpower < 0)
 		return -EINVAL;
 
@@ -3373,7 +3373,7 @@  int mt7915_mcu_set_txpower_sku(struct mt7915_phy *phy)
 	int i, idx;
 	int tx_power;
 
-	tx_power = mt7915_get_power_bound(phy, hw->conf.power_level);
+	tx_power = mt76_get_power_bound(mphy, hw->conf.power_level);
 	tx_power = mt76_get_rate_power_limits(mphy, mphy->chandef.chan,
 					      &limits_array, tx_power);
 	mphy->txpower_cur = tx_power;
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.h b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.h
index 49476a4182fd..092ed504a8f2 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.h
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.h
@@ -515,16 +515,4 @@  enum {
 					 sizeof(struct bss_info_bmc_rate) +\
 					 sizeof(struct bss_info_ext_bss))
 
-static inline s8
-mt7915_get_power_bound(struct mt7915_phy *phy, s8 txpower)
-{
-	struct mt76_phy *mphy = phy->mt76;
-	int n_chains = hweight16(mphy->chainmask);
-
-	txpower = mt76_get_sar_power(mphy, mphy->chandef.chan, txpower * 2);
-	txpower -= mt76_tx_power_nss_delta(n_chains);
-
-	return txpower;
-}
-
 #endif