From patchwork Tue Oct 19 10:56:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 102191 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4A821A0C43; Tue, 19 Oct 2021 12:57:12 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 846F641156; Tue, 19 Oct 2021 12:56:57 +0200 (CEST) Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) by mails.dpdk.org (Postfix) with ESMTP id 1E1B34115D for ; Tue, 19 Oct 2021 12:56:52 +0200 (CEST) Received: by mail-lj1-f178.google.com with SMTP id n7so5367249ljp.5 for ; Tue, 19 Oct 2021 03:56:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=t/P43owAHJhVzUHRl8z1EfNkzcGFB7L3z+CfoIQIPzI=; b=Uh36HoU4tbw3hjTLWroy+f3b38RhX/sruhnM2YobouBPyybQFHCUgolpy2Y2svDnjZ aQiqoc06zevwqDRopgPOWMaA+SYGMK9I4S2qLE3TPQnVt7ydsMzqmRf3kJNP6YzzxfPV Dk1oHv5+AQ0cY0bXUW7IbxnrcXJLVchJiHHc/oYOSdLSWWIf1T9B+5jV5zEyrO/NcYCz S7ZGNOpqsykJkxl42kcYnAvTrao0uksYj0SY+slQ902Lrinh0DDUjFmvnLXsRdDXLokN yAxqnGvPOzQMqUZbAHzJc2GnIlo6/u5fzC3PhFnFKW1s5yj0NW8pNHaUY0SYchXY77AI z4Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=t/P43owAHJhVzUHRl8z1EfNkzcGFB7L3z+CfoIQIPzI=; b=pFKwGykHQQ5mTz1QM8YtdIycFdueO61jt5fbBkPrvb0JbEoCiNTMeiM+aRbnxMbYCt 9YPbFj5A/YZpXt5Brk7XfiNbKE9lkqvnT0Rhl3lCIwDA7XJF+c5Ea/Yj4r7AktbzPDuh jeudELInTwb2N0FlplQABd8JaTznzu4nD4fuH/TjPyjtJtUwuldOKbULhMWwI5oOKAsz oxhPrIt0jkV58R7p0lyyke1+knau70RlamkofyLPNHTJJUxeNj4RPk9mCKsfpw3LEwHG 1rMarGaXgmRhALskbM5QkNCDyP/+mozZ+ji1w/eX5VVHbWRclBQSqRgoAX5nUqMGNUEA LXzA== X-Gm-Message-State: AOAM531j3dkQMtvJcozZio3mREQqPCFPPlxX4mfVOW3O2WodPxo/l4aU QnYIRtz907SIH4I5Y6WkhirZVw== X-Google-Smtp-Source: ABdhPJwcNmwdjUEwN9416LtbHkzQ/AccgILEPeFznEE81DxDGyPGgt11RFRUkoOwAK0vbdpzqHKl4Q== X-Received: by 2002:a05:651c:140d:: with SMTP id u13mr5809847lje.9.1634641011728; Tue, 19 Oct 2021 03:56:51 -0700 (PDT) Received: from DESKTOP-U5LNN3J.localdomain (89-79-181-52.dynamic.chello.pl. [89.79.181.52]) by smtp.gmail.com with ESMTPSA id bn17sm1496058ljb.4.2021.10.19.03.56.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Oct 2021 03:56:51 -0700 (PDT) From: Michal Krawczyk To: ferruh.yigit@intel.com Cc: dev@dpdk.org, upstream@semihalf.com, shaibran@amazon.com, ndagan@amazon.com, igorch@amazon.com, Michal Krawczyk , stable@dpdk.org Date: Tue, 19 Oct 2021 12:56:26 +0200 Message-Id: <20211019105629.11731-5-mk@semihalf.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211019105629.11731-1-mk@semihalf.com> References: <20211015162701.16324-1-mk@semihalf.com> <20211019105629.11731-1-mk@semihalf.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 4/7] net/ena: indicate missing scattered Rx capability 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" ENA can't be forced to always pass single descriptor for the Rx packet. Even if the passed buffer size is big enough to hold the data, we can't make assumption that the HW won't use extra descriptor because of internal optimizations. This assumption may be true, but only for some of the FW revisions, which may differ depending on the used AWS instance type. As the scattered Rx support on the Rx path already exists, the driver just needs to announce DEV_RX_OFFLOAD_SCATTER capability by turning on the rte_eth_dev_data::scattered_rx option. Fixes: 1173fca25af9 ("ena: add polling-mode driver") Cc: stable@dpdk.org Signed-off-by: Michal Krawczyk Reviewed-by: Igor Chauskin Reviewed-by: Shai Brandes --- drivers/net/ena/ena_ethdev.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 655c53b525..94dbb3164e 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -1917,8 +1917,14 @@ static int ena_dev_configure(struct rte_eth_dev *dev) dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH; dev->data->dev_conf.txmode.offloads |= DEV_TX_OFFLOAD_MULTI_SEGS; + /* Scattered Rx cannot be turned off in the HW, so this capability must + * be forced. + */ + dev->data->scattered_rx = 1; + adapter->tx_selected_offloads = dev->data->dev_conf.txmode.offloads; adapter->rx_selected_offloads = dev->data->dev_conf.rxmode.offloads; + return 0; } @@ -1966,6 +1972,8 @@ static uint64_t ena_get_rx_port_offloads(struct ena_adapter *adapter) if (adapter->offloads.rx_offloads & ENA_RX_RSS_HASH) port_offloads |= DEV_RX_OFFLOAD_RSS_HASH; + port_offloads |= DEV_RX_OFFLOAD_SCATTER; + return port_offloads; }