[PATCH v2 2/2] net: thunderx: Enable CQE count threshold interrupt

2015-12-10 Thread Sunil Goutham
From: Sunil Goutham This feature is introduced in pass-2 chip and with this CQ interrupt coalescing will work based on both timer and count. Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nicvf_queues.c |2 +- drivers/net/ethernet/cavium/thunder/nicvf_queues.h |2

[PATCH v2 1/2] net: thunderx: HW TSO support for pass-2 hardware

2015-12-09 Thread Sunil Goutham
From: Sunil Goutham This adds support for offloading TCP segmentation to HW in pass-2 revision of hardware. Both driver level SW TSO for pass1.x chips and HW TSO for pass-2 chip will co-exist. Modified SQ descriptor structures to reflect pass-2 hw implementation. Signed-off-by: Sunil Goutham

[PATCH v2 0/2] net: thunderx: Support for pass-2 hw features

2015-12-09 Thread Sunil Goutham
From: Sunil Goutham This patch set adds support for new features added in pass-2 revision of hardware like TSO and count based interrupt coalescing. Changes from v1: - Addressed comments received regarding boolean bit field changes by excluding them from this patch. Will submit a seperate

[PATCH 0/2] net: thunderx: Support for pass-2 hw features

2015-12-09 Thread Sunil Goutham
From: Sunil Goutham This patch set adds support for new features added in pass-2 revision of hardware like TSO and count based interrupt coalescing. Sunil Goutham (2): net: thunderx: HW TSO support for pass-2 hardware net: thunderx: Enable CQE count threshold interrupt drivers/net

[PATCH 2/2] net: thunderx: Enable CQE count threshold interrupt

2015-12-09 Thread Sunil Goutham
From: Sunil Goutham This feature is introduced in pass-2 chip and with this CQ interrupt coalescing will work based on both timer and count. Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic.h |2 ++ drivers/net/ethernet/cavium/thunder/nicvf_main.c |2

[PATCH 1/2] net: thunderx: HW TSO support for pass-2 hardware

2015-12-09 Thread Sunil Goutham
From: Sunil Goutham This adds support for offloading TCP segmentation to HW in pass-2 revision of hardware. Both driver level SW TSO for pass1.x chips and HW TSO for pass-2 chip will co-exist. Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic.h | 12

[PATCH 1/2] net: thunderx: nicvf_queues: nivc_*_intr: remove duplication

2015-12-06 Thread Sunil Goutham
Signed-off-by: Aleksey Makarov Acked-by: Vadim Lomovtsev Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 140 ++-- 1 files changed, 40 insertions(+), 100 deletions(-) diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b

[PATCH 0/2] net: thunderx: Miscellaneous cleanups

2015-12-06 Thread Sunil Goutham
From: Sunil Goutham This patch series contains contains couple of cleanup patches. Sunil Goutham (1): net, thunderx: Remove unnecessary rcv buffer start address management Yury Norov (1): net: thunderx: nicvf_queues: nivc_*_intr: remove duplication drivers/net/ethernet/cavium/thunder

[PATCH 2/2] net, thunderx: Remove unnecessary rcv buffer start address management

2015-12-06 Thread Sunil Goutham
From: Sunil Goutham Since we have moved on to using allocated pages to carve receive buffers instead of netdev_alloc_skb() there is no need to store any pointers for later retrieval. Earlier we had to store skb and skb->data pointers which later are used to handover received packet to netw

[PATCH v2 1/5] net: thunderx: Force to load octeon-mdio before bgx driver.

2015-12-02 Thread Sunil Goutham
From: Thanneeru Srinivasulu Signed-off-by: Thanneeru Srinivasulu Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/thunder_bgx.c |3 +++ drivers/net/ethernet/cavium/thunder/thunder_bgx.h |1 + 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers

[PATCH v2 4/5] net: thunderx: Switchon carrier only upon interface link up

2015-12-02 Thread Sunil Goutham
From: Sunil Goutham Call netif_carrier_on() only if interface's link is up. Switching this on upon IFF_UP by default, is causing issues with ethernet channel bonding in LACP mode. Initial NETDEV_CHANGE notification was being skipped. Also fixed some issues with link/speed/duplex reportin

[PATCH v2 3/5] net: thunderx: Set CQ timer threshold properly

2015-12-02 Thread Sunil Goutham
From: Sunil Goutham Properly set CQ timer threshold and also set it to 2us. With previous incorrect settings it was set to 0.5us which is too less. Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic.h |5 ++--- drivers/net/ethernet/cavium/thunder

[PATCH v2 5/5] net: thunderx: Enable BGX LMAC's RX/TX only after VF is up

2015-12-02 Thread Sunil Goutham
From: Sunil Goutham Enable or disable BGX LMAC's RX/TX based on corresponding VF's status. If otherwise, when multiple LMAC's physical link is up then packets from all LMAC's whose corresponding VF is not yet initialized will get forwarded to VF0. This is due to VNIC

[PATCH v2 2/5] net: thunderx: Wait for delayed work to finish before destroying it

2015-12-02 Thread Sunil Goutham
From: Thanneeru Srinivasulu While VNIC or BGX driver teardown, wait for already scheduled delayed work to finish before destroying it. Signed-off-by: Thanneeru Srinivasulu Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic_main.c|3 +-- drivers/net/ethernet

[PATCH v2 0/5] net: thunderx: Miscellaneous fixes

2015-12-02 Thread Sunil Goutham
From: Sunil Goutham This patch series contains fixes for various issues observed with BGX and NIC drivers. Changes from v1: - Fixed comment syle in the first patch of the series - Removed 'Increase transmit queue length' patch from the series, will recheck if it's a driver

[PATCH 2/6] net: thunderx: Wait for delayed work to finish before destroying it

2015-12-01 Thread Sunil Goutham
From: Thanneeru Srinivasulu While VNIC or BGX driver teardown, wait for already scheduled delayed work to finish before destroying it. Signed-off-by: Thanneeru Srinivasulu Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic_main.c|3 +-- drivers/net/ethernet

[PATCH 5/6] net: thunderx: Switchon carrier only upon interface link up

2015-12-01 Thread Sunil Goutham
From: Sunil Goutham Call netif_carrier_on() only if interface's link is up. Switching this on upon IFF_UP by default, is causing issues with ethernet channel bonding in LACP mode. Initial NETDEV_CHANGE notification was being skipped. Also fixed some issues with link/speed/duplex reportin

[PATCH 4/6] net: thunderx: Set CQ timer threshold properly

2015-12-01 Thread Sunil Goutham
From: Sunil Goutham Properly set CQ timer threshold and also set it to 2us. With previous incorrect settings it was set to 0.5us which is too less. Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic.h |5 ++--- drivers/net/ethernet/cavium/thunder

[PATCH 1/6] net: thunderx: Force to load octeon-mdio before bgx driver.

2015-12-01 Thread Sunil Goutham
From: Thanneeru Srinivasulu Signed-off-by: Thanneeru Srinivasulu Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/thunder_bgx.c |3 +++ drivers/net/ethernet/cavium/thunder/thunder_bgx.h |1 + 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers

[PATCH 6/6] net: thunderx: Enable BGX LMAC's RX/TX only after VF is up

2015-12-01 Thread Sunil Goutham
From: Sunil Goutham Enable or disable BGX LMAC's RX/TX based on corresponding VF's status. If otherwise, when multiple LMAC's physical link is up then packets from all LMAC's whose corresponding VF is not yet initialized will get forwarded to VF0. This is due to VNIC

[PATCH 3/6] net: thunderx: Increase transmit queue length

2015-12-01 Thread Sunil Goutham
From: Sunil Goutham Under high transmit rates and with TSO enabled observing fluctuations in TX performance. Seen especially with iperf3 application. Since TSO is taken care at driver level, with 64KB of TSO packets and when window size is also high the rate at which CPU fills in transmit

[PATCH 0/6] net: thunderx: Miscellaneous fixes

2015-12-01 Thread Sunil Goutham
From: Sunil Goutham This patch series contains fixes for various issues observed with BGX and NIC drivers. Sunil Goutham (4): net: thunderx: Increase transmit queue length net: thunderx: Set CQ timer threshold properly net: thunderx: Switchon carrier only upon interface link up net

[PATCH 01/13] net: thunderx: Force to load octeon-mdio before bgx driver.

2015-11-30 Thread Sunil Goutham
From: Thanneeru Srinivasulu Signed-off-by: Thanneeru Srinivasulu Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/thunder_bgx.c |3 +++ drivers/net/ethernet/cavium/thunder/thunder_bgx.h |1 + 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers

[PATCH 07/13] net: thunderx: Remove unnecessary rcv buffer start address management

2015-11-30 Thread Sunil Goutham
From: Sunil Goutham Since we have moved on to using allocated pages to carve receive buffers instead of netdev_alloc_skb() there is no need to store any pointers for later retrieval. Earlier we had to store skb and skb->data pointers which later are used to handover received packet to netw

[PATCH 10/13] net: thunderx: Enable CQE count threshold irq on pass2 silicon

2015-11-30 Thread Sunil Goutham
From: Sunil Goutham Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic.h |2 ++ drivers/net/ethernet/cavium/thunder/nicvf_main.c |2 +- drivers/net/ethernet/cavium/thunder/nicvf_queues.c |5 - drivers/net/ethernet/cavium/thunder/nicvf_queues.h

[PATCH 11/13] net: thunderx: HW errata workaround for non-tunneled TSO pkts

2015-11-30 Thread Sunil Goutham
From: Sunil Goutham A HW errata mandates inner layer3 offset field of send header for a non-tunneled TSO packet to point to L2 ethertype in the payload. Also added counter for HW TSO packets. Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 17

[PATCH 13/13] net: thunderx: Add rx timeout and rcv buffer alloc failure stats

2015-11-30 Thread Sunil Goutham
From: Thanneeru Srinivasulu Instead of error message added counter for receive buffer allocation failures. Also added counter for transmit timeout event for debug purposes. Signed-off-by: Thanneeru Srinivasulu Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic.h

[PATCH 09/13] net: thunderx: HW TSO support for pass2 silicon

2015-11-30 Thread Sunil Goutham
From: Sunil Goutham Added support to offload TSO to HW for ThunderX pass2 chips. Signed-off-by: Thanneeru Srinivasulu Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic.h | 12 ++-- drivers/net/ethernet/cavium/thunder/nic_main.c | 11

[PATCH 12/13] net: thunderx: Fix for duplicate CQEs by HW for TSO packets

2015-11-30 Thread Sunil Goutham
From: Sunil Goutham HW sends a CQE for each segment of a TSO packet instead of a single CQE for whole TSO packet transmitted. Each of this CQE points to the same SQE. SW should takecare of not freeing same SQE multiple times. Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium

[PATCH 08/13] net: thunderx: Enable BGX LMAC's RX/TX only after VF is up

2015-11-30 Thread Sunil Goutham
From: Sunil Goutham Enable or disable BGX LMAC's RX/TX based on corresponding VF's status. If otherwise, when multiple LMAC's physical link is up then packets from all LMAC's whose corresponding VF is not yet initialized will get forwarded to VF0. This is due to VNIC

[PATCH 06/13] net: thunderx: Switchon carrier only upon interface link up

2015-11-30 Thread Sunil Goutham
From: Sunil Goutham Call netif_carrier_on() only if interface's link is up. Switching this on upon IFF_UP by default, is causing issues with ethernet channel bonding in LACP mode. Initial NETDEV_CHANGE notification was being skipped. Also fixed some issues with link/speed/duplex reportin

[PATCH 04/13] net: thunderx: Set CQ timer threshold properly

2015-11-30 Thread Sunil Goutham
From: Sunil Goutham Properly set CQ timer threshold and also set it to 2us. With previous incorrect settings it was set to 0.5us which is too less. Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic.h |5 ++--- drivers/net/ethernet/cavium/thunder

[PATCH 05/13] net: thunderx: nicvf_queues: nivc_*_intr: remove duplication

2015-11-30 Thread Sunil Goutham
Signed-off-by: Aleksey Makarov Acked-by: Vadim Lomovtsev Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 140 ++-- 1 files changed, 40 insertions(+), 100 deletions(-) diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b

[PATCH 03/13] net: thunderx: Increase transmit queue length

2015-11-30 Thread Sunil Goutham
From: Sunil Goutham Under high transmit rates and with TSO enabled observing fluctuations in TX performance. Seen especially with iperf3 application. Since TSO is taken care at driver level, with 64KB of TSO packets and when window size is also high the rate at which CPU fills in transmit

[PATCH 02/13] net: thunderx: Wait for delayed work to finish before destroying it

2015-11-30 Thread Sunil Goutham
From: Thanneeru Srinivasulu While VNIC or BGX driver teardown, wait for already scheduled delayed work to finish before destroying it. Signed-off-by: Thanneeru Srinivasulu Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nic_main.c|3 +-- drivers/net/ethernet

[PATCH 00/13] net: thunderx: HW TSO support and other fixes

2015-11-30 Thread Sunil Goutham
From: Sunil Goutham This patch series contains fixes for various issues and support for HW TSO which is added in pass2 silicon. Sunil Goutham (9): net: thunderx: Increase transmit queue length net: thunderx: Set CQ timer threshold properly net: thunderx: Switchon carrier only upon