]> git.openfabrics.org - ~emulex/for-vlad/old/compat-rdma.git/commitdiff
Refreshed linux-next-cherry-picks to be applied cleanly by git am
authorVladimir Sokolovsky <vlad@mellanox.com>
Mon, 3 Feb 2014 15:20:54 +0000 (17:20 +0200)
committerVladimir Sokolovsky <vlad@mellanox.com>
Mon, 3 Feb 2014 15:20:54 +0000 (17:20 +0200)
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
12 files changed:
linux-next-cherry-picks/0001-cxgb4-Much-cleaner-implementation-of-is_t4-is_t5.patch
linux-next-cherry-picks/0002-cxgb4-Add-new-scheme-to-update-T4-T5-firmware.patch
linux-next-cherry-picks/0003-cxgb4-Reserve-stid-0-for-T4-T5-adapters.patch
linux-next-cherry-picks/0004-cxgb4-Include-TCP-as-protocol-when-creating-server-f.patch
linux-next-cherry-picks/0005-cxgb4-Assign-filter-server-TIDS-Account-for-stid.patch [deleted file]
linux-next-cherry-picks/0005-cxgb4-Assign-filter-server-TIDs-properly.patch [new file with mode: 0644]
linux-next-cherry-picks/0006-cxgb4-Add-API-to-correctly-calculate-tuple-fields.patch
linux-next-cherry-picks/0007-RDMA-cxgb4-Calculate-the-filter-server-TID-properly.patch
linux-next-cherry-picks/0008-RDMA-cxgb4-Server-filters-are-supported-only-for-IPv.patch
linux-next-cherry-picks/0009-RDMA-cxgb4-Use-cxgb4_select_ntuple-to-correctly-calc.patch
linux-next-cherry-picks/0010-IB-qib-Convert-qib_user_sdma_pin_pages-to-use-get_us.patch
linux-next-cherry-picks/0011-IB-qib-Fix-txselect-regression.patch

index 89938d1b5d1db3ebda3b4aa69b89d1781117f0ff..586cb4f666fefdf1735785d339828b11e7702040 100644 (file)
@@ -1,6 +1,4 @@
-From d14807dd8e7eaa41a8fee5fc3acbdaf2a0258b76 Mon Sep 17 00:00:00 2001
 From: Hariprasad Shenai <hariprasad@chelsio.com>
-Date: Tue, 3 Dec 2013 17:05:56 +0530
 Subject: [PATCH] cxgb4: Much cleaner implementation of is_t4()/is_t5()
 
 Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
@@ -14,10 +12,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  5 files changed, 73 insertions(+), 70 deletions(-)
 
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
-index ecd2fb3..9710a16 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
 +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
-@@ -240,6 +240,26 @@ struct pci_params {
+@@ -241,6 +241,26 @@ struct pci_params {
        unsigned char width;
  };
  
@@ -44,7 +42,7 @@ index ecd2fb3..9710a16 100644
  struct adapter_params {
        struct tp_params  tp;
        struct vpd_params vpd;
-@@ -259,7 +279,7 @@ struct adapter_params {
+@@ -260,7 +280,7 @@ struct adapter_params {
  
        unsigned char nports;             /* # of ethernet ports */
        unsigned char portvec;
@@ -53,7 +51,7 @@ index ecd2fb3..9710a16 100644
        unsigned char offload;
  
        unsigned char bypass;
-@@ -512,25 +532,6 @@ struct sge {
+@@ -530,25 +550,6 @@ struct sge {
  
  struct l2t_data;
  
@@ -79,7 +77,7 @@ index ecd2fb3..9710a16 100644
  #ifdef CONFIG_PCI_IOV
  
  /* T4 supports SRIOV on PF0-3 and T5 on PF0-7.  However, the Serial
-@@ -715,12 +716,12 @@ enum {
+@@ -733,12 +734,12 @@ enum {
  
  static inline int is_t5(enum chip_type chip)
  {
@@ -95,10 +93,10 @@ index ecd2fb3..9710a16 100644
  
  static inline u32 t4_read_reg(struct adapter *adap, u32 reg_addr)
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-index 8b929ee..35933cd 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
 +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-@@ -1083,7 +1083,7 @@ static int upgrade_fw(struct adapter *adap)
+@@ -1099,7 +1099,7 @@ static int upgrade_fw(struct adapter *adap)
        struct device *dev = adap->pdev_dev;
        char *fw_file_name;
  
@@ -107,7 +105,7 @@ index 8b929ee..35933cd 100644
        case CHELSIO_T4:
                fw_file_name = FW_FNAME;
                exp_major = FW_VERSION_MAJOR;
-@@ -1093,7 +1093,7 @@ static int upgrade_fw(struct adapter *adap)
+@@ -1109,7 +1109,7 @@ static int upgrade_fw(struct adapter *adap)
                exp_major = FW_VERSION_MAJOR_T5;
                break;
        default:
@@ -116,7 +114,7 @@ index 8b929ee..35933cd 100644
                return -EINVAL;
        }
  
-@@ -1415,7 +1415,7 @@ static int get_sset_count(struct net_device *dev, int sset)
+@@ -1431,7 +1431,7 @@ static int get_sset_count(struct net_device *dev, int sset)
  static int get_regs_len(struct net_device *dev)
  {
        struct adapter *adap = netdev2adap(dev);
@@ -125,7 +123,7 @@ index 8b929ee..35933cd 100644
                return T4_REGMAP_SIZE;
        else
                return T5_REGMAP_SIZE;
-@@ -1499,7 +1499,7 @@ static void get_stats(struct net_device *dev, struct ethtool_stats *stats,
+@@ -1515,7 +1515,7 @@ static void get_stats(struct net_device *dev, struct ethtool_stats *stats,
        data += sizeof(struct port_stats) / sizeof(u64);
        collect_sge_port_stats(adapter, pi, (struct queue_port_stats *)data);
        data += sizeof(struct queue_port_stats) / sizeof(u64);
@@ -134,7 +132,7 @@ index 8b929ee..35933cd 100644
                t4_write_reg(adapter, SGE_STAT_CFG, STATSOURCE_T5(7));
                val1 = t4_read_reg(adapter, SGE_STAT_TOTAL);
                val2 = t4_read_reg(adapter, SGE_STAT_MATCH);
-@@ -1521,8 +1521,8 @@ static void get_stats(struct net_device *dev, struct ethtool_stats *stats,
+@@ -1537,8 +1537,8 @@ static void get_stats(struct net_device *dev, struct ethtool_stats *stats,
   */
  static inline unsigned int mk_adap_vers(const struct adapter *ap)
  {
@@ -145,7 +143,7 @@ index 8b929ee..35933cd 100644
  }
  
  static void reg_block_dump(struct adapter *ap, void *buf, unsigned int start,
-@@ -2189,7 +2189,7 @@ static void get_regs(struct net_device *dev, struct ethtool_regs *regs,
+@@ -2205,7 +2205,7 @@ static void get_regs(struct net_device *dev, struct ethtool_regs *regs,
        static const unsigned int *reg_ranges;
        int arr_size = 0, buf_size = 0;
  
@@ -154,7 +152,7 @@ index 8b929ee..35933cd 100644
                reg_ranges = &t4_reg_ranges[0];
                arr_size = ARRAY_SIZE(t4_reg_ranges);
                buf_size = T4_REGMAP_SIZE;
-@@ -2967,7 +2967,7 @@ static int setup_debugfs(struct adapter *adap)
+@@ -3054,7 +3054,7 @@ static int setup_debugfs(struct adapter *adap)
                size = t4_read_reg(adap, MA_EDRAM1_BAR);
                add_debugfs_mem(adap, "edc1", MEM_EDC1, EDRAM_SIZE_GET(size));
        }
@@ -163,7 +161,7 @@ index 8b929ee..35933cd 100644
                size = t4_read_reg(adap, MA_EXT_MEMORY_BAR);
                if (i & EXT_MEM_ENABLE)
                        add_debugfs_mem(adap, "mc", MEM_MC,
-@@ -3419,7 +3419,7 @@ unsigned int cxgb4_dbfifo_count(const struct net_device *dev, int lpfifo)
+@@ -3506,7 +3506,7 @@ unsigned int cxgb4_dbfifo_count(const struct net_device *dev, int lpfifo)
  
        v1 = t4_read_reg(adap, A_SGE_DBFIFO_STATUS);
        v2 = t4_read_reg(adap, SGE_DBFIFO_STATUS2);
@@ -172,7 +170,7 @@ index 8b929ee..35933cd 100644
                lp_count = G_LP_COUNT(v1);
                hp_count = G_HP_COUNT(v1);
        } else {
-@@ -3588,7 +3588,7 @@ static void drain_db_fifo(struct adapter *adap, int usecs)
+@@ -3675,7 +3675,7 @@ static void drain_db_fifo(struct adapter *adap, int usecs)
        do {
                v1 = t4_read_reg(adap, A_SGE_DBFIFO_STATUS);
                v2 = t4_read_reg(adap, SGE_DBFIFO_STATUS2);
@@ -181,7 +179,7 @@ index 8b929ee..35933cd 100644
                        lp_count = G_LP_COUNT(v1);
                        hp_count = G_HP_COUNT(v1);
                } else {
-@@ -3708,7 +3708,7 @@ static void process_db_drop(struct work_struct *work)
+@@ -3795,7 +3795,7 @@ static void process_db_drop(struct work_struct *work)
  
        adap = container_of(work, struct adapter, db_drop_task);
  
@@ -190,7 +188,7 @@ index 8b929ee..35933cd 100644
                disable_dbs(adap);
                notify_rdma_uld(adap, CXGB4_CONTROL_DB_DROP);
                drain_db_fifo(adap, 1);
-@@ -3753,7 +3753,7 @@ static void process_db_drop(struct work_struct *work)
+@@ -3840,7 +3840,7 @@ static void process_db_drop(struct work_struct *work)
  
  void t4_db_full(struct adapter *adap)
  {
@@ -199,7 +197,7 @@ index 8b929ee..35933cd 100644
                t4_set_reg_field(adap, SGE_INT_ENABLE3,
                                 DBFIFO_HP_INT | DBFIFO_LP_INT, 0);
                queue_work(workq, &adap->db_full_task);
-@@ -3762,7 +3762,7 @@ void t4_db_full(struct adapter *adap)
+@@ -3849,7 +3849,7 @@ void t4_db_full(struct adapter *adap)
  
  void t4_db_dropped(struct adapter *adap)
  {
@@ -208,7 +206,7 @@ index 8b929ee..35933cd 100644
                queue_work(workq, &adap->db_drop_task);
  }
  
-@@ -3789,7 +3789,7 @@ static void uld_attach(struct adapter *adap, unsigned int uld)
+@@ -3876,7 +3876,7 @@ static void uld_attach(struct adapter *adap, unsigned int uld)
        lli.nchan = adap->params.nports;
        lli.nports = adap->params.nports;
        lli.wr_cred = adap->params.ofldq_wr_cred;
@@ -217,7 +215,7 @@ index 8b929ee..35933cd 100644
        lli.iscsi_iolen = MAXRXDATA_GET(t4_read_reg(adap, TP_PARA_REG2));
        lli.udb_density = 1 << QUEUESPERPAGEPF0_GET(
                        t4_read_reg(adap, SGE_EGRESS_QUEUES_PER_PAGE_PF) >>
-@@ -4483,7 +4483,7 @@ static void setup_memwin(struct adapter *adap)
+@@ -4611,7 +4611,7 @@ static void setup_memwin(struct adapter *adap)
        u32 bar0, mem_win0_base, mem_win1_base, mem_win2_base;
  
        bar0 = pci_resource_start(adap->pdev, 0);  /* truncation intentional */
@@ -226,7 +224,7 @@ index 8b929ee..35933cd 100644
                mem_win0_base = bar0 + MEMWIN0_BASE;
                mem_win1_base = bar0 + MEMWIN1_BASE;
                mem_win2_base = bar0 + MEMWIN2_BASE;
-@@ -4686,7 +4686,7 @@ static int adap_init0_config(struct adapter *adapter, int reset)
+@@ -4814,7 +4814,7 @@ static int adap_init0_config(struct adapter *adapter, int reset)
         * then use that.  Otherwise, use the configuration file stored
         * in the adapter flash ...
         */
@@ -235,7 +233,7 @@ index 8b929ee..35933cd 100644
        case CHELSIO_T4:
                fw_config_file = FW_CFNAME;
                break;
-@@ -5787,7 +5787,7 @@ static void print_port_info(const struct net_device *dev)
+@@ -5927,7 +5927,7 @@ static void print_port_info(const struct net_device *dev)
  
        netdev_info(dev, "Chelsio %s rev %d %s %sNIC PCIe x%d%s%s\n",
                    adap->params.vpd.id,
@@ -244,7 +242,7 @@ index 8b929ee..35933cd 100644
                    is_offload(adap) ? "R" : "", adap->params.pci.width, spd,
                    (adap->flags & USING_MSIX) ? " MSI-X" :
                    (adap->flags & USING_MSI) ? " MSI" : "");
-@@ -5910,7 +5910,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
+@@ -6052,7 +6052,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
        if (err)
                goto out_unmap_bar0;
  
@@ -253,7 +251,7 @@ index 8b929ee..35933cd 100644
                s_qpp = QUEUESPERPAGEPF1 * adapter->fn;
                qpp = 1 << QUEUESPERPAGEPF0_GET(t4_read_reg(adapter,
                      SGE_EGRESS_QUEUES_PER_PAGE_PF) >> s_qpp);
-@@ -6064,7 +6064,7 @@ sriov:
+@@ -6222,7 +6222,7 @@ sriov:
   out_free_dev:
        free_some_resources(adapter);
   out_unmap_bar:
@@ -262,7 +260,7 @@ index 8b929ee..35933cd 100644
                iounmap(adapter->bar2);
   out_unmap_bar0:
        iounmap(adapter->regs);
-@@ -6116,7 +6116,7 @@ static void remove_one(struct pci_dev *pdev)
+@@ -6275,7 +6275,7 @@ static void remove_one(struct pci_dev *pdev)
  
                free_some_resources(adapter);
                iounmap(adapter->regs);
@@ -272,10 +270,10 @@ index 8b929ee..35933cd 100644
                kfree(adapter);
                pci_disable_pcie_error_reporting(pdev);
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/sge.c b/drivers/net/ethernet/chelsio/cxgb4/sge.c
-index ac311f5..cc380c3 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/sge.c
 +++ b/drivers/net/ethernet/chelsio/cxgb4/sge.c
-@@ -509,7 +509,7 @@ static inline void ring_fl_db(struct adapter *adap, struct sge_fl *q)
+@@ -528,7 +528,7 @@ static inline void ring_fl_db(struct adapter *adap, struct sge_fl *q)
        u32 val;
        if (q->pend_cred >= 8) {
                val = PIDX(q->pend_cred / 8);
@@ -284,7 +282,7 @@ index ac311f5..cc380c3 100644
                        val |= DBTYPE(1);
                wmb();
                t4_write_reg(adap, MYPF_REG(SGE_PF_KDOORBELL), DBPRIO(1) |
-@@ -847,7 +847,7 @@ static inline void ring_tx_db(struct adapter *adap, struct sge_txq *q, int n)
+@@ -870,7 +870,7 @@ static inline void ring_tx_db(struct adapter *adap, struct sge_txq *q, int n)
        wmb();            /* write descriptors before telling HW */
        spin_lock(&q->db_lock);
        if (!q->db_disabled) {
@@ -293,7 +291,7 @@ index ac311f5..cc380c3 100644
                        t4_write_reg(adap, MYPF_REG(SGE_PF_KDOORBELL),
                                     QID(q->cntxt_id) | PIDX(n));
                } else {
-@@ -1596,7 +1596,7 @@ static noinline int handle_trace_pkt(struct adapter *adap,
+@@ -1648,7 +1648,7 @@ static noinline int handle_trace_pkt(struct adapter *adap,
                return 0;
        }
  
@@ -302,16 +300,16 @@ index ac311f5..cc380c3 100644
                __skb_pull(skb, sizeof(struct cpl_trace_pkt));
        else
                __skb_pull(skb, sizeof(struct cpl_t5_trace_pkt));
-@@ -1661,7 +1661,7 @@ int t4_ethrx_handler(struct sge_rspq *q, const __be64 *rsp,
+@@ -1726,7 +1726,7 @@ int t4_ethrx_handler(struct sge_rspq *q, const __be64 *rsp,
        const struct cpl_rx_pkt *pkt;
        struct sge_eth_rxq *rxq = container_of(q, struct sge_eth_rxq, rspq);
        struct sge *s = &q->adap->sge;
 -      int cpl_trace_pkt = is_t4(q->adap->chip) ?
 +      int cpl_trace_pkt = is_t4(q->adap->params.chip) ?
                            CPL_TRACE_PKT : CPL_TRACE_PKT_T5;
-       if (unlikely(*(u8 *)rsp == cpl_trace_pkt))
-@@ -2182,7 +2182,7 @@ err:
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 1, 0)
+       struct port_info *pi;
+@@ -2290,7 +2290,7 @@ err:
  static void init_txq(struct adapter *adap, struct sge_txq *q, unsigned int id)
  {
        q->cntxt_id = id;
@@ -320,7 +318,7 @@ index ac311f5..cc380c3 100644
                unsigned int s_qpp;
                unsigned short udb_density;
                unsigned long qpshift;
-@@ -2641,7 +2641,7 @@ static int t4_sge_init_hard(struct adapter *adap)
+@@ -2749,7 +2749,7 @@ static int t4_sge_init_hard(struct adapter *adap)
         * Set up to drop DOORBELL writes when the DOORBELL FIFO overflows
         * and generate an interrupt when this occurs so we can recover.
         */
@@ -330,7 +328,7 @@ index ac311f5..cc380c3 100644
                                 V_HP_INT_THRESH(M_HP_INT_THRESH) |
                                 V_LP_INT_THRESH(M_LP_INT_THRESH),
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
-index 4cbb2f9..83b5e42 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
 +++ b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
 @@ -296,7 +296,7 @@ int t4_mc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *ecc)
@@ -504,7 +502,7 @@ index 4cbb2f9..83b5e42 100644
  
        /*
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h b/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
-index ef146c0..a7d8189 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
 +++ b/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
 @@ -1092,6 +1092,11 @@
@@ -519,6 +517,3 @@ index ef146c0..a7d8189 100644
  #define LE_DB_CONFIG 0x19c04
  #define  HASHEN 0x00100000U
  
--- 
-1.7.1
-
index c2214abaa080e9a7a078daf3bebf6bf1be7e66aa..46e78a3e3b6269b34582f850f3b284eef4244306 100644 (file)
@@ -1,6 +1,4 @@
-From 16e47624e76b43dbef5671af7b9e26589d7018b9 Mon Sep 17 00:00:00 2001
 From: Hariprasad Shenai <hariprasad@chelsio.com>
-Date: Tue, 3 Dec 2013 17:05:58 +0530
 Subject: [PATCH] cxgb4: Add new scheme to update T4/T5 firmware
 
 Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
@@ -13,12 +11,12 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  4 files changed, 290 insertions(+), 191 deletions(-)
 
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
-index 9710a16..6c93088 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
 +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
-@@ -49,13 +49,15 @@
- #include <asm/io.h>
+@@ -50,13 +50,15 @@
  #include "cxgb4_uld.h"
+ #include "t4_hw.h"
  
 -#define FW_VERSION_MAJOR 1
 -#define FW_VERSION_MINOR 4
@@ -38,7 +36,7 @@ index 9710a16..6c93088 100644
  
  #define CH_WARN(adap, fmt, ...) dev_warn(adap->pdev_dev, fmt, ## __VA_ARGS__)
  
-@@ -287,6 +289,23 @@ struct adapter_params {
+@@ -288,6 +290,23 @@ struct adapter_params {
        unsigned int ofldq_wr_cred;
  };
  
@@ -62,7 +60,7 @@ index 9710a16..6c93088 100644
  struct trace_params {
        u32 data[TRACE_LEN / 4];
        u32 mask[TRACE_LEN / 4];
-@@ -901,7 +920,11 @@ int get_vpd_params(struct adapter *adapter, struct vpd_params *p);
+@@ -919,7 +938,11 @@ int get_vpd_params(struct adapter *adapter, struct vpd_params *p);
  int t4_load_fw(struct adapter *adapter, const u8 *fw_data, unsigned int size);
  unsigned int t4_flash_cfg_addr(struct adapter *adapter);
  int t4_load_cfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size);
@@ -76,10 +74,10 @@ index 9710a16..6c93088 100644
  int t4_port_init(struct adapter *adap, int mbox, int pf, int vf);
  void t4_fatal_err(struct adapter *adapter);
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-index 35933cd..d6b12e0 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
 +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-@@ -276,9 +276,9 @@ static DEFINE_PCI_DEVICE_TABLE(cxgb4_pci_tbl) = {
+@@ -275,9 +275,9 @@ static DEFINE_PCI_DEVICE_TABLE(cxgb4_pci_tbl) = {
        { 0, }
  };
  
@@ -91,7 +89,7 @@ index 35933cd..d6b12e0 100644
  #define FW5_CFNAME "cxgb4/t5-config.txt"
  
  MODULE_DESCRIPTION(DRV_DESC);
-@@ -286,7 +286,7 @@ MODULE_AUTHOR("Chelsio Communications");
+@@ -285,7 +285,7 @@ MODULE_AUTHOR("Chelsio Communications");
  MODULE_LICENSE("Dual BSD/GPL");
  MODULE_VERSION(DRV_VERSION);
  MODULE_DEVICE_TABLE(pci, cxgb4_pci_tbl);
@@ -100,7 +98,7 @@ index 35933cd..d6b12e0 100644
  MODULE_FIRMWARE(FW5_FNAME);
  
  /*
-@@ -1071,72 +1071,6 @@ freeout:        t4_free_sge_resources(adap);
+@@ -1087,72 +1087,6 @@ freeout:        t4_free_sge_resources(adap);
  }
  
  /*
@@ -173,7 +171,7 @@ index 35933cd..d6b12e0 100644
   * Allocate a chunk of memory using kmalloc or, if that fails, vmalloc.
   * The allocated memory is cleared.
   */
-@@ -4668,8 +4602,10 @@ static int adap_init0_config(struct adapter *adapter, int reset)
+@@ -4796,8 +4730,10 @@ static int adap_init0_config(struct adapter *adapter, int reset)
        const struct firmware *cf;
        unsigned long mtype = 0, maddr = 0;
        u32 finiver, finicsum, cfcsum;
@@ -185,7 +183,7 @@ index 35933cd..d6b12e0 100644
  
        /*
         * Reset device if necessary.
-@@ -4688,7 +4624,7 @@ static int adap_init0_config(struct adapter *adapter, int reset)
+@@ -4816,7 +4752,7 @@ static int adap_init0_config(struct adapter *adapter, int reset)
         */
        switch (CHELSIO_CHIP_VERSION(adapter->params.chip)) {
        case CHELSIO_T4:
@@ -194,7 +192,7 @@ index 35933cd..d6b12e0 100644
                break;
        case CHELSIO_T5:
                fw_config_file = FW5_CFNAME;
-@@ -4702,13 +4638,16 @@ static int adap_init0_config(struct adapter *adapter, int reset)
+@@ -4830,13 +4766,16 @@ static int adap_init0_config(struct adapter *adapter, int reset)
  
        ret = request_firmware(&cf, fw_config_file, adapter->pdev_dev);
        if (ret < 0) {
@@ -213,7 +211,7 @@ index 35933cd..d6b12e0 100644
                if (cf->size >= FLASH_CFG_MAX_SIZE)
                        ret = -ENOMEM;
                else {
-@@ -4776,6 +4715,26 @@ static int adap_init0_config(struct adapter *adapter, int reset)
+@@ -4904,6 +4843,26 @@ static int adap_init0_config(struct adapter *adapter, int reset)
                      FW_LEN16(caps_cmd));
        ret = t4_wr_mbox(adapter, adapter->mbox, &caps_cmd, sizeof(caps_cmd),
                         &caps_cmd);
@@ -240,7 +238,7 @@ index 35933cd..d6b12e0 100644
        if (ret < 0)
                goto bye;
  
-@@ -4816,7 +4775,6 @@ static int adap_init0_config(struct adapter *adapter, int reset)
+@@ -4944,7 +4903,6 @@ static int adap_init0_config(struct adapter *adapter, int reset)
        if (ret < 0)
                goto bye;
  
@@ -248,7 +246,7 @@ index 35933cd..d6b12e0 100644
        /*
         * Return successfully and note that we're operating with parameters
         * not supplied by the driver, rather than from hard-wired
-@@ -4824,11 +4782,8 @@ static int adap_init0_config(struct adapter *adapter, int reset)
+@@ -4952,11 +4910,8 @@ static int adap_init0_config(struct adapter *adapter, int reset)
         */
        adapter->flags |= USING_SOFT_PARAMS;
        dev_info(adapter->pdev_dev, "Successfully configured using Firmware "\
@@ -262,7 +260,7 @@ index 35933cd..d6b12e0 100644
        return 0;
  
        /*
-@@ -4837,9 +4792,9 @@ static int adap_init0_config(struct adapter *adapter, int reset)
+@@ -4965,9 +4920,9 @@ static int adap_init0_config(struct adapter *adapter, int reset)
         * want to issue a warning since this is fairly common.)
         */
  bye:
@@ -275,7 +273,7 @@ index 35933cd..d6b12e0 100644
        return ret;
  }
  
-@@ -5086,6 +5041,47 @@ bye:
+@@ -5214,6 +5169,47 @@ bye:
        return ret;
  }
  
@@ -323,7 +321,7 @@ index 35933cd..d6b12e0 100644
  /*
   * Phase 0 of initialization: contact FW, obtain config, perform basic init.
   */
-@@ -5123,44 +5119,54 @@ static int adap_init0(struct adapter *adap)
+@@ -5251,44 +5247,54 @@ static int adap_init0(struct adapter *adap)
         * later reporting and B. to warn if the currently loaded firmware
         * is excessively mismatched relative to the driver.)
         */
@@ -413,7 +411,7 @@ index 35933cd..d6b12e0 100644
        }
  
        /*
-@@ -5245,7 +5251,7 @@ static int adap_init0(struct adapter *adap)
+@@ -5373,7 +5379,7 @@ static int adap_init0(struct adapter *adap)
                                if (ret == -ENOENT) {
                                        dev_info(adap->pdev_dev,
                                            "No Configuration File present "
@@ -423,7 +421,7 @@ index 35933cd..d6b12e0 100644
                                        ret = adap_init0_no_config(adap, reset);
                                }
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
-index 83b5e42..74a6fce 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
 +++ b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
 @@ -863,104 +863,169 @@ unlock:
@@ -661,7 +659,7 @@ index 83b5e42..74a6fce 100644
   *    t4_flash_erase_sectors - erase a range of flash sectors
   *    @adapter: the adapter
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h b/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
-index 6f77ac4..74fea74 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
 +++ b/drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
 @@ -2157,7 +2157,7 @@ struct fw_debug_cmd {
@@ -685,6 +683,3 @@ index 6f77ac4..74fea74 100644
  #define FW_HDR_FW_VER_MAJOR_GET(x) (((x) >> 24) & 0xff)
  #define FW_HDR_FW_VER_MINOR_GET(x) (((x) >> 16) & 0xff)
  #define FW_HDR_FW_VER_MICRO_GET(x) (((x) >> 8) & 0xff)
--- 
-1.7.1
-
index 7899828772b963ec8fa9d87963302d63dc616d74..a5f64e92517dc35434b1bf198b0b1a632c17f430 100644 (file)
@@ -1,6 +1,4 @@
-From b6f8eaece6d5f0247931b6dac140e6cf876f48de Mon Sep 17 00:00:00 2001
 From: Kumar Sanghvi <kumaras@chelsio.com>
-Date: Wed, 18 Dec 2013 16:38:19 +0530
 Subject: [PATCH] cxgb4: Reserve stid 0 for T4/T5 adapters
 
 When creating offload server entries, an IPv6 passive connection request
@@ -21,10 +19,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  1 files changed, 6 insertions(+), 0 deletions(-)
 
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-index d6b12e0..f36f8e1 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
 +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-@@ -3134,6 +3134,7 @@ static int tid_init(struct tid_info *t)
+@@ -3221,6 +3221,7 @@ static int tid_init(struct tid_info *t)
        size_t size;
        unsigned int stid_bmap_size;
        unsigned int natids = t->natids;
@@ -32,7 +30,7 @@ index d6b12e0..f36f8e1 100644
  
        stid_bmap_size = BITS_TO_LONGS(t->nstids + t->nsftids);
        size = t->ntids * sizeof(*t->tid_tab) +
-@@ -3167,6 +3168,11 @@ static int tid_init(struct tid_info *t)
+@@ -3254,6 +3255,11 @@ static int tid_init(struct tid_info *t)
                t->afree = t->atid_tab;
        }
        bitmap_zero(t->stid_bmap, t->nstids + t->nsftids);
@@ -44,6 +42,3 @@ index d6b12e0..f36f8e1 100644
        return 0;
  }
  
--- 
-1.7.1
-
index 157f06fe387f3816087de60ee3e04747bb28a5eb..9a06d88324ea4c78cdfe12ae93b255092025457c 100644 (file)
@@ -1,6 +1,4 @@
-From 7c89e5550ccb2a3118854639d9525847e896c686 Mon Sep 17 00:00:00 2001
 From: Kumar Sanghvi <kumaras@chelsio.com>
-Date: Wed, 18 Dec 2013 16:38:20 +0530
 Subject: [PATCH] cxgb4: Include TCP as protocol when creating server filters
 
 We were creating LE Workaround Server Filters without specifying
@@ -20,10 +18,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  2 files changed, 9 insertions(+), 0 deletions(-)
 
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-index f36f8e1..df1d6b8 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
 +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-@@ -4217,6 +4217,11 @@ int cxgb4_create_server_filter(const struct net_device *dev, unsigned int stid,
+@@ -4294,6 +4294,11 @@ int cxgb4_create_server_filter(const struct net_device *dev, unsigned int stid,
                }
        }
  
@@ -36,7 +34,7 @@ index f36f8e1..df1d6b8 100644
        f->fs.iq = queue;
        /* Mark filter as locked */
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h b/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
-index 0a8205d..d3dd218 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
 +++ b/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
 @@ -1171,6 +1171,10 @@
@@ -50,6 +48,3 @@ index 0a8205d..d3dd218 100644
  #define S_PORT    1
  #define V_PORT(x) ((x) << S_PORT)
  #define F_PORT    V_PORT(1U)
--- 
-1.7.1
-
diff --git a/linux-next-cherry-picks/0005-cxgb4-Assign-filter-server-TIDS-Account-for-stid.patch b/linux-next-cherry-picks/0005-cxgb4-Assign-filter-server-TIDS-Account-for-stid.patch
deleted file mode 100644 (file)
index 0878418..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-index 951787f..94a6e62 100644
---- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-@@ -3073,7 +3073,14 @@ int cxgb4_alloc_stid(struct tid_info *t, int family, void *data)
-       if (stid >= 0) {
-               t->stid_tab[stid].data = data;
-               stid += t->stid_base;
--              t->stids_in_use++;
-+              /* IPv6 requires max of 520 bits or 16 cells in TCAM
-+               * This is equivalent to 4 TIDs. With CLIP enabled it
-+               * needs 2 TIDs.
-+               */
-+              if (family == PF_INET)
-+                      t->stids_in_use++;
-+              else
-+                      t->stids_in_use += 4;
-       }
-       spin_unlock_bh(&t->stid_lock);
-       return stid;
-@@ -3099,7 +3106,8 @@ int cxgb4_alloc_sftid(struct tid_info *t, int family, void *data)
-       }
-       if (stid >= 0) {
-               t->stid_tab[stid].data = data;
--              stid += t->stid_base;
-+              stid -= t->nstids;
-+              stid += t->sftid_base;
-               t->stids_in_use++;
-       }
-       spin_unlock_bh(&t->stid_lock);
-@@ -3111,14 +3119,24 @@ EXPORT_SYMBOL(cxgb4_alloc_sftid);
-  */
- void cxgb4_free_stid(struct tid_info *t, unsigned int stid, int family)
- {
--      stid -= t->stid_base;
-+      /* Is it a server filter TID? */
-+      if (t->nsftids && (stid >= t->sftid_base)) {
-+              stid -= t->sftid_base;
-+              stid += t->nstids;
-+      } else {
-+              stid -= t->stid_base;
-+      }
-+
-       spin_lock_bh(&t->stid_lock);
-       if (family == PF_INET)
-               __clear_bit(stid, t->stid_bmap);
-       else
-               bitmap_release_region(t->stid_bmap, stid, 2);
-       t->stid_tab[stid].data = NULL;
--      t->stids_in_use--;
-+      if (family == PF_INET)
-+              t->stids_in_use--;
-+      else
-+              t->stids_in_use -= 4;
-       spin_unlock_bh(&t->stid_lock);
- }
- EXPORT_SYMBOL(cxgb4_free_stid);
-@@ -4262,7 +4280,7 @@ int cxgb4_create_server_filter(const struct net_device *dev, unsigned int stid,
-       adap = netdev2adap(dev);
-       /* Adjust stid to correct filter index */
--      stid -= adap->tids.nstids;
-+      stid -= adap->tids.sftid_base;
-       stid += adap->tids.nftids;
-       /* Check to make sure the filter requested is writable ...
-@@ -4325,7 +4343,7 @@ int cxgb4_remove_server_filter(const struct net_device *dev, unsigned int stid,
-       adap = netdev2adap(dev);
-       /* Adjust stid to correct filter index */
--      stid -= adap->tids.nstids;
-+      stid -= adap->tids.sftid_base;
-       stid += adap->tids.nftids;
-       f = &adap->tids.ftid_tab[stid];
-diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
-index 6f21f24..4dd0a82 100644
---- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
-+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
-@@ -131,7 +131,14 @@ static inline void *lookup_atid(const struct tid_info *t, unsigned int atid)
- static inline void *lookup_stid(const struct tid_info *t, unsigned int stid)
- {
--      stid -= t->stid_base;
-+      /* Is it a server filter TID? */
-+      if (t->nsftids && (stid >= t->sftid_base)) {
-+              stid -= t->sftid_base;
-+              stid += t->nstids;
-+      } else {
-+              stid -= t->stid_base;
-+      }
-+
-       return stid < (t->nstids + t->nsftids) ? t->stid_tab[stid].data : NULL;
- }
diff --git a/linux-next-cherry-picks/0005-cxgb4-Assign-filter-server-TIDs-properly.patch b/linux-next-cherry-picks/0005-cxgb4-Assign-filter-server-TIDs-properly.patch
new file mode 100644 (file)
index 0000000..97f931c
--- /dev/null
@@ -0,0 +1,104 @@
+From: Kumar Sanghvi <kumaras@chelsio.com>
+Subject: [PATCH] cxgb4: Assign filter server TIDs properly
+
+Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
+---
+ drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c |   30 ++++++++++++++++++----
+ drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h  |    9 ++++++-
+ 2 files changed, 32 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+index xxxxxxx..xxxxxxx xxxxxx
+--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
++++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+@@ -3073,7 +3073,14 @@ int cxgb4_alloc_stid(struct tid_info *t, int family, void *data)
+       if (stid >= 0) {
+               t->stid_tab[stid].data = data;
+               stid += t->stid_base;
+-              t->stids_in_use++;
++              /* IPv6 requires max of 520 bits or 16 cells in TCAM
++               * This is equivalent to 4 TIDs. With CLIP enabled it
++               * needs 2 TIDs.
++               */
++              if (family == PF_INET)
++                      t->stids_in_use++;
++              else
++                      t->stids_in_use += 4;
+       }
+       spin_unlock_bh(&t->stid_lock);
+       return stid;
+@@ -3099,7 +3106,8 @@ int cxgb4_alloc_sftid(struct tid_info *t, int family, void *data)
+       }
+       if (stid >= 0) {
+               t->stid_tab[stid].data = data;
+-              stid += t->stid_base;
++              stid -= t->nstids;
++              stid += t->sftid_base;
+               t->stids_in_use++;
+       }
+       spin_unlock_bh(&t->stid_lock);
+@@ -3111,14 +3119,24 @@ EXPORT_SYMBOL(cxgb4_alloc_sftid);
+  */
+ void cxgb4_free_stid(struct tid_info *t, unsigned int stid, int family)
+ {
+-      stid -= t->stid_base;
++      /* Is it a server filter TID? */
++      if (t->nsftids && (stid >= t->sftid_base)) {
++              stid -= t->sftid_base;
++              stid += t->nstids;
++      } else {
++              stid -= t->stid_base;
++      }
++
+       spin_lock_bh(&t->stid_lock);
+       if (family == PF_INET)
+               __clear_bit(stid, t->stid_bmap);
+       else
+               bitmap_release_region(t->stid_bmap, stid, 2);
+       t->stid_tab[stid].data = NULL;
+-      t->stids_in_use--;
++      if (family == PF_INET)
++              t->stids_in_use--;
++      else
++              t->stids_in_use -= 4;
+       spin_unlock_bh(&t->stid_lock);
+ }
+ EXPORT_SYMBOL(cxgb4_free_stid);
+@@ -4262,7 +4280,7 @@ int cxgb4_create_server_filter(const struct net_device *dev, unsigned int stid,
+       adap = netdev2adap(dev);
+       /* Adjust stid to correct filter index */
+-      stid -= adap->tids.nstids;
++      stid -= adap->tids.sftid_base;
+       stid += adap->tids.nftids;
+       /* Check to make sure the filter requested is writable ...
+@@ -4325,7 +4343,7 @@ int cxgb4_remove_server_filter(const struct net_device *dev, unsigned int stid,
+       adap = netdev2adap(dev);
+       /* Adjust stid to correct filter index */
+-      stid -= adap->tids.nstids;
++      stid -= adap->tids.sftid_base;
+       stid += adap->tids.nftids;
+       f = &adap->tids.ftid_tab[stid];
+diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
+index xxxxxxx..xxxxxxx xxxxxx
+--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
++++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
+@@ -131,7 +131,14 @@ static inline void *lookup_atid(const struct tid_info *t, unsigned int atid)
+ static inline void *lookup_stid(const struct tid_info *t, unsigned int stid)
+ {
+-      stid -= t->stid_base;
++      /* Is it a server filter TID? */
++      if (t->nsftids && (stid >= t->sftid_base)) {
++              stid -= t->sftid_base;
++              stid += t->nstids;
++      } else {
++              stid -= t->stid_base;
++      }
++
+       return stid < (t->nstids + t->nsftids) ? t->stid_tab[stid].data : NULL;
+ }
index cb647d083e2c0486b8e38b8a3300967a9b03e2d7..888ef3c1d559b4c501a08a03ec890b78e003a37b 100644 (file)
@@ -1,6 +1,4 @@
-From dcf7b6f5bdeaa13d5e465d8795d2e7d6d1e27b65 Mon Sep 17 00:00:00 2001
 From: Kumar Sanghvi <kumaras@chelsio.com>
-Date: Wed, 18 Dec 2013 16:38:23 +0530
 Subject: [PATCH] cxgb4: Add API to correctly calculate tuple fields
 
 Adds API cxgb4_select_ntuple so as to enable Upper Level Drivers to correctly
@@ -27,10 +25,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  6 files changed, 235 insertions(+), 16 deletions(-)
 
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
-index 6c93088..56e0415 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
 +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
-@@ -228,6 +228,25 @@ struct tp_params {
+@@ -229,6 +229,25 @@ struct tp_params {
  
        uint32_t dack_re;            /* DACK timer resolution */
        unsigned short tx_modq[NCHAN];  /* channel to modulation queue map */
@@ -56,7 +54,7 @@ index 6c93088..56e0415 100644
  };
  
  struct vpd_params {
-@@ -926,6 +945,8 @@ int t4_prep_fw(struct adapter *adap, struct fw_info *fw_info,
+@@ -944,6 +963,8 @@ int t4_prep_fw(struct adapter *adap, struct fw_info *fw_info,
               const u8 *fw_data, unsigned int fw_size,
               struct fw_hdr *card_fw, enum dev_state state, int *reset);
  int t4_prep_adapter(struct adapter *adapter);
@@ -66,10 +64,10 @@ index 6c93088..56e0415 100644
  void t4_fatal_err(struct adapter *adapter);
  int t4_config_rss_range(struct adapter *adapter, int mbox, unsigned int viid,
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-index f9ca36c..fff02ed 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
 +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
-@@ -3755,7 +3755,7 @@ static void uld_attach(struct adapter *adap, unsigned int uld)
+@@ -3842,7 +3842,7 @@ static void uld_attach(struct adapter *adap, unsigned int uld)
        lli.ucq_density = 1 << QUEUESPERPAGEPF0_GET(
                        t4_read_reg(adap, SGE_INGRESS_QUEUES_PER_PAGE_PF) >>
                        (adap->fn * 4));
@@ -78,7 +76,7 @@ index f9ca36c..fff02ed 100644
        /* MODQ_REQ_MAP sets queues 0-3 to chan 0-3 */
        for (i = 0; i < NCHAN; i++)
                lli.tx_modq[i] = i;
-@@ -4229,13 +4229,13 @@ int cxgb4_create_server_filter(const struct net_device *dev, unsigned int stid,
+@@ -4306,13 +4306,13 @@ int cxgb4_create_server_filter(const struct net_device *dev, unsigned int stid,
                        f->fs.val.lip[i] = val[i];
                        f->fs.mask.lip[i] = ~0;
                }
@@ -94,7 +92,7 @@ index f9ca36c..fff02ed 100644
                f->fs.val.proto = IPPROTO_TCP;
                f->fs.mask.proto = ~0;
        }
-@@ -5121,7 +5121,7 @@ static int adap_init0(struct adapter *adap)
+@@ -5249,7 +5249,7 @@ static int adap_init0(struct adapter *adap)
        enum dev_state state;
        u32 params[7], val[7];
        struct fw_caps_config_cmd caps_cmd;
@@ -103,7 +101,7 @@ index f9ca36c..fff02ed 100644
  
        /*
         * Contact FW, advertising Master capability (and potentially forcing
-@@ -5463,21 +5463,11 @@ static int adap_init0(struct adapter *adap)
+@@ -5591,21 +5591,11 @@ static int adap_init0(struct adapter *adap)
        /*
         * These are finalized by FW initialization, load their values now.
         */
@@ -127,7 +125,7 @@ index f9ca36c..fff02ed 100644
        return 0;
  
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/l2t.c b/drivers/net/ethernet/chelsio/cxgb4/l2t.c
-index 2987809..cb05be9 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/l2t.c
 +++ b/drivers/net/ethernet/chelsio/cxgb4/l2t.c
 @@ -45,6 +45,7 @@
@@ -180,7 +178,7 @@ index 2987809..cb05be9 100644
   * Called when address resolution fails for an L2T entry to handle packets
   * on the arpq head.  If a packet specifies a failure handler it is invoked,
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/l2t.h b/drivers/net/ethernet/chelsio/cxgb4/l2t.h
-index 108c0f1..85eb5c7 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/l2t.h
 +++ b/drivers/net/ethernet/chelsio/cxgb4/l2t.h
 @@ -98,7 +98,8 @@ int cxgb4_l2t_send(struct net_device *dev, struct sk_buff *skb,
@@ -194,7 +192,7 @@ index 108c0f1..85eb5c7 100644
  struct l2t_entry *t4_l2t_alloc_switching(struct l2t_data *d);
  int t4_l2t_set_switching(struct adapter *adap, struct l2t_entry *e, u16 vlan,
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
-index 74a6fce..e1413ea 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
 +++ b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
 @@ -3808,6 +3808,109 @@ int t4_prep_adapter(struct adapter *adapter)
@@ -308,7 +306,7 @@ index 74a6fce..e1413ea 100644
  {
        u8 addr[6];
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h b/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
-index d3dd218..4082522 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
 +++ b/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
 @@ -1171,14 +1171,50 @@
@@ -362,9 +360,9 @@ index d3dd218..4082522 100644
  #define NUM_MPS_CLS_SRAM_L_INSTANCES 336
  #define NUM_MPS_T5_CLS_SRAM_L_INSTANCES 512
  
-@@ -1217,4 +1253,37 @@
- #define V_CHIPID(x) ((x) << S_CHIPID)
- #define G_CHIPID(x) (((x) >> S_CHIPID) & M_CHIPID)
+@@ -1208,4 +1244,37 @@
+ #define EDC_STRIDE_T5 (EDC_T51_BASE_ADDR - EDC_T50_BASE_ADDR)
+ #define EDC_REG_T5(reg, idx) (reg + EDC_STRIDE_T5 * idx)
  
 +/* TP_VLAN_PRI_MAP controls which subset of fields will be present in the
 + * Compressed Filter Tuple for LE filters.  Each bit set in TP_VLAN_PRI_MAP
@@ -400,6 +398,3 @@ index d3dd218..4082522 100644
 +#define V_FT_VNID_ID_VLD(x)             ((x) << S_FT_VNID_ID_VLD)
 +
  #endif /* __T4_REGS_H */
--- 
-1.7.1
-
index a6ef0583a49be5ec7646d3ea80afcb31a7c15186..ea99e7ecde5813387dd7d01795754449c3a1e37a 100644 (file)
@@ -1,6 +1,4 @@
-From a4ea025fc24532bae8a038d038f8e0f15b8a7d98 Mon Sep 17 00:00:00 2001
 From: Kumar Sanghvi <kumaras@chelsio.com>
-Date: Wed, 18 Dec 2013 16:38:24 +0530
 Subject: [PATCH] RDMA/cxgb4: Calculate the filter server TID properly
 
 Based on original work by Santosh Rastapur <santosh@chelsio.com>
@@ -13,10 +11,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  1 files changed, 1 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
-index 12fef76..02c7515 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/infiniband/hw/cxgb4/cm.c
 +++ b/drivers/infiniband/hw/cxgb4/cm.c
-@@ -3323,9 +3323,7 @@ static int rx_pkt(struct c4iw_dev *dev, struct sk_buff *skb)
+@@ -3394,9 +3394,7 @@ static int rx_pkt(struct c4iw_dev *dev, struct sk_buff *skb)
        /*
         * Calculate the server tid from filter hit index from cpl_rx_pkt.
         */
@@ -27,6 +25,3 @@ index 12fef76..02c7515 100644
  
        lep = (struct c4iw_ep *)lookup_stid(dev->rdev.lldi.tids, stid);
        if (!lep) {
--- 
-1.7.1
-
index 25916717a968d884746fed558c77cd28fbbdbe72..5044c68b8c076fb75746c3b6bf3ab2795a11942c 100644 (file)
@@ -1,6 +1,4 @@
-From 8c04469057c3307d92d2c7076edcf9eb8f752bca Mon Sep 17 00:00:00 2001
 From: Kumar Sanghvi <kumaras@chelsio.com>
-Date: Wed, 18 Dec 2013 16:38:25 +0530
 Subject: [PATCH] RDMA/cxgb4: Server filters are supported only for IPv4
 
 Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
@@ -11,10 +9,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  1 files changed, 2 insertions(+), 1 deletions(-)
 
 diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
-index 02c7515..bfd4ed7 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/infiniband/hw/cxgb4/cm.c
 +++ b/drivers/infiniband/hw/cxgb4/cm.c
-@@ -2938,7 +2938,8 @@ int c4iw_create_listen(struct iw_cm_id *cm_id, int backlog)
+@@ -3001,7 +3001,8 @@ int c4iw_create_listen(struct iw_cm_id *cm_id, int backlog)
        /*
         * Allocate a server TID.
         */
@@ -24,6 +22,3 @@ index 02c7515..bfd4ed7 100644
                ep->stid = cxgb4_alloc_sftid(dev->rdev.lldi.tids,
                                             cm_id->local_addr.ss_family, ep);
        else
--- 
-1.7.1
-
index ba1a27b767d7ef542cad325a093de96c2bc827d9..bf8896e2bb14a1643115b40e5323344db5f79ec1 100644 (file)
@@ -1,6 +1,4 @@
-From 41b4f86c1368758a02129e0629a9cc7c2811fa32 Mon Sep 17 00:00:00 2001
 From: Kumar Sanghvi <kumaras@chelsio.com>
-Date: Wed, 18 Dec 2013 16:38:26 +0530
 Subject: [PATCH] RDMA/cxgb4: Use cxgb4_select_ntuple to correctly calculate ntuple fields
 
 Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
@@ -11,10 +9,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  1 files changed, 17 insertions(+), 54 deletions(-)
 
 diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
-index bfd4ed7..4512687 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/infiniband/hw/cxgb4/cm.c
 +++ b/drivers/infiniband/hw/cxgb4/cm.c
-@@ -524,50 +524,6 @@ static int send_abort(struct c4iw_ep *ep, struct sk_buff *skb, gfp_t gfp)
+@@ -570,50 +570,6 @@ static int send_abort(struct c4iw_ep *ep, struct sk_buff *skb, gfp_t gfp)
        return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t);
  }
  
@@ -65,7 +63,7 @@ index bfd4ed7..4512687 100644
  static int send_connect(struct c4iw_ep *ep)
  {
        struct cpl_act_open_req *req;
-@@ -641,8 +597,9 @@ static int send_connect(struct c4iw_ep *ep)
+@@ -687,8 +643,9 @@ static int send_connect(struct c4iw_ep *ep)
                        req->local_ip = la->sin_addr.s_addr;
                        req->peer_ip = ra->sin_addr.s_addr;
                        req->opt0 = cpu_to_be64(opt0);
@@ -77,7 +75,7 @@ index bfd4ed7..4512687 100644
                        req->opt2 = cpu_to_be32(opt2);
                } else {
                        req6 = (struct cpl_act_open_req6 *)skb_put(skb, wrlen);
-@@ -662,9 +619,9 @@ static int send_connect(struct c4iw_ep *ep)
+@@ -708,9 +665,9 @@ static int send_connect(struct c4iw_ep *ep)
                        req6->peer_ip_lo = *((__be64 *)
                                                (ra6->sin6_addr.s6_addr + 8));
                        req6->opt0 = cpu_to_be64(opt0);
@@ -90,7 +88,7 @@ index bfd4ed7..4512687 100644
                        req6->opt2 = cpu_to_be32(opt2);
                }
        } else {
-@@ -681,8 +638,9 @@ static int send_connect(struct c4iw_ep *ep)
+@@ -727,8 +684,9 @@ static int send_connect(struct c4iw_ep *ep)
                        t5_req->peer_ip = ra->sin_addr.s_addr;
                        t5_req->opt0 = cpu_to_be64(opt0);
                        t5_req->params = cpu_to_be64(V_FILTER_TUPLE(
@@ -102,7 +100,7 @@ index bfd4ed7..4512687 100644
                        t5_req->opt2 = cpu_to_be32(opt2);
                } else {
                        t5_req6 = (struct cpl_t5_act_open_req6 *)
-@@ -703,7 +661,9 @@ static int send_connect(struct c4iw_ep *ep)
+@@ -749,7 +707,9 @@ static int send_connect(struct c4iw_ep *ep)
                                                (ra6->sin6_addr.s6_addr + 8));
                        t5_req6->opt0 = cpu_to_be64(opt0);
                        t5_req6->params = (__force __be64)cpu_to_be32(
@@ -113,7 +111,7 @@ index bfd4ed7..4512687 100644
                        t5_req6->opt2 = cpu_to_be32(opt2);
                }
        }
-@@ -1630,7 +1590,8 @@ static void send_fw_act_open_req(struct c4iw_ep *ep, unsigned int atid)
+@@ -1676,7 +1636,8 @@ static void send_fw_act_open_req(struct c4iw_ep *ep, unsigned int atid)
        memset(req, 0, sizeof(*req));
        req->op_compl = htonl(V_WR_OP(FW_OFLD_CONNECTION_WR));
        req->len16_pkd = htonl(FW_WR_LEN16(DIV_ROUND_UP(sizeof(*req), 16)));
@@ -123,7 +121,7 @@ index bfd4ed7..4512687 100644
                                     ep->l2t));
        sin = (struct sockaddr_in *)&ep->com.local_addr;
        req->le.lport = sin->sin_port;
-@@ -3396,7 +3357,9 @@ static int rx_pkt(struct c4iw_dev *dev, struct sk_buff *skb)
+@@ -3475,7 +3436,9 @@ static int rx_pkt(struct c4iw_dev *dev, struct sk_buff *skb)
        window = (__force u16) htons((__force u16)tcph->window);
  
        /* Calcuate filter portion for LE region. */
@@ -134,6 +132,3 @@ index bfd4ed7..4512687 100644
  
        /*
         * Synthesize the cpl_pass_accept_req. We have everything except the
--- 
-1.7.1
-
index 9623cb7b6cd6a8cbb8526b651eb36962700c832b..64c3730c7a8214eb2ba9719cfd98ad32c5bcb1ef 100644 (file)
@@ -1,6 +1,4 @@
-From 603e7729920e42b3c2f4dbfab9eef4878cb6e8fa Mon Sep 17 00:00:00 2001
 From: Jan Kara <jack@suse.cz>
-Date: Fri, 4 Oct 2013 09:29:12 -0400
 Subject: [PATCH] IB/qib: Convert qib_user_sdma_pin_pages() to use get_user_pages_fast()
 
 qib_user_sdma_queue_pkts() gets called with mmap_sem held for
@@ -26,7 +24,7 @@ Signed-off-by: Roland Dreier <roland@purestorage.com>
  1 files changed, 1 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/infiniband/hw/qib/qib_user_sdma.c b/drivers/infiniband/hw/qib/qib_user_sdma.c
-index d0a0ea0..165aee2 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/infiniband/hw/qib/qib_user_sdma.c
 +++ b/drivers/infiniband/hw/qib/qib_user_sdma.c
 @@ -594,8 +594,7 @@ static int qib_user_sdma_pin_pages(const struct qib_devdata *dd,
@@ -51,6 +49,3 @@ index d0a0ea0..165aee2 100644
                if (ret < 0)
                        goto done_unlock;
                else {
--- 
-1.7.0.7
-
index 513aaa44f3a66ed6bdccbcb5170becf4407d3d2d..9c472627b6dfced45dce8edc9e5c80fa41a02147 100644 (file)
@@ -1,6 +1,4 @@
-From 2fadd83184d58701f1116ca578465b5a75f9417c Mon Sep 17 00:00:00 2001
 From: Mike Marciniszyn <mike.marciniszyn@intel.com>
-Date: Fri, 25 Oct 2013 11:17:59 -0400
 Subject: [PATCH] IB/qib: Fix txselect regression
 
 Commit 7fac33014f54("IB/qib: checkpatch fixes") was overzealous in
@@ -17,7 +15,7 @@ Signed-off-by: Roland Dreier <roland@purestorage.com>
  1 files changed, 5 insertions(+), 6 deletions(-)
 
 diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c
-index 016e742..5bfc02f 100644
+index xxxxxxx..xxxxxxx xxxxxx
 --- a/drivers/infiniband/hw/qib/qib_iba7322.c
 +++ b/drivers/infiniband/hw/qib/qib_iba7322.c
 @@ -6190,21 +6190,20 @@ static int setup_txselect(const char *str, struct kernel_param *kp)
@@ -47,6 +45,3 @@ index 016e742..5bfc02f 100644
        list_for_each_entry(dd, &qib_dev_list, list)
                if (dd->deviceid == PCI_DEVICE_ID_QLOGIC_IB_7322)
                        set_no_qsfp_atten(dd, 1);
--- 
-1.7.0.7
-