]> git.openfabrics.org - ~emulex/for-vlad/old/compat-rdma.git/commitdiff
cxgb4: Remove unnecessary #ifdef condition
authorVipul Pandya <vipul@chelsio.com>
Fri, 19 Oct 2012 12:34:12 +0000 (05:34 -0700)
committerVipul Pandya <vipul@chelsio.com>
Fri, 19 Oct 2012 12:34:12 +0000 (05:34 -0700)
This patch also fixes the build failure caused due to removal of #ifdef
CONFIG_CHELSIO_T4_OFFLOAD condition

Signed-off-by: Vipul Pandya <vipul@chelsio.com>
linux-next-pending/0005-cxgb4-Remove-unnecessary-ifdef-condition.patch [new file with mode: 0644]

diff --git a/linux-next-pending/0005-cxgb4-Remove-unnecessary-ifdef-condition.patch b/linux-next-pending/0005-cxgb4-Remove-unnecessary-ifdef-condition.patch
new file mode 100644 (file)
index 0000000..ba37f95
--- /dev/null
@@ -0,0 +1,149 @@
+From f680d9130e4a37f410dd8e96d7fd96a6ef7a208f Mon Sep 17 00:00:00 2001
+From: Vipul Pandya <vipul@chelsio.com>
+Date: Thu, 18 Oct 2012 18:11:12 +0530
+Subject: [PATCH] cxgb4: Remove unnecessary #ifdef condition
+
+This patch also fixes the build failure caused due to removal of #ifdef
+CONFIG_CHELSIO_T4_OFFLOAD condition
+
+Signed-off-by: Vipul Pandya <vipul@chelsio.com>
+---
+ drivers/net/ethernet/chelsio/cxgb4/cxgb4.h      |   19 +++++++++++++++
+ drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c |   29 ++++-------------------
+ drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h  |    3 ++
+ 3 files changed, 27 insertions(+), 24 deletions(-)
+
+diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
+index a4da893..378988b 100644
+--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
++++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
+@@ -251,6 +251,8 @@ struct adapter_params {
+       unsigned char rev;                /* chip revision */
+       unsigned char offload;
++      unsigned char bypass;
++
+       unsigned int ofldq_wr_cred;
+ };
+@@ -642,6 +644,23 @@ extern int dbfifo_int_thresh;
+ #define for_each_port(adapter, iter) \
+       for (iter = 0; iter < (adapter)->params.nports; ++iter)
++static inline int is_bypass(struct adapter *adap)
++{
++      return adap->params.bypass;
++}
++
++static inline int is_bypass_device(int device)
++{
++      /* this should be set based upon device capabilities */
++      switch (device) {
++      case 0x440b:
++      case 0x440c:
++              return 1;
++      default:
++              return 0;
++      }
++}
++
+ static inline unsigned int core_ticks_per_usec(const struct adapter *adap)
+ {
+       return adap->params.vpd.cclk / 1000;
+diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+index 604f4f8..c1cde11 100644
+--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
++++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+@@ -3513,18 +3513,6 @@ static int adap_init0_no_config(struct adapter *adapter, int reset)
+       if (ret < 0)
+               goto bye;
+-#ifndef CONFIG_CHELSIO_T4_OFFLOAD
+-      /*
+-       * If we're a pure NIC driver then disable all offloading facilities.
+-       * This will allow the firmware to optimize aspects of the hardware
+-       * configuration which will result in improved performance.
+-       */
+-      caps_cmd.ofldcaps = 0;
+-      caps_cmd.iscsicaps = 0;
+-      caps_cmd.rdmacaps = 0;
+-      caps_cmd.fcoecaps = 0;
+-#endif
+-
+       if (caps_cmd.niccaps & htons(FW_CAPS_CONFIG_NIC_VM)) {
+               if (!vf_acls)
+                       caps_cmd.niccaps ^= htons(FW_CAPS_CONFIG_NIC_VM);
+@@ -3745,6 +3733,7 @@ static int adap_init0(struct adapter *adap)
+       u32 v, port_vec;
+       enum dev_state state;
+       u32 params[7], val[7];
++      struct fw_caps_config_cmd caps_cmd;
+       int reset = 1, j;
+       /*
+@@ -3898,6 +3887,9 @@ static int adap_init0(struct adapter *adap)
+                       goto bye;
+       }
++      if (is_bypass_device(adap->pdev->device))
++              adap->params.bypass = 1;
++
+       /*
+        * Grab some of our basic fundamental operating parameters.
+        */
+@@ -3940,13 +3932,12 @@ static int adap_init0(struct adapter *adap)
+               adap->tids.aftid_end = val[1];
+       }
+-#ifdef CONFIG_CHELSIO_T4_OFFLOAD
+       /*
+        * Get device capabilities so we can determine what resources we need
+        * to manage.
+        */
+       memset(&caps_cmd, 0, sizeof(caps_cmd));
+-      caps_cmd.op_to_write = htonl(V_FW_CMD_OP(FW_CAPS_CONFIG_CMD) |
++      caps_cmd.op_to_write = htonl(FW_CMD_OP(FW_CAPS_CONFIG_CMD) |
+                                    FW_CMD_REQUEST | FW_CMD_READ);
+       caps_cmd.retval_len16 = htonl(FW_LEN16(caps_cmd));
+       ret = t4_wr_mbox(adap, adap->mbox, &caps_cmd, sizeof(caps_cmd),
+@@ -3991,15 +3982,6 @@ static int adap_init0(struct adapter *adap)
+               adap->vres.ddp.size = val[4] - val[3] + 1;
+               adap->params.ofldq_wr_cred = val[5];
+-              params[0] = FW_PARAM_PFVF(ETHOFLD_START);
+-              params[1] = FW_PARAM_PFVF(ETHOFLD_END);
+-              ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 2,
+-                                    params, val);
+-              if ((val[0] != val[1]) && (ret >= 0)) {
+-                      adap->tids.uotid_base = val[0];
+-                      adap->tids.nuotids = val[1] - val[0] + 1;
+-              }
+-
+               adap->params.offload = 1;
+       }
+       if (caps_cmd.rdmacaps) {
+@@ -4048,7 +4030,6 @@ static int adap_init0(struct adapter *adap)
+       }
+ #undef FW_PARAM_PFVF
+ #undef FW_PARAM_DEV
+-#endif /* CONFIG_CHELSIO_T4_OFFLOAD */
+       /*
+        * These are finalized by FW initialization, load their values now.
+diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
+index 1b899fe..39bec73 100644
+--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
++++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
+@@ -102,6 +102,9 @@ struct tid_info {
+       unsigned int ftid_base;
+       unsigned int aftid_base;
+       unsigned int aftid_end;
++      /* Server filter region */
++      unsigned int sftid_base;
++      unsigned int nsftids;
+       spinlock_t atid_lock ____cacheline_aligned_in_smp;
+       union aopen_entry *afree;
+-- 
+1.7.1
+