Skip to content

Commit b3f3a73

Browse files
committed
wifi: iwlwifi: mvm: support iwl_dev_tx_power_cmd_v8
jira LE-2157 Rebuild_History Non-Buildable kernel-5.14.0-503.14.1.el9_5 commit-author Emmanuel Grumbach <emmanuel.grumbach@intel.com> commit 8f892e2 This just adds a __le32 that we (currently) don't use. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://msgid.link/20240319100755.29ff7a88ddac.I39cf2ff1d1ddf0fa62722538698dc7f21aaaf39e@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com> (cherry picked from commit 8f892e2) Signed-off-by: Jonathan Maple <jmaple@ciq.com>
1 parent d0dfbbd commit b3f3a73

File tree

3 files changed

+36
-2
lines changed

3 files changed

+36
-2
lines changed

drivers/net/wireless/intel/iwlwifi/fw/api/power.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,13 +385,42 @@ struct iwl_dev_tx_power_cmd_v7 {
385385
__le32 timer_period;
386386
__le32 flags;
387387
} __packed; /* TX_REDUCED_POWER_API_S_VER_7 */
388+
389+
/**
390+
* struct iwl_dev_tx_power_cmd_v8 - TX power reduction command version 8
391+
* @per_chain: per chain restrictions
392+
* @enable_ack_reduction: enable or disable close range ack TX power
393+
* reduction.
394+
* @per_chain_restriction_changed: is per_chain_restriction has changed
395+
* from last command. used if set_mode is
396+
* IWL_TX_POWER_MODE_SET_SAR_TIMER.
397+
* note: if not changed, the command is used for keep alive only.
398+
* @reserved: reserved (padding)
399+
* @timer_period: timer in milliseconds. if expires FW will change to default
400+
* BIOS values. relevant if setMode is IWL_TX_POWER_MODE_SET_SAR_TIMER
401+
* @flags: reduce power flags.
402+
* @tpc_vlp_backoff_level: user backoff of UNII5,7 VLP channels in USA.
403+
* Not in use.
404+
*/
405+
struct iwl_dev_tx_power_cmd_v8 {
406+
__le16 per_chain[IWL_NUM_CHAIN_TABLES_V2][IWL_NUM_CHAIN_LIMITS][IWL_NUM_SUB_BANDS_V2];
407+
u8 enable_ack_reduction;
408+
u8 per_chain_restriction_changed;
409+
u8 reserved[2];
410+
__le32 timer_period;
411+
__le32 flags;
412+
__le32 tpc_vlp_backoff_level;
413+
} __packed; /* TX_REDUCED_POWER_API_S_VER_8 */
414+
388415
/**
389416
* struct iwl_dev_tx_power_cmd - TX power reduction command (multiversion)
390417
* @common: common part of the command
391418
* @v3: version 3 part of the command
392419
* @v4: version 4 part of the command
393420
* @v5: version 5 part of the command
394421
* @v6: version 6 part of the command
422+
* @v7: version 7 part of the command
423+
* @v8: version 8 part of the command
395424
*/
396425
struct iwl_dev_tx_power_cmd {
397426
struct iwl_dev_tx_power_common common;
@@ -401,6 +430,7 @@ struct iwl_dev_tx_power_cmd {
401430
struct iwl_dev_tx_power_cmd_v5 v5;
402431
struct iwl_dev_tx_power_cmd_v6 v6;
403432
struct iwl_dev_tx_power_cmd_v7 v7;
433+
struct iwl_dev_tx_power_cmd_v8 v8;
404434
};
405435
};
406436

drivers/net/wireless/intel/iwlwifi/mvm/fw.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -886,11 +886,13 @@ int iwl_mvm_sar_select_profile(struct iwl_mvm *mvm, int prof_a, int prof_b)
886886
u32 n_subbands;
887887
u8 cmd_ver = iwl_fw_lookup_cmd_ver(mvm->fw, cmd_id,
888888
IWL_FW_CMD_VER_UNKNOWN);
889-
if (cmd_ver == 7) {
889+
if (cmd_ver >= 7) {
890890
len = sizeof(cmd.v7);
891891
n_subbands = IWL_NUM_SUB_BANDS_V2;
892892
per_chain = cmd.v7.per_chain[0][0];
893893
cmd.v7.flags = cpu_to_le32(mvm->fwrt.reduced_power_flags);
894+
if (cmd_ver == 8)
895+
len = sizeof(cmd.v8);
894896
} else if (cmd_ver == 6) {
895897
len = sizeof(cmd.v6);
896898
n_subbands = IWL_NUM_SUB_BANDS_V2;

drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1402,7 +1402,9 @@ int iwl_mvm_set_tx_power(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
14021402
if (tx_power == IWL_DEFAULT_MAX_TX_POWER)
14031403
cmd.common.pwr_restriction = cpu_to_le16(IWL_DEV_MAX_TX_POWER);
14041404

1405-
if (cmd_ver == 7)
1405+
if (cmd_ver == 8)
1406+
len = sizeof(cmd.v8);
1407+
else if (cmd_ver == 7)
14061408
len = sizeof(cmd.v7);
14071409
else if (cmd_ver == 6)
14081410
len = sizeof(cmd.v6);

0 commit comments

Comments
 (0)