[dpdk-dev] [PATCH v2 2/2] drivers/i40e: fix the hash filter invalid calculation in X722

2016-10-15 Thread Jeff Guo
As X722 extracts IPv4 header to Field Vector different with XL710/X710, need to corresponding to modify the fields of IPv4 header in input set to map different default Field Vector Table of different NICs. Signed-off-by: Jeff Guo --- v2: fix compile error when x722 macro is not defined and

[dpdk-dev] [PATCH v2 1/2] drivers/i40e: fix X722 macro absence result in compile

2016-10-15 Thread Jeff Guo
Since some register only be supported by X722 but may not be supported by other NICs, so add X722 macro to distinguish that to avoid compile error when the X722 macro is undefined. Fixes: d0a349409bd7 (?i40e: support AQ based RSS config?) Fixes: 001a1c0f98f4 ("ethdev: get registers width") Fixes:

[dpdk-dev] [PATCH v2 2/2] drivers/i40e: fix the hash filter invalid calculation in X722

2016-10-15 Thread Jeff Guo
As X722 extracts IPv4 header to Field Vector different with XL710/X710, need to corresponding to modify the fields of IPv4 header in input set to map different default Field Vector Table of different NICs. Signed-off-by: Jeff Guo --- v2: fix compile error when x722 macro is not defined and

[dpdk-dev] [PATCH v2 1/2] drivers/i40e: fix X722 macro absence result in compile

2016-10-15 Thread Jeff Guo
Since some register only be supported by X722 but may not be supported by other NICs, so add X722 macro to distinguish that to avoid compile error when the X722 macro is undefined. Fixes: d0a349409bd7 (?i40e: support AQ based RSS config?) Fixes: 001a1c0f98f4 ("ethdev: get registers width") Fixes:

[dpdk-dev] [PATCH v4 00/17] Introduce SoC device/driver framework for EAL

2016-10-15 Thread Shreyansh Jain
On Saturday 15 October 2016 07:14 PM, Shreyansh Jain wrote: [...] > > 4) Design considerations that are same as PCI: > - SoC initialization is being done through rte_eal_init(), just after PCI >initialization is done. > - As in case of PCI, probe is done after rte_eal_pci_probe() to link the

[dpdk-dev] [PATCH v4 17/17] eal/crypto: Support rte_soc_driver/device for cryptodev

2016-10-15 Thread Shreyansh Jain
- rte_cryptodev_driver/rte_cryptodev_dev embeds rte_soc_driver/device for linking SoC PMDs to crypto devices. - Add probe and remove functions linked Signed-off-by: Hemant Agrawal Signed-off-by: Shreyansh Jain --- lib/librte_cryptodev/rte_cryptodev.c | 122 -

[dpdk-dev] [PATCH v4 16/17] ether: introduce ethernet dev probe remove

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin Signed-off-by: Jan Viktorin Signed-off-by: Shreyansh Jain Signed-off-by: Hemant Agrawal --- lib/librte_ether/rte_ethdev.c | 148 +- lib/librte_ether/rte_ethdev.h | 31 + 2 files changed, 177

[dpdk-dev] [PATCH v4 15/17] ether: extract function eth_dev_get_intr_handle

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin We abstract access to the intr_handle here as we want to get it either from the pci_dev or soc_dev. Signed-off-by: Jan Viktorin Signed-off-by: Shreyansh Jain Signed-off-by: Hemant Agrawal --- lib/librte_ether/rte_ethdev.c | 14 -- 1

[dpdk-dev] [PATCH v4 14/17] ether: verify we copy info from a PCI device

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin Now that different types of ethdev exist, check for presence of PCI dev while copying out the info. Similar would be done for SoC. Signed-off-by: Jan Viktorin Signed-off-by: Shreyansh Jain Signed-off-by: Hemant Agrawal ---

[dpdk-dev] [PATCH v4 13/17] ether: utilize container_of for pci_drv

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin It is not necessary to place the rte_pci_driver at the beginning of the rte_eth_dev struct anymore as we use the container_of macro to get the parent pointer. Signed-off-by: Jan Viktorin Signed-off-by: Shreyansh Jain Signed-off-by: Hemant Agrawal

[dpdk-dev] [PATCH v4 12/17] eal/soc: additional features for SoC

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin Additional features introduced: - Find kernel driver through sysfs bindings - Dummy implementation for mapping to kernel driver - DMA coherency value from sysfs - Numa node number from sysfs - Support for updating device during probe if already

[dpdk-dev] [PATCH v4 11/17] eal/soc: add default scan for Soc devices

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin Default implementation which scans the sysfs platform devices hierarchy. For each device, extract the ueven and convert into rte_soc_device. The information populated can then be used in probe to match against the drivers registered. Signed-off-by:

[dpdk-dev] [PATCH v4 10/17] eal/soc: add intr_handle

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin Signed-off-by: Jan Viktorin Signed-off-by: Shreyansh Jain Signed-off-by: Hemant Agrawal --- lib/librte_eal/common/include/rte_soc.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/librte_eal/common/include/rte_soc.h

[dpdk-dev] [PATCH v4 09/17] eal/soc: add drv_flags

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin The flags are copied from the PCI ones. They should be refactorized into a general set of flags in the future. Signed-off-by: Jan Viktorin Signed-off-by: Shreyansh Jain Signed-off-by: Hemant Agrawal --- lib/librte_eal/common/include/rte_soc.h | 10

[dpdk-dev] [PATCH v4 08/17] eal/soc: extend and utilize devargs

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin It is assumed that SoC Devices provided on command line are prefixed with "soc:". This patch adds parse and attach support for such devices. Signed-off-by: Jan Viktorin Signed-off-by: Shreyansh Jain Signed-off-by: Hemant Agrawal ---

[dpdk-dev] [PATCH v4 07/17] eal/soc: implement probing of drivers

2016-10-15 Thread Shreyansh Jain
Each SoC PMD registers a set of callback for scanning its own bus/infra and matching devices to drivers when probe is called. This patch introduces the infra for calls to SoC scan on rte_eal_soc_init() and match on rte_eal_soc_probe(). Patch also adds test case for scan and probe. Signed-off-by:

[dpdk-dev] [PATCH v4 06/17] eal/soc: init SoC infra from EAL

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin Signed-off-by: Jan Viktorin Signed-off-by: Shreyansh Jain Signed-off-by: Hemant Agrawal --- lib/librte_eal/bsdapp/eal/Makefile| 1 + lib/librte_eal/bsdapp/eal/eal.c | 4 +++ lib/librte_eal/bsdapp/eal/eal_soc.c | 46

[dpdk-dev] [PATCH v4 05/17] eal: introduce command line enable SoC option

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin Support --enable-soc. SoC support is disabled by default. Signed-off-by: Jan Viktorin [Shreyansh: Change --no-soc to --enable-soc; disabled by default] Signed-off-by: Shreyansh Jain Signed-off-by: Hemant Agrawal ---

[dpdk-dev] [PATCH v4 04/17] eal/soc: implement SoC device list and dump

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin SoC devices would be linked in a separate list (from PCI). This is used for probe function. A helper for dumping the device list is added. Signed-off-by: Jan Viktorin Signed-off-by: Shreyansh Jain Signed-off-by: Hemant Agrawal ---

[dpdk-dev] [PATCH v4 03/17] eal/soc: add SoC PMD register/unregister logic

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin Registeration of a SoC driver through a helper RTE_PMD_REGISTER_SOC (on the lines of RTE_PMD_REGISTER_PCI). soc_driver_list stores all the registered drivers. Test case has been introduced to verify the registration and deregistration. Signed-off-by:

[dpdk-dev] [PATCH v4 02/17] eal/soc: introduce very essential SoC infra definitions

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin Define initial structures and functions for the SoC infrastructure. This patch supports only a very minimal functions for now. More features will be added in the following commits. Includes rte_device/rte_driver inheritance of

[dpdk-dev] [PATCH v4 01/17] eal: define container macro

2016-10-15 Thread Shreyansh Jain
From: Jan Viktorin Signed-off-by: Jan Viktorin Signed-off-by: Shreyansh Jain --- lib/librte_eal/common/include/rte_common.h | 18 ++ 1 file changed, 18 insertions(+) diff --git a/lib/librte_eal/common/include/rte_common.h

[dpdk-dev] [PATCH v4 00/17] Introduce SoC device/driver framework for EAL

2016-10-15 Thread Shreyansh Jain
Introduction: = This patch set is direct derivative of Jan's original series [1],[2]. - This version is based on HEAD (tag: v16.11-rc1) + patch series [11] Aim: As of now EAL is primarly focused on PCI initialization/probing. rte_eal_init() |- rte_eal_pci_init(): Find PCI

[dpdk-dev] [PATCH v3 32/32] qede: update driver version

2016-10-15 Thread Rasesh Mody
This patch updates the qede pmd version to 1.2.0.1. Signed-off-by: Rasesh Mody --- drivers/net/qede/qede_ethdev.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/qede/qede_ethdev.h b/drivers/net/qede/qede_ethdev.h index 5ab36a5..5eb3f52 100644 ---

[dpdk-dev] [PATCH v3 31/32] doc: update qede pmd documentation

2016-10-15 Thread Rasesh Mody
Signed-off-by: Rasesh Mody Acked-by: John McNamara --- doc/guides/nics/qede.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst index d32fba2..105ae37 100644 --- a/doc/guides/nics/qede.rst +++ b/doc/guides/nics/qede.rst

[dpdk-dev] [PATCH v3 30/32] qede: remove zlib dependency and enable PMD by default

2016-10-15 Thread Rasesh Mody
The QEDE PMD now uses unzipped firmware file eliminating the dependency on zlib. Hence remove LDLIBS entry form the Makefile and enable qede PMD by default. Fixes: 6adac0bf ("qede: add missing external dependency and disable by default") Signed-off-by: Rasesh Mody --- config/common_base

[dpdk-dev] [PATCH v3 29/32] qede: add support for queue statistics

2016-10-15 Thread Rasesh Mody
This patch adds support for pulling per queue statistics. Signed-off-by: Rasesh Mody --- drivers/net/qede/qede_ethdev.c | 98 +- drivers/net/qede/qede_ethdev.h | 3 ++ drivers/net/qede/qede_rxtx.c | 23 +- drivers/net/qede/qede_rxtx.h | 4 +-

[dpdk-dev] [PATCH v3 28/32] qede: fix status_blk index for VF queues

2016-10-15 Thread Rasesh Mody
From: Harish Patil o Fix the fastpath status block index such that each queue pair shares the same index value. o Add ecore_vf_get_num_sbs() API that returns the number of status blocks assigned by PF. Use that to decide how many VF queues can be advertised.

[dpdk-dev] [PATCH v3 27/32] qede: fix driver version string

2016-10-15 Thread Rasesh Mody
From: Harish Patil This patch fixes the base driver version display. The driver version notation is: Fixes: 2ea6f76 ("qede: add core driver") Signed-off-by: Harish Patil --- drivers/net/qede/qede_ethdev.c | 43 +-

[dpdk-dev] [PATCH v3 26/32] qede: skip slowpath polling for 100G VF device

2016-10-15 Thread Rasesh Mody
From: Harish Patil There is no need to poll for slowpath events for VF device since the ramrod responses are received over PF-VF backchannel synchronously. So the fix is to restrict the slowpath polling for PF device only. Fixes 2af14ca ("net/qede: support 100G")

[dpdk-dev] [PATCH v3 25/32] qede/base: add support to initiate PF FLR

2016-10-15 Thread Rasesh Mody
From: Harish Patil Add support to send PF FLR request to the management firmware to bringup the device in clean slate. This cleanup is necessary in some corner cases where the device would be left in a bad state from its previous operations. The driver will send PF FLR

[dpdk-dev] [PATCH v3 24/32] qede/base: change rx tx queue start APIs

2016-10-15 Thread Rasesh Mody
Changed q_{rx,tx}_start APIs to use common queue start parameters Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore_l2.c | 131 +++ drivers/net/qede/base/ecore_l2.h | 26 ++- drivers/net/qede/base/ecore_l2_api.h | 69 +-

[dpdk-dev] [PATCH v3 23/32] qede: add scatter gather support

2016-10-15 Thread Rasesh Mody
From: Sony Chacko Add scatter gather support to enable transmit and receive of larger packets. Signed-off-by: Sony Chacko --- doc/guides/nics/features/qede.ini| 1 + doc/guides/nics/features/qede_vf.ini | 1 + doc/guides/nics/qede.rst | 4 +-

[dpdk-dev] [PATCH v3 22/32] qede: fix RSS related issues

2016-10-15 Thread Rasesh Mody
From: Harish Patil This patch contains few RSS related changes as follows: o Fix inadvarent initializing of rss_params outside of the if block in qed_update_vport() which could cause FW exception. o Fix disabling of RSS when hash function is 0. o Rename

[dpdk-dev] [PATCH v3 21/32] qede: add enable/disable VLAN filtering

2016-10-15 Thread Rasesh Mody
From: Harish Patil The device doesn't explicitly support enable/disable of VLAN filtering. However, VLAN filtering takes effect when a matching VLAN is configured. So in order to support enable/disable of VLAN filtering, VLAN 0 is added/removed respectively. A check is

[dpdk-dev] [PATCH v3 20/32] qede: fixes for VLAN filters

2016-10-15 Thread Rasesh Mody
From: Harish Patil fix to prevent duplicate VLAN filters: librte_ether does not keep track of VLAN filters configured, so it becomes driver's responsibility to keep track of it and prevent duplicate filter programming. The fix is to use a singly linked list for tracking

[dpdk-dev] [PATCH v3 19/32] qede: remove unused/dead code

2016-10-15 Thread Rasesh Mody
From: Harish Patil Fixes: 2ea6f76 ("qede: add core driver") Signed-off-by: Harish Patil Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore_iov_api.h | 312 -- drivers/net/qede/qede_eth_if.c| 10 --

[dpdk-dev] [PATCH v3 18/32] qede: add missing 100G link speed capability

2016-10-15 Thread Rasesh Mody
From: Harish Patil This patch fixes the missing 100G link speed advertisement when the 100G support was initially added. Fixes 2af14ca ("net/qede: support 100G") Signed-off-by: Harish Patil --- doc/guides/nics/features/qede.ini| 1 +

[dpdk-dev] [PATCH v3 17/32] qede/base: allow MTU change via vport-update

2016-10-15 Thread Rasesh Mody
From: Harish Patil Add support to allow MTU change on a deactivated vport in the qede/base driver and the core driver shall utilize the same. Signed-off-by: Harish Patil --- drivers/net/qede/base/ecore_l2.c | 5 + drivers/net/qede/base/ecore_l2_api.h | 4

[dpdk-dev] [PATCH v3 16/32] qede: fix port (re)configuration issue

2016-10-15 Thread Rasesh Mody
From: Harish Patil Some applications set port configuration params like promisc mode before calling dev_start(). This config results in a firmware exception since this operation internally translates to sending of VPORT-UPDATE before VPORT-START ramrod which is

[dpdk-dev] [PATCH v3 15/32] qede: enable support for unequal number of RX/TX queues

2016-10-15 Thread Rasesh Mody
From: Sony Chacko Previous release of the qede PMD had a limitation that the driver expects the number of tx and rx queues to be the same. This patch fixes this issue by making appropriate changes in control and data path. Fixes: 2ea6f76 ("qede: add core driver")

[dpdk-dev] [PATCH v3 14/32] qede/base: add MFW crash dump support

2016-10-15 Thread Rasesh Mody
Add support for management firmware(MFW) crash dump collection. Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore.h | 3 + drivers/net/qede/base/ecore_dev.c | 22 ++--- drivers/net/qede/base/ecore_dev_api.h | 29 --- drivers/net/qede/base/ecore_mcp.c | 151

[dpdk-dev] [PATCH v3 13/32] qede/base: comment enhancements

2016-10-15 Thread Rasesh Mody
Comment additions and modifications Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore_dev_api.h | 4 +- drivers/net/qede/base/ecore_gtt_reg_addr.h | 10 + drivers/net/qede/base/ecore_hsi_common.h | 863 +++- drivers/net/qede/base/ecore_hsi_eth.h |

[dpdk-dev] [PATCH v3 12/32] qede/base: rename structure and defines

2016-10-15 Thread Rasesh Mody
Renamed following to match with HSI changes - PMM_* to ETH_* - pmm_* to eth_* Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore_l2.c | 90 ++--- drivers/net/qede/base/ecore_mcp.c | 12 +-- drivers/net/qede/base/mcp_public.h | 158

[dpdk-dev] [PATCH v3 11/32] qede/base: update base driver

2016-10-15 Thread Rasesh Mody
This patch updates the base driver and incorporates necessary changes required to bring in the new firmware 8.10.9.0. In addition, it would allow driver to add new functionalities that might be needed in future. Signed-off-by: Rasesh Mody --- doc/guides/nics/features/qede.ini |2

[dpdk-dev] [PATCH v3 10/32] qede: add APIs to support NIC selftests and query sensor info.

2016-10-15 Thread Rasesh Mody
From: Harish Patil This patch adds API support for NIC selftests (BIST) and APIs to retrieve GPIO info, sensor data like temperature, MBA versions, ECC events etc. Signed-off-by: Harish Patil --- drivers/net/qede/base/ecore_mcp.c | 314

[dpdk-dev] [PATCH v3 09/32] qede: serialize access to MFW mbox

2016-10-15 Thread Rasesh Mody
From: Harish Patil Add ecore_mcp_mb_lock() and ecore_mcp_mb_unlock() APIs to ensure a single thread is accessing MFW mailbox. Signed-off-by: Harish Patil --- drivers/net/qede/base/ecore_mcp.c | 70 ++-

[dpdk-dev] [PATCH v3 08/32] qede: change the API signature of ecore_mcp_cmd_and_union()

2016-10-15 Thread Rasesh Mody
From: Harish Patil Change ecore_mcp_cmd_and_union() to accept pointer to a structure rather than accepting multiple arguments. A new struct ecore_mcp_mb_params is added for that purpose. Also make this function static. This change is mostly keeping in mind the future

[dpdk-dev] [PATCH v3 07/32] qede: fix 32 bit compilation

2016-10-15 Thread Rasesh Mody
Fix 32 bit compilation for gcc version 4.3.4. Signed-off-by: Rasesh Mody --- drivers/net/qede/Makefile | 4 1 file changed, 4 insertions(+) diff --git a/drivers/net/qede/Makefile b/drivers/net/qede/Makefile index fe449aa..7965a83 100644 --- a/drivers/net/qede/Makefile +++

[dpdk-dev] [PATCH v3 06/32] qede/base: additional formatting/comment changes

2016-10-15 Thread Rasesh Mody
Change details: - adds new comments - modifies some of the existing comments - abstract code into macros - split long lines Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore.h | 3 +- drivers/net/qede/base/ecore_chain.h | 14 ++---

[dpdk-dev] [PATCH v3 05/32] qede/base: fix the attention formating string

2016-10-15 Thread Rasesh Mody
In case of attention from a signal that's represented by multiple bits in misc AEU, the format string isn't populated with index and resulting prints show something akin to " %d" as prefix. Signed-off-by: Rasesh Mody --- drivers/net/qede/base/bcm_osal.c | 21 +

[dpdk-dev] [PATCH v3 04/32] qede/base: add HSI changes and register defines

2016-10-15 Thread Rasesh Mody
- add the hardware software interface(HSI) changes - add register definitions These will be required for 8.10.9.0 FW upgrade. Signed-off-by: Rasesh Mody --- drivers/net/qede/base/common_hsi.h | 1202 +- drivers/net/qede/base/ecore_dev.c|2 -

[dpdk-dev] [PATCH v3 03/32] qede: use FW CONFIG defines as needed

2016-10-15 Thread Rasesh Mody
Replaced CONFIG_QED_BINARY_FW with CONFIG_ECORE_BINARY_FW. Use CONFIG_ECORE_BINARY_FW and CONFIG_ECORE_ZIPPED_FW defines as required. Signed-off-by: Rasesh Mody --- drivers/net/qede/base/bcm_osal.c | 2 ++ drivers/net/qede/base/ecore.h| 20 +++- drivers/net/qede/qede_main.c

[dpdk-dev] [PATCH v3 01/32] qede/base: add new init files and rearrange the code

2016-10-15 Thread Rasesh Mody
Added ecore_hsi_debug_tools.h, ecore_hsi_init_func.h, ecore_hsi_init_tool.h files. Rearranged code from ecore_hsi_common.h and ecore_hsi_tools.h to the new files. Removed unused code. Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore.h | 17 +-

[dpdk-dev] [PATCH v3 00/32] qede: update qede pmd to 1.2.0.1 and enable by default

2016-10-15 Thread Rasesh Mody
Hi, This patch set includes changes to update the base driver, work with newer FW 8.10.9.0, adds new features, includes enhancements and code cleanup, provides bug fixes and updates documentation for the QEDE poll mode driver. It enables QEDE PMD in the dpdk config by default. The dependency on