@@ -120,37 +120,20 @@ int iwl_mld_config_sar_profile(struct iwl_mld *mld, int prof_a, int prof_b)
120
120
u32 cmd_id = REDUCE_TX_POWER_CMD ;
121
121
struct iwl_dev_tx_power_cmd cmd = {
122
122
.common .set_mode = cpu_to_le32 (IWL_TX_POWER_MODE_SET_CHAINS ),
123
+ .v10 .flags = cpu_to_le32 (mld -> fwrt .reduced_power_flags ),
123
124
};
124
- __le16 * per_chain ;
125
125
int ret ;
126
- u16 len = sizeof (cmd .common );
127
- u32 n_subbands ;
128
- u8 cmd_ver = iwl_fw_lookup_cmd_ver (mld -> fw , cmd_id ,
129
- IWL_FW_CMD_VER_UNKNOWN );
130
-
131
- if (cmd_ver == 10 ) {
132
- len += sizeof (cmd .v10 );
133
- n_subbands = IWL_NUM_SUB_BANDS_V2 ;
134
- per_chain = & cmd .v10 .per_chain [0 ][0 ][0 ];
135
- cmd .v10 .flags =
136
- cpu_to_le32 (mld -> fwrt .reduced_power_flags );
137
- } else if (cmd_ver == 9 ) {
138
- len += sizeof (cmd .v9 );
139
- n_subbands = IWL_NUM_SUB_BANDS_V1 ;
140
- per_chain = & cmd .v9 .per_chain [0 ][0 ];
141
- } else {
142
- return - EOPNOTSUPP ;
143
- }
144
126
145
127
/* TODO: CDB - support IWL_NUM_CHAIN_TABLES_V2 */
146
- ret = iwl_sar_fill_profile (& mld -> fwrt , per_chain ,
147
- IWL_NUM_CHAIN_TABLES ,
148
- n_subbands , prof_a , prof_b );
128
+ ret = iwl_sar_fill_profile (& mld -> fwrt , & cmd . v10 . per_chain [ 0 ][ 0 ][ 0 ] ,
129
+ IWL_NUM_CHAIN_TABLES , IWL_NUM_SUB_BANDS_V2 ,
130
+ prof_a , prof_b );
149
131
/* return on error or if the profile is disabled (positive number) */
150
132
if (ret )
151
133
return ret ;
152
134
153
- return iwl_mld_send_cmd_pdu (mld , cmd_id , & cmd , len );
135
+ return iwl_mld_send_cmd_pdu (mld , cmd_id , & cmd ,
136
+ sizeof (cmd .common ) + sizeof (cmd .v10 ));
154
137
}
155
138
156
139
int iwl_mld_init_sar (struct iwl_mld * mld )
0 commit comments