From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C0DD6A0C41; Tue, 11 May 2021 08:46:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9420F4112B; Tue, 11 May 2021 08:46:23 +0200 (CEST) Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) by mails.dpdk.org (Postfix) with ESMTP id 933D641113 for ; Tue, 11 May 2021 08:46:19 +0200 (CEST) Received: by mail-lf1-f44.google.com with SMTP id j10so27004893lfb.12 for ; Mon, 10 May 2021 23:46:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=U++me9Uo+RxTcKEW87OLMRk/o2dg1jXQbeLFqWm2Jek=; b=NY7k7mu3SRUIkSuU3TQcqzJ6M7TrOsAmthc2vS9DBTIbiuPA4Ka9f4CzNT3Lez2Ms+ ku43MNmrpJtUhejKrHvH7+ehtGaFMiuARveIr0HX/dQePNmNGfowEqSMuLTOfat196yT 5bqj6HwTzCMYv0c9j/vWZKDTULh2ShzEo6brfiekrtmaYW7F9eEPeMVjB9D0d63k4YTK jEFd92lAxHVo7AZhjM5ZfNbWcdlXyTvTgV8JAhW6iMIN9GW6n8Z/e1iIKl6LWByTpwdD M7wku/GzuVld3xsg3s/BWclOSBBsdLtxlhAFSpacSG1hCy1pGH89Hksh8lAys3sPW9lL teeA== 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:mime-version:content-transfer-encoding; bh=U++me9Uo+RxTcKEW87OLMRk/o2dg1jXQbeLFqWm2Jek=; b=UWz0+eIhMYigHuJjtw2FRCMDJr2wG/MT56sDHqj6ZP+BgqWeWvEQzM87Tr+eH8qd4o H7kYC/3+syaXGNNAbR2HIiYFbWyzW79LfsOtYPJKPBYrgcINN01gXQdo9KNjdmSmN0JT UYxT74TWBMLXZbkpzsRoGsfyUGZPWePHIG12vyKQIiFrhWRuuvqAX9SFks3YBfqhI3EP B6zX64qkpki9kAHI/Y++V6bD080DvUwXtGe08Mu9MtU06ZlA2rB5v5dQ3qCIkOo+oLYX h9Kbi/YXWKnWzDi3GarEPrS6/qBPxRBMzq6CzB24H3fSWk8M1UURZLKykaJw1xWTD9WP rIQQ== X-Gm-Message-State: AOAM532MUae1WT6k1fDeamOOrjnHkXm9o0Qc6RrJbfAXbcmd/1fGxNUY ExaXvT2xAHMPBRfeLszeqI0PkQ== X-Google-Smtp-Source: ABdhPJx4XZyp4+ZMzPAkmqDhVHwZICbIiH+ElAWxblIWivQV5IlGvsPYNFyUwiOqUO0N0+BGkBUvPw== X-Received: by 2002:a05:6512:234d:: with SMTP id p13mr19930983lfu.470.1620715579253; Mon, 10 May 2021 23:46:19 -0700 (PDT) Received: from DESKTOP-U5LNN3J.localdomain (89-79-189-199.dynamic.chello.pl. [89.79.189.199]) by smtp.gmail.com with ESMTPSA id v20sm2496776lfd.92.2021.05.10.23.46.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 23:46:18 -0700 (PDT) From: Michal Krawczyk To: ferruh.yigit@intel.com Cc: dev@dpdk.org, ndagan@amazon.com, gtzalik@amazon.com, igorch@amazon.com, upstream@semihalf.com, Michal Krawczyk , stable@dpdk.org Date: Tue, 11 May 2021 08:45:41 +0200 Message-Id: <20210511064554.10656-7-mk@semihalf.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210511064554.10656-1-mk@semihalf.com> References: <87e65a42-4ae5-1a81-8f8e-74759fc14999@intel.com> <20210511064554.10656-1-mk@semihalf.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v4 06/19] net/ena/base: destroy multiple "wait events" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Although the ENA DPDK PMD doesn't have to perform any actions for destroying the wait event, some other platforms have to. The macro "ENA_WAIT_EVENT_DESTROY" was renamed to "ENA_WAIT_EVENTS_DESTROY" and also whole implementation responsible for that was moved to a separate function for better readability. Fixes: 3adcba9a8987 ("net/ena: update HAL to the newer version") Cc: stable@dpdk.org Signed-off-by: Michal Krawczyk Reviewed-by: Igor Chauskin Reviewed-by: Guy Tzalik --- v4: * Revert changes to the "ENA_WAIT_EVENT_DESTROY". * Change name of the argument of "ENA_WAIT_EVENTS_DESTROY" to the "admin_queue". * Add stable dpdk as cc. drivers/net/ena/base/ena_com.c | 24 +++++++++++++++++------- drivers/net/ena/base/ena_plat_dpdk.h | 2 +- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/drivers/net/ena/base/ena_com.c b/drivers/net/ena/base/ena_com.c index 0cdeb1a2d9..d025c9cee1 100644 --- a/drivers/net/ena/base/ena_com.c +++ b/drivers/net/ena/base/ena_com.c @@ -1671,6 +1671,22 @@ int ena_com_validate_version(struct ena_com_dev *ena_dev) return 0; } +static void +ena_com_free_ena_admin_queue_comp_ctx(struct ena_com_dev *ena_dev, + struct ena_com_admin_queue *admin_queue) + +{ + if (!admin_queue->comp_ctx) + return; + + ENA_WAIT_EVENTS_DESTROY(admin_queue); + ENA_MEM_FREE(ena_dev->dmadev, + admin_queue->comp_ctx, + (admin_queue->q_depth * sizeof(struct ena_comp_ctx))); + + admin_queue->comp_ctx = NULL; +} + void ena_com_admin_destroy(struct ena_com_dev *ena_dev) { struct ena_com_admin_queue *admin_queue = &ena_dev->admin_queue; @@ -1679,14 +1695,8 @@ void ena_com_admin_destroy(struct ena_com_dev *ena_dev) struct ena_com_aenq *aenq = &ena_dev->aenq; u16 size; - if (admin_queue->comp_ctx) { - ENA_WAIT_EVENT_DESTROY(admin_queue->comp_ctx->wait_event); - ENA_MEM_FREE(ena_dev->dmadev, - admin_queue->comp_ctx, - (admin_queue->q_depth * sizeof(struct ena_comp_ctx))); - } + ena_com_free_ena_admin_queue_comp_ctx(ena_dev, admin_queue); - admin_queue->comp_ctx = NULL; size = ADMIN_SQ_SIZE(admin_queue->q_depth); if (sq->entries) ENA_MEM_FREE_COHERENT(ena_dev->dmadev, size, sq->entries, diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h index df2fdd30f6..ddf54f0ad5 100644 --- a/drivers/net/ena/base/ena_plat_dpdk.h +++ b/drivers/net/ena/base/ena_plat_dpdk.h @@ -299,7 +299,7 @@ extern rte_atomic32_t ena_alloc_cnt; #define ENA_TIME_EXPIRE(timeout) (timeout < rte_get_timer_cycles()) #define ENA_GET_SYSTEM_TIMEOUT(timeout_us) \ (timeout_us * rte_get_timer_hz() / 1000000 + rte_get_timer_cycles()) -#define ENA_WAIT_EVENT_DESTROY(waitqueue) ((void)(waitqueue)) +#define ENA_WAIT_EVENTS_DESTROY(admin_queue) ((void)(admin_queue)) #ifndef READ_ONCE #define READ_ONCE(var) (*((volatile typeof(var) *)(&(var)))) -- 2.25.1