From patchwork Mon Jun 11 09:53:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Krawczyk X-Patchwork-Id: 40968 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 26A961E8D7; Mon, 11 Jun 2018 11:53:56 +0200 (CEST) Received: from mail-lf0-f67.google.com (mail-lf0-f67.google.com [209.85.215.67]) by dpdk.org (Postfix) with ESMTP id AAE8D1E8C3 for ; Mon, 11 Jun 2018 11:53:54 +0200 (CEST) Received: by mail-lf0-f67.google.com with SMTP id d24-v6so29551382lfa.8 for ; Mon, 11 Jun 2018 02:53:54 -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; bh=to0SYOjFdR1t84Ail6hsxhsU7YSXChAb7NYZosTSNhQ=; b=aNXFb0QU0l2Q0DVoICNGz4ADRzbJWlgjMbvBMzyKi8U1S60ZQjfT33SQQSMtusgUJM xFhlc8AWOczF8B7xjQAoYrR7tJ7R1Aj90KHF16oYmoCD6PQjngD/JsButxiT1f5CBS9n 68Z0QIT76PLjtQFsYrmotcao6QFNw2McsxcMH9jNso5Z6pwec0KwVk+xJ9RNYvoedXta c2kLDakj5cNImrT9Sc4w6L78FxVwJ9EBDHwHekruZxVEuXpULnRJv+TuhA47T0HQbDWT RfpDfjAMhKxtKj4GA5ZJRAzBjqSFTLyLJ1jqVvLfRMQ4P7EhQGfBMYO0ZnmFnK/PH9Ks 1VRA== 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=to0SYOjFdR1t84Ail6hsxhsU7YSXChAb7NYZosTSNhQ=; b=UFvdpm21uJYXLiCmBsJIFEWqAQzFAdGGq9ARv7GEOx6DqiVp43AWrSoGZj7z3SIHoY /+Dx81S0njJ9HvqonH++E9A2bvzJ5rMfyMhmGTedPE1RntJoHBExAGiBjRxjAE4LwOpc zPL6IGQvKDicIuQgpcQ/6c31hf10Dda9pIi0fyvu2jNQISdrfLe6XTgrrnrdAKDqBjLT nef3eHxEm5pdTz3jFqzKhylKmIDsG4qpqhtwnoQHvAjfUIcwpZBmlpTJMEdwrXhMHSdj q4VfSl3bhQ6OacwgWo/zS2Hpr0+Icsl7BzGG2ZERA+cAjmqZNPINyreEueci3wc7U3fP 5Hig== X-Gm-Message-State: APt69E1JIDFhdKP+EeG+9TTXd7w+bMgSK1vleFVvZxLSmmr23n52eBzL IF1NRzqwodDt74RqzKjYT82Ny+H3vq4= X-Google-Smtp-Source: ADUXVKKfjS/foKC6xGX8pS75XOWdTVQrvzcl/ilg1KDuM8Dw671pUBx7wPvD08HEKz09WEKJdNY7Cw== X-Received: by 2002:a19:54da:: with SMTP id b87-v6mr9466200lfl.3.1528710834049; Mon, 11 Jun 2018 02:53:54 -0700 (PDT) Received: from mkPC.semihalf.local (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id r21-v6sm2225551lja.92.2018.06.11.02.53.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 11 Jun 2018 02:53:53 -0700 (PDT) From: Michal Krawczyk To: dev@dpdk.org, ferruh.yigit@intel.com Cc: mw@semihalf.com, rk@semihalf.com, gtzalik@amazon.com, evgenys@amazon.com, thomas@monjalon.net, matua@amazon.com, anatoly.burakov@intel.com, Michal Krawczyk Date: Mon, 11 Jun 2018 11:53:36 +0200 Message-Id: <20180611095336.12093-1-mk@semihalf.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180607094300.14265-1-mk@semihalf.com> References: <20180607094300.14265-1-mk@semihalf.com> Subject: [dpdk-dev] [PATCH v4 0/27] net/ena: new features and fixes 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" The ENA driver was updated with the new features and few fixes and minor changes are introduced. First of all, the communication layer which is delivered by vendor was updated - the version in the HEAD is a bit outdated now. ENA is able to communicate with the driver through Admin queue by using admin interrupts instead of polling. Admin interrupts are also used for handling AENQ events, which are used for the following new features: - LSC handlers - watchdog and device rest - monitoring the admin queue - handling ENA notifications (getting hints from device) For the watchdog and admin queue monitoring, the timers had to be used, so the makefile was modified to do not cut out the librte_timer. From other fixes and changes: - legacy LLQ was removed which is now deprecated API - Rx out of order completion was added to enable cleaning up packets out of order - Tx mbufs are now linearized if they exceed supported number of segments - pass information about maximum number of Tx and Rx descriptors - the IO queue number is now taking into consideration maximum number of sq and cq - Tx id requested for sending is now being validated and the reset is being triggered if it is invalid - branch predictioning was added for better performance - error checking and returned values were fixed - macros for allocating memory in communication layer were fixed - information about numa mode is now being passed to the NIC --- v4: * Fix ena_com build error with debug enabled v3: * Change version of the ENA PMD to 1.1.0 * Fix icc compile errors * Remove patch adding librte_timer as --whole-archive (it is already in) * Add lrte-timer dependency to ENA to resolve error when building DPDK as shared library v2: * Rebased on top of dpdk-next-net * Added link speed patch * Added fix when allocating coherent memory in the PMD Michal Krawczyk (2): net/ena: change version number to 1.1.0 net/ena: update ena_com to the newer version drivers/net/ena/base/ena_com.c | 710 +++++++------- drivers/net/ena/base/ena_com.h | 112 +-- drivers/net/ena/base/ena_defs/ena_admin_defs.h | 1164 +++++++---------------- drivers/net/ena/base/ena_defs/ena_common_defs.h | 8 +- drivers/net/ena/base/ena_defs/ena_eth_io_defs.h | 758 +++++---------- drivers/net/ena/base/ena_defs/ena_gen_info.h | 4 +- drivers/net/ena/base/ena_defs/ena_includes.h | 2 - drivers/net/ena/base/ena_defs/ena_regs_defs.h | 36 + drivers/net/ena/base/ena_eth_com.c | 78 +- drivers/net/ena/base/ena_eth_com.h | 10 +- drivers/net/ena/base/ena_plat.h | 2 - drivers/net/ena/base/ena_plat_dpdk.h | 39 +- drivers/net/ena/ena_ethdev.c | 56 +- 13 files changed, 1115 insertions(+), 1864 deletions(-)