Skip to content

Commit 23eca34

Browse files
jbrandebanguy11
authored andcommitted
ice: field prep conversion
Refactor ice driver to use FIELD_PREP(), which reduces lines of code and adds clarity of intent. This code was generated by the following coccinelle/spatch script and then manually repaired. Several places I changed to OR into a single variable with |= instead of using a multi-line statement with trailing OR operators, as it (subjectively) makes the code clearer. A local variable vmvf_and_timeout was created and used to avoid multiple logical ORs being __le16 converted, which shortened some lines and makes the code cleaner. Also clean up a couple of places where conversions were made to have the code read more clearly/consistently. @prep2@ constant shift,mask; type T; expression a; @@ -(((T)(a) << shift) & mask) +FIELD_PREP(mask, a) @prep@ constant shift,mask; type T; expression a; @@ -((T)((a) << shift) & mask) +FIELD_PREP(mask, a) Cc: Julia Lawall <Julia.Lawall@inria.fr> CC: Alexander Lobakin <aleksander.lobakin@intel.com> Reviewed-by: Marcin Szycik <marcin.szycik@linux.intel.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
1 parent 9b7f180 commit 23eca34

14 files changed

Lines changed: 139 additions & 208 deletions

File tree

drivers/net/ethernet/intel/ice/ice_base.c

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -242,14 +242,10 @@ static void ice_cfg_itr_gran(struct ice_hw *hw)
242242
GLINT_CTL_ITR_GRAN_25_S) == ICE_ITR_GRAN_US))
243243
return;
244244

245-
regval = ((ICE_ITR_GRAN_US << GLINT_CTL_ITR_GRAN_200_S) &
246-
GLINT_CTL_ITR_GRAN_200_M) |
247-
((ICE_ITR_GRAN_US << GLINT_CTL_ITR_GRAN_100_S) &
248-
GLINT_CTL_ITR_GRAN_100_M) |
249-
((ICE_ITR_GRAN_US << GLINT_CTL_ITR_GRAN_50_S) &
250-
GLINT_CTL_ITR_GRAN_50_M) |
251-
((ICE_ITR_GRAN_US << GLINT_CTL_ITR_GRAN_25_S) &
252-
GLINT_CTL_ITR_GRAN_25_M);
245+
regval = FIELD_PREP(GLINT_CTL_ITR_GRAN_200_M, ICE_ITR_GRAN_US) |
246+
FIELD_PREP(GLINT_CTL_ITR_GRAN_100_M, ICE_ITR_GRAN_US) |
247+
FIELD_PREP(GLINT_CTL_ITR_GRAN_50_M, ICE_ITR_GRAN_US) |
248+
FIELD_PREP(GLINT_CTL_ITR_GRAN_25_M, ICE_ITR_GRAN_US);
253249
wr32(hw, GLINT_CTL, regval);
254250
}
255251

@@ -921,10 +917,10 @@ ice_cfg_txq_interrupt(struct ice_vsi *vsi, u16 txq, u16 msix_idx, u16 itr_idx)
921917
struct ice_hw *hw = &pf->hw;
922918
u32 val;
923919

924-
itr_idx = (itr_idx << QINT_TQCTL_ITR_INDX_S) & QINT_TQCTL_ITR_INDX_M;
920+
itr_idx = FIELD_PREP(QINT_TQCTL_ITR_INDX_M, itr_idx);
925921

926922
val = QINT_TQCTL_CAUSE_ENA_M | itr_idx |
927-
((msix_idx << QINT_TQCTL_MSIX_INDX_S) & QINT_TQCTL_MSIX_INDX_M);
923+
FIELD_PREP(QINT_TQCTL_MSIX_INDX_M, msix_idx);
928924

929925
wr32(hw, QINT_TQCTL(vsi->txq_map[txq]), val);
930926
if (ice_is_xdp_ena_vsi(vsi)) {
@@ -953,10 +949,10 @@ ice_cfg_rxq_interrupt(struct ice_vsi *vsi, u16 rxq, u16 msix_idx, u16 itr_idx)
953949
struct ice_hw *hw = &pf->hw;
954950
u32 val;
955951

956-
itr_idx = (itr_idx << QINT_RQCTL_ITR_INDX_S) & QINT_RQCTL_ITR_INDX_M;
952+
itr_idx = FIELD_PREP(QINT_RQCTL_ITR_INDX_M, itr_idx);
957953

958954
val = QINT_RQCTL_CAUSE_ENA_M | itr_idx |
959-
((msix_idx << QINT_RQCTL_MSIX_INDX_S) & QINT_RQCTL_MSIX_INDX_M);
955+
FIELD_PREP(QINT_RQCTL_MSIX_INDX_M, msix_idx);
960956

961957
wr32(hw, QINT_RQCTL(vsi->rxq_map[rxq]), val);
962958

drivers/net/ethernet/intel/ice/ice_common.c

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3884,6 +3884,7 @@ ice_aq_sff_eeprom(struct ice_hw *hw, u16 lport, u8 bus_addr,
38843884
{
38853885
struct ice_aqc_sff_eeprom *cmd;
38863886
struct ice_aq_desc desc;
3887+
u16 i2c_bus_addr;
38873888
int status;
38883889

38893890
if (!data || (mem_addr & 0xff00))
@@ -3894,15 +3895,13 @@ ice_aq_sff_eeprom(struct ice_hw *hw, u16 lport, u8 bus_addr,
38943895
desc.flags = cpu_to_le16(ICE_AQ_FLAG_RD);
38953896
cmd->lport_num = (u8)(lport & 0xff);
38963897
cmd->lport_num_valid = (u8)((lport >> 8) & 0x01);
3897-
cmd->i2c_bus_addr = cpu_to_le16(((bus_addr >> 1) &
3898-
ICE_AQC_SFF_I2CBUS_7BIT_M) |
3899-
((set_page <<
3900-
ICE_AQC_SFF_SET_EEPROM_PAGE_S) &
3901-
ICE_AQC_SFF_SET_EEPROM_PAGE_M));
3902-
cmd->i2c_mem_addr = cpu_to_le16(mem_addr & 0xff);
3903-
cmd->eeprom_page = cpu_to_le16((u16)page << ICE_AQC_SFF_EEPROM_PAGE_S);
3898+
i2c_bus_addr = FIELD_PREP(ICE_AQC_SFF_I2CBUS_7BIT_M, bus_addr >> 1) |
3899+
FIELD_PREP(ICE_AQC_SFF_SET_EEPROM_PAGE_M, set_page);
39043900
if (write)
3905-
cmd->i2c_bus_addr |= cpu_to_le16(ICE_AQC_SFF_IS_WRITE);
3901+
i2c_bus_addr |= ICE_AQC_SFF_IS_WRITE;
3902+
cmd->i2c_bus_addr = cpu_to_le16(i2c_bus_addr);
3903+
cmd->i2c_mem_addr = cpu_to_le16(mem_addr & 0xff);
3904+
cmd->eeprom_page = le16_encode_bits(page, ICE_AQC_SFF_EEPROM_PAGE_M);
39063905

39073906
status = ice_aq_send_cmd(hw, &desc, data, length, cd);
39083907
return status;
@@ -4157,6 +4156,7 @@ ice_aq_dis_lan_txq(struct ice_hw *hw, u8 num_qgrps,
41574156
struct ice_aqc_dis_txq_item *item;
41584157
struct ice_aqc_dis_txqs *cmd;
41594158
struct ice_aq_desc desc;
4159+
u16 vmvf_and_timeout;
41604160
u16 i, sz = 0;
41614161
int status;
41624162

@@ -4172,27 +4172,26 @@ ice_aq_dis_lan_txq(struct ice_hw *hw, u8 num_qgrps,
41724172

41734173
cmd->num_entries = num_qgrps;
41744174

4175-
cmd->vmvf_and_timeout = cpu_to_le16((5 << ICE_AQC_Q_DIS_TIMEOUT_S) &
4176-
ICE_AQC_Q_DIS_TIMEOUT_M);
4175+
vmvf_and_timeout = FIELD_PREP(ICE_AQC_Q_DIS_TIMEOUT_M, 5);
41774176

41784177
switch (rst_src) {
41794178
case ICE_VM_RESET:
41804179
cmd->cmd_type = ICE_AQC_Q_DIS_CMD_VM_RESET;
4181-
cmd->vmvf_and_timeout |=
4182-
cpu_to_le16(vmvf_num & ICE_AQC_Q_DIS_VMVF_NUM_M);
4180+
vmvf_and_timeout |= vmvf_num & ICE_AQC_Q_DIS_VMVF_NUM_M;
41834181
break;
41844182
case ICE_VF_RESET:
41854183
cmd->cmd_type = ICE_AQC_Q_DIS_CMD_VF_RESET;
41864184
/* In this case, FW expects vmvf_num to be absolute VF ID */
4187-
cmd->vmvf_and_timeout |=
4188-
cpu_to_le16((vmvf_num + hw->func_caps.vf_base_id) &
4189-
ICE_AQC_Q_DIS_VMVF_NUM_M);
4185+
vmvf_and_timeout |= (vmvf_num + hw->func_caps.vf_base_id) &
4186+
ICE_AQC_Q_DIS_VMVF_NUM_M;
41904187
break;
41914188
case ICE_NO_RESET:
41924189
default:
41934190
break;
41944191
}
41954192

4193+
cmd->vmvf_and_timeout = cpu_to_le16(vmvf_and_timeout);
4194+
41964195
/* flush pipe on time out */
41974196
cmd->cmd_type |= ICE_AQC_Q_DIS_CMD_FLUSH_PIPE;
41984197
/* If no queue group info, we are in a reset flow. Issue the AQ */
@@ -4267,10 +4266,8 @@ ice_aq_cfg_lan_txq(struct ice_hw *hw, struct ice_aqc_cfg_txqs_buf *buf,
42674266
cmd->cmd_type = ICE_AQC_Q_CFG_TC_CHNG;
42684267
cmd->num_qs = num_qs;
42694268
cmd->port_num_chng = (oldport & ICE_AQC_Q_CFG_SRC_PRT_M);
4270-
cmd->port_num_chng |= (newport << ICE_AQC_Q_CFG_DST_PRT_S) &
4271-
ICE_AQC_Q_CFG_DST_PRT_M;
4272-
cmd->time_out = (5 << ICE_AQC_Q_CFG_TIMEOUT_S) &
4273-
ICE_AQC_Q_CFG_TIMEOUT_M;
4269+
cmd->port_num_chng |= FIELD_PREP(ICE_AQC_Q_CFG_DST_PRT_M, newport);
4270+
cmd->time_out = FIELD_PREP(ICE_AQC_Q_CFG_TIMEOUT_M, 5);
42744271
cmd->blocked_cgds = 0;
42754272

42764273
status = ice_aq_send_cmd(hw, &desc, buf, buf_size, cd);

drivers/net/ethernet/intel/ice/ice_dcb.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@ ice_aq_get_lldp_mib(struct ice_hw *hw, u8 bridge_type, u8 mib_type, void *buf,
3535
ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_lldp_get_mib);
3636

3737
cmd->type = mib_type & ICE_AQ_LLDP_MIB_TYPE_M;
38-
cmd->type |= (bridge_type << ICE_AQ_LLDP_BRID_TYPE_S) &
39-
ICE_AQ_LLDP_BRID_TYPE_M;
38+
cmd->type |= FIELD_PREP(ICE_AQ_LLDP_BRID_TYPE_M, bridge_type);
4039

4140
desc.datalen = cpu_to_le16(buf_size);
4241

drivers/net/ethernet/intel/ice/ice_dcb_lib.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -934,7 +934,7 @@ ice_tx_prepare_vlan_flags_dcb(struct ice_tx_ring *tx_ring,
934934
skb->priority != TC_PRIO_CONTROL) {
935935
first->vid &= ~VLAN_PRIO_MASK;
936936
/* Mask the lower 3 bits to set the 802.1p priority */
937-
first->vid |= (skb->priority << VLAN_PRIO_SHIFT) & VLAN_PRIO_MASK;
937+
first->vid |= FIELD_PREP(VLAN_PRIO_MASK, skb->priority);
938938
/* if this is not already set it means a VLAN 0 + priority needs
939939
* to be offloaded
940940
*/

drivers/net/ethernet/intel/ice/ice_eswitch.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,8 +358,8 @@ ice_eswitch_set_target_vsi(struct sk_buff *skb,
358358
off->cd_qw1 |= (cd_cmd | ICE_TX_DESC_DTYPE_CTX);
359359
} else {
360360
cd_cmd = ICE_TX_CTX_DESC_SWTCH_VSI << ICE_TXD_CTX_QW1_CMD_S;
361-
dst_vsi = ((u64)dst->u.port_info.port_id <<
362-
ICE_TXD_CTX_QW1_VSI_S) & ICE_TXD_CTX_QW1_VSI_M;
361+
dst_vsi = FIELD_PREP(ICE_TXD_CTX_QW1_VSI_M,
362+
dst->u.port_info.port_id);
363363
off->cd_qw1 = cd_cmd | dst_vsi | ICE_TX_DESC_DTYPE_CTX;
364364
}
365365
}

drivers/net/ethernet/intel/ice/ice_fdir.c

Lines changed: 23 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -604,55 +604,32 @@ ice_set_fd_desc_val(struct ice_fd_fltr_desc_ctx *ctx,
604604
u64 qword;
605605

606606
/* prep QW0 of FD filter programming desc */
607-
qword = ((u64)ctx->qindex << ICE_FXD_FLTR_QW0_QINDEX_S) &
608-
ICE_FXD_FLTR_QW0_QINDEX_M;
609-
qword |= ((u64)ctx->comp_q << ICE_FXD_FLTR_QW0_COMP_Q_S) &
610-
ICE_FXD_FLTR_QW0_COMP_Q_M;
611-
qword |= ((u64)ctx->comp_report << ICE_FXD_FLTR_QW0_COMP_REPORT_S) &
612-
ICE_FXD_FLTR_QW0_COMP_REPORT_M;
613-
qword |= ((u64)ctx->fd_space << ICE_FXD_FLTR_QW0_FD_SPACE_S) &
614-
ICE_FXD_FLTR_QW0_FD_SPACE_M;
615-
qword |= ((u64)ctx->cnt_index << ICE_FXD_FLTR_QW0_STAT_CNT_S) &
616-
ICE_FXD_FLTR_QW0_STAT_CNT_M;
617-
qword |= ((u64)ctx->cnt_ena << ICE_FXD_FLTR_QW0_STAT_ENA_S) &
618-
ICE_FXD_FLTR_QW0_STAT_ENA_M;
619-
qword |= ((u64)ctx->evict_ena << ICE_FXD_FLTR_QW0_EVICT_ENA_S) &
620-
ICE_FXD_FLTR_QW0_EVICT_ENA_M;
621-
qword |= ((u64)ctx->toq << ICE_FXD_FLTR_QW0_TO_Q_S) &
622-
ICE_FXD_FLTR_QW0_TO_Q_M;
623-
qword |= ((u64)ctx->toq_prio << ICE_FXD_FLTR_QW0_TO_Q_PRI_S) &
624-
ICE_FXD_FLTR_QW0_TO_Q_PRI_M;
625-
qword |= ((u64)ctx->dpu_recipe << ICE_FXD_FLTR_QW0_DPU_RECIPE_S) &
626-
ICE_FXD_FLTR_QW0_DPU_RECIPE_M;
627-
qword |= ((u64)ctx->drop << ICE_FXD_FLTR_QW0_DROP_S) &
628-
ICE_FXD_FLTR_QW0_DROP_M;
629-
qword |= ((u64)ctx->flex_prio << ICE_FXD_FLTR_QW0_FLEX_PRI_S) &
630-
ICE_FXD_FLTR_QW0_FLEX_PRI_M;
631-
qword |= ((u64)ctx->flex_mdid << ICE_FXD_FLTR_QW0_FLEX_MDID_S) &
632-
ICE_FXD_FLTR_QW0_FLEX_MDID_M;
633-
qword |= ((u64)ctx->flex_val << ICE_FXD_FLTR_QW0_FLEX_VAL_S) &
634-
ICE_FXD_FLTR_QW0_FLEX_VAL_M;
607+
qword = FIELD_PREP(ICE_FXD_FLTR_QW0_QINDEX_M, ctx->qindex);
608+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_COMP_Q_M, ctx->comp_q);
609+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_COMP_REPORT_M, ctx->comp_report);
610+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_FD_SPACE_M, ctx->fd_space);
611+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_STAT_CNT_M, ctx->cnt_index);
612+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_STAT_ENA_M, ctx->cnt_ena);
613+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_EVICT_ENA_M, ctx->evict_ena);
614+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_TO_Q_M, ctx->toq);
615+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_TO_Q_PRI_M, ctx->toq_prio);
616+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_DPU_RECIPE_M, ctx->dpu_recipe);
617+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_DROP_M, ctx->drop);
618+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_FLEX_PRI_M, ctx->flex_prio);
619+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_FLEX_MDID_M, ctx->flex_mdid);
620+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW0_FLEX_VAL_M, ctx->flex_val);
635621
fdir_desc->qidx_compq_space_stat = cpu_to_le64(qword);
636622

637623
/* prep QW1 of FD filter programming desc */
638-
qword = ((u64)ctx->dtype << ICE_FXD_FLTR_QW1_DTYPE_S) &
639-
ICE_FXD_FLTR_QW1_DTYPE_M;
640-
qword |= ((u64)ctx->pcmd << ICE_FXD_FLTR_QW1_PCMD_S) &
641-
ICE_FXD_FLTR_QW1_PCMD_M;
642-
qword |= ((u64)ctx->desc_prof_prio << ICE_FXD_FLTR_QW1_PROF_PRI_S) &
643-
ICE_FXD_FLTR_QW1_PROF_PRI_M;
644-
qword |= ((u64)ctx->desc_prof << ICE_FXD_FLTR_QW1_PROF_S) &
645-
ICE_FXD_FLTR_QW1_PROF_M;
646-
qword |= ((u64)ctx->fd_vsi << ICE_FXD_FLTR_QW1_FD_VSI_S) &
647-
ICE_FXD_FLTR_QW1_FD_VSI_M;
648-
qword |= ((u64)ctx->swap << ICE_FXD_FLTR_QW1_SWAP_S) &
649-
ICE_FXD_FLTR_QW1_SWAP_M;
650-
qword |= ((u64)ctx->fdid_prio << ICE_FXD_FLTR_QW1_FDID_PRI_S) &
651-
ICE_FXD_FLTR_QW1_FDID_PRI_M;
652-
qword |= ((u64)ctx->fdid_mdid << ICE_FXD_FLTR_QW1_FDID_MDID_S) &
653-
ICE_FXD_FLTR_QW1_FDID_MDID_M;
654-
qword |= ((u64)ctx->fdid << ICE_FXD_FLTR_QW1_FDID_S) &
655-
ICE_FXD_FLTR_QW1_FDID_M;
624+
qword = FIELD_PREP(ICE_FXD_FLTR_QW1_DTYPE_M, ctx->dtype);
625+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW1_PCMD_M, ctx->pcmd);
626+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW1_PROF_PRI_M, ctx->desc_prof_prio);
627+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW1_PROF_M, ctx->desc_prof);
628+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW1_FD_VSI_M, ctx->fd_vsi);
629+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW1_SWAP_M, ctx->swap);
630+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW1_FDID_PRI_M, ctx->fdid_prio);
631+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW1_FDID_MDID_M, ctx->fdid_mdid);
632+
qword |= FIELD_PREP(ICE_FXD_FLTR_QW1_FDID_M, ctx->fdid);
656633
fdir_desc->dtype_cmd_vsi_fdid = cpu_to_le64(qword);
657634
}
658635

drivers/net/ethernet/intel/ice/ice_flex_pipe.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1414,13 +1414,13 @@ ice_write_prof_mask_reg(struct ice_hw *hw, enum ice_block blk, u16 mask_idx,
14141414
switch (blk) {
14151415
case ICE_BLK_RSS:
14161416
offset = GLQF_HMASK(mask_idx);
1417-
val = (idx << GLQF_HMASK_MSK_INDEX_S) & GLQF_HMASK_MSK_INDEX_M;
1418-
val |= (mask << GLQF_HMASK_MASK_S) & GLQF_HMASK_MASK_M;
1417+
val = FIELD_PREP(GLQF_HMASK_MSK_INDEX_M, idx);
1418+
val |= FIELD_PREP(GLQF_HMASK_MASK_M, mask);
14191419
break;
14201420
case ICE_BLK_FD:
14211421
offset = GLQF_FDMASK(mask_idx);
1422-
val = (idx << GLQF_FDMASK_MSK_INDEX_S) & GLQF_FDMASK_MSK_INDEX_M;
1423-
val |= (mask << GLQF_FDMASK_MASK_S) & GLQF_FDMASK_MASK_M;
1422+
val = FIELD_PREP(GLQF_FDMASK_MSK_INDEX_M, idx);
1423+
val |= FIELD_PREP(GLQF_FDMASK_MASK_M, mask);
14241424
break;
14251425
default:
14261426
ice_debug(hw, ICE_DBG_PKG, "No profile masks for block %d\n",

drivers/net/ethernet/intel/ice/ice_lag.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,7 @@ ice_lag_cfg_fltr(struct ice_lag *lag, u32 act, u16 recipe_id, u16 *rule_idx,
208208
eth_hdr = s_rule->hdr_data;
209209
ice_fill_eth_hdr(eth_hdr);
210210

211-
act |= (vsi_num << ICE_SINGLE_ACT_VSI_ID_S) &
212-
ICE_SINGLE_ACT_VSI_ID_M;
211+
act |= FIELD_PREP(ICE_SINGLE_ACT_VSI_ID_M, vsi_num);
213212

214213
s_rule->hdr.type = cpu_to_le16(ICE_AQC_SW_RULES_T_LKUP_RX);
215214
s_rule->recipe_id = cpu_to_le16(recipe_id);
@@ -754,9 +753,7 @@ ice_lag_cfg_cp_fltr(struct ice_lag *lag, bool add)
754753
s_rule->act = cpu_to_le32(ICE_FWD_TO_VSI |
755754
ICE_SINGLE_ACT_LAN_ENABLE |
756755
ICE_SINGLE_ACT_VALID_BIT |
757-
((vsi->vsi_num <<
758-
ICE_SINGLE_ACT_VSI_ID_S) &
759-
ICE_SINGLE_ACT_VSI_ID_M));
756+
FIELD_PREP(ICE_SINGLE_ACT_VSI_ID_M, vsi->vsi_num));
760757
s_rule->hdr_len = cpu_to_le16(ICE_LAG_SRIOV_TRAIN_PKT_LEN);
761758
memcpy(s_rule->hdr_data, lacp_train_pkt, LACP_TRAIN_PKT_LEN);
762759
opc = ice_aqc_opc_add_sw_rules;

drivers/net/ethernet/intel/ice/ice_lib.c

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -986,13 +986,11 @@ static void ice_set_dflt_vsi_ctx(struct ice_hw *hw, struct ice_vsi_ctx *ctxt)
986986
ctxt->info.inner_vlan_flags |=
987987
ICE_AQ_VSI_INNER_VLAN_EMODE_NOTHING;
988988
ctxt->info.outer_vlan_flags =
989-
(ICE_AQ_VSI_OUTER_VLAN_TX_MODE_ALL <<
990-
ICE_AQ_VSI_OUTER_VLAN_TX_MODE_S) &
991-
ICE_AQ_VSI_OUTER_VLAN_TX_MODE_M;
989+
FIELD_PREP(ICE_AQ_VSI_OUTER_VLAN_TX_MODE_M,
990+
ICE_AQ_VSI_OUTER_VLAN_TX_MODE_ALL);
992991
ctxt->info.outer_vlan_flags |=
993-
(ICE_AQ_VSI_OUTER_TAG_VLAN_8100 <<
994-
ICE_AQ_VSI_OUTER_TAG_TYPE_S) &
995-
ICE_AQ_VSI_OUTER_TAG_TYPE_M;
992+
FIELD_PREP(ICE_AQ_VSI_OUTER_TAG_TYPE_M,
993+
ICE_AQ_VSI_OUTER_TAG_VLAN_8100);
996994
ctxt->info.outer_vlan_flags |=
997995
FIELD_PREP(ICE_AQ_VSI_OUTER_VLAN_EMODE_M,
998996
ICE_AQ_VSI_OUTER_VLAN_EMODE_NOTHING);
@@ -1071,10 +1069,8 @@ static int ice_vsi_setup_q_map(struct ice_vsi *vsi, struct ice_vsi_ctx *ctxt)
10711069
vsi->tc_cfg.tc_info[i].qcount_tx = num_txq_per_tc;
10721070
vsi->tc_cfg.tc_info[i].netdev_tc = netdev_tc++;
10731071

1074-
qmap = ((offset << ICE_AQ_VSI_TC_Q_OFFSET_S) &
1075-
ICE_AQ_VSI_TC_Q_OFFSET_M) |
1076-
((pow << ICE_AQ_VSI_TC_Q_NUM_S) &
1077-
ICE_AQ_VSI_TC_Q_NUM_M);
1072+
qmap = FIELD_PREP(ICE_AQ_VSI_TC_Q_OFFSET_M, offset);
1073+
qmap |= FIELD_PREP(ICE_AQ_VSI_TC_Q_NUM_M, pow);
10781074
offset += num_rxq_per_tc;
10791075
tx_count += num_txq_per_tc;
10801076
ctxt->info.tc_mapping[i] = cpu_to_le16(qmap);
@@ -1157,18 +1153,14 @@ static void ice_set_fd_vsi_ctx(struct ice_vsi_ctx *ctxt, struct ice_vsi *vsi)
11571153
ctxt->info.max_fd_fltr_shared =
11581154
cpu_to_le16(vsi->num_bfltr);
11591155
/* default queue index within the VSI of the default FD */
1160-
val = ((dflt_q << ICE_AQ_VSI_FD_DEF_Q_S) &
1161-
ICE_AQ_VSI_FD_DEF_Q_M);
1156+
val = FIELD_PREP(ICE_AQ_VSI_FD_DEF_Q_M, dflt_q);
11621157
/* target queue or queue group to the FD filter */
1163-
val |= ((dflt_q_group << ICE_AQ_VSI_FD_DEF_GRP_S) &
1164-
ICE_AQ_VSI_FD_DEF_GRP_M);
1158+
val |= FIELD_PREP(ICE_AQ_VSI_FD_DEF_GRP_M, dflt_q_group);
11651159
ctxt->info.fd_def_q = cpu_to_le16(val);
11661160
/* queue index on which FD filter completion is reported */
1167-
val = ((report_q << ICE_AQ_VSI_FD_REPORT_Q_S) &
1168-
ICE_AQ_VSI_FD_REPORT_Q_M);
1161+
val = FIELD_PREP(ICE_AQ_VSI_FD_REPORT_Q_M, report_q);
11691162
/* priority of the default qindex action */
1170-
val |= ((dflt_q_prio << ICE_AQ_VSI_FD_DEF_PRIORITY_S) &
1171-
ICE_AQ_VSI_FD_DEF_PRIORITY_M);
1163+
val |= FIELD_PREP(ICE_AQ_VSI_FD_DEF_PRIORITY_M, dflt_q_prio);
11721164
ctxt->info.fd_report_opt = cpu_to_le16(val);
11731165
}
11741166

@@ -1221,10 +1213,8 @@ ice_chnl_vsi_setup_q_map(struct ice_vsi *vsi, struct ice_vsi_ctx *ctxt)
12211213
qcount = min_t(int, vsi->num_rxq, pf->num_lan_msix);
12221214

12231215
pow = order_base_2(qcount);
1224-
qmap = ((offset << ICE_AQ_VSI_TC_Q_OFFSET_S) &
1225-
ICE_AQ_VSI_TC_Q_OFFSET_M) |
1226-
((pow << ICE_AQ_VSI_TC_Q_NUM_S) &
1227-
ICE_AQ_VSI_TC_Q_NUM_M);
1216+
qmap = FIELD_PREP(ICE_AQ_VSI_TC_Q_OFFSET_M, offset);
1217+
qmap |= FIELD_PREP(ICE_AQ_VSI_TC_Q_NUM_M, pow);
12281218

12291219
ctxt->info.tc_mapping[0] = cpu_to_le16(qmap);
12301220
ctxt->info.mapping_flags |= cpu_to_le16(ICE_AQ_VSI_Q_MAP_CONTIG);
@@ -1795,11 +1785,8 @@ ice_write_qrxflxp_cntxt(struct ice_hw *hw, u16 pf_q, u32 rxdid, u32 prio,
17951785
QRXFLXP_CNTXT_RXDID_PRIO_M |
17961786
QRXFLXP_CNTXT_TS_M);
17971787

1798-
regval |= (rxdid << QRXFLXP_CNTXT_RXDID_IDX_S) &
1799-
QRXFLXP_CNTXT_RXDID_IDX_M;
1800-
1801-
regval |= (prio << QRXFLXP_CNTXT_RXDID_PRIO_S) &
1802-
QRXFLXP_CNTXT_RXDID_PRIO_M;
1788+
regval |= FIELD_PREP(QRXFLXP_CNTXT_RXDID_IDX_M, rxdid);
1789+
regval |= FIELD_PREP(QRXFLXP_CNTXT_RXDID_PRIO_M, prio);
18031790

18041791
if (ena_ts)
18051792
/* Enable TimeSync on this queue */
@@ -3392,9 +3379,8 @@ ice_vsi_setup_q_map_mqprio(struct ice_vsi *vsi, struct ice_vsi_ctx *ctxt,
33923379
vsi->tc_cfg.ena_tc = ena_tc ? ena_tc : 1;
33933380

33943381
pow = order_base_2(tc0_qcount);
3395-
qmap = ((tc0_offset << ICE_AQ_VSI_TC_Q_OFFSET_S) &
3396-
ICE_AQ_VSI_TC_Q_OFFSET_M) |
3397-
((pow << ICE_AQ_VSI_TC_Q_NUM_S) & ICE_AQ_VSI_TC_Q_NUM_M);
3382+
qmap = FIELD_PREP(ICE_AQ_VSI_TC_Q_OFFSET_M, tc0_offset);
3383+
qmap |= FIELD_PREP(ICE_AQ_VSI_TC_Q_NUM_M, pow);
33983384

33993385
ice_for_each_traffic_class(i) {
34003386
if (!(vsi->tc_cfg.ena_tc & BIT(i))) {

0 commit comments

Comments
 (0)