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

Reply via email to