From patchwork Wed Jun 14 11:49:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adrien Mazarguil X-Patchwork-Id: 25315 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 5890D7D18; Wed, 14 Jun 2017 13:49:45 +0200 (CEST) Received: from mail-wr0-f177.google.com (mail-wr0-f177.google.com [209.85.128.177]) by dpdk.org (Postfix) with ESMTP id 6B8327D05 for ; Wed, 14 Jun 2017 13:49:35 +0200 (CEST) Received: by mail-wr0-f177.google.com with SMTP id 77so38723741wrb.1 for ; Wed, 14 Jun 2017 04:49:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=SN+LY2EFjP/eeAJLJR5fexJVRayh51QfSRIHCIc3/0I=; b=JsE++BgtH+LeT+cIDLRDMcL2cpE6zBp5j7V4IqkqK/ckcPUUVrUF/YY2BXdCptRSez 59ySW4/NqnjfwEwszPRM8gXffw+YHcvo2+F+7wxoFrZ2EkRfRAZCn5JP39bhEyOkMqNr skF6Ox25AYdFMH+yvUH1Fbxzd/6OaKNGh1a2/l0pgYzilkrxBoqs6bbCejeRMO7BBC1E fHuBa4boKS9Dod/biCQSWQBKTBD1OvXKIgCms0UT4TVQ91bTceXM094x/CQ0ryLaEYnA gIbiqbMIgX2Syzfe1LhBN/9SC3Hvd/EQTEfai2rgP57pcePUF0o6MuI/wb5aB7lRhJqp 5YBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=SN+LY2EFjP/eeAJLJR5fexJVRayh51QfSRIHCIc3/0I=; b=W24zcCz0C1xQR5veGLclKo7i1/qUO36P/qY0xuGCK8ZuZ2MkJgTmSVAmrrZ4vpvu6b EwZi8hvaVPp/ICqVV7Mfow4PILj1e5nL5xpMy+i5W4SVENsrhWzy4ydRIW+vEnPqUM7S S1o4UTCHgSpza56z1b/PmqEMbacDB2Rr6LZFwSv7hXc4B9+rEXdneo5UQ5X64Ckp1zaa +8ejbgVFEtqebk5A2EA4d3vEo+17uG+TqjU9fbV5vd2GQbXqjZ2jAZhQcDUMmrxZmy8W yqhHQ0MQpy3+D7XaKBZ3SJD8rIwKQg2YH4fB8hwfXXI0ul2H8u/beI14ZhDKK57omuFa 9UzQ== X-Gm-Message-State: AKS2vOyOrAszGqI3rW089NHTaTRRK0WSi9jgMUxFPjZTLo1ErGoJBh5M ecOukcItOipeFdrPde0= X-Received: by 10.223.152.196 with SMTP id w62mr213568wrb.118.1497440974974; Wed, 14 Jun 2017 04:49:34 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id 62sm973634wrs.18.2017.06.14.04.49.33 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Wed, 14 Jun 2017 04:49:34 -0700 (PDT) From: Adrien Mazarguil To: dev@dpdk.org Cc: stable@dpdk.org Date: Wed, 14 Jun 2017 13:49:15 +0200 Message-Id: <37ec2564e00fa96d8be9455949f799b179272093.1497439616.git.adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH 5/7] net/mlx5: fix Rx interrupts support checks 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" Not exposing Rx interrupts callbacks when this feature is unsupported is less intrusive than having two different versions for these functions. Fixes: 3c7d44af252a ("net/mlx5: support user space Rx interrupt event") Cc: stable@dpdk.org Signed-off-by: Adrien Mazarguil --- drivers/net/mlx5/mlx5.c | 2 ++ drivers/net/mlx5/mlx5_rxq.c | 16 ++++------------ drivers/net/mlx5/mlx5_rxtx.h | 2 ++ 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index bcb2c1b..49d4dba 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -246,8 +246,10 @@ static const struct eth_dev_ops mlx5_dev_ops = { .filter_ctrl = mlx5_dev_filter_ctrl, .rx_descriptor_status = mlx5_rx_descriptor_status, .tx_descriptor_status = mlx5_tx_descriptor_status, +#ifdef HAVE_UPDATE_CQ_CI .rx_queue_intr_enable = mlx5_rx_intr_enable, .rx_queue_intr_disable = mlx5_rx_intr_disable, +#endif }; static struct { diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index 5421d1f..fa350bf 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -1419,6 +1419,8 @@ priv_destroy_intr_vec(struct priv *priv) rte_free(intr_handle->intr_vec); } +#ifdef HAVE_UPDATE_CQ_CI + /** * DPDK callback for rx queue interrupt enable. * @@ -1433,7 +1435,6 @@ priv_destroy_intr_vec(struct priv *priv) int mlx5_rx_intr_enable(struct rte_eth_dev *dev, uint16_t rx_queue_id) { -#ifdef HAVE_UPDATE_CQ_CI struct priv *priv = mlx5_get_priv(dev); struct rxq *rxq = (*priv->rxqs)[rx_queue_id]; struct rxq_ctrl *rxq_ctrl = container_of(rxq, struct rxq_ctrl, rxq); @@ -1443,11 +1444,6 @@ mlx5_rx_intr_enable(struct rte_eth_dev *dev, uint16_t rx_queue_id) ibv_mlx5_exp_update_cq_ci(cq, ci); ret = ibv_req_notify_cq(cq, 0); -#else - int ret = -1; - (void)dev; - (void)rx_queue_id; -#endif if (ret) WARN("unable to arm interrupt on rx queue %d", rx_queue_id); return ret; @@ -1467,7 +1463,6 @@ mlx5_rx_intr_enable(struct rte_eth_dev *dev, uint16_t rx_queue_id) int mlx5_rx_intr_disable(struct rte_eth_dev *dev, uint16_t rx_queue_id) { -#ifdef HAVE_UPDATE_CQ_CI struct priv *priv = mlx5_get_priv(dev); struct rxq *rxq = (*priv->rxqs)[rx_queue_id]; struct rxq_ctrl *rxq_ctrl = container_of(rxq, struct rxq_ctrl, rxq); @@ -1481,13 +1476,10 @@ mlx5_rx_intr_disable(struct rte_eth_dev *dev, uint16_t rx_queue_id) ret = -1; else ibv_ack_cq_events(cq, 1); -#else - int ret = -1; - (void)dev; - (void)rx_queue_id; -#endif if (ret) WARN("unable to disable interrupt on rx queue %d", rx_queue_id); return ret; } + +#endif /* HAVE_UPDATE_CQ_CI */ diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h index cd79b5d..1a3ede4 100644 --- a/drivers/net/mlx5/mlx5_rxtx.h +++ b/drivers/net/mlx5/mlx5_rxtx.h @@ -311,8 +311,10 @@ int priv_intr_efd_enable(struct priv *priv); void priv_intr_efd_disable(struct priv *priv); int priv_create_intr_vec(struct priv *priv); void priv_destroy_intr_vec(struct priv *priv); +#ifdef HAVE_UPDATE_CQ_CI int mlx5_rx_intr_enable(struct rte_eth_dev *dev, uint16_t rx_queue_id); int mlx5_rx_intr_disable(struct rte_eth_dev *dev, uint16_t rx_queue_id); +#endif /* HAVE_UPDATE_CQ_CI */ /* mlx5_txq.c */