git: bbe35708ad03 - main - qlnx: purge EOL release compatibility

From: Warner Losh <imp_at_FreeBSD.org>
Date: Sat, 04 Feb 2023 16:20:24 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=bbe35708ad0313769ae71fdd43b573e6fffce587

commit bbe35708ad0313769ae71fdd43b573e6fffce587
Author:     Elliott Mitchell <ehem+freebsd@m5p.com>
AuthorDate: 2022-06-23 00:53:47 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-02-04 16:13:08 +0000

    qlnx: purge EOL release compatibility
    
    Drop code that supproted FreeBSD 10 and 11.
    
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/603
    Differential Revision: https://reviews.freebsd.org/D35560
---
 sys/dev/qlnx/qlnxe/bcm_osal.h    |  31 --
 sys/dev/qlnx/qlnxe/qlnx_def.h    |  13 -
 sys/dev/qlnx/qlnxe/qlnx_os.c     | 102 +-----
 sys/dev/qlnx/qlnxe/qlnx_os.h     |   4 -
 sys/dev/qlnx/qlnxr/qlnxr_cm.c    |  12 -
 sys/dev/qlnx/qlnxr/qlnxr_cm.h    |  10 -
 sys/dev/qlnx/qlnxr/qlnxr_def.h   |  17 -
 sys/dev/qlnx/qlnxr/qlnxr_os.c    |  38 +--
 sys/dev/qlnx/qlnxr/qlnxr_verbs.c | 715 +--------------------------------------
 sys/dev/qlnx/qlnxr/qlnxr_verbs.h |  46 ---
 10 files changed, 8 insertions(+), 980 deletions(-)

diff --git a/sys/dev/qlnx/qlnxe/bcm_osal.h b/sys/dev/qlnx/qlnxe/bcm_osal.h
index c39b9df46cb7..07b0fe47ea36 100644
--- a/sys/dev/qlnx/qlnxe/bcm_osal.h
+++ b/sys/dev/qlnx/qlnxe/bcm_osal.h
@@ -35,16 +35,7 @@
 #include <sys/bitstring.h>
 
 #include <linux/types.h>
-
-#if __FreeBSD_version >= 1200032
 #include <linux/bitmap.h>
-#else
-#if __FreeBSD_version >= 1100090
-#include <compat/linuxkpi/common/include/linux/bitops.h>
-#else
-#include <ofed/include/linux/bitops.h>
-#endif
-#endif
 
 #define OSAL_NUM_CPUS()	mp_ncpus
 /*
@@ -481,34 +472,12 @@ qlnx_test_and_change_bit(long bit, volatile unsigned long *var)
 
 	val = *var;
 
-#if __FreeBSD_version >= 1100000
 	if (val & bit) 
 		return (test_and_clear_bit(bit, var));
 
 	return (test_and_set_bit(bit, var));
-#else
-	if (val & bit) 
-		return (test_and_clear_bit(bit, (long *)var));
-
-	return (test_and_set_bit(bit, (long *)var));
-
-#endif
 }
 
-#if __FreeBSD_version < 1100000
-static inline unsigned
-bitmap_weight(unsigned long *bitmap, unsigned nbits)
-{
-        unsigned bit;
-        unsigned retval = 0;
-
-        for_each_set_bit(bit, bitmap, nbits)
-                retval++;
-        return (retval);
-}
-
-#endif
-
 #define OSAL_TEST_AND_FLIP_BIT qlnx_test_and_change_bit
 #define OSAL_TEST_AND_CLEAR_BIT test_and_clear_bit
 #define OSAL_MEMCMP memcmp
diff --git a/sys/dev/qlnx/qlnxe/qlnx_def.h b/sys/dev/qlnx/qlnxe/qlnx_def.h
index 7b5f6bdc25f3..87ef7985647d 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_def.h
+++ b/sys/dev/qlnx/qlnxe/qlnx_def.h
@@ -715,17 +715,6 @@ extern int qlnx_alloc_mem_sb(qlnx_host_t *ha, struct ecore_sb_info *sb_info,
 #define QLNX_IFM_25G_CR IFM_UNKNOWN
 #endif /* #if (defined IFM_25G_SR) */
 
-#if __FreeBSD_version < 1100000
-
-#define QLNX_INC_IERRORS(ifp)		ifp->if_ierrors++
-#define QLNX_INC_IQDROPS(ifp)		ifp->if_iqdrops++
-#define QLNX_INC_IPACKETS(ifp)		ifp->if_ipackets++
-#define QLNX_INC_OPACKETS(ifp)		ifp->if_opackets++
-#define QLNX_INC_OBYTES(ifp, len)	ifp->if_obytes += len
-#define QLNX_INC_IBYTES(ifp, len)	ifp->if_ibytes += len
-
-#else
-
 #define QLNX_INC_IERRORS(ifp)	if_inc_counter(ifp, IFCOUNTER_IERRORS, 1)
 #define QLNX_INC_IQDROPS(ifp)	if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1)
 #define QLNX_INC_IPACKETS(ifp)	if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1)
@@ -736,8 +725,6 @@ extern int qlnx_alloc_mem_sb(qlnx_host_t *ha, struct ecore_sb_info *sb_info,
 #define QLNX_INC_IBYTES(ifp, len)	\
 			if_inc_counter(ha->ifp, IFCOUNTER_IBYTES, len)
 
-#endif /* #if __FreeBSD_version < 1100000 */
-
 #define CQE_L3_PACKET(flags)    \
         ((((flags) & PARSING_AND_ERR_FLAGS_L3TYPE_MASK) == e_l3_type_ipv4) || \
         (((flags) & PARSING_AND_ERR_FLAGS_L3TYPE_MASK) == e_l3_type_ipv6))
diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.c b/sys/dev/qlnx/qlnxe/qlnx_os.c
index 80056215f7a9..9d31024c29c1 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_os.c
+++ b/sys/dev/qlnx/qlnxe/qlnx_os.c
@@ -152,9 +152,7 @@ static int qlnx_alloc_tpa_mbuf(qlnx_host_t *ha, uint16_t rx_buf_size,
 		struct qlnx_agg_info *tpa);
 static void qlnx_free_tpa_mbuf(qlnx_host_t *ha, struct qlnx_agg_info *tpa);
 
-#if __FreeBSD_version >= 1100000
 static uint64_t qlnx_get_counter(if_t ifp, ift_counter cnt);
-#endif
 
 /*
  * Hooks to the Operating Systems
@@ -274,12 +272,6 @@ SYSCTL_NODE(_hw, OID_AUTO, qlnxe, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
 /* Number of Queues: 0 (Auto) or 1 to 32 (fixed queue number) */
 static int qlnxe_queue_count = QLNX_DEFAULT_RSS;
 
-#if __FreeBSD_version < 1100000
-
-TUNABLE_INT("hw.qlnxe.queue_count", &qlnxe_queue_count);
-
-#endif
-
 SYSCTL_INT(_hw_qlnxe, OID_AUTO, queue_count, CTLFLAG_RDTUN,
 		&qlnxe_queue_count, 0, "Multi-Queue queue count");
 
@@ -304,20 +296,9 @@ SYSCTL_INT(_hw_qlnxe, OID_AUTO, queue_count, CTLFLAG_RDTUN,
 /* RDMA configuration; 64bit field allows setting for 16 physical functions*/
 static uint64_t qlnxe_rdma_configuration = 0x22222222; 
 
-#if __FreeBSD_version < 1100000
-
-TUNABLE_QUAD("hw.qlnxe.rdma_configuration", &qlnxe_rdma_configuration);
-
-SYSCTL_UQUAD(_hw_qlnxe, OID_AUTO, rdma_configuration, CTLFLAG_RDTUN,
-               &qlnxe_rdma_configuration, 0, "RDMA Configuration");
-
-#else
-
 SYSCTL_U64(_hw_qlnxe, OID_AUTO, rdma_configuration, CTLFLAG_RDTUN,
                 &qlnxe_rdma_configuration, 0, "RDMA Configuration");
 
-#endif /* #if __FreeBSD_version < 1100000 */
-
 int
 qlnx_vf_device(qlnx_host_t *ha)
 {
@@ -2333,8 +2314,6 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha)
 
 	device_id = pci_get_device(ha->pci_dev);
 
-#if __FreeBSD_version >= 1000000
-
         if (device_id == QLOGIC_PCI_DEVICE_ID_1634) 
 		ifp->if_baudrate = IF_Gbps(40);
         else if ((device_id == QLOGIC_PCI_DEVICE_ID_1656) ||
@@ -2346,11 +2325,6 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha)
 		ifp->if_baudrate = IF_Gbps(100);
 
         ifp->if_capabilities = IFCAP_LINKSTATE;
-#else
-        ifp->if_mtu = ETHERMTU;
-	ifp->if_baudrate = (1 * 1000 * 1000 *1000);
-
-#endif /* #if __FreeBSD_version >= 1000000 */
 
         ifp->if_init = qlnx_init;
         ifp->if_softc = ha;
@@ -2363,9 +2337,7 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha)
         ifp->if_snd.ifq_drv_maxlen = qlnx_get_ifq_snd_maxlen(ha);
         IFQ_SET_READY(&ifp->if_snd);
 
-#if __FreeBSD_version >= 1100036
 	if_setgetcounterfn(ifp, qlnx_get_counter);
-#endif
 
         ha->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
 
@@ -2789,8 +2761,6 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 		VLAN_CAPABILITIES(ifp);
 		break;
 
-#if (__FreeBSD_version >= 1100101)
-
 	case SIOCGI2C:
 	{
 		struct ifi2creq i2c;
@@ -2838,7 +2808,6 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 			i2c.data[4], i2c.data[5], i2c.data[6], i2c.data[7]);
 		break;
 	}
-#endif /* #if (__FreeBSD_version >= 1100101) */
 
 	default:
 		QL_DPRINT4(ha, "default (0x%lx)\n", cmd);
@@ -3085,11 +3054,7 @@ qlnx_transmit(struct ifnet *ifp, struct mbuf  *mp)
 
         QL_DPRINT2(ha, "enter\n");
 
-#if __FreeBSD_version >= 1100000
         if (M_HASHTYPE_GET(mp) != M_HASHTYPE_NONE)
-#else
-        if (mp->m_flags & M_FLOWID)
-#endif
                 rss_id = (mp->m_pkthdr.flowid % ECORE_RSS_IND_TABLE_SIZE) %
 					ha->num_rss;
 
@@ -3971,9 +3936,7 @@ qlnx_tpa_start(qlnx_host_t *ha,
 	bus_dmamap_t		map;
 	struct eth_rx_bd	*rx_bd;
 	int			i;
-#if __FreeBSD_version >= 1100000
 	uint8_t			hash_type;
-#endif /* #if __FreeBSD_version >= 1100000 */
 
 	agg_index = cqe->tpa_agg_index;
 
@@ -4225,8 +4188,6 @@ qlnx_tpa_start(qlnx_host_t *ha,
 	//mp->m_pkthdr.flowid = fp->rss_id;
 	mp->m_pkthdr.flowid = cqe->rss_hash;
 
-#if __FreeBSD_version >= 1100000
-
 	hash_type = cqe->bitfields &
 			(ETH_FAST_PATH_RX_REG_CQE_RSS_HASH_TYPE_MASK <<
 			ETH_FAST_PATH_RX_REG_CQE_RSS_HASH_TYPE_SHIFT);
@@ -4253,10 +4214,6 @@ qlnx_tpa_start(qlnx_host_t *ha,
 		break;
 	}
 
-#else
-	mp->m_flags |= M_FLOWID;
-#endif
-
 	mp->m_pkthdr.csum_flags |= (CSUM_IP_CHECKED | CSUM_IP_VALID |
 					CSUM_DATA_VALID | CSUM_PSEUDO_HDR);
 
@@ -4600,9 +4557,7 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget,
                 enum eth_rx_cqe_type		cqe_type;
                 uint16_t			len, pad, len_on_first_bd;
                 uint8_t				*data;
-#if __FreeBSD_version >= 1100000
 		uint8_t				hash_type;
-#endif /* #if __FreeBSD_version >= 1100000 */
 
                 /* Get the CQE from the completion ring */
                 cqe = (union eth_rx_cqe *)
@@ -4742,8 +4697,6 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget,
 
 		mp->m_pkthdr.flowid = fp_cqe->rss_hash;
 
-#if __FreeBSD_version >= 1100000
-
 		hash_type = fp_cqe->bitfields &
 				(ETH_FAST_PATH_RX_REG_CQE_RSS_HASH_TYPE_MASK <<
 				ETH_FAST_PATH_RX_REG_CQE_RSS_HASH_TYPE_SHIFT);
@@ -4770,10 +4723,6 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget,
 			break;
 		}
 
-#else
-		mp->m_flags |= M_FLOWID;
-#endif
-
 		if (CQE_L3_PACKET(fp_cqe->pars_flags.flags)) {
 			mp->m_pkthdr.csum_flags |= CSUM_IP_CHECKED;
 		}
@@ -4797,22 +4746,10 @@ qlnx_rx_int(qlnx_host_t *ha, struct qlnx_fastpath *fp, int budget,
 		QLNX_INC_IBYTES(ifp, len);
 
 #ifdef QLNX_SOFT_LRO
-
-		if (lro_enable) {
-#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO)
-
+		if (lro_enable)
 			tcp_lro_queue_mbuf(lro, mp);
-
-#else
-
-			if (tcp_lro_rx(lro, mp, 0))
-				(*ifp->if_input)(ifp, mp);
-
-#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */
-
-		} else {
+		else
 			(*ifp->if_input)(ifp, mp);
-		}
 #else
 
 		(*ifp->if_input)(ifp, mp);
@@ -4932,7 +4869,6 @@ qlnx_fp_isr(void *arg)
                         lro = &fp->rxq->lro;
 
                         if (lro_enable && total_rx_count) {
-#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO)
 
 #ifdef QLNX_TRACE_LRO_CNT
                                 if (lro->lro_mbuf_count & ~1023)
@@ -4948,17 +4884,6 @@ qlnx_fp_isr(void *arg)
 #endif /* #ifdef QLNX_TRACE_LRO_CNT */
 
                                 tcp_lro_flush_all(lro);
-
-#else
-                                struct lro_entry *queued;
-
-                                while ((!SLIST_EMPTY(&lro->lro_active))) {
-                                        queued = SLIST_FIRST(&lro->lro_active);
-                                        SLIST_REMOVE_HEAD(&lro->lro_active, \
-                                                next);
-                                        tcp_lro_flush(lro, queued);
-                                }
-#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */
                         }
                 }
 #endif /* #ifdef QLNX_SOFT_LRO */
@@ -6287,19 +6212,11 @@ qlnx_alloc_mem_rxq(qlnx_host_t *ha, struct qlnx_rx_queue *rxq)
 
 		lro = &rxq->lro;
 
-#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO)
 		if (tcp_lro_init_args(lro, ifp, 0, rxq->num_rx_buffers)) {
 			QL_DPRINT1(ha, "tcp_lro_init[%d] failed\n",
 				   rxq->rxq_id);
 			goto err;
 		}
-#else
-		if (tcp_lro_init(lro)) {
-			QL_DPRINT1(ha, "tcp_lro_init[%d] failed\n",
-				   rxq->rxq_id);
-			goto err;
-		}
-#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */
 
 		lro->ifp = ha->ifp;
 	}
@@ -7197,7 +7114,6 @@ qlnx_set_link(qlnx_host_t *ha, bool link_up)
         return (rc);
 }
 
-#if __FreeBSD_version >= 1100000
 static uint64_t
 qlnx_get_counter(if_t ifp, ift_counter cnt)
 {
@@ -7262,7 +7178,6 @@ qlnx_get_counter(if_t ifp, ift_counter cnt)
         }
 	return (count);
 }
-#endif
 
 static void
 qlnx_timer(void *arg)
@@ -7382,20 +7297,7 @@ qlnx_drain_soft_lro(qlnx_host_t *ha)
 
 			lro = &fp->rxq->lro;
 
-#if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO)
-
 			tcp_lro_flush_all(lro);
-
-#else
-			struct lro_entry *queued;
-
-			while ((!SLIST_EMPTY(&lro->lro_active))){
-				queued = SLIST_FIRST(&lro->lro_active);
-				SLIST_REMOVE_HEAD(&lro->lro_active, next);
-				tcp_lro_flush(lro, queued);
-			}
-
-#endif /* #if (__FreeBSD_version >= 1100101) || (defined QLNX_QSORT_LRO) */
                 }
 	}
 
diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.h b/sys/dev/qlnx/qlnxe/qlnx_os.h
index 9f4176f9f29f..f7111f5e3f4b 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_os.h
+++ b/sys/dev/qlnx/qlnxe/qlnx_os.h
@@ -50,10 +50,6 @@
 #include <machine/_inttypes.h>
 #include <sys/conf.h>
 
-#if __FreeBSD_version < 1000000
-#error FreeBSD Version not supported - use version >= 1000000
-#endif
-
 #include <net/if.h>
 #include <net/if_var.h>
 #include <net/if_arp.h>
diff --git a/sys/dev/qlnx/qlnxr/qlnxr_cm.c b/sys/dev/qlnx/qlnxr/qlnxr_cm.c
index 7d2bff15c491..2a36e7412f2d 100644
--- a/sys/dev/qlnx/qlnxr/qlnxr_cm.c
+++ b/sys/dev/qlnx/qlnxr/qlnxr_cm.c
@@ -494,11 +494,9 @@ qlnxr_gsi_build_header(struct qlnxr_dev *dev,
 	u16 vlan_id = 0;
 	u16 ether_type;
 
-#if __FreeBSD_version >= 1102000
 	int rc = 0;
 	int ip_ver = 0;
 	bool has_udp = false;
-#endif /* #if __FreeBSD_version >= 1102000 */
 
 #if !DEFINE_IB_AH_ATTR_WITH_DMAC
 	u8 mac[ETH_ALEN];
@@ -517,8 +515,6 @@ qlnxr_gsi_build_header(struct qlnxr_dev *dev,
 	else
 		sgid = dev->sgid_tbl[0];
 
-#if __FreeBSD_version >= 1102000
-
 	rc = ib_ud_header_init(send_size, false /* LRH */, true /* ETH */,
 			has_vlan, has_grh_ipv6, ip_ver, has_udp,
 			0 /* immediate */, udh);
@@ -528,12 +524,6 @@ qlnxr_gsi_build_header(struct qlnxr_dev *dev,
 		return rc;
 	}
 
-#else
-	ib_ud_header_init(send_size, false /* LRH */, true /* ETH */,
-			  has_vlan, has_grh_ipv6, 0 /* immediate */, udh);
-
-#endif /* #if __FreeBSD_version >= 1102000 */
-
 	/* ENET + VLAN headers*/
 #if DEFINE_IB_AH_ATTR_WITH_DMAC
 	memcpy(udh->eth.dmac_h, ah_attr->dmac, ETH_ALEN);
@@ -846,7 +836,6 @@ qlnxr_gsi_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc)
 		wc[i].byte_len = qp->rqe_wr_id[qp->rq.cons].sg_list[0].length;
 		wc[i].wc_flags |= IB_WC_GRH | IB_WC_IP_CSUM_OK;
 
-#if __FreeBSD_version >= 1100000
 		memcpy(&wc[i].smac, qp->rqe_wr_id[qp->rq.cons].smac, ETH_ALEN);
 		wc[i].wc_flags |= IB_WC_WITH_SMAC;
 
@@ -855,7 +844,6 @@ qlnxr_gsi_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc)
 			wc[i].vlan_id = qp->rqe_wr_id[qp->rq.cons].vlan_id;
 		}
 
-#endif
 		qlnxr_inc_sw_cons(&qp->rq);
 		i++;
 	}
diff --git a/sys/dev/qlnx/qlnxr/qlnxr_cm.h b/sys/dev/qlnx/qlnxr/qlnxr_cm.h
index 530a42833e95..72956a858bfc 100644
--- a/sys/dev/qlnx/qlnxr/qlnxr_cm.h
+++ b/sys/dev/qlnx/qlnxr/qlnxr_cm.h
@@ -42,20 +42,10 @@
 #define ETH_P_ROCE		(0x8915)
 #define QLNXR_ROCE_V2_UDP_SPORT	(0000)
 
-#if __FreeBSD_version >= 1102000
-
 #define rdma_wr(_wr) rdma_wr(_wr)
 #define ud_wr(_wr) ud_wr(_wr)
 #define atomic_wr(_wr) atomic_wr(_wr)
 
-#else
-
-#define rdma_wr(_wr) (&(_wr->wr.rdma))
-#define ud_wr(_wr) (&(_wr->wr.ud))
-#define atomic_wr(_wr) (&(_wr->wr.atomic))
-
-#endif /* #if __FreeBSD_version >= 1102000 */
-
 static inline u32 qlnxr_get_ipv4_from_gid(u8 *gid)
 {
 	return *(u32 *)(void *)&gid[12];
diff --git a/sys/dev/qlnx/qlnxr/qlnxr_def.h b/sys/dev/qlnx/qlnxr/qlnxr_def.h
index 2b9b378a1468..2d67a881da06 100644
--- a/sys/dev/qlnx/qlnxr/qlnxr_def.h
+++ b/sys/dev/qlnx/qlnxr/qlnxr_def.h
@@ -67,10 +67,6 @@
 #include <rdma/ib_sa.h>
 #include <rdma/uverbs_ioctl.h>
 
-#if __FreeBSD_version < 1100000
-#undef MODULE_VERSION
-#endif
-
 #include "qlnx_os.h"
 #include "bcm_osal.h"
 
@@ -627,11 +623,7 @@ struct mr_info {
         u32 completed_handled;
 };
 
-#if __FreeBSD_version < 1102000
-#define DEFINE_IB_FAST_REG
-#else
 #define DEFINE_ALLOC_MR
-#endif
 
 #ifdef DEFINE_IB_FAST_REG
 struct qlnxr_fast_reg_page_list {
@@ -649,11 +641,7 @@ struct qlnxr_qp {
 
         u32 max_inline_data;
 
-#if __FreeBSD_version >= 1100000
         spinlock_t q_lock ____cacheline_aligned;
-#else
-	spinlock_t q_lock;
-#endif
 
         struct qlnxr_cq *sq_cq;
         struct qlnxr_cq *rq_cq;
@@ -899,12 +887,7 @@ extern int qlnx_rdma_ll2_set_mac_filter(void *rdma_ctx, uint8_t *old_mac_address
 #define QLNXR_ROCE_PKEY_TABLE_LEN 1
 #define QLNXR_ROCE_PKEY_DEFAULT 0xffff
 
-#if __FreeBSD_version < 1100000
-#define DEFINE_IB_AH_ATTR_WITH_DMAC     (0)
-#define DEFINE_IB_UMEM_WITH_CHUNK	(1)
-#else
 #define DEFINE_IB_AH_ATTR_WITH_DMAC     (1)
-#endif
 
 #define QLNX_IS_IWARP(rdev)	IS_IWARP(ECORE_LEADING_HWFN(rdev->cdev))
 #define QLNX_IS_ROCE(rdev)	IS_ROCE(ECORE_LEADING_HWFN(rdev->cdev))
diff --git a/sys/dev/qlnx/qlnxr/qlnxr_os.c b/sys/dev/qlnx/qlnxr/qlnxr_os.c
index b4771e97b705..aa8386808ebb 100644
--- a/sys/dev/qlnx/qlnxr/qlnxr_os.c
+++ b/sys/dev/qlnx/qlnxr/qlnxr_os.c
@@ -248,16 +248,9 @@ qlnxr_register_device(qlnxr_dev_t *dev)
         ibdev->dereg_mr = qlnxr_dereg_mr;
         ibdev->reg_user_mr = qlnxr_reg_user_mr;
         
-#if __FreeBSD_version >= 1102000
 	ibdev->alloc_mr = qlnxr_alloc_mr;
 	ibdev->map_mr_sg = qlnxr_map_mr_sg;
 	ibdev->get_port_immutable = qlnxr_get_port_immutable;
-#else
-        ibdev->reg_phys_mr = qlnxr_reg_kernel_mr;
-        ibdev->alloc_fast_reg_mr = qlnxr_alloc_frmr;
-        ibdev->alloc_fast_reg_page_list = qlnxr_alloc_frmr_page_list;
-        ibdev->free_fast_reg_page_list = qlnxr_free_frmr_page_list;
-#endif /* #if __FreeBSD_version >= 1102000 */
 
         ibdev->poll_cq = qlnxr_poll_cq;
         ibdev->post_send = qlnxr_post_send;
@@ -281,14 +274,9 @@ qlnxr_register_device(qlnxr_dev_t *dev)
                 iwcm->accept = qlnxr_iw_accept;
                 iwcm->reject = qlnxr_iw_reject;
 
-#if (__FreeBSD_version >= 1004000) && (__FreeBSD_version < 1102000)
-
-                iwcm->create_listen_ep = qlnxr_iw_create_listen;
-                iwcm->destroy_listen_ep = qlnxr_iw_destroy_listen;
-#else
                 iwcm->create_listen = qlnxr_iw_create_listen;
                 iwcm->destroy_listen = __qlnxr_iw_destroy_listen;
-#endif
+
                 iwcm->add_ref = qlnxr_iw_qp_add_ref;
                 iwcm->rem_ref = qlnxr_iw_qp_rem_ref;
                 iwcm->get_qp = qlnxr_iw_get_qp;
@@ -949,27 +937,6 @@ static bool qlnxr_del_sgid(struct qlnxr_dev *dev, union ib_gid *gid)
 	return found;
 }
 
-#if __FreeBSD_version < 1100000
-
-static inline int
-is_vlan_dev(struct ifnet *ifp)
-{
-	return (ifp->if_type == IFT_L2VLAN);
-}
-
-static inline uint16_t
-vlan_dev_vlan_id(struct ifnet *ifp)
-{
-	uint16_t vtag;
-
-	if (VLAN_TAG(ifp, &vtag) == 0)
-		return (vtag);
-
-	return (0);
-}
-
-#endif /* #if __FreeBSD_version < 1100000 */
-
 static void
 qlnxr_add_sgids(struct qlnxr_dev *dev)
 {
@@ -1342,9 +1309,6 @@ static moduledata_t qlnxr_mod_info = {
 MODULE_VERSION(qlnxr, 1);
 MODULE_DEPEND(qlnxr, if_qlnxe, 1, 1, 1);
 MODULE_DEPEND(qlnxr, ibcore, 1, 1, 1);
-
-#if __FreeBSD_version >= 1100000
 MODULE_DEPEND(qlnxr, linuxkpi, 1, 1, 1);
-#endif /* #if __FreeBSD_version >= 1100000 */
 
 DECLARE_MODULE(qlnxr, qlnxr_mod_info, SI_SUB_LAST, SI_ORDER_ANY);
diff --git a/sys/dev/qlnx/qlnxr/qlnxr_verbs.c b/sys/dev/qlnx/qlnxr/qlnxr_verbs.c
index c4affef7955c..1100a81891c2 100644
--- a/sys/dev/qlnx/qlnxr/qlnxr_verbs.c
+++ b/sys/dev/qlnx/qlnxr/qlnxr_verbs.c
@@ -469,13 +469,8 @@ qlnxr_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
 }
 
 int
-#if __FreeBSD_version < 1102000
-qlnxr_query_device(struct ib_device *ibdev, struct ib_device_attr *attr)
-#else
 qlnxr_query_device(struct ib_device *ibdev, struct ib_device_attr *attr,
 	struct ib_udata *udata)
-#endif /* #if __FreeBSD_version < 1102000 */
-
 {
 	struct qlnxr_dev		*dev;
 	struct ecore_rdma_device	*qattr;
@@ -486,10 +481,8 @@ qlnxr_query_device(struct ib_device *ibdev, struct ib_device_attr *attr,
 
 	QL_DPRINT12(ha, "enter\n");
 
-#if __FreeBSD_version > 1102000
 	if (udata->inlen || udata->outlen)
 		return -EINVAL;
-#endif /* #if __FreeBSD_version > 1102000 */
 
 	if (dev->rdma_ctx == NULL) {
 		return -EINVAL;
@@ -820,16 +813,14 @@ qlnxr_get_vlan_id_qp(qlnx_host_t *ha, struct ib_qp_attr *attr, int attr_mask,
 {
 	bool ret = false;
 
-	QL_DPRINT12(ha, "enter \n");
-
-	*vlan_id = 0;
-
-#if __FreeBSD_version >= 1100000
 	u16 tmp_vlan_id;
 
-#if __FreeBSD_version >= 1102000
 	union ib_gid *dgid;
 
+	QL_DPRINT12(ha, "enter \n");
+
+	*vlan_id = 0;
+
 	dgid = &attr->ah_attr.grh.dgid;
 	tmp_vlan_id = (dgid->raw[11] << 8) | dgid->raw[12];
 
@@ -837,20 +828,6 @@ qlnxr_get_vlan_id_qp(qlnx_host_t *ha, struct ib_qp_attr *attr, int attr_mask,
 		*vlan_id = tmp_vlan_id;
 		ret = true;
 	}
-#else
-	tmp_vlan_id = attr->vlan_id;
-
-	if ((attr_mask & IB_QP_VID) && (!(tmp_vlan_id & ~EVL_VLID_MASK))) {
-		*vlan_id = tmp_vlan_id;
-		ret = true;
-	}
-
-#endif /* #if __FreeBSD_version > 1102000 */
-
-#else
-	ret = true;
-
-#endif /* #if __FreeBSD_version >= 1100000 */
 
 	QL_DPRINT12(ha, "exit vlan_id = 0x%x ret = %d \n", *vlan_id, ret);
 
@@ -1060,11 +1037,7 @@ qlnxr_mmap(struct ib_ucontext *context, struct vm_area_struct *vma)
 
 	ha = dev->ha;
 
-#if __FreeBSD_version > 1102000
 	unmapped_db = dev->db_phys_addr + (ucontext->dpi * ucontext->dpi_size);
-#else
-	unmapped_db = dev->db_phys_addr;
-#endif /* #if __FreeBSD_version > 1102000 */
 
 	QL_DPRINT12(ha, "qedr_mmap enter vm_page=0x%lx"
 		" vm_pgoff=0x%lx unmapped_db=0x%llx db_size=%x, len=%lx\n",
@@ -1087,8 +1060,6 @@ qlnxr_mmap(struct ib_ucontext *context, struct vm_area_struct *vma)
 
 	QL_DPRINT12(ha, "Mapping doorbell bar\n");
 
-#if __FreeBSD_version > 1102000
-
 	if ((vm_page < unmapped_db) ||
 		((vm_page + len) > (unmapped_db + ucontext->dpi_size))) {
 		QL_DPRINT11(ha, "failed pages are outside of dpi;"
@@ -1106,24 +1077,6 @@ qlnxr_mmap(struct ib_ucontext *context, struct vm_area_struct *vma)
 	rc = io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, len,
 			vma->vm_page_prot);
 
-#else
-
-	if ((vm_page >= unmapped_db) && (vm_page <= (unmapped_db +
-		dev->db_size))) {
-		QL_DPRINT12(ha, "Mapping doorbell bar\n");
-
-		vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
-
-		rc = io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
-					    PAGE_SIZE, vma->vm_page_prot);
-	} else {
-		QL_DPRINT12(ha, "Mapping chains\n");
-		rc = io_remap_pfn_range(vma, vma->vm_start,
-					 vma->vm_pgoff, len, vma->vm_page_prot);
-	}
-
-#endif /* #if __FreeBSD_version > 1102000 */
-
 	QL_DPRINT12(ha, "exit [%d]\n", rc);
 	return rc;
 }
@@ -1514,13 +1467,8 @@ done:
 }
 
 struct ib_mr *
-#if __FreeBSD_version >= 1102000
 qlnxr_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 len,
 	u64 usr_addr, int acc, struct ib_udata *udata)
-#else
-qlnxr_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 len,
-	u64 usr_addr, int acc, struct ib_udata *udata, int mr_id)
-#endif /* #if __FreeBSD_version >= 1102000 */
 {
 	int		rc = -ENOMEM;
 	struct qlnxr_dev *dev = get_qlnxr_dev((ibpd->device));
@@ -1592,11 +1540,7 @@ qlnxr_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 len,
 	mr->hw_mr.pbl_page_size_log = ilog2(mr->info.pbl_info.pbl_size);
 	mr->hw_mr.page_size_log = ilog2(mr->umem->page_size); /* for the MR pages */
 
-#if __FreeBSD_version >= 1102000
 	mr->hw_mr.fbo = ib_umem_offset(mr->umem);
-#else
-	mr->hw_mr.fbo = mr->umem->offset;
-#endif
 	mr->hw_mr.length = len;
 	mr->hw_mr.vaddr = usr_addr;
 	mr->hw_mr.zbva = false; /* TBD figure when this should be true */
@@ -1802,10 +1746,8 @@ qlnxr_create_cq(struct ib_cq *ibcq,
 	struct ecore_rdma_create_cq_in_params	params;
 	struct qlnxr_create_cq_ureq		ureq;
 
-#if __FreeBSD_version >= 1100000
 	int					vector = attr->comp_vector;
 	int					entries = attr->cqe;
-#endif
 	struct qlnxr_cq				*cq = get_qlnxr_cq(ibcq);
 	int					chain_entries, rc, page_cnt;
 	u64					pbl_ptr;
@@ -2030,10 +1972,6 @@ qlnxr_check_qp_attrs(struct ib_pd *ibpd,
 	QL_DPRINT12(ha, "attrs->qp_type = %d\n", attrs->qp_type);
 	QL_DPRINT12(ha, "attrs->create_flags = %d\n", attrs->create_flags);
 
-#if __FreeBSD_version < 1102000
-	QL_DPRINT12(ha, "attrs->qpg_type = %d\n", attrs->qpg_type);
-#endif
-
 	QL_DPRINT12(ha, "attrs->port_num = %d\n", attrs->port_num);
 	QL_DPRINT12(ha, "attrs->cap.max_send_wr = 0x%x\n", attrs->cap.max_send_wr);
 	QL_DPRINT12(ha, "attrs->cap.max_recv_wr = 0x%x\n", attrs->cap.max_recv_wr);
@@ -2042,11 +1980,6 @@ qlnxr_check_qp_attrs(struct ib_pd *ibpd,
 	QL_DPRINT12(ha, "attrs->cap.max_inline_data = 0x%x\n",
 		attrs->cap.max_inline_data);
 
-#if __FreeBSD_version < 1102000
-	QL_DPRINT12(ha, "attrs->cap.qpg_tss_mask_sz = 0x%x\n",
-		attrs->cap.qpg_tss_mask_sz);
-#endif
-
 	QL_DPRINT12(ha, "\n\nqattr->vendor_id = 0x%x\n", qattr->vendor_id);
 	QL_DPRINT12(ha, "qattr->vendor_part_id = 0x%x\n", qattr->vendor_part_id);
 	QL_DPRINT12(ha, "qattr->hw_ver = 0x%x\n", qattr->hw_ver);
@@ -4225,8 +4158,6 @@ qlnx_handle_completed_mrs(struct qlnxr_dev *dev, struct mr_info *info)
 	return;
 }
 
-#if __FreeBSD_version >= 1102000
-
 static int qlnxr_prepare_reg(struct qlnxr_qp *qp,
 		struct rdma_sq_fmr_wqe_1st *fwqe1,
 		const struct ib_reg_wr *wr)
@@ -4265,163 +4196,6 @@ static int qlnxr_prepare_reg(struct qlnxr_qp *qp,
 	return 0;
 }
 
-#else
-
-static void
-build_frmr_pbes(struct qlnxr_dev *dev, const struct ib_send_wr *wr,
-	struct mr_info *info)
-{
-	int i;
-	u64 buf_addr = 0;
-	int num_pbes, total_num_pbes = 0;
-	struct regpair *pbe;
-	struct qlnxr_pbl *pbl_tbl = info->pbl_table;
-	struct qlnxr_pbl_info *pbl_info = &info->pbl_info;
-	qlnx_host_t	*ha;
-
-	ha = dev->ha;
-
-	QL_DPRINT12(ha, "enter\n");
-
-	pbe = (struct regpair *)pbl_tbl->va;
-	num_pbes = 0;
-
-	for (i = 0; i < wr->wr.fast_reg.page_list_len; i++) {
-		buf_addr = wr->wr.fast_reg.page_list->page_list[i];
-		pbe->lo = cpu_to_le32((u32)buf_addr);
-		pbe->hi = cpu_to_le32((u32)upper_32_bits(buf_addr));
-
-		num_pbes += 1;
-		pbe++;
-		total_num_pbes++;
-
-		if (total_num_pbes == pbl_info->num_pbes)
-			return;
-
-		/* if the given pbl is full storing the pbes,
-		 * move to next pbl.
-		 */
-		if (num_pbes ==
-		    (pbl_info->pbl_size / sizeof(u64))) {
-			pbl_tbl++;
-			pbe = (struct regpair *)pbl_tbl->va;
-			num_pbes = 0;
-		}
-	}
-	QL_DPRINT12(ha, "exit\n");
-
-	return;
-}
-
-static int
-qlnxr_prepare_safe_pbl(struct qlnxr_dev *dev, struct mr_info *info)
-{
-	int rc = 0;
-	qlnx_host_t	*ha;
-
-	ha = dev->ha;
-
-	QL_DPRINT12(ha, "enter\n");
-
-	if (info->completed == 0) {
-		//DP_VERBOSE(dev, QLNXR_MSG_MR, "First FMR\n");
-		/* first fmr */
-		return 0;
-	}
-
-	qlnx_handle_completed_mrs(dev, info);
-
-	list_add_tail(&info->pbl_table->list_entry, &info->inuse_pbl_list);
-
-	if (list_empty(&info->free_pbl_list)) {
-		info->pbl_table = qlnxr_alloc_pbl_tbl(dev, &info->pbl_info,
-							  GFP_ATOMIC);
-	} else {
-		info->pbl_table = list_first_entry(&info->free_pbl_list,
-					struct qlnxr_pbl,
-					list_entry);
-		list_del(&info->pbl_table->list_entry);
-	}
-
-	if (!info->pbl_table)
-		rc = -ENOMEM;
-
-	QL_DPRINT12(ha, "exit\n");
-	return rc;
-}
-
-static inline int
-qlnxr_prepare_fmr(struct qlnxr_qp *qp,
-	struct rdma_sq_fmr_wqe_1st *fwqe1,
-	const struct ib_send_wr *wr)
-{
-	struct qlnxr_dev *dev = qp->dev;
-	u64 fbo;
-	struct qlnxr_fast_reg_page_list *frmr_list =
-		get_qlnxr_frmr_list(wr->wr.fast_reg.page_list);
-	struct rdma_sq_fmr_wqe *fwqe2 =
-		(struct rdma_sq_fmr_wqe *)ecore_chain_produce(&qp->sq.pbl);
-	int rc = 0;
-	qlnx_host_t	*ha;
-
-	ha = dev->ha;
-
-	QL_DPRINT12(ha, "enter\n");
-
-	if (wr->wr.fast_reg.page_list_len == 0)
-		BUG();
-
-	rc = qlnxr_prepare_safe_pbl(dev, &frmr_list->info);
-	if (rc)
-		return rc;
-
-	fwqe1->addr.hi = upper_32_bits(wr->wr.fast_reg.iova_start);
-	fwqe1->addr.lo = lower_32_bits(wr->wr.fast_reg.iova_start);
-	fwqe1->l_key = wr->wr.fast_reg.rkey;
-
-	SET_FIELD2(fwqe2->access_ctrl, RDMA_SQ_FMR_WQE_REMOTE_READ,
-		   !!(wr->wr.fast_reg.access_flags & IB_ACCESS_REMOTE_READ));
-	SET_FIELD2(fwqe2->access_ctrl, RDMA_SQ_FMR_WQE_REMOTE_WRITE,
-		   !!(wr->wr.fast_reg.access_flags & IB_ACCESS_REMOTE_WRITE));
-	SET_FIELD2(fwqe2->access_ctrl, RDMA_SQ_FMR_WQE_ENABLE_ATOMIC,
-		   !!(wr->wr.fast_reg.access_flags & IB_ACCESS_REMOTE_ATOMIC));
-	SET_FIELD2(fwqe2->access_ctrl, RDMA_SQ_FMR_WQE_LOCAL_READ, 1);
-	SET_FIELD2(fwqe2->access_ctrl, RDMA_SQ_FMR_WQE_LOCAL_WRITE,
-		   !!(wr->wr.fast_reg.access_flags & IB_ACCESS_LOCAL_WRITE));
-
-	fwqe2->fmr_ctrl = 0;
-
-	SET_FIELD2(fwqe2->fmr_ctrl, RDMA_SQ_FMR_WQE_2ND_PAGE_SIZE_LOG,
-		   ilog2(1 << wr->wr.fast_reg.page_shift) - 12);
-	SET_FIELD2(fwqe2->fmr_ctrl, RDMA_SQ_FMR_WQE_2ND_ZERO_BASED, 0);
-
-	fwqe2->length_hi = 0; /* Todo - figure this out... why length is only 32bit.. */
-	fwqe2->length_lo = wr->wr.fast_reg.length;
-	fwqe2->pbl_addr.hi = upper_32_bits(frmr_list->info.pbl_table->pa);
-	fwqe2->pbl_addr.lo = lower_32_bits(frmr_list->info.pbl_table->pa);
-
-	/* produce another wqe for fwqe3 */
-	ecore_chain_produce(&qp->sq.pbl);
-
-	fbo = wr->wr.fast_reg.iova_start -
-	    (wr->wr.fast_reg.page_list->page_list[0] & PAGE_MASK);
-
-	QL_DPRINT12(ha, "wr.fast_reg.iova_start = %p rkey=%x addr=%x:%x"
-		" length = %x pbl_addr %x:%x\n",
-		wr->wr.fast_reg.iova_start, wr->wr.fast_reg.rkey,
-		fwqe1->addr.hi, fwqe1->addr.lo, fwqe2->length_lo,
-		fwqe2->pbl_addr.hi, fwqe2->pbl_addr.lo);
-
-	build_frmr_pbes(dev, wr, &frmr_list->info);
-
-	qp->wqe_wr_id[qp->sq.prod].frmr = frmr_list;
-
-	QL_DPRINT12(ha, "exit\n");
-	return 0;
-}
-
-#endif /* #if __FreeBSD_version >= 1102000 */
-
 static enum ib_wc_opcode
 qlnxr_ib_to_wc_opcode(enum ib_wr_opcode opcode)
 {
@@ -4439,15 +4213,8 @@ qlnxr_ib_to_wc_opcode(enum ib_wr_opcode opcode)
 		return IB_WC_COMP_SWAP;
 	case IB_WR_ATOMIC_FETCH_AND_ADD:
 		return IB_WC_FETCH_ADD;
-
-#if __FreeBSD_version >= 1102000
 	case IB_WR_REG_MR:
 		return IB_WC_REG_MR;
-#else
-	case IB_WR_FAST_REG_MR:
-		return IB_WC_FAST_REG_MR;
-#endif /* #if __FreeBSD_version >= 1102000 */
-
 	case IB_WR_LOCAL_INV:
 		return IB_WC_LOCAL_INV;
 	default:
@@ -4784,8 +4551,6 @@ qlnxr_post_send(struct ib_qp *ibqp,
 
 			break;
 
-#if __FreeBSD_version >= 1102000
-
 		case IB_WR_REG_MR:
*** 736 LINES SKIPPED ***