numam-dpdk/drivers/net/bnxt
Ajit Khaparde b7778e8a1c net/bnxt: refactor to properly allocate resources for PF/VF
1) Move the function reset to bnxt_dev_init.
   On the same lines, setup, enable and request interrupt to init path.
   Memory allocation is also being done in the init path.

2) After a function reset, configure the VFs.  Distribute resources
   evenly between all functions (PF and VF) for now. In the future, this
   should be controllable.

3) The bnxt_vf_info and bnxt_pf_info had lot of duplication. Move the
   common items to struct bnxt. And only unique items specific to PF
   remain in the struct bnxt_pf_info.

4) Program the firmware to allow certain commands sent by a VF.
   Disallowing these will prevent clean VF driver cleanup.

5) Since PF/VF need to allocate resources from a pool in the hardware,
   use func_qcaps and func_qcfg to appropriately query the capabilities
   and available resources.

6) If a PF is being initialized and no VFs are allocated, explicitly
   call func_cfg to allocate the resources.

7) Once resources are requested from the firmware, update local copy
   of resource count in struct bnxt only after sending the func_qcfg to
   make sure the allocation request in the firmware went through.

The changes in this patch will be used by the subsequent patches
to allow proper initialization of PF/VF instance.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-06-12 10:41:28 +01:00
..
bnxt_cpr.c net/bnxt: support async link notification 2016-10-13 15:30:59 +02:00
bnxt_cpr.h net/bnxt: use I/O device memory read/write API 2017-01-18 17:18:27 +01:00
bnxt_ethdev.c net/bnxt: refactor to properly allocate resources for PF/VF 2017-06-12 10:41:28 +01:00
bnxt_filter.c net/bnxt: refactor to properly allocate resources for PF/VF 2017-06-12 10:41:28 +01:00
bnxt_filter.h net/bnxt: add L2 filter alloc/init/free 2016-06-20 17:21:51 +02:00
bnxt_hwrm.c net/bnxt: refactor to properly allocate resources for PF/VF 2017-06-12 10:41:28 +01:00
bnxt_hwrm.h net/bnxt: refactor to properly allocate resources for PF/VF 2017-06-12 10:41:28 +01:00
bnxt_irq.c eal: clean up interrupt handle 2017-04-06 21:15:55 +02:00
bnxt_irq.h net/bnxt: support async link notification 2016-10-13 15:30:59 +02:00
bnxt_ring.c net/bnxt: update to HWRM version 1.7.7 2017-06-12 10:41:28 +01:00
bnxt_ring.h net/bnxt: allocate rings and groups 2016-06-20 17:21:52 +02:00
bnxt_rxq.c drivers/net: remove unnecessary macro for unused variables 2017-06-12 10:41:25 +01:00
bnxt_rxq.h net/bnxt: add Rx queue create/destroy 2016-06-20 17:21:51 +02:00
bnxt_rxr.c net/bnxt: allocate Rx/Tx and completion rings 2016-06-20 17:21:52 +02:00
bnxt_rxr.h net/bnxt: allocate Rx/Tx and completion rings 2016-06-20 17:21:52 +02:00
bnxt_stats.c net/bnxt: refactor for 1.5.1 HWRM API 2016-09-30 12:27:18 +02:00
bnxt_stats.h net/bnxt: add statistics 2016-06-20 17:21:51 +02:00
bnxt_txq.c net/bnxt: allocate Rx/Tx and completion rings 2016-06-20 17:21:52 +02:00
bnxt_txq.h net/bnxt: add Tx queue create/destroy 2016-06-20 17:21:51 +02:00
bnxt_txr.c log: do not drop debug logs at compile time 2016-12-01 18:09:13 +01:00
bnxt_txr.h net/bnxt: use I/O device memory read/write API 2017-01-18 17:18:27 +01:00
bnxt_vnic.c net/bnxt: refactor to properly allocate resources for PF/VF 2017-06-12 10:41:28 +01:00
bnxt_vnic.h net/bnxt: refactor to properly allocate resources for PF/VF 2017-06-12 10:41:28 +01:00
bnxt.h net/bnxt: refactor to properly allocate resources for PF/VF 2017-06-12 10:41:28 +01:00
hsi_struct_def_dpdk.h net/bnxt: update to HWRM version 1.7.7 2017-06-12 10:41:28 +01:00
Makefile mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte_pmd_bnxt_version.map net/bnxt: add driver for Broadcom NetXtreme-C devices 2016-06-20 17:21:51 +02:00