[PATCH v2 07/15] ice: Add support for VSI allocation and deallocation

2018-03-15 Thread Anirudh Venkataramanan
ill fallback to scatter. This is implemented in ice_vsi_get_qs which is called as part of the VSI setup flow. In the release flow, the VSI's queues are released and the bitmap is updated to reflect this by ice_vsi_put_qs. CC: Shannon Nelson <shannon.nel...@oracle.com> Signed-off-by: Anirudh Venkat

[PATCH v2 06/15] ice: Initialize PF and setup miscellaneous interrupt

2018-03-15 Thread Anirudh Venkataramanan
nd is used to handle non hotpath interrupts (like control queue events, link events, exceptions, etc. 3) Implement a background task to process admin queue receive (ARQ) events received by the driver. CC: Shannon Nelson <shannon.nel...@oracle.com> Signed-off-by: Anirud

[PATCH v2 09/15] ice: Configure VSIs for Tx/Rx

2018-03-15 Thread Anirudh Venkataramanan
for VSI queues. 5) Implement ice_open and ice_stop. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/Makefile |3 +- drivers/net/ethernet/intel/ice/ice.h| 36 +- drivers/net/ethernet/intel/ice/ice_adminq

[PATCH v2 05/15] ice: Get MAC/PHY/link info and scheduler topology

2018-03-15 Thread Anirudh Venkataramanan
This patch adds code to continue the initialization flow as follows: 1) Get PHY/link information and store it 2) Get default scheduler tree topology and store it 3) Get the MAC address associated with the port and store it Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.

[PATCH v2 08/15] ice: Add support for switch filter programming

2018-03-15 Thread Anirudh Venkataramanan
. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 249 drivers/net/ethernet/intel/ice/ice_common.c | 74 +- drivers/net/ethernet/intel/ice/ice_main.c | 92 ++ drivers/net/ethernet/intel/ice/ice_st

[PATCH v2 02/15] ice: Add support for control queues

2018-03-15 Thread Anirudh Venkataramanan
introduces data structures and functions to initialize and teardown control/admin queues. Once the admin queue is initialized, the driver uses it to get the firmware version. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/Makefi

[PATCH v2 13/15] ice: Update Tx scheduler tree for VSI multi-Tx queue support

2018-03-15 Thread Anirudh Venkataramanan
) Allows a VSI to reconfigure its Tx queues during runtime. 3) Synchronizes the Tx scheduler update operations using locks. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/ice.h| 7 + drivers/net/ethernet/int

[PATCH v2 04/15] ice: Get switch config, scheduler config and device capabilities

2018-03-15 Thread Anirudh Venkataramanan
ed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- v2: Addressed Shannon Nelson's review comment by changing retry count value to 2. --- drivers/net/ethernet/intel/ice/Makefile | 4 +- drivers/net/ethernet/intel/ice/ice.h| 2 + drivers/net/ethern

[PATCH v2 12/15] ice: Add stats and ethtool support

2018-03-15 Thread Anirudh Venkataramanan
ethtool -A|--pause devname [autoneg on|off] [rx on|off] [tx on|off] ethtool -r|--negotiate devname CC: Andrew Lunn <and...@lunn.ch> CC: Jakub Kicinski <kubak...@wp.pl> CC: Stephen Hemminger <step...@networkplumber.org> Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama

[PATCH v2 03/15] ice: Start hardware initialization

2018-03-15 Thread Anirudh Venkataramanan
) Get the NVM configuration stored in the device's non-volatile memory (NVM) using ice_init_nvm. CC: Shannon Nelson <shannon.nel...@oracle.com> Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- v2: Addressed Shannon Nelson's review comments by

[PATCH v2 14/15] ice: Support link events, reset and rebuild

2018-03-15 Thread Anirudh Venkataramanan
to be reprogrammed. 3) Control queue interfaces are reset and have to be reprogrammed. In the rebuild flow, control queues are reinitialized, VSIs are reallocated and filters are restored. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/int

[PATCH v2 11/15] ice: Add support for VLANs and offloads

2018-03-15 Thread Anirudh Venkataramanan
2) Receive Side Scaling (RSS) 3) Tx checksum and TCP segmentation 4) Rx checksum Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/ice.h| 19 + drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 62 +++ drive

[PATCH v2 15/15] ice: Implement filter sync, NDO operations and bump version

2018-03-15 Thread Anirudh Venkataramanan
-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/ice.h| 14 + drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 21 + drivers/net/ethernet/intel/ice/ice_common.c | 28 ++ drivers/net/ethernet/intel/ice/ice_common.h | 3 + drive

[PATCH v2 01/15] ice: Add basic driver framework for Intel(R) E800 Series

2018-03-15 Thread Anirudh Venkataramanan
This patch adds a basic driver framework for the Intel(R) E800 Ethernet Series of network devices. There is no functionality right now other than the ability to load. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- Documentation/networking/ice.txt

[PATCH v2 10/15] ice: Implement transmit and NAPI support

2018-03-15 Thread Anirudh Venkataramanan
an interrupt on the VSI's queues. The interrupt can be due to either a completed Tx or an Rx event. In case of a completed Tx/Rx event, resources are reclaimed. Additionally, in case of an Rx event, the skb is fetched and passed up to the network stack. Signed-off-by: Anirudh Venkataramanan

[PATCH v2 00/15] Add ice driver

2018-03-15 Thread Anirudh Venkataramanan
as Shannon suggested patch #12: Reworked based on multiple comments (Jakub, Stephen, et al.) Anirudh Venkataramanan (15): ice: Add basic driver framework for Intel(R) E800 Series ice: Add support for control queues ice: Start hardware initialization ice: Get switch config, scheduler config

[PATCH 08/15] ice: Add support for switch filter programming

2018-03-09 Thread Anirudh Venkataramanan
. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 249 drivers/net/ethernet/intel/ice/ice_common.c | 74 +- drivers/net/ethernet/intel/ice/ice_main.c | 92 ++ drivers/net/ethernet/intel/ice/ice_st

[PATCH 07/15] ice: Add support for VSI allocation and deallocation

2018-03-09 Thread Anirudh Venkataramanan
ill fallback to scatter. This is implemented in ice_vsi_get_qs which is called as part of the VSI setup flow. In the release flow, the VSI's queues are released and the bitmap is updated to reflect this by ice_vsi_put_qs. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --

[PATCH 06/15] ice: Initialize PF and setup miscellaneous interrupt

2018-03-09 Thread Anirudh Venkataramanan
nd is used to handle non hotpath interrupts (like control queue events, link events, exceptions, etc. 3) Implement a background task to process admin queue receive (ARQ) events received by the driver. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- driv

[PATCH 02/15] ice: Add support for control queues

2018-03-09 Thread Anirudh Venkataramanan
introduces data structures and functions to initialize and teardown control/admin queues. Once the admin queue is initialized, the driver uses it to get the firmware version. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/Makefi

[PATCH 03/15] ice: Start hardware initialization

2018-03-09 Thread Anirudh Venkataramanan
) Get the NVM configuration stored in the device's non-volatile memory (NVM) using ice_init_nvm. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/Makefile | 3 +- drivers/net/ethernet/intel/ice/ice.h| 2 + d

[PATCH 14/15] ice: Support link events, reset and rebuild

2018-03-09 Thread Anirudh Venkataramanan
to be reprogrammed. 3) Control queue interfaces are reset and have to be reprogrammed. In the rebuild flow, control queues are reinitialized, VSIs are reallocated and filters are restored. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/int

[PATCH 11/15] ice: Add support for VLANs and offloads

2018-03-09 Thread Anirudh Venkataramanan
2) Receive Side Scaling (RSS) 3) Tx checksum and TCP segmentation 4) Rx checksum Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/ice.h| 19 + drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 62 +++ drive

[PATCH 13/15] ice: Update Tx scheduler tree for VSI multi-Tx queue support

2018-03-09 Thread Anirudh Venkataramanan
) Allows a VSI to reconfigure its Tx queues during runtime. 3) Synchronizes the Tx scheduler update operations using locks. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/ice.h| 7 + drivers/net/ethernet/int

[PATCH 10/15] ice: Implement transmit and NAPI support

2018-03-09 Thread Anirudh Venkataramanan
an interrupt on the VSI's queues. The interrupt can be due to either a completed Tx or an Rx event. In case of a completed Tx/Rx event, resources are reclaimed. Additionally, in case of an Rx event, the skb is fetched and passed up to the network stack. Signed-off-by: Anirudh Venkataramanan

[PATCH 09/15] ice: Configure VSIs for Tx/Rx

2018-03-09 Thread Anirudh Venkataramanan
for VSI queues. 5) Implement ice_open and ice_stop. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/Makefile |3 +- drivers/net/ethernet/intel/ice/ice.h| 36 +- drivers/net/ethernet/intel/ice/ice_adminq

[PATCH 15/15] ice: Implement filter sync, NDO operations and bump version

2018-03-09 Thread Anirudh Venkataramanan
-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/ice.h| 14 + drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 21 + drivers/net/ethernet/intel/ice/ice_common.c | 28 ++ drivers/net/ethernet/intel/ice/ice_common.h | 3 + drive

[PATCH 12/15] ice: Add stats and ethtool support

2018-03-09 Thread Anirudh Venkataramanan
ethtool -A|--pause devname [autoneg on|off] [rx on|off] [tx on|off] ethtool -r|--negotiate devname ethtool --phy-statistics devname Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- drivers/net/ethernet/intel/ice/Makefile | 3 +- drivers/net/ethernet/int

[PATCH 04/15] ice: Get switch config, scheduler config and device capabilities

2018-03-09 Thread Anirudh Venkataramanan
for the given physical function. Device capabilities: As part of initialization, the driver has to determine what the device is capable of (ex. max queues, VSIs, etc). This information is obtained from the firmware and stored by the driver. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatar

[PATCH 05/15] ice: Get MAC/PHY/link info and scheduler topology

2018-03-09 Thread Anirudh Venkataramanan
This patch adds code to continue the initialization flow as follows: 1) Get PHY/link information and store it 2) Get default scheduler tree topology and store it 3) Get the MAC address associated with the port and store it Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.

[PATCH 00/15] Add ice driver

2018-03-09 Thread Anirudh Venkataramanan
Wired LAN git tree(s). Anirudh Venkataramanan (15): ice: Add basic driver framework for Intel(R) E800 Series ice: Add support for control queues ice: Start hardware initialization ice: Get switch config, scheduler config and device capabilities ice: Get MAC/PHY/link info and scheduler

[PATCH 01/15] ice: Add basic driver framework for Intel(R) E800 Series

2018-03-09 Thread Anirudh Venkataramanan
This patch adds a basic driver framework for the Intel(R) E800 Ethernet Series of network devices. There is no functionality right now other than the ability to load. Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com> --- Documentation/networking/ice.txt