From patchwork Fri Mar 20 16:47:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Kevin Traynor X-Patchwork-Id: 66983 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C6B85A0583; Fri, 20 Mar 2020 17:48:32 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 72ABCF90; Fri, 20 Mar 2020 17:48:32 +0100 (CET) Received: from us-smtp-delivery-74.mimecast.com (us-smtp-delivery-74.mimecast.com [63.128.21.74]) by dpdk.org (Postfix) with ESMTP id 1738B3B5 for ; Fri, 20 Mar 2020 17:48:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1584722909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oGETbJgk5DlYy9kNDCb5WiZgU7LQ7oURDZZX3mPOdRM=; b=BC//rgW98h3Aal1mmSR5qzxw3pHOAHcz7k74SgKKXDFNi0JF0N7OyMRFRc/R6nMNLOxE2x F0iKpZnqA58gBwxHyXVzLxgHzM1nFx+3skEpTmx8uWJ01aVqlEhc7/uBe8O1f42nQdq2Ap spEYB1S1BD/6OM1US5Yby3sogeeRzbs= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-404-V0WY6Ng5N_G3M_HT0iio9Q-1; Fri, 20 Mar 2020 12:48:27 -0400 X-MC-Unique: V0WY6Ng5N_G3M_HT0iio9Q-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BACCB18FE860; Fri, 20 Mar 2020 16:48:26 +0000 (UTC) Received: from rh.redhat.com (unknown [10.33.36.202]) by smtp.corp.redhat.com (Postfix) with ESMTP id B17B11001925; Fri, 20 Mar 2020 16:48:25 +0000 (UTC) From: Kevin Traynor To: dev@dpdk.org, rasland@mellanox.com Cc: Kevin Traynor Date: Fri, 20 Mar 2020 16:47:42 +0000 Message-Id: <20200320164742.14721-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [dpdk-dev] [PATCH] net/mlx5: fix gcc 10 enum-conversion warning X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" gcc 10.0.1 reports warnings when using mlx5_rte_flow enums with rte_flow type enums. For example: ../drivers/net/mlx5/mlx5_flow.c: In function ‘flow_hairpin_split’: ../drivers/net/mlx5/mlx5_flow.c:3406:19: warning: implicit conversion from ‘enum mlx5_rte_flow_action_type’ to ‘enum rte_flow_action_type’ [-Wenum-conversion] 3406 | tag_action->type = MLX5_RTE_FLOW_ACTION_TYPE_TAG; | ^ ../drivers/net/mlx5/mlx5_flow.c:3419:13: warning: implicit conversion from ‘enum mlx5_rte_flow_item_type’ to ‘enum rte_flow_item_type’ [-Wenum-conversion] 3419 | item->type = MLX5_RTE_FLOW_ITEM_TYPE_TAG; | ^ Fix by casting to the correct enum. Signed-off-by: Kevin Traynor Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5_flow.c | 46 ++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 41072da6d..c1b87a3ed 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -3002,5 +3002,6 @@ flow_mreg_add_copy_action(struct rte_eth_dev *dev, uint32_t mark_id, if (mark_id != MLX5_DEFAULT_COPY_ID) { items[0] = (struct rte_flow_item){ - .type = MLX5_RTE_FLOW_ITEM_TYPE_TAG, + .type = (enum rte_flow_item_type) + MLX5_RTE_FLOW_ITEM_TYPE_TAG, .spec = &tag_spec, }; @@ -3009,9 +3010,11 @@ flow_mreg_add_copy_action(struct rte_eth_dev *dev, uint32_t mark_id, }; actions[0] = (struct rte_flow_action){ - .type = MLX5_RTE_FLOW_ACTION_TYPE_MARK, + .type = (enum rte_flow_action_type) + MLX5_RTE_FLOW_ACTION_TYPE_MARK, .conf = &ftag, }; actions[1] = (struct rte_flow_action){ - .type = MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG, + .type = (enum rte_flow_action_type) + MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG, .conf = &cp_mreg, }; @@ -3030,5 +3033,6 @@ flow_mreg_add_copy_action(struct rte_eth_dev *dev, uint32_t mark_id, }; actions[0] = (struct rte_flow_action){ - .type = MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG, + .type = (enum rte_flow_action_type) + MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG, .conf = &cp_mreg, }; @@ -3404,5 +3408,6 @@ flow_hairpin_split(struct rte_eth_dev *dev, /* Add set meta action and end action for the Rx flow. */ tag_action = actions_rx; - tag_action->type = MLX5_RTE_FLOW_ACTION_TYPE_TAG; + tag_action->type = (enum rte_flow_action_type) + MLX5_RTE_FLOW_ACTION_TYPE_TAG; actions_rx++; rte_memcpy(actions_rx, actions, sizeof(struct rte_flow_action)); @@ -3417,5 +3422,6 @@ flow_hairpin_split(struct rte_eth_dev *dev, addr = (void *)&pattern_tx[2]; item = pattern_tx; - item->type = MLX5_RTE_FLOW_ITEM_TYPE_TAG; + item->type = (enum rte_flow_item_type) + MLX5_RTE_FLOW_ITEM_TYPE_TAG; tag_item = (void *)addr; tag_item->data = *flow_id; @@ -3549,5 +3555,6 @@ flow_meter_split_prep(struct rte_eth_dev *dev, /* Add the extra tag action first. */ tag_action = actions_pre; - tag_action->type = MLX5_RTE_FLOW_ACTION_TYPE_TAG; + tag_action->type = (enum rte_flow_action_type) + MLX5_RTE_FLOW_ACTION_TYPE_TAG; actions_pre++; action_cur = &actions_pre; @@ -3610,5 +3617,6 @@ flow_meter_split_prep(struct rte_eth_dev *dev, * for vlan push and set vid. */ - sfx_items->type = MLX5_RTE_FLOW_ITEM_TYPE_VLAN; + sfx_items->type = (enum rte_flow_item_type) + MLX5_RTE_FLOW_ITEM_TYPE_VLAN; sfx_items++; } @@ -3625,5 +3633,6 @@ flow_meter_split_prep(struct rte_eth_dev *dev, tag_mask = tag_spec + 1; tag_mask->data = 0xffffff00; - tag_item->type = MLX5_RTE_FLOW_ITEM_TYPE_TAG; + tag_item->type = (enum rte_flow_item_type) + MLX5_RTE_FLOW_ITEM_TYPE_TAG; tag_item->spec = tag_spec; tag_item->last = NULL; @@ -3728,5 +3737,6 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev, /* Replace QUEUE/RSS action. */ split_actions[qrss_idx] = (struct rte_flow_action){ - .type = MLX5_RTE_FLOW_ACTION_TYPE_TAG, + .type = (enum rte_flow_action_type) + MLX5_RTE_FLOW_ACTION_TYPE_TAG, .conf = set_tag, }; @@ -3791,5 +3801,6 @@ flow_mreg_tx_copy_prep(struct rte_eth_dev *dev, if (encap_idx == actions_n - 1) { ext_actions[actions_n - 1] = (struct rte_flow_action){ - .type = MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG, + .type = (enum rte_flow_action_type) + MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG, .conf = cp_mreg, }; @@ -3799,5 +3810,6 @@ flow_mreg_tx_copy_prep(struct rte_eth_dev *dev, } else { ext_actions[encap_idx] = (struct rte_flow_action){ - .type = MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG, + .type = (enum rte_flow_action_type) + MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG, .conf = cp_mreg, }; @@ -3913,4 +3925,5 @@ flow_create_split_metadata(struct rte_eth_dev *dev, else ext_actions[qrss - actions].type = + (enum rte_flow_action_type) MLX5_RTE_FLOW_ACTION_TYPE_TAG; /* @@ -3964,5 +3977,6 @@ flow_create_split_metadata(struct rte_eth_dev *dev, struct rte_flow_item q_items[] = { { - .type = MLX5_RTE_FLOW_ITEM_TYPE_TAG, + .type = (enum rte_flow_item_type) + MLX5_RTE_FLOW_ITEM_TYPE_TAG, .spec = &q_tag_spec, .last = NULL, @@ -4605,5 +4619,6 @@ mlx5_ctrl_flow_source_queue(struct rte_eth_dev *dev, struct rte_flow_item items[] = { { - .type = MLX5_RTE_FLOW_ITEM_TYPE_TX_QUEUE, + .type = (enum rte_flow_item_type) + MLX5_RTE_FLOW_ITEM_TYPE_TX_QUEUE, .spec = &queue_spec, .last = NULL, @@ -5722,5 +5737,6 @@ mlx5_flow_discover_mreg_c(struct rte_eth_dev *dev) struct rte_flow_action actions[] = { [0] = { - .type = MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG, + .type = (enum rte_flow_action_type) + MLX5_RTE_FLOW_ACTION_TYPE_COPY_MREG, .conf = &(struct mlx5_flow_action_copy_mreg){ .src = REG_C_1,