There is no more space for tc flags. Change u32 to u64. Use BIT_ULL instead of BIT.
Assisted-by: Copilot:claude-opus-5 Signed-off-by: Michal Swiatkowski <[email protected]> --- drivers/net/ethernet/intel/ice/ice_main.c | 2 +- drivers/net/ethernet/intel/ice/ice_tc_lib.c | 16 ++--- drivers/net/ethernet/intel/ice/ice_tc_lib.h | 66 ++++++++++----------- 3 files changed, 42 insertions(+), 42 deletions(-) diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c index ff2d6d4f942a..005fb77ef7fd 100644 --- a/drivers/net/ethernet/intel/ice/ice_main.c +++ b/drivers/net/ethernet/intel/ice/ice_main.c @@ -8973,7 +8973,7 @@ static void ice_rem_all_chnl_fltrs(struct ice_pf *pf) } else if (fltr->dest_vsi) { /* update advanced switch filter count */ if (fltr->dest_vsi->type == ICE_VSI_CHNL) { - u32 flags = fltr->flags; + u64 flags = fltr->flags; fltr->dest_vsi->num_chnl_fltr--; if (flags & (ICE_TC_FLWR_FIELD_DST_MAC | diff --git a/drivers/net/ethernet/intel/ice/ice_tc_lib.c b/drivers/net/ethernet/intel/ice/ice_tc_lib.c index 628b2184df00..560d939b2008 100644 --- a/drivers/net/ethernet/intel/ice/ice_tc_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_tc_lib.c @@ -16,7 +16,7 @@ * * Return: lookup count based on TC flower input for a switch filter. */ -static int ice_tc_count_lkups(u32 flags, struct ice_tc_flower_fltr *fltr) +static int ice_tc_count_lkups(u64 flags, struct ice_tc_flower_fltr *fltr) { int lkups_cnt = 1; /* 0th lookup is metadata */ @@ -182,7 +182,7 @@ static u16 ice_check_supported_vlan_tpid(u16 vlan_tpid) } static int -ice_tc_fill_tunnel_outer(u32 flags, struct ice_tc_flower_fltr *fltr, +ice_tc_fill_tunnel_outer(u64 flags, struct ice_tc_flower_fltr *fltr, struct ice_adv_lkup_elem *list, int i) { struct ice_tc_flower_lyr_2_4_hdrs *hdr = &fltr->outer_headers; @@ -369,7 +369,7 @@ ice_tc_fill_tunnel_outer(u32 flags, struct ice_tc_flower_fltr *fltr, * advance filter in hardware. */ static int -ice_tc_fill_rules(struct ice_hw *hw, u32 flags, +ice_tc_fill_rules(struct ice_hw *hw, u64 flags, struct ice_tc_flower_fltr *tc_fltr, struct ice_adv_lkup_elem *list, struct ice_adv_rule_info *rule_info, @@ -932,7 +932,7 @@ ice_eswitch_add_tc_fltr(struct ice_vsi *vsi, struct ice_tc_flower_fltr *fltr) struct ice_rule_query_data rule_added; struct ice_hw *hw = &vsi->back->hw; struct ice_adv_lkup_elem *list; - u32 flags = fltr->flags; + u64 flags = fltr->flags; int lkups_cnt; int ret; int i; @@ -1161,7 +1161,7 @@ ice_add_tc_flower_adv_fltr(struct ice_vsi *vsi, struct ice_adv_lkup_elem *list; struct ice_pf *pf = vsi->back; struct ice_hw *hw = &pf->hw; - u32 flags = tc_fltr->flags; + u64 flags = tc_fltr->flags; struct ice_vsi *dest_vsi; struct device *dev; u16 lkups_cnt = 0; @@ -1279,19 +1279,19 @@ ice_add_tc_flower_adv_fltr(struct ice_vsi *vsi, } switch (tc_fltr->action.fltr_act) { case ICE_FWD_TO_VSI: - dev_dbg(dev, "added switch rule (lkups_cnt %u, flags 0x%x), action is forward to TC %u, rid %u, rule_id %u, vsi_idx %u\n", + dev_dbg(dev, "added switch rule (lkups_cnt %u, flags 0x%llx), action is forward to TC %u, rid %u, rule_id %u, vsi_idx %u\n", lkups_cnt, flags, tc_fltr->action.fwd.tc.tc_class, rule_added.rid, rule_added.rule_id, rule_added.vsi_handle); break; case ICE_FWD_TO_Q: - dev_dbg(dev, "added switch rule (lkups_cnt %u, flags 0x%x), action is forward to queue: %u (HW queue %u) , rid %u, rule_id %u\n", + dev_dbg(dev, "added switch rule (lkups_cnt %u, flags 0x%llx), action is forward to queue: %u (HW queue %u) , rid %u, rule_id %u\n", lkups_cnt, flags, tc_fltr->action.fwd.q.queue, tc_fltr->action.fwd.q.hw_queue, rule_added.rid, rule_added.rule_id); break; case ICE_DROP_PACKET: - dev_dbg(dev, "added switch rule (lkups_cnt %u, flags 0x%x), action is drop, rid %u, rule_id %u\n", + dev_dbg(dev, "added switch rule (lkups_cnt %u, flags 0x%llx), action is drop, rid %u, rule_id %u\n", lkups_cnt, flags, rule_added.rid, rule_added.rule_id); break; default: diff --git a/drivers/net/ethernet/intel/ice/ice_tc_lib.h b/drivers/net/ethernet/intel/ice/ice_tc_lib.h index 47444b7dadd2..234cc9bafc41 100644 --- a/drivers/net/ethernet/intel/ice/ice_tc_lib.h +++ b/drivers/net/ethernet/intel/ice/ice_tc_lib.h @@ -7,38 +7,38 @@ #include <linux/bits.h> #include <net/pfcp.h> -#define ICE_TC_FLWR_FIELD_DST_MAC BIT(0) -#define ICE_TC_FLWR_FIELD_SRC_MAC BIT(1) -#define ICE_TC_FLWR_FIELD_VLAN BIT(2) -#define ICE_TC_FLWR_FIELD_DEST_IPV4 BIT(3) -#define ICE_TC_FLWR_FIELD_SRC_IPV4 BIT(4) -#define ICE_TC_FLWR_FIELD_DEST_IPV6 BIT(5) -#define ICE_TC_FLWR_FIELD_SRC_IPV6 BIT(6) -#define ICE_TC_FLWR_FIELD_DEST_L4_PORT BIT(7) -#define ICE_TC_FLWR_FIELD_SRC_L4_PORT BIT(8) -#define ICE_TC_FLWR_FIELD_TENANT_ID BIT(9) -#define ICE_TC_FLWR_FIELD_ENC_DEST_IPV4 BIT(10) -#define ICE_TC_FLWR_FIELD_ENC_SRC_IPV4 BIT(11) -#define ICE_TC_FLWR_FIELD_ENC_DEST_IPV6 BIT(12) -#define ICE_TC_FLWR_FIELD_ENC_SRC_IPV6 BIT(13) -#define ICE_TC_FLWR_FIELD_ENC_DEST_L4_PORT BIT(14) -#define ICE_TC_FLWR_FIELD_ENC_SRC_L4_PORT BIT(15) -#define ICE_TC_FLWR_FIELD_ENC_DST_MAC BIT(16) -#define ICE_TC_FLWR_FIELD_ETH_TYPE_ID BIT(17) -#define ICE_TC_FLWR_FIELD_GTP_OPTS BIT(18) -#define ICE_TC_FLWR_FIELD_CVLAN BIT(19) -#define ICE_TC_FLWR_FIELD_PPPOE_SESSID BIT(20) -#define ICE_TC_FLWR_FIELD_PPP_PROTO BIT(21) -#define ICE_TC_FLWR_FIELD_IP_TOS BIT(22) -#define ICE_TC_FLWR_FIELD_IP_TTL BIT(23) -#define ICE_TC_FLWR_FIELD_ENC_IP_TOS BIT(24) -#define ICE_TC_FLWR_FIELD_ENC_IP_TTL BIT(25) -#define ICE_TC_FLWR_FIELD_L2TPV3_SESSID BIT(26) -#define ICE_TC_FLWR_FIELD_VLAN_PRIO BIT(27) -#define ICE_TC_FLWR_FIELD_CVLAN_PRIO BIT(28) -#define ICE_TC_FLWR_FIELD_VLAN_TPID BIT(29) -#define ICE_TC_FLWR_FIELD_PFCP_OPTS BIT(30) -#define ICE_TC_FLWR_FIELD_IP_PROTO BIT(31) +#define ICE_TC_FLWR_FIELD_DST_MAC BIT_ULL(0) +#define ICE_TC_FLWR_FIELD_SRC_MAC BIT_ULL(1) +#define ICE_TC_FLWR_FIELD_VLAN BIT_ULL(2) +#define ICE_TC_FLWR_FIELD_DEST_IPV4 BIT_ULL(3) +#define ICE_TC_FLWR_FIELD_SRC_IPV4 BIT_ULL(4) +#define ICE_TC_FLWR_FIELD_DEST_IPV6 BIT_ULL(5) +#define ICE_TC_FLWR_FIELD_SRC_IPV6 BIT_ULL(6) +#define ICE_TC_FLWR_FIELD_DEST_L4_PORT BIT_ULL(7) +#define ICE_TC_FLWR_FIELD_SRC_L4_PORT BIT_ULL(8) +#define ICE_TC_FLWR_FIELD_TENANT_ID BIT_ULL(9) +#define ICE_TC_FLWR_FIELD_ENC_DEST_IPV4 BIT_ULL(10) +#define ICE_TC_FLWR_FIELD_ENC_SRC_IPV4 BIT_ULL(11) +#define ICE_TC_FLWR_FIELD_ENC_DEST_IPV6 BIT_ULL(12) +#define ICE_TC_FLWR_FIELD_ENC_SRC_IPV6 BIT_ULL(13) +#define ICE_TC_FLWR_FIELD_ENC_DEST_L4_PORT BIT_ULL(14) +#define ICE_TC_FLWR_FIELD_ENC_SRC_L4_PORT BIT_ULL(15) +#define ICE_TC_FLWR_FIELD_ENC_DST_MAC BIT_ULL(16) +#define ICE_TC_FLWR_FIELD_ETH_TYPE_ID BIT_ULL(17) +#define ICE_TC_FLWR_FIELD_GTP_OPTS BIT_ULL(18) +#define ICE_TC_FLWR_FIELD_CVLAN BIT_ULL(19) +#define ICE_TC_FLWR_FIELD_PPPOE_SESSID BIT_ULL(20) +#define ICE_TC_FLWR_FIELD_PPP_PROTO BIT_ULL(21) +#define ICE_TC_FLWR_FIELD_IP_TOS BIT_ULL(22) +#define ICE_TC_FLWR_FIELD_IP_TTL BIT_ULL(23) +#define ICE_TC_FLWR_FIELD_ENC_IP_TOS BIT_ULL(24) +#define ICE_TC_FLWR_FIELD_ENC_IP_TTL BIT_ULL(25) +#define ICE_TC_FLWR_FIELD_L2TPV3_SESSID BIT_ULL(26) +#define ICE_TC_FLWR_FIELD_VLAN_PRIO BIT_ULL(27) +#define ICE_TC_FLWR_FIELD_CVLAN_PRIO BIT_ULL(28) +#define ICE_TC_FLWR_FIELD_VLAN_TPID BIT_ULL(29) +#define ICE_TC_FLWR_FIELD_PFCP_OPTS BIT_ULL(30) +#define ICE_TC_FLWR_FIELD_IP_PROTO BIT_ULL(31) #define ICE_TC_FLOWER_MASK_32 0xFFFFFFFF @@ -189,7 +189,7 @@ struct ice_tc_flower_fltr { struct gtp_pdu_session_info gtp_pdu_info_masks; struct pfcp_metadata pfcp_meta_keys; struct pfcp_metadata pfcp_meta_masks; - u32 flags; + u64 flags; u8 tunnel_type; struct ice_tc_flower_action action; -- 2.49.0
