7 Commits

Author SHA1 Message Date
Ajit Khaparde
9b63c6fd70 net/bnxt: support Rx/Tx queue start/stop
Currently this is implemented entirely in the PMD as there is no
explicit support in the HW. Re-program the RSS Table without this queue
on stop and add it back to the table on start.

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2018-01-29 10:04:28 +01:00
Santosh Shukla
df6e0a06a3 drivers/net: rename physical address type to IOVA
Renamed data type from phys_addr_t to rte_iova_t.

Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-11-06 22:44:26 +01:00
Ajit Khaparde
5ef3b79fdf net/bnxt: support flow filter ops
This patch adds support for flow validate/create/destroy/flush,
ethertype add/del ops

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-10-06 02:49:49 +02:00
Ajit Khaparde
4cfe399f65 net/bnxt: support to set VF rxmode
This patch adds support to configure the VF L2 Rx settings.
The per VF setting is maintained in bnxt_child_vf_info.l2_rx_mask

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-06-12 10:41:29 +01:00
Ajit Khaparde
d69851df12 net/bnxt: support multicast filter and set MAC addr
This patch adds support for set_mc_addr_list and
mac_addr_set dev_ops

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-06-12 10:41:28 +01:00
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
Ajit Khaparde
9738793f28 net/bnxt: add VNIC functions and structs
Add functions to allocate, initialize, and free vnics.

A VNIC represents a virtual interface. It is a resource in the RX path
of the chip and is used to setup various target actions such as RSS,
MAC filtering etc. for the physical function in use.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Stephen Hurd <stephen.hurd@broadcom.com>
Reviewed-by: David Christensen <david.christensen@broadcom.com>
2016-06-20 17:21:51 +02:00