net/szedata2: add more supported firmwares

Add IBUF and OBUF offsets definitions for new firmwares.

Signed-off-by: Matej Vido <vido@cesnet.cz>
This commit is contained in:
Matej Vido 2017-06-12 14:03:22 +02:00 committed by Ferruh Yigit
parent 18402f9f70
commit 8c21057185
4 changed files with 174 additions and 20 deletions

View File

@ -276,12 +276,8 @@ CONFIG_RTE_LIBRTE_SFC_EFX_DEBUG=n
CONFIG_RTE_LIBRTE_PMD_SZEDATA2=n CONFIG_RTE_LIBRTE_PMD_SZEDATA2=n
# #
# Defines firmware type address space. # Defines firmware type address space.
# RTE_LIBRTE_PMD_SZEDATA2_AS can be: # See documentation for supported values.
# 0 - for firmwares: # Other values raise compile time error.
# NIC_100G1_LR4
# HANIC_100G1_LR4
# HANIC_100G1_SR10
# Other values raise compile time error
CONFIG_RTE_LIBRTE_PMD_SZEDATA2_AS=0 CONFIG_RTE_LIBRTE_PMD_SZEDATA2_AS=0
# #

View File

@ -91,14 +91,34 @@ These configuration options can be modified before compilation in the
* ``CONFIG_RTE_LIBRTE_PMD_SZEDATA2_AS`` default value: **0** * ``CONFIG_RTE_LIBRTE_PMD_SZEDATA2_AS`` default value: **0**
This option defines type of firmware address space. This option defines type of firmware address space and must be set
Currently supported value is: according to the used card and mode.
Currently supported values are:
* **0** for firmwares: * **0** - for cards (modes):
* NIC_100G1_LR4 * NFB-100G1 (100G1)
* HANIC_100G1_LR4
* HANIC_100G1_SR10 * **1** - for cards (modes):
* NFB-100G2Q (100G1)
* **2** - for cards (modes):
* NFB-40G2 (40G2)
* NFB-100G2C (100G2)
* NFB-100G2Q (40G2)
* **3** - for cards (modes):
* NFB-40G2 (10G8)
* NFB-100G2Q (10G8)
* **4** - for cards (modes):
* NFB-100G1 (10G10)
* **5** - for experimental firmwares and future use
Using the SZEDATA2 PMD Using the SZEDATA2 PMD
---------------------- ----------------------

View File

@ -71,6 +71,10 @@ New Features
Rx queues can be armed with an interrupt which will trigger on the Rx queues can be armed with an interrupt which will trigger on the
next packet arrival. next packet arrival.
* **Updated szedata2 PMD.**
Added support for firmwares with multiple Ethernet ports per physical port.
Resolved Issues Resolved Issues
--------------- ---------------

View File

@ -39,21 +39,41 @@
/* /*
* IBUFs and OBUFs can generally be located at different offsets in different * IBUFs and OBUFs can generally be located at different offsets in different
* firmwares. * firmwares (modes).
* This part defines base offsets of IBUFs and OBUFs through various firmwares. * This part defines base offsets of IBUFs and OBUFs for various cards
* Currently one firmware type is supported. * and firmwares (modes).
* Type of firmware is set through configuration option * Type of firmware (mode) is set through configuration option
* CONFIG_RTE_LIBRTE_PMD_SZEDATA2_AS. * CONFIG_RTE_LIBRTE_PMD_SZEDATA2_AS.
* Possible values are: * Possible values are:
* 0 - for firmwares: * 0 - for cards (modes):
* NIC_100G1_LR4 * NFB-100G1 (100G1)
* HANIC_100G1_LR4 *
* HANIC_100G1_SR10 * 1 - for cards (modes):
* NFB-100G2Q (100G1)
*
* 2 - for cards (modes):
* NFB-40G2 (40G2)
* NFB-100G2C (100G2)
* NFB-100G2Q (40G2)
*
* 3 - for cards (modes):
* NFB-40G2 (10G8)
* NFB-100G2Q (10G8)
*
* 4 - for cards (modes):
* NFB-100G1 (10G10)
*
* 5 - for experimental firmwares and future use
*/ */
#if !defined(RTE_LIBRTE_PMD_SZEDATA2_AS) #if !defined(RTE_LIBRTE_PMD_SZEDATA2_AS)
#error "RTE_LIBRTE_PMD_SZEDATA2_AS has to be defined" #error "RTE_LIBRTE_PMD_SZEDATA2_AS has to be defined"
#elif RTE_LIBRTE_PMD_SZEDATA2_AS == 0 #elif RTE_LIBRTE_PMD_SZEDATA2_AS == 0
/*
* Cards (modes):
* NFB-100G1 (100G1)
*/
const uint32_t szedata2_ibuf_base_table[] = { const uint32_t szedata2_ibuf_base_table[] = {
0x8000 0x8000
}; };
@ -61,6 +81,120 @@ const uint32_t szedata2_obuf_base_table[] = {
0x9000 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)
*/
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)
*/
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
/*
* Future use and experimental firmwares.
*/
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 #else
#error "RTE_LIBRTE_PMD_SZEDATA2_AS has wrong value, see comments in config file" #error "RTE_LIBRTE_PMD_SZEDATA2_AS has wrong value, see comments in config file"
#endif #endif