Re: [PATCH net-next] cxgb4vf: Read correct FL congestion threshold for T5 and T6

2015-07-26 Thread David Miller
From: Hariprasad Shenai haripra...@chelsio.com
Date: Thu, 23 Jul 2015 22:41:14 +0530

 VF driver was reading incorrect freelist congestion notification threshold
 for FLM queues when packing is enabled for T5 and T6 adapter. Fixing it
 now.
 
 Signed-off-by: Hariprasad Shenai haripra...@chelsio.com

Applied, thanks.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH net-next] cxgb4vf: Read correct FL congestion threshold for T5 and T6

2015-07-23 Thread Hariprasad Shenai
VF driver was reading incorrect freelist congestion notification threshold
for FLM queues when packing is enabled for T5 and T6 adapter. Fixing it
now.

Signed-off-by: Hariprasad Shenai haripra...@chelsio.com
---
 drivers/net/ethernet/chelsio/cxgb4/t4_regs.h |  5 +
 drivers/net/ethernet/chelsio/cxgb4vf/sge.c   | 18 --
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h 
b/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
index 375a825..ed8a8f3 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
+++ b/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
@@ -338,6 +338,11 @@
 #define EGRTHRESHOLDPACKING_G(x) \
(((x)  EGRTHRESHOLDPACKING_S)  EGRTHRESHOLDPACKING_M)
 
+#define T6_EGRTHRESHOLDPACKING_S16
+#define T6_EGRTHRESHOLDPACKING_M0xffU
+#define T6_EGRTHRESHOLDPACKING_G(x) \
+   (((x)  T6_EGRTHRESHOLDPACKING_S)  T6_EGRTHRESHOLDPACKING_M)
+
 #define SGE_TIMESTAMP_LO_A 0x1098
 #define SGE_TIMESTAMP_HI_A 0x109c
 
diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/sge.c 
b/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
index 1d5e77a..fa3786a 100644
--- a/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
+++ b/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
@@ -2668,8 +2668,22 @@ int t4vf_sge_init(struct adapter *adapter)
 * give it more Free List entries.  (Note that the SGE's Egress
 * Congestion Threshold is in units of 2 Free List pointers.)
 */
-   s-fl_starve_thres
-   = EGRTHRESHOLD_G(sge_params-sge_congestion_control)*2 + 1;
+   switch (CHELSIO_CHIP_VERSION(adapter-params.chip)) {
+   case CHELSIO_T4:
+   s-fl_starve_thres =
+  EGRTHRESHOLD_G(sge_params-sge_congestion_control);
+   break;
+   case CHELSIO_T5:
+   s-fl_starve_thres =
+  EGRTHRESHOLDPACKING_G(sge_params-sge_congestion_control);
+   break;
+   case CHELSIO_T6:
+   default:
+   s-fl_starve_thres =
+  T6_EGRTHRESHOLDPACKING_G(sge_params-sge_congestion_control);
+   break;
+   }
+   s-fl_starve_thres = s-fl_starve_thres * 2 + 1;
 
/*
 * Set up tasklet timers.
-- 
2.3.4

--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html