From patchwork Fri May 26 18:05:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matej Vido X-Patchwork-Id: 24657 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 E7EBFA15A; Fri, 26 May 2017 20:06:31 +0200 (CEST) Received: from office2.cesnet.cz (office2.cesnet.cz [195.113.144.244]) by dpdk.org (Postfix) with ESMTP id E89B8A12A for ; Fri, 26 May 2017 20:06:24 +0200 (CEST) Received: from localhost.localdomain (adsl-dyn-79.95-102-232.t-com.sk [95.102.232.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by office2.cesnet.cz (Postfix) with ESMTPSA id B0AE620011 for ; Fri, 26 May 2017 20:06:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cesnet.cz; s=office2; t=1495821984; bh=KTFYMGa8eWSJHAvi8Qx/94MeRt+4u5zmBfLMYf2qJKc=; h=From:To:Subject:Date:In-Reply-To:References; b=PIbUK2krmIPyQ4hwQ4GaDaOOHt7VlVO6oHz3n9OTZkj9E2msSdzCT1/JJNwGJyX96 cjBNSntITT001jgEp20nZxxs+7PxAvT4giFvCLuZ1Z1a/NSOXOl36nIrW+x6i+l454 Gd4SvSzpd7hvbQnGiG3dBxi+IKPL5i52sRmDJFk8= From: Matej Vido To: dev@dpdk.org Date: Fri, 26 May 2017 20:05:56 +0200 Message-Id: <1495821956-5050-5-git-send-email-vido@cesnet.cz> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1495821956-5050-1-git-send-email-vido@cesnet.cz> References: <1495821956-5050-1-git-send-email-vido@cesnet.cz> Subject: [dpdk-dev] [PATCH 5/5] net/szedata2: add more supported firmwares 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" Add IBUF and OBUF offsets definitions for new firmwares. Signed-off-by: Matej Vido --- config/common_base | 8 +-- doc/guides/nics/szedata2.rst | 32 ++++++-- drivers/net/szedata2/szedata2_iobuf.c | 148 +++++++++++++++++++++++++++++++-- 3 files changed, 168 insertions(+), 20 deletions(-) diff --git a/config/common_base b/config/common_base index 67ef2ec..25df77a 100644 --- a/config/common_base +++ b/config/common_base @@ -279,12 +279,8 @@ CONFIG_RTE_LIBRTE_SFC_EFX_DEBUG=n CONFIG_RTE_LIBRTE_PMD_SZEDATA2=n # # Defines firmware type address space. -# RTE_LIBRTE_PMD_SZEDATA2_AS can be: -# 0 - for firmwares: -# NIC_100G1_LR4 -# HANIC_100G1_LR4 -# HANIC_100G1_SR10 -# Other values raise compile time error +# See documentation for supported values. +# Other values raise compile time error. CONFIG_RTE_LIBRTE_PMD_SZEDATA2_AS=0 # diff --git a/doc/guides/nics/szedata2.rst b/doc/guides/nics/szedata2.rst index 60080a9..cb4d965 100644 --- a/doc/guides/nics/szedata2.rst +++ b/doc/guides/nics/szedata2.rst @@ -91,14 +91,34 @@ These configuration options can be modified before compilation in the * ``CONFIG_RTE_LIBRTE_PMD_SZEDATA2_AS`` default value: **0** - This option defines type of firmware address space. - Currently supported value is: + This option defines type of firmware address space and must be set + according to the used card and mode. + Currently supported values are: - * **0** for firmwares: + * **0** - for cards (modes): - * NIC_100G1_LR4 - * HANIC_100G1_LR4 - * HANIC_100G1_SR10 + * NFB-100G1 (100G1) + + * **1** - for cards (modes): + + * NFB-100G2Q (100G1) + + * **2** - for cards (modes): + + * NFB-40G2 (40G2) + * NFB-100G2C (100G2) + * NFB-100G2Q (40G2) + * NFB-200G2QL (100G2, 40G2) + + * **3** - for cards (modes): + + * NFB-40G2 (10G8) + * NFB-100G2Q (10G8) + * NFB-200G2QL (10G8) + + * **4** - for cards (modes): + + * NFB-100G1 (10G10) Using the SZEDATA2 PMD ---------------------- diff --git a/drivers/net/szedata2/szedata2_iobuf.c b/drivers/net/szedata2/szedata2_iobuf.c index 2d25e65..821fe78 100644 --- a/drivers/net/szedata2/szedata2_iobuf.c +++ b/drivers/net/szedata2/szedata2_iobuf.c @@ -39,21 +39,41 @@ /* * IBUFs and OBUFs can generally be located at different offsets in different - * firmwares. - * This part defines base offsets of IBUFs and OBUFs through various firmwares. - * Currently one firmware type is supported. - * Type of firmware is set through configuration option + * firmwares (modes). + * This part defines base offsets of IBUFs and OBUFs for various cards + * and firmwares (modes). + * Type of firmware (mode) is set through configuration option * CONFIG_RTE_LIBRTE_PMD_SZEDATA2_AS. * Possible values are: - * 0 - for firmwares: - * NIC_100G1_LR4 - * HANIC_100G1_LR4 - * HANIC_100G1_SR10 + * 0 - for cards (modes): + * NFB-100G1 (100G1) + * + * 1 - for cards (modes): + * NFB-100G2Q (100G1) + * + * 2 - for cards (modes): + * NFB-40G2 (40G2) + * NFB-100G2C (100G2) + * NFB-100G2Q (40G2) + * NFB-200G2QL (100G2, 40G2) + * + * 3 - for cards (modes): + * NFB-40G2 (10G8) + * NFB-100G2Q (10G8) + * NFB-200G2QL (10G8) + * + * 4 - for cards (modes): + * NFB-100G1 (10G10) */ #if !defined(RTE_LIBRTE_PMD_SZEDATA2_AS) #error "RTE_LIBRTE_PMD_SZEDATA2_AS has to be defined" #elif RTE_LIBRTE_PMD_SZEDATA2_AS == 0 +/* + * Cards (modes): + * NFB-100G1 (100G1) + */ + const uint32_t szedata2_ibuf_base_table[] = { 0x8000 }; @@ -61,6 +81,118 @@ 0x9000 }; +#elif RTE_LIBRTE_PMD_SZEDATA2_AS == 1 + +/* + * Cards (modes): + * NFB-100G2Q (100G1) + */ + +const uint32_t szedata2_ibuf_base_table[] = { + 0x8800 +}; +const uint32_t szedata2_obuf_base_table[] = { + 0x9800 +}; + +#elif RTE_LIBRTE_PMD_SZEDATA2_AS == 2 + +/* + * Cards (modes): + * NFB-40G2 (40G2) + * NFB-100G2C (100G2) + * NFB-100G2Q (40G2) + * NFB-200G2QL (100G2, 40G2) + */ + +const uint32_t szedata2_ibuf_base_table[] = { + 0x8000, + 0x8800 +}; +const uint32_t szedata2_obuf_base_table[] = { + 0x9000, + 0x9800 +}; + +#elif RTE_LIBRTE_PMD_SZEDATA2_AS == 3 + +/* + * Cards (modes): + * NFB-40G2 (10G8) + * NFB-100G2Q (10G8) + * NFB-200G2QL (10G8) + */ + +const uint32_t szedata2_ibuf_base_table[] = { + 0x8000, + 0x8200, + 0x8400, + 0x8600, + 0x8800, + 0x8A00, + 0x8C00, + 0x8E00 +}; +const uint32_t szedata2_obuf_base_table[] = { + 0x9000, + 0x9200, + 0x9400, + 0x9600, + 0x9800, + 0x9A00, + 0x9C00, + 0x9E00 +}; + +#elif RTE_LIBRTE_PMD_SZEDATA2_AS == 4 + +/* + * Cards (modes): + * NFB-100G1 (10G10) + */ + +const uint32_t szedata2_ibuf_base_table[] = { + 0x8000, + 0x8200, + 0x8400, + 0x8600, + 0x8800, + 0x8A00, + 0x8C00, + 0x8E00, + 0x9000, + 0x9200 +}; +const uint32_t szedata2_obuf_base_table[] = { + 0xA000, + 0xA200, + 0xA400, + 0xA600, + 0xA800, + 0xAA00, + 0xAC00, + 0xAE00, + 0xB000, + 0xB200 +}; + +#elif RTE_LIBRTE_PMD_SZEDATA2_AS == 5 + +const uint32_t szedata2_ibuf_base_table[] = { + 0x8000, + 0x8200, + 0x8400, + 0x8600, + 0x8800 +}; +const uint32_t szedata2_obuf_base_table[] = { + 0x9000, + 0x9200, + 0x9400, + 0x9600, + 0x9800 +}; + #else #error "RTE_LIBRTE_PMD_SZEDATA2_AS has wrong value, see comments in config file" #endif