net/ice/base: fix a couple of casting
authorQi Zhang <qi.z.zhang@intel.com>
Mon, 23 Mar 2020 07:17:45 +0000 (15:17 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 21 Apr 2020 11:57:05 +0000 (13:57 +0200)
Adjust variable size between u8 and u16 to fix casting issues
Also fix couple coding style issues

Karol Kolacinski <karol.kolacinski@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
drivers/net/ice/base/ice_adminq_cmd.h
drivers/net/ice/base/ice_common.c
drivers/net/ice/base/ice_common.h
drivers/net/ice/base/ice_controlq.c
drivers/net/ice/base/ice_flex_pipe.c
drivers/net/ice/base/ice_flex_pipe.h
drivers/net/ice/base/ice_switch.c
drivers/net/ice/base/ice_type.h

index 3ab76a3..73f5e70 100644 (file)
@@ -682,7 +682,7 @@ struct ice_aqc_recipe_content {
 #define ICE_AQ_RECIPE_ID_S             0
 #define ICE_AQ_RECIPE_ID_M             (0x3F << ICE_AQ_RECIPE_ID_S)
 #define ICE_AQ_RECIPE_ID_IS_ROOT       BIT(7)
-#define ICE_AQ_SW_ID_LKUP_IDX          0
+#define        ICE_AQ_SW_ID_LKUP_IDX           0
        u8 lkup_indx[5];
 #define ICE_AQ_RECIPE_LKUP_DATA_S      0
 #define ICE_AQ_RECIPE_LKUP_DATA_M      (0x3F << ICE_AQ_RECIPE_LKUP_DATA_S)
@@ -813,7 +813,7 @@ struct ice_sw_rule_lkup_rx_tx {
 #define ICE_SINGLE_ACT_OTHER_ACTS              0x3
 #define ICE_SINGLE_OTHER_ACT_IDENTIFIER_S      17
 #define ICE_SINGLE_OTHER_ACT_IDENTIFIER_M      \
-                               (0x3 << ICE_SINGLE_OTHER_ACT_IDENTIFIER_S)
+                               (0x3 << ICE_SINGLE_OTHER_ACT_IDENTIFIER_S)
 
        /* Bit 17:18 - Defines other actions */
        /* Other action = 0 - Mirror VSI */
@@ -2118,9 +2118,7 @@ struct ice_aqc_move_txqs {
        __le32 addr_low;
 };
 
-/* This is the descriptor of each queue entry for the move Tx LAN Queues
- * command (0x0C32).
- */
+/* Per-queue data buffer for the Move Tx LAN Queues command/response */
 struct ice_aqc_move_txqs_elem {
        __le16 txq_id;
        u8 q_cgd;
@@ -2128,6 +2126,7 @@ struct ice_aqc_move_txqs_elem {
        __le32 q_teid;
 };
 
+/* Indirect data buffer for the Move Tx LAN Queues command/response */
 struct ice_aqc_move_txqs_data {
        __le32 src_teid;
        __le32 dest_teid;
index 99f6962..25e2059 100644 (file)
@@ -4004,7 +4004,7 @@ ice_dis_vsi_txq(struct ice_port_info *pi, u16 vsi_handle, u8 tc, u8 num_queues,
  * This function adds/updates the VSI queues per TC.
  */
 static enum ice_status
-ice_cfg_vsi_qs(struct ice_port_info *pi, u16 vsi_handle, u8 tc_bitmap,
+ice_cfg_vsi_qs(struct ice_port_info *pi, u16 vsi_handle, u16 tc_bitmap,
               u16 *maxqs, u8 owner)
 {
        enum ice_status status = ICE_SUCCESS;
@@ -4043,7 +4043,7 @@ ice_cfg_vsi_qs(struct ice_port_info *pi, u16 vsi_handle, u8 tc_bitmap,
  * This function adds/updates the VSI LAN queues per TC.
  */
 enum ice_status
-ice_cfg_vsi_lan(struct ice_port_info *pi, u16 vsi_handle, u8 tc_bitmap,
+ice_cfg_vsi_lan(struct ice_port_info *pi, u16 vsi_handle, u16 tc_bitmap,
                u16 *max_lanqs)
 {
        return ice_cfg_vsi_qs(pi, vsi_handle, tc_bitmap, max_lanqs,
index bbff175..4e2e257 100644 (file)
@@ -188,7 +188,7 @@ ice_dis_vsi_txq(struct ice_port_info *pi, u16 vsi_handle, u8 tc, u8 num_queues,
                enum ice_disq_rst_src rst_src, u16 vmvf_num,
                struct ice_sq_cd *cd);
 enum ice_status
-ice_cfg_vsi_lan(struct ice_port_info *pi, u16 vsi_handle, u8 tc_bitmap,
+ice_cfg_vsi_lan(struct ice_port_info *pi, u16 vsi_handle, u16 tc_bitmap,
                u16 *max_lanqs);
 enum ice_status
 ice_ena_vsi_txq(struct ice_port_info *pi, u16 vsi_handle, u8 tc, u16 q_handle,
index 8a65fae..e7752fc 100644 (file)
@@ -624,18 +624,18 @@ init_ctrlq_free_sq:
  */
 enum ice_status ice_init_all_ctrlq(struct ice_hw *hw)
 {
-       enum ice_status ret_code;
+       enum ice_status status;
 
        ice_debug(hw, ICE_DBG_TRACE, "%s\n", __func__);
 
        /* Init FW admin queue */
-       ret_code = ice_init_ctrlq(hw, ICE_CTL_Q_ADMIN);
-       if (ret_code)
-               return ret_code;
+       status = ice_init_ctrlq(hw, ICE_CTL_Q_ADMIN);
+       if (status)
+               return status;
 
-       ret_code = ice_init_check_adminq(hw);
-       if (ret_code)
-               return ret_code;
+       status = ice_init_check_adminq(hw);
+       if (status)
+               return status;
        /* Init Mailbox queue */
        return ice_init_ctrlq(hw, ICE_CTL_Q_MAILBOX);
 }
@@ -832,7 +832,7 @@ static void ice_debug_cq(struct ice_hw *hw, void *desc, void *buf, u16 buf_len)
             flags & ICE_AQ_FLAG_RD)) {
                ice_debug(hw, ICE_DBG_AQ_DESC_BUF, "Buffer:\n");
                ice_debug_array(hw, ICE_DBG_AQ_DESC_BUF, 16, 1, (u8 *)buf,
-                               min(buf_len, datalen));
+                               MIN_T(u16, buf_len, datalen));
        }
 }
 
@@ -1140,7 +1140,7 @@ ice_clean_rq_elem(struct ice_hw *hw, struct ice_ctl_q_info *cq,
        }
        ice_memcpy(&e->desc, desc, sizeof(e->desc), ICE_DMA_TO_NONDMA);
        datalen = LE16_TO_CPU(desc->datalen);
-       e->msg_len = min(datalen, e->buf_len);
+       e->msg_len = MIN_T(u16, datalen, e->buf_len);
        if (e->msg_buf && e->msg_len)
                ice_memcpy(e->msg_buf, cq->rq.r.rq_bi[desc_idx].va,
                           e->msg_len, ICE_DMA_TO_NONDMA);
index 2d29e98..0c64bf6 100644 (file)
@@ -1562,7 +1562,7 @@ ice_get_sw_fv_bitmap(struct ice_hw *hw, enum ice_prof_type req_profs,
  * allocated for every list entry.
  */
 enum ice_status
-ice_get_sw_fv_list(struct ice_hw *hw, u16 *prot_ids, u16 ids_cnt,
+ice_get_sw_fv_list(struct ice_hw *hw, u8 *prot_ids, u16 ids_cnt,
                   ice_bitmap_t *bm, struct LIST_HEAD_TYPE *fv_list)
 {
        struct ice_sw_fv_list_entry *fvl;
@@ -1963,7 +1963,7 @@ ice_create_tunnel(struct ice_hw *hw, enum ice_tunnel_type type, u16 port)
         */
        ice_set_key((u8 *)&sect_rx->tcam[0].key, sizeof(sect_rx->tcam[0].key),
                    (u8 *)&port, NULL, NULL, NULL,
-                   offsetof(struct ice_boost_key_value, hv_dst_port_key),
+                   (u16)offsetof(struct ice_boost_key_value, hv_dst_port_key),
                    sizeof(sect_rx->tcam[0].key.key.hv_dst_port_key));
 
        /* exact copy of entry to Tx section entry */
@@ -2011,7 +2011,7 @@ enum ice_status ice_destroy_tunnel(struct ice_hw *hw, u16 port, bool all)
                return ICE_ERR_PARAM;
 
        /* size of section - there is at least one entry */
-       size = (count - 1) * sizeof(*sect_rx->tcam) + sizeof(*sect_rx);
+       size = ice_struct_size(sect_rx, tcam, count - 1);
 
        bld = ice_pkg_buf_alloc(hw);
        if (!bld)
@@ -2078,7 +2078,7 @@ ice_destroy_tunnel_err:
  * @off: variable to receive the protocol offset
  */
 enum ice_status
-ice_find_prot_off(struct ice_hw *hw, enum ice_block blk, u8 prof, u8 fv_idx,
+ice_find_prot_off(struct ice_hw *hw, enum ice_block blk, u8 prof, u16 fv_idx,
                  u8 *prot, u16 *off)
 {
        struct ice_fv_word *fv_ext;
@@ -2680,9 +2680,9 @@ ice_find_prof_id_with_mask(struct ice_hw *hw, enum ice_block blk,
                           struct ice_fv_word *fv, u16 *masks, u8 *prof_id)
 {
        struct ice_es *es = &hw->blk[blk].es;
-       u16 i;
+       u8 i;
 
-       for (i = 0; i < es->count; i++) {
+       for (i = 0; i < (u8)es->count; i++) {
                u16 off = i * es->fvw;
 
                if (memcmp(&es->t[off], fv, es->fvw * sizeof(*fv)))
@@ -4464,7 +4464,7 @@ ice_add_prof(struct ice_hw *hw, enum ice_block blk, u64 id, u8 ptypes[],
        ice_declare_bitmap(ptgs_used, ICE_XLT1_CNT);
        struct ice_prof_map *prof;
        enum ice_status status;
-       u32 byte = 0;
+       u8 byte = 0;
        u8 prof_id;
 
        ice_zero_bitmap(ptgs_used, ICE_XLT1_CNT);
@@ -4513,7 +4513,7 @@ ice_add_prof(struct ice_hw *hw, enum ice_block blk, u64 id, u8 ptypes[],
 
        /* build list of ptgs */
        while (bytes && prof->ptg_cnt < ICE_MAX_PTG_PER_PROFILE) {
-               u32 bit;
+               u8 bit;
 
                if (!ptypes[byte]) {
                        bytes--;
@@ -4562,7 +4562,7 @@ ice_add_prof(struct ice_hw *hw, enum ice_block blk, u64 id, u8 ptypes[],
                                }
 
                                /* nothing left in byte, then exit */
-                               m = ~((1 << (bit + 1)) - 1);
+                               m = ~(u8)((1 << (bit + 1)) - 1);
                                if (!(ptypes[byte] & m))
                                        break;
                        }
@@ -5335,8 +5335,10 @@ ice_add_prof_id_vsig(struct ice_hw *hw, enum ice_block blk, u16 vsig, u64 hdl,
                                              t->tcam[i].ptg, vsig, 0,
                                              t->tcam[i].attr.flags, vl_msk,
                                              dc_msk, nm_msk);
-               if (status)
+               if (status) {
+                       ice_free(hw, p);
                        goto err_ice_add_prof_id_vsig;
+               }
 
                /* log change */
                LIST_ADD(&p->list_entry, chg);
index e3ee882..bba66c4 100644 (file)
@@ -25,7 +25,7 @@ enum ice_status
 ice_acquire_change_lock(struct ice_hw *hw, enum ice_aq_res_access_type access);
 void ice_release_change_lock(struct ice_hw *hw);
 enum ice_status
-ice_find_prot_off(struct ice_hw *hw, enum ice_block blk, u8 prof, u8 fv_idx,
+ice_find_prot_off(struct ice_hw *hw, enum ice_block blk, u8 prof, u16 fv_idx,
                  u8 *prot, u16 *off);
 enum ice_status
 ice_find_label_value(struct ice_seg *ice_seg, char const *name, u32 type,
@@ -36,7 +36,7 @@ ice_get_sw_fv_bitmap(struct ice_hw *hw, enum ice_prof_type type,
 void
 ice_init_prof_result_bm(struct ice_hw *hw);
 enum ice_status
-ice_get_sw_fv_list(struct ice_hw *hw, u16 *prot_ids, u16 ids_cnt,
+ice_get_sw_fv_list(struct ice_hw *hw, u8 *prot_ids, u16 ids_cnt,
                   ice_bitmap_t *bm, struct LIST_HEAD_TYPE *fv_list);
 bool
 ice_get_open_tunnel_port(struct ice_hw *hw, enum ice_tunnel_type type,
index f4e020d..8e594d9 100644 (file)
@@ -623,8 +623,9 @@ ice_get_recp_frm_fw(struct ice_hw *hw, struct ice_sw_recipe *recps, u8 rid,
        struct ice_aqc_recipe_data_elem *tmp;
        u16 num_recps = ICE_MAX_NUM_RECIPES;
        struct ice_prot_lkup_ext *lkup_exts;
-       u16 i, sub_recps, fv_word_idx = 0;
        enum ice_status status;
+       u8 fv_word_idx = 0;
+       u16 sub_recps;
 
        ice_zero_bitmap(result_bm, ICE_MAX_FV_WORDS);
 
@@ -662,7 +663,7 @@ ice_get_recp_frm_fw(struct ice_hw *hw, struct ice_sw_recipe *recps, u8 rid,
        for (sub_recps = 0; sub_recps < num_recps; sub_recps++) {
                struct ice_aqc_recipe_data_elem root_bufs = tmp[sub_recps];
                struct ice_recp_grp_entry *rg_entry;
-               u8 prof, idx, prot = 0;
+               u8 i, prof, idx, prot = 0;
                bool is_root;
                u16 off = 0;
 
@@ -718,7 +719,7 @@ ice_get_recp_frm_fw(struct ice_hw *hw, struct ice_sw_recipe *recps, u8 rid,
                LIST_ADD(&rg_entry->l_entry, &recps[rid].rg_list);
 
                /* Propagate some data to the recipe database */
-               recps[idx].is_root = is_root;
+               recps[idx].is_root = !!is_root;
                recps[idx].priority = root_bufs.content.act_ctrl_fwd_priority;
                ice_zero_bitmap(recps[idx].res_idxs, ICE_MAX_FV_WORDS);
                if (root_bufs.content.result_indx & ICE_AQ_RECIPE_RESULT_EN) {
@@ -1842,10 +1843,10 @@ enum ice_status ice_get_initial_sw_cfg(struct ice_hw *hw)
 {
        struct ice_aqc_get_sw_cfg_resp *rbuf;
        enum ice_status status;
-       u16 num_total_ports;
+       u8 num_total_ports;
        u16 req_desc = 0;
        u16 num_elems;
-       u16 j = 0;
+       u8 j = 0;
        u16 i;
 
        num_total_ports = 1;
@@ -3124,11 +3125,11 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
        struct ice_aqc_sw_rules_elem *s_rule, *r_iter;
        struct ice_fltr_list_entry *m_list_itr;
        struct LIST_HEAD_TYPE *rule_head;
-       u16 elem_sent, total_elem_left;
+       u16 total_elem_left, s_rule_size;
        struct ice_lock *rule_lock; /* Lock to protect filter rule list */
        enum ice_status status = ICE_SUCCESS;
        u16 num_unicast = 0;
-       u16 s_rule_size;
+       u8 elem_sent;
 
        s_rule = NULL;
        rule_lock = &recp_list->filt_rule_lock;
@@ -3210,8 +3211,8 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
             total_elem_left -= elem_sent) {
                struct ice_aqc_sw_rules_elem *entry = r_iter;
 
-               elem_sent = min(total_elem_left,
-                               (u16)(ICE_AQ_MAX_BUF_LEN / s_rule_size));
+               elem_sent = MIN_T(u8, total_elem_left,
+                                 (ICE_AQ_MAX_BUF_LEN / s_rule_size));
                status = ice_aq_sw_rules(hw, entry, elem_sent * s_rule_size,
                                         elem_sent, ice_aqc_opc_add_sw_rules,
                                         NULL);
@@ -4943,7 +4944,7 @@ static u16 ice_find_recp(struct ice_hw *hw, struct ice_prot_lkup_ext *lkup_exts)
 {
        bool refresh_required = true;
        struct ice_sw_recipe *recp;
-       u16 i;
+       u8 i;
 
        /* Walk through existing recipes to find a match */
        recp = hw->switch_info->recp_list;
@@ -5009,9 +5010,9 @@ static u16 ice_find_recp(struct ice_hw *hw, struct ice_prot_lkup_ext *lkup_exts)
  *
  * Returns true if found, false otherwise
  */
-static bool ice_prot_type_to_id(enum ice_protocol_type type, u16 *id)
+static bool ice_prot_type_to_id(enum ice_protocol_type type, u8 *id)
 {
-       u16 i;
+       u8 i;
 
        for (i = 0; i < ARRAY_SIZE(ice_prot_id_tbl); i++)
                if (ice_prot_id_tbl[i].type == type) {
@@ -5028,13 +5029,11 @@ static bool ice_prot_type_to_id(enum ice_protocol_type type, u16 *id)
  *
  * calculate valid words in a lookup rule using mask value
  */
-static u16
+static u8
 ice_fill_valid_words(struct ice_adv_lkup_elem *rule,
                     struct ice_prot_lkup_ext *lkup_exts)
 {
-       u16 j, word = 0;
-       u16 prot_id;
-       u16 ret_val;
+       u8 j, word, prot_id, ret_val;
 
        if (!ice_prot_type_to_id(rule->type, &prot_id))
                return 0;
@@ -5043,7 +5042,7 @@ ice_fill_valid_words(struct ice_adv_lkup_elem *rule,
 
        for (j = 0; j < sizeof(rule->m_u) / sizeof(u16); j++)
                if (((u16 *)&rule->m_u)[j] &&
-                   (unsigned long)rule->type < ARRAY_SIZE(ice_prot_ext)) {
+                   rule->type < ARRAY_SIZE(ice_prot_ext)) {
                        /* No more space to accommodate */
                        if (word >= ICE_MAX_CHAIN_WORDS)
                                return 0;
@@ -5612,10 +5611,10 @@ ice_get_fv(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
           ice_bitmap_t *bm, struct LIST_HEAD_TYPE *fv_list)
 {
        enum ice_status status;
-       u16 *prot_ids;
+       u8 *prot_ids;
        u16 i;
 
-       prot_ids = (u16 *)ice_calloc(hw, lkups_cnt, sizeof(*prot_ids));
+       prot_ids = (u8 *)ice_calloc(hw, lkups_cnt, sizeof(*prot_ids));
        if (!prot_ids)
                return ICE_ERR_NO_MEMORY;
 
@@ -5791,7 +5790,7 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
                match_tun = true;
 
        /* set the recipe priority if specified */
-       rm->priority = rinfo->priority ? rinfo->priority : 0;
+       rm->priority = (u8)rinfo->priority;
 
        /* Find offsets from the field vector. Pick the first one for all the
         * recipes.
@@ -6197,7 +6196,7 @@ ice_fill_adv_packet_tun(struct ice_hw *hw, enum ice_sw_tunnel_type tun_type,
  */
 static struct ice_adv_fltr_mgmt_list_entry *
 ice_find_adv_rule_entry(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
-                       u16 lkups_cnt, u8 recp_id,
+                       u16 lkups_cnt, u16 recp_id,
                        struct ice_adv_rule_info *rinfo)
 {
        struct ice_adv_fltr_mgmt_list_entry *list_itr;
index 4979580..00459bc 100644 (file)
@@ -786,8 +786,8 @@ struct ice_hw {
        u16 max_burst_size;     /* driver sets this value */
 
        /* Tx Scheduler values */
-       u16 num_tx_sched_layers;
-       u16 num_tx_sched_phys_layers;
+       u8 num_tx_sched_layers;
+       u8 num_tx_sched_phys_layers;
        u8 flattened_layers;
        u8 max_cgds;
        u8 sw_entry_point_layer;