[dpdk-dev] [PATCH 0/6] DPDK PMD for new QLogic FastLinQ QL4xxxx 25G/40G CNAs

Harish Patil harish.patil at qlogic.com
Sat Feb 20 16:40:25 CET 2016


This patch set introduces DPDK poll mode driver for new QLogic FastLinQ QL4xxxx
25G/40G capable family of CNAs as well as their SR-IOV Virtual Functions (VF).

The overall PMD driver design includes a common module called ecore that deals
with the low level HW and a upper layer portion that provides the glue logic.

Specifically, the ecore module contains all of the common logic,
e.g. initialization, cleanup, infrastructure for interrupt handling, link
management, slowpath etc. as well as protocol agnostic features and supplying
an abstraction layer for other modules.

The higher layer implements DPDK exported APIs/driver entry points by
interfacing with the common module for configuration/status and also the
fastpath routines.

Included in the patch set is the supporting documentation and maintainers.

Please apply.

Thanks,

Harish Patil (6):
  qede: add maintainers
  qede: add documentation
  qede: add QLogic PCI ids
  qede: add driver common module
  qede: add driver
  qede: enable PMD build

 MAINTAINERS                                     |     7 +
 config/common_bsdapp                            |    15 +
 config/common_linuxapp                          |    16 +
 doc/guides/nics/index.rst                       |     1 +
 doc/guides/nics/qede.rst                        |   344 +
 drivers/net/Makefile                            |     1 +
 drivers/net/qede/LICENSE.qede_pmd               |    28 +
 drivers/net/qede/Makefile                       |    95 +
 drivers/net/qede/ecore/bcm_osal.c               |   130 +
 drivers/net/qede/ecore/bcm_osal.h               |   408 +
 drivers/net/qede/ecore/common_hsi.h             |   714 ++
 drivers/net/qede/ecore/ecore.h                  |   785 ++
 drivers/net/qede/ecore/ecore_attn_values.h      | 13287 ++++++++++++++++++++++
 drivers/net/qede/ecore/ecore_chain.h            |   724 ++
 drivers/net/qede/ecore/ecore_cxt.c              |  2164 ++++
 drivers/net/qede/ecore/ecore_cxt.h              |   173 +
 drivers/net/qede/ecore/ecore_cxt_api.h          |    79 +
 drivers/net/qede/ecore/ecore_dcbx.c             |   950 ++
 drivers/net/qede/ecore/ecore_dcbx.h             |    55 +
 drivers/net/qede/ecore/ecore_dcbx_api.h         |   166 +
 drivers/net/qede/ecore/ecore_dev.c              |  3907 +++++++
 drivers/net/qede/ecore/ecore_dev_api.h          |   497 +
 drivers/net/qede/ecore/ecore_gtt_reg_addr.h     |    42 +
 drivers/net/qede/ecore/ecore_gtt_values.h       |    33 +
 drivers/net/qede/ecore/ecore_hsi_common.h       |  1912 ++++
 drivers/net/qede/ecore/ecore_hsi_eth.h          |  1912 ++++
 drivers/net/qede/ecore/ecore_hsi_tools.h        |  1081 ++
 drivers/net/qede/ecore/ecore_hw.c               |  1000 ++
 drivers/net/qede/ecore/ecore_hw.h               |   273 +
 drivers/net/qede/ecore/ecore_hw_defs.h          |    49 +
 drivers/net/qede/ecore/ecore_init_fw_funcs.c    |  1275 +++
 drivers/net/qede/ecore/ecore_init_fw_funcs.h    |   263 +
 drivers/net/qede/ecore/ecore_init_ops.c         |   610 +
 drivers/net/qede/ecore/ecore_init_ops.h         |   103 +
 drivers/net/qede/ecore/ecore_int.c              |  2234 ++++
 drivers/net/qede/ecore/ecore_int.h              |   234 +
 drivers/net/qede/ecore/ecore_int_api.h          |   277 +
 drivers/net/qede/ecore/ecore_iov_api.h          |   931 ++
 drivers/net/qede/ecore/ecore_iro.h              |   168 +
 drivers/net/qede/ecore/ecore_iro_values.h       |    59 +
 drivers/net/qede/ecore/ecore_l2.c               |  1801 +++
 drivers/net/qede/ecore/ecore_l2.h               |   151 +
 drivers/net/qede/ecore/ecore_l2_api.h           |   401 +
 drivers/net/qede/ecore/ecore_mcp.c              |  1952 ++++
 drivers/net/qede/ecore/ecore_mcp.h              |   304 +
 drivers/net/qede/ecore/ecore_mcp_api.h          |   629 +
 drivers/net/qede/ecore/ecore_proto_if.h         |    88 +
 drivers/net/qede/ecore/ecore_rt_defs.h          |   449 +
 drivers/net/qede/ecore/ecore_sp_api.h           |    42 +
 drivers/net/qede/ecore/ecore_sp_commands.c      |   531 +
 drivers/net/qede/ecore/ecore_sp_commands.h      |   137 +
 drivers/net/qede/ecore/ecore_spq.c              |   989 ++
 drivers/net/qede/ecore/ecore_spq.h              |   302 +
 drivers/net/qede/ecore/ecore_sriov.c            |  3422 ++++++
 drivers/net/qede/ecore/ecore_sriov.h            |   390 +
 drivers/net/qede/ecore/ecore_status.h           |    30 +
 drivers/net/qede/ecore/ecore_utils.h            |    31 +
 drivers/net/qede/ecore/ecore_vf.c               |  1319 +++
 drivers/net/qede/ecore/ecore_vf.h               |   415 +
 drivers/net/qede/ecore/ecore_vf_api.h           |   185 +
 drivers/net/qede/ecore/ecore_vfpf_if.h          |   588 +
 drivers/net/qede/ecore/eth_common.h             |   526 +
 drivers/net/qede/ecore/mcp_public.h             |  1243 ++
 drivers/net/qede/ecore/nvm_cfg.h                |   935 ++
 drivers/net/qede/ecore/reg_addr.h               |  1112 ++
 drivers/net/qede/qede_eth_if.c                  |   461 +
 drivers/net/qede/qede_eth_if.h                  |   180 +
 drivers/net/qede/qede_ethdev.c                  |   815 ++
 drivers/net/qede/qede_ethdev.h                  |   138 +
 drivers/net/qede/qede_if.h                      |   167 +
 drivers/net/qede/qede_logs.h                    |    93 +
 drivers/net/qede/qede_main.c                    |   587 +
 drivers/net/qede/qede_rxtx.c                    |  1346 +++
 drivers/net/qede/qede_rxtx.h                    |   183 +
 drivers/net/qede/rte_pmd_qede_version.map       |     4 +
 lib/librte_eal/common/include/rte_pci_dev_ids.h |    44 +
 mk/rte.app.mk                                   |     2 +
 scripts/test-build.sh                           |     1 +
 78 files changed, 58995 insertions(+)
 create mode 100644 doc/guides/nics/qede.rst
 create mode 100644 drivers/net/qede/LICENSE.qede_pmd
 create mode 100644 drivers/net/qede/Makefile
 create mode 100644 drivers/net/qede/ecore/bcm_osal.c
 create mode 100644 drivers/net/qede/ecore/bcm_osal.h
 create mode 100644 drivers/net/qede/ecore/common_hsi.h
 create mode 100644 drivers/net/qede/ecore/ecore.h
 create mode 100644 drivers/net/qede/ecore/ecore_attn_values.h
 create mode 100644 drivers/net/qede/ecore/ecore_chain.h
 create mode 100644 drivers/net/qede/ecore/ecore_cxt.c
 create mode 100644 drivers/net/qede/ecore/ecore_cxt.h
 create mode 100644 drivers/net/qede/ecore/ecore_cxt_api.h
 create mode 100644 drivers/net/qede/ecore/ecore_dcbx.c
 create mode 100644 drivers/net/qede/ecore/ecore_dcbx.h
 create mode 100644 drivers/net/qede/ecore/ecore_dcbx_api.h
 create mode 100644 drivers/net/qede/ecore/ecore_dev.c
 create mode 100644 drivers/net/qede/ecore/ecore_dev_api.h
 create mode 100644 drivers/net/qede/ecore/ecore_gtt_reg_addr.h
 create mode 100644 drivers/net/qede/ecore/ecore_gtt_values.h
 create mode 100644 drivers/net/qede/ecore/ecore_hsi_common.h
 create mode 100644 drivers/net/qede/ecore/ecore_hsi_eth.h
 create mode 100644 drivers/net/qede/ecore/ecore_hsi_tools.h
 create mode 100644 drivers/net/qede/ecore/ecore_hw.c
 create mode 100644 drivers/net/qede/ecore/ecore_hw.h
 create mode 100644 drivers/net/qede/ecore/ecore_hw_defs.h
 create mode 100644 drivers/net/qede/ecore/ecore_init_fw_funcs.c
 create mode 100644 drivers/net/qede/ecore/ecore_init_fw_funcs.h
 create mode 100644 drivers/net/qede/ecore/ecore_init_ops.c
 create mode 100644 drivers/net/qede/ecore/ecore_init_ops.h
 create mode 100644 drivers/net/qede/ecore/ecore_int.c
 create mode 100644 drivers/net/qede/ecore/ecore_int.h
 create mode 100644 drivers/net/qede/ecore/ecore_int_api.h
 create mode 100644 drivers/net/qede/ecore/ecore_iov_api.h
 create mode 100644 drivers/net/qede/ecore/ecore_iro.h
 create mode 100644 drivers/net/qede/ecore/ecore_iro_values.h
 create mode 100644 drivers/net/qede/ecore/ecore_l2.c
 create mode 100644 drivers/net/qede/ecore/ecore_l2.h
 create mode 100644 drivers/net/qede/ecore/ecore_l2_api.h
 create mode 100644 drivers/net/qede/ecore/ecore_mcp.c
 create mode 100644 drivers/net/qede/ecore/ecore_mcp.h
 create mode 100644 drivers/net/qede/ecore/ecore_mcp_api.h
 create mode 100644 drivers/net/qede/ecore/ecore_proto_if.h
 create mode 100644 drivers/net/qede/ecore/ecore_rt_defs.h
 create mode 100644 drivers/net/qede/ecore/ecore_sp_api.h
 create mode 100644 drivers/net/qede/ecore/ecore_sp_commands.c
 create mode 100644 drivers/net/qede/ecore/ecore_sp_commands.h
 create mode 100644 drivers/net/qede/ecore/ecore_spq.c
 create mode 100644 drivers/net/qede/ecore/ecore_spq.h
 create mode 100644 drivers/net/qede/ecore/ecore_sriov.c
 create mode 100644 drivers/net/qede/ecore/ecore_sriov.h
 create mode 100644 drivers/net/qede/ecore/ecore_status.h
 create mode 100644 drivers/net/qede/ecore/ecore_utils.h
 create mode 100644 drivers/net/qede/ecore/ecore_vf.c
 create mode 100644 drivers/net/qede/ecore/ecore_vf.h
 create mode 100644 drivers/net/qede/ecore/ecore_vf_api.h
 create mode 100644 drivers/net/qede/ecore/ecore_vfpf_if.h
 create mode 100644 drivers/net/qede/ecore/eth_common.h
 create mode 100644 drivers/net/qede/ecore/mcp_public.h
 create mode 100644 drivers/net/qede/ecore/nvm_cfg.h
 create mode 100644 drivers/net/qede/ecore/reg_addr.h
 create mode 100644 drivers/net/qede/qede_eth_if.c
 create mode 100644 drivers/net/qede/qede_eth_if.h
 create mode 100644 drivers/net/qede/qede_ethdev.c
 create mode 100644 drivers/net/qede/qede_ethdev.h
 create mode 100644 drivers/net/qede/qede_if.h
 create mode 100644 drivers/net/qede/qede_logs.h
 create mode 100644 drivers/net/qede/qede_main.c
 create mode 100644 drivers/net/qede/qede_rxtx.c
 create mode 100644 drivers/net/qede/qede_rxtx.h
 create mode 100644 drivers/net/qede/rte_pmd_qede_version.map

-- 
1.8.3.1



More information about the dev mailing list