diff -Naur a/drivers/infiniband/hw/qedr/main.c b/drivers/infiniband/hw/qedr/main.c
---- a/drivers/infiniband/hw/qedr/main.c 2017-07-26 16:54:46.395167714 +0300
-+++ b/drivers/infiniband/hw/qedr/main.c 2017-07-26 16:56:34.943019998 +0300
+--- a/drivers/infiniband/hw/qedr/main.c 2017-12-07 10:45:53.308325483 +0200
++++ b/drivers/infiniband/hw/qedr/main.c 2017-12-07 10:46:01.016325521 +0200
@@ -170,7 +170,7 @@
dev->ibdev.get_port_immutable = qedr_port_immutable;
dev->ibdev.get_netdev = qedr_get_netdev;
dev->ibdev.get_link_layer = qedr_link_layer;
dev->ibdev.get_dev_fw_str = qedr_get_dev_fw_str;
diff -Naur a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c
---- a/drivers/infiniband/hw/qedr/verbs.c 2017-07-26 16:54:46.396167731 +0300
-+++ b/drivers/infiniband/hw/qedr/verbs.c 2017-07-26 16:56:34.943019998 +0300
+--- a/drivers/infiniband/hw/qedr/verbs.c 2017-12-07 10:45:53.308325483 +0200
++++ b/drivers/infiniband/hw/qedr/verbs.c 2017-12-07 10:46:01.016325521 +0200
@@ -1953,7 +1953,22 @@
qp_attr->qp_state = qedr_get_ibqp_state(params.state);
qp_attr->rq_psn = params.rq_psn;
qp_attr->sq_psn = params.sq_psn;
diff -Naur a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c
---- a/drivers/net/ethernet/qlogic/qed/qed_main.c 2017-07-26 16:54:46.397167748 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/qed_main.c 2017-07-26 16:56:34.944020016 +0300
+--- a/drivers/net/ethernet/qlogic/qed/qed_main.c 2017-12-07 10:45:53.268325483 +0200
++++ b/drivers/net/ethernet/qlogic/qed/qed_main.c 2017-12-07 10:46:01.016325521 +0200
@@ -379,6 +379,46 @@
memset(&cdev->int_params.out, 0, sizeof(struct qed_int_param));
}
rc = cnt;
}
diff -Naur a/drivers/net/ethernet/qlogic/qed/qed_spq.c b/drivers/net/ethernet/qlogic/qed/qed_spq.c
---- a/drivers/net/ethernet/qlogic/qed/qed_spq.c 2017-07-26 16:54:46.397167748 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/qed_spq.c 2017-07-26 16:56:34.944020016 +0300
+--- a/drivers/net/ethernet/qlogic/qed/qed_spq.c 2017-12-07 10:45:53.268325483 +0200
++++ b/drivers/net/ethernet/qlogic/qed/qed_spq.c 2017-12-07 10:46:01.016325521 +0200
@@ -78,10 +78,11 @@
comp_done = (struct qed_spq_comp_done *)cookie;
smp_read_barrier_depends();
if (p_fw_ret)
diff -Naur a/drivers/net/ethernet/qlogic/qede/qede_dcbnl.c b/drivers/net/ethernet/qlogic/qede/qede_dcbnl.c
---- a/drivers/net/ethernet/qlogic/qede/qede_dcbnl.c 2017-07-26 16:54:46.397167748 +0300
-+++ b/drivers/net/ethernet/qlogic/qede/qede_dcbnl.c 2017-07-26 16:56:34.944020016 +0300
+--- a/drivers/net/ethernet/qlogic/qede/qede_dcbnl.c 2017-12-07 10:45:53.268325483 +0200
++++ b/drivers/net/ethernet/qlogic/qede/qede_dcbnl.c 2017-12-07 10:46:01.020325521 +0200
@@ -104,8 +104,11 @@
return edev->ops->dcb->getpfcstate(edev->cdev);
struct qede_dev *edev = netdev_priv(netdev);
diff -Naur a/drivers/net/ethernet/qlogic/qede/qede_ethtool.c b/drivers/net/ethernet/qlogic/qede/qede_ethtool.c
---- a/drivers/net/ethernet/qlogic/qede/qede_ethtool.c 2017-07-26 16:54:46.398167765 +0300
-+++ b/drivers/net/ethernet/qlogic/qede/qede_ethtool.c 2017-07-26 16:56:34.945020033 +0300
+--- a/drivers/net/ethernet/qlogic/qede/qede_ethtool.c 2017-12-07 10:45:53.268325483 +0200
++++ b/drivers/net/ethernet/qlogic/qede/qede_ethtool.c 2017-12-07 10:46:01.020325521 +0200
@@ -749,10 +749,12 @@
memset(¶ms, 0, sizeof(params));
params.override_flags |= QED_LINK_OVERRIDE_PAUSE_CONFIG;
void qede_set_ethtool_ops(struct net_device *dev)
diff -Naur a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c
---- a/drivers/net/ethernet/qlogic/qede/qede_filter.c 2017-07-26 16:54:46.398167765 +0300
-+++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c 2017-07-26 16:56:34.945020033 +0300
+--- a/drivers/net/ethernet/qlogic/qede/qede_filter.c 2017-12-07 10:45:53.268325483 +0200
++++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c 2017-12-07 10:46:01.020325521 +0200
@@ -31,10 +31,13 @@
*/
#include <linux/netdevice.h>
static int qede_set_mcast_rx_mac(struct qede_dev *edev,
enum qed_filter_xcast_params_type opcode,
diff -Naur a/drivers/net/ethernet/qlogic/qede/qede_fp.c b/drivers/net/ethernet/qlogic/qede/qede_fp.c
---- a/drivers/net/ethernet/qlogic/qede/qede_fp.c 2017-07-26 16:54:46.399167782 +0300
-+++ b/drivers/net/ethernet/qlogic/qede/qede_fp.c 2017-07-26 16:56:34.946020050 +0300
+--- a/drivers/net/ethernet/qlogic/qede/qede_fp.c 2017-12-07 10:45:53.268325483 +0200
++++ b/drivers/net/ethernet/qlogic/qede/qede_fp.c 2017-12-07 10:46:01.020325521 +0200
@@ -32,7 +32,9 @@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
netif_tx_stop_queue(netdev_txq);
txq->stopped_cnt++;
diff -Naur a/drivers/net/ethernet/qlogic/qede/qede.h b/drivers/net/ethernet/qlogic/qede/qede.h
---- a/drivers/net/ethernet/qlogic/qede/qede.h 2017-07-26 16:54:46.399167782 +0300
-+++ b/drivers/net/ethernet/qlogic/qede/qede.h 2017-07-26 16:56:34.946020050 +0300
+--- a/drivers/net/ethernet/qlogic/qede/qede.h 2017-12-07 10:45:53.268325483 +0200
++++ b/drivers/net/ethernet/qlogic/qede/qede.h 2017-12-07 10:46:01.020325521 +0200
@@ -39,7 +39,9 @@
#include <linux/bitmap.h>
#include <linux/kernel.h>
#ifdef CONFIG_DCB
void qede_set_dcbnl_ops(struct net_device *ndev);
diff -Naur a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c
---- a/drivers/net/ethernet/qlogic/qede/qede_main.c 2017-07-26 16:54:46.400167799 +0300
-+++ b/drivers/net/ethernet/qlogic/qede/qede_main.c 2017-07-26 16:56:34.947020067 +0300
+--- a/drivers/net/ethernet/qlogic/qede/qede_main.c 2017-12-07 10:45:53.268325483 +0200
++++ b/drivers/net/ethernet/qlogic/qede/qede_main.c 2017-12-07 10:46:47.408325745 +0200
@@ -47,7 +47,9 @@
#include <linux/netdev_features.h>
#include <linux/udp.h>
static void qede_remove(struct pci_dev *pdev);
static void qede_shutdown(struct pci_dev *pdev);
-@@ -325,6 +330,8 @@
+@@ -149,7 +154,13 @@
+ }
+
+ #ifdef CONFIG_QED_SRIOV
++#if defined(HAVE_NDO_SET_VF_VLAN)
++#ifdef HAVE_VF_VLAN_PROTO
++static int qede_set_vf_vlan(struct net_device *ndev, int vf, u16 vlan, u8 qos,
++ __be16 vlan_proto)
++#else
+ static int qede_set_vf_vlan(struct net_device *ndev, int vf, u16 vlan, u8 qos)
++#endif
+ {
+ struct qede_dev *edev = netdev_priv(ndev);
+
+@@ -163,6 +174,7 @@
+
+ return edev->ops->iov->set_vlan(edev->cdev, vlan, vf);
+ }
++#endif
+
+ static int qede_set_vf_mac(struct net_device *ndev, int vfidx, u8 *mac)
+ {
+@@ -325,6 +337,8 @@
struct qede_stats_common *p_common = &edev->stats.common;
struct qed_eth_stats stats;
p_common->no_buff_discards = stats.common.no_buff_discards;
p_common->packet_too_big_discard = stats.common.packet_too_big_discard;
p_common->ttl0_discard = stats.common.ttl0_discard;
-@@ -496,6 +503,7 @@
+@@ -421,14 +435,25 @@
+ }
+ }
+
++#ifdef HAVE_NDO_GET_STATS64_RET_VOID
++void qede_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats)
++#elif defined(HAVE_NDO_GET_STATS64)
+ static
+ struct rtnl_link_stats64 *qede_get_stats64(struct net_device *dev,
+ struct rtnl_link_stats64 *stats)
++#else
++static
++struct rtnl_link_stats64 *qede_get_stats64(struct net_device *dev)
++#endif
+ {
+ struct qede_dev *edev = netdev_priv(dev);
++#if defined(HAVE_NDO_GET_STATS64)
+ struct qede_stats_common *p_common;
++#endif
+
+ qede_fill_by_demand_stats(edev);
++
++#if defined(HAVE_NDO_GET_STATS64)
+ p_common = &edev->stats.common;
+
+ stats->rx_packets = p_common->rx_ucast_pkts + p_common->rx_mcast_pkts +
+@@ -450,8 +475,11 @@
+ stats->collisions = edev->stats.bb.tx_total_collisions;
+ stats->rx_crc_errors = p_common->rx_crc_errors;
+ stats->rx_frame_errors = p_common->rx_align_errors;
++#endif
+
++#ifndef HAVE_NDO_GET_STATS64_RET_VOID
+ return stats;
++#endif
+ }
+
+ #ifdef CONFIG_QED_SRIOV
+@@ -496,6 +524,7 @@
return edev->ops->iov->set_link_state(edev->cdev, vfidx, link_state);
}
static int qede_set_vf_trust(struct net_device *dev, int vfidx, bool setting)
{
struct qede_dev *edev = netdev_priv(dev);
-@@ -506,6 +514,7 @@
+@@ -506,6 +535,7 @@
return edev->ops->iov->set_trust(edev->cdev, vfidx, setting);
}
#endif
static int qede_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
-@@ -538,8 +547,10 @@
+@@ -537,23 +567,37 @@
+ .ndo_do_ioctl = qede_ioctl,
#ifdef CONFIG_QED_SRIOV
.ndo_set_vf_mac = qede_set_vf_mac,
++#if defined(HAVE_NDO_SET_VF_VLAN)
.ndo_set_vf_vlan = qede_set_vf_vlan,
++#endif
+#ifdef HAVE_NETDEV_OPS_NDO_SET_VF_TRUST
.ndo_set_vf_trust = qede_set_vf_trust,
#endif
.ndo_vlan_rx_add_vid = qede_vlan_rx_add_vid,
.ndo_vlan_rx_kill_vid = qede_vlan_rx_kill_vid,
.ndo_set_features = qede_set_features,
-@@ -550,10 +561,16 @@
+- .ndo_get_stats64 = qede_get_stats64,
++#if defined(HAVE_NDO_GET_STATS64) || defined(HAVE_NDO_GET_STATS64_RET_VOID)
++ .ndo_get_stats64 = qede_get_stats64,
++#else
++ .ndo_get_stats = qede_get_stats64,
++#endif
+ #ifdef CONFIG_QED_SRIOV
+ .ndo_set_vf_link_state = qede_set_vf_link_state,
+ .ndo_set_vf_spoofchk = qede_set_vf_spoofchk,
.ndo_get_vf_config = qede_get_vf_config,
.ndo_set_vf_rate = qede_set_vf_rate,
#endif
#ifdef CONFIG_RFS_ACCEL
.ndo_rx_flow_steer = qede_rx_flow_steer,
#endif
-@@ -630,8 +647,10 @@
+@@ -630,8 +674,10 @@
/* Encap features*/
hw_features |= NETIF_F_GSO_GRE | NETIF_F_GSO_UDP_TUNNEL |
if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1)
hw_features |= NETIF_F_NTUPLE;
-@@ -640,8 +659,10 @@
+@@ -640,8 +686,10 @@
NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO_ECN |
NETIF_F_TSO6 | NETIF_F_GSO_GRE |
NETIF_F_GSO_UDP_TUNNEL | NETIF_F_RXCSUM |
ndev->vlan_features = hw_features | NETIF_F_RXHASH | NETIF_F_RXCSUM |
NETIF_F_HIGHDMA;
-@@ -694,7 +715,9 @@
+@@ -694,7 +742,9 @@
kfree(fp->sb_info);
kfree(fp->rxq);
kfree(fp->txq);
}
kfree(edev->fp_array);
-@@ -754,7 +777,7 @@
+@@ -754,7 +804,7 @@
fp->rxq = kzalloc(sizeof(*fp->rxq), GFP_KERNEL);
if (!fp->rxq)
goto err;
if (edev->xdp_prog) {
fp->xdp_tx = kzalloc(sizeof(*fp->xdp_tx),
GFP_KERNEL);
-@@ -762,6 +785,7 @@
+@@ -762,6 +812,7 @@
goto err;
fp->type |= QEDE_FASTPATH_XDP;
}
}
}
-@@ -985,9 +1009,11 @@
+@@ -985,9 +1036,11 @@
pci_set_drvdata(pdev, NULL);
/* Use global ops since we've freed edev */
qed_ops->common->slowpath_stop(cdev);
-@@ -1146,9 +1172,11 @@
+@@ -1146,9 +1199,11 @@
dma_addr_t mapping;
int i;
if (edev->gro_disable)
return 0;
-@@ -1198,7 +1226,11 @@
+@@ -1198,7 +1253,11 @@
rxq->num_rx_buffers = edev->q_num_rx_buffers;
rxq->rx_buf_size = NET_IP_ALIGN + ETH_OVERHEAD + edev->ndev->mtu;
/* Make sure that the headroom and payload fit in a single page */
if (rxq->rx_buf_size + rxq->rx_headroom > PAGE_SIZE)
-@@ -1207,10 +1239,14 @@
+@@ -1207,10 +1266,14 @@
/* Segment size to spilt a page in multiple equal parts,
* unless XDP is used in which case we'd use the entire page.
*/
/* Allocate the parallel driver ring for Rx buffers */
size = sizeof(*rxq->sw_rx_ring) * RX_RING_SIZE;
-@@ -1263,9 +1299,11 @@
+@@ -1263,9 +1326,11 @@
static void qede_free_mem_txq(struct qede_dev *edev, struct qede_tx_queue *txq)
{
/* Free the parallel SW ring */
kfree(txq->sw_tx_ring.skbs);
/* Free the real RQ ring used by FW */
-@@ -1281,17 +1319,21 @@
+@@ -1281,17 +1346,21 @@
txq->num_tx_buffers = edev->q_num_tx_buffers;
/* Allocate the parallel driver ring for Tx buffers */
rc = edev->ops->common->chain_alloc(edev->cdev,
QED_CHAIN_USE_TO_CONSUME_PRODUCE,
-@@ -1338,11 +1380,13 @@
+@@ -1338,11 +1407,13 @@
goto out;
}
if (fp->type & QEDE_FASTPATH_TX) {
rc = qede_alloc_mem_txq(edev, fp->txq);
-@@ -1398,19 +1442,23 @@
+@@ -1398,19 +1469,23 @@
fp->edev = edev;
fp->id = queue_id;
fp->rxq->data_direction = DMA_FROM_DEVICE;
fp->rxq->dev = &edev->pdev->dev;
}
-@@ -1535,7 +1583,11 @@
+@@ -1535,7 +1610,11 @@
{
struct qede_fastpath *fp = (struct qede_fastpath *)cookie;
}
static int qede_setup_irqs(struct qede_dev *edev)
-@@ -1640,11 +1692,13 @@
+@@ -1640,11 +1719,13 @@
return rc;
}
}
/* Stop all Queues in reverse order */
-@@ -1667,6 +1721,7 @@
+@@ -1667,6 +1748,7 @@
}
}
/* Stop the XDP forwarding queue */
if (fp->type & QEDE_FASTPATH_XDP) {
rc = qede_stop_txq(edev, fp->xdp_tx, i);
-@@ -1675,6 +1730,7 @@
+@@ -1675,6 +1757,7 @@
bpf_prog_put(fp->rxq->xdp_prog);
}
}
/* Stop the vport */
-@@ -1701,9 +1757,11 @@
+@@ -1701,9 +1784,11 @@
/* Let the XDP queue share the queue-zone with one of the regular txq.
* We don't really care about its coalescing.
*/
params.queue_id = txq->index;
params.sb = fp->sb_info->igu_sb_id;
-@@ -1812,7 +1870,7 @@
+@@ -1812,7 +1897,7 @@
qede_update_rx_prod(edev, rxq);
}
if (fp->type & QEDE_FASTPATH_XDP) {
rc = qede_start_txq(edev, fp, fp->xdp_tx, i, XDP_PI);
if (rc)
-@@ -1825,6 +1883,7 @@
+@@ -1825,6 +1910,7 @@
goto out;
}
}
if (fp->type & QEDE_FASTPATH_TX) {
rc = qede_start_txq(edev, fp, fp->txq, i, TX_PI(0));
-@@ -2055,7 +2114,9 @@
+@@ -2055,7 +2141,9 @@
if (rc)
return rc;
edev->ops->common->update_drv_state(edev->cdev, true);
diff -Naur a/drivers/net/ethernet/qlogic/qede/qede_ptp.c b/drivers/net/ethernet/qlogic/qede/qede_ptp.c
---- a/drivers/net/ethernet/qlogic/qede/qede_ptp.c 2017-07-26 16:54:46.400167799 +0300
-+++ b/drivers/net/ethernet/qlogic/qede/qede_ptp.c 2017-07-26 16:58:17.940775151 +0300
+--- a/drivers/net/ethernet/qlogic/qede/qede_ptp.c 2017-12-07 10:45:53.268325483 +0200
++++ b/drivers/net/ethernet/qlogic/qede/qede_ptp.c 2017-12-07 10:46:01.024325521 +0200
@@ -64,7 +64,7 @@
struct qede_dev *edev = ptp->edev;
int rc;
ptp->clock = ptp_clock_register(&ptp->clock_info, &edev->pdev->dev);
diff -Naur a/drivers/net/ethernet/qlogic/qede/qede_ptp.h b/drivers/net/ethernet/qlogic/qede/qede_ptp.h
---- a/drivers/net/ethernet/qlogic/qede/qede_ptp.h 2017-07-26 16:54:46.400167799 +0300
-+++ b/drivers/net/ethernet/qlogic/qede/qede_ptp.h 2017-07-26 16:56:34.947020067 +0300
+--- a/drivers/net/ethernet/qlogic/qede/qede_ptp.h 2017-12-07 10:45:53.268325483 +0200
++++ b/drivers/net/ethernet/qlogic/qede/qede_ptp.h 2017-12-07 10:46:01.024325521 +0200
@@ -34,7 +34,11 @@
#include <linux/ptp_clock_kernel.h>
diff -Naur a/drivers/net/ethernet/qlogic/qed/Makefile b/drivers/net/ethernet/qlogic/qed/Makefile
---- a/drivers/net/ethernet/qlogic/qed/Makefile 2017-07-25 18:07:13.682393749 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/Makefile 2017-07-25 18:07:40.238832021 +0300
+--- a/drivers/net/ethernet/qlogic/qed/Makefile 2017-12-06 17:35:51.012192054 +0200
++++ b/drivers/net/ethernet/qlogic/qed/Makefile 2017-12-07 10:31:09.264321211 +0200
@@ -4,7 +4,9 @@
qed_int.o qed_main.o qed_mcp.o qed_sp_commands.o qed_spq.o qed_l2.o \
qed_selftest.o qed_dcbx.o qed_debug.o qed_ptp.o
qed-$(CONFIG_QED_ISCSI) += qed_iscsi.o qed_ooo.o
qed-$(CONFIG_QED_FCOE) += qed_fcoe.o
diff -Naur a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c
---- a/drivers/net/ethernet/qlogic/qed/qed_dev.c 2017-07-25 18:07:13.683393765 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c 2017-07-25 18:07:40.239832038 +0300
+--- a/drivers/net/ethernet/qlogic/qed/qed_dev.c 2017-12-06 17:35:51.012192054 +0200
++++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c 2017-12-07 10:31:09.264321211 +0200
@@ -171,7 +171,7 @@
qed_eq_free(p_hwfn, p_hwfn->p_eq);
qed_consq_free(p_hwfn, p_hwfn->p_consq);
/* Roce CNQ each requires: 1 status block + 1 CNQ. We divide
* the status blocks equally between L2 / RoCE but with
diff -Naur a/drivers/net/ethernet/qlogic/qed/qed_fcoe.h b/drivers/net/ethernet/qlogic/qed/qed_fcoe.h
---- a/drivers/net/ethernet/qlogic/qed/qed_fcoe.h 2017-07-25 18:07:13.683393765 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/qed_fcoe.h 2017-07-25 18:07:40.239832038 +0300
+--- a/drivers/net/ethernet/qlogic/qed/qed_fcoe.h 2017-12-06 17:35:51.016192054 +0200
++++ b/drivers/net/ethernet/qlogic/qed/qed_fcoe.h 2017-12-07 10:31:09.264321211 +0200
@@ -79,7 +79,7 @@
}
#endif /* CONFIG_QED_FCOE */
extern const struct qed_ll2_ops qed_ll2_ops_pass;
#endif
diff -Naur a/drivers/net/ethernet/qlogic/qed/qed.h b/drivers/net/ethernet/qlogic/qed/qed.h
---- a/drivers/net/ethernet/qlogic/qed/qed.h 2017-07-25 18:07:13.681393732 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/qed.h 2017-07-25 18:07:40.239832038 +0300
+--- a/drivers/net/ethernet/qlogic/qed/qed.h 2017-12-06 17:35:51.012192054 +0200
++++ b/drivers/net/ethernet/qlogic/qed/qed.h 2017-12-07 10:31:09.264321211 +0200
@@ -684,7 +684,7 @@
struct qed_dbg_params dbg_params;
u8 ll2_mac_address[ETH_ALEN];
#endif
diff -Naur a/drivers/net/ethernet/qlogic/qed/qed_iscsi.h b/drivers/net/ethernet/qlogic/qed/qed_iscsi.h
---- a/drivers/net/ethernet/qlogic/qed/qed_iscsi.h 2017-07-25 18:07:13.685393798 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/qed_iscsi.h 2017-07-25 18:07:40.239832038 +0300
+--- a/drivers/net/ethernet/qlogic/qed/qed_iscsi.h 2017-12-06 17:35:51.012192054 +0200
++++ b/drivers/net/ethernet/qlogic/qed/qed_iscsi.h 2017-12-07 10:31:09.264321211 +0200
@@ -52,7 +52,7 @@
iscsi_event_cb_t event_cb;
};
#endif
diff -Naur a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c
---- a/drivers/net/ethernet/qlogic/qed/qed_main.c 2017-07-25 18:07:13.681393732 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/qed_main.c 2017-07-25 18:07:40.240832054 +0300
+--- a/drivers/net/ethernet/qlogic/qed/qed_main.c 2017-12-06 17:36:00.808192102 +0200
++++ b/drivers/net/ethernet/qlogic/qed/qed_main.c 2017-12-07 10:31:09.268321211 +0200
@@ -800,7 +800,7 @@
cdev->int_params.fp_msix_cnt = cdev->int_params.out.num_vectors -
cdev->num_hwfns;
params->rdma_pf_params.min_dpis = QED_ROCE_DPIS;
/* divide by 3 the MRs to avoid MF ILT overflow */
diff -Naur a/drivers/net/ethernet/qlogic/qed/qed_mcp.c b/drivers/net/ethernet/qlogic/qed/qed_mcp.c
---- a/drivers/net/ethernet/qlogic/qed/qed_mcp.c 2017-07-25 18:07:13.682393749 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/qed_mcp.c 2017-07-25 18:07:40.240832054 +0300
+--- a/drivers/net/ethernet/qlogic/qed/qed_mcp.c 2017-12-06 17:35:51.012192054 +0200
++++ b/drivers/net/ethernet/qlogic/qed/qed_mcp.c 2017-12-07 10:31:09.268321211 +0200
@@ -657,7 +657,7 @@
if (IS_ENABLED(CONFIG_QED_SRIOV))
config_bitmap |= CONFIG_QED_SRIOV_BITMAP_IDX;
else if (qed_mcp_get_shmem_proto_mfw(p_hwfn, p_ptt, p_proto))
qed_mcp_get_shmem_proto_legacy(p_hwfn, p_proto);
diff -Naur a/drivers/net/ethernet/qlogic/qed/qed_roce.h b/drivers/net/ethernet/qlogic/qed/qed_roce.h
---- a/drivers/net/ethernet/qlogic/qed/qed_roce.h 2017-07-25 18:07:13.679393699 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/qed_roce.h 2017-07-25 18:07:40.241832071 +0300
+--- a/drivers/net/ethernet/qlogic/qed/qed_roce.h 2017-12-06 17:35:51.012192054 +0200
++++ b/drivers/net/ethernet/qlogic/qed/qed_roce.h 2017-12-07 10:31:09.268321211 +0200
@@ -164,7 +164,7 @@
dma_addr_t shared_queue_phys_addr;
};
void qed_roce_async_event(struct qed_hwfn *p_hwfn,
u8 fw_event_code, union rdma_eqe_data *rdma_data);
diff -Naur a/drivers/net/ethernet/qlogic/qed/qed_spq.c b/drivers/net/ethernet/qlogic/qed/qed_spq.c
---- a/drivers/net/ethernet/qlogic/qed/qed_spq.c 2017-07-25 18:07:13.680393716 +0300
-+++ b/drivers/net/ethernet/qlogic/qed/qed_spq.c 2017-07-25 18:07:40.241832071 +0300
+--- a/drivers/net/ethernet/qlogic/qed/qed_spq.c 2017-12-06 17:36:00.808192102 +0200
++++ b/drivers/net/ethernet/qlogic/qed/qed_spq.c 2017-12-07 10:31:09.268321211 +0200
@@ -304,7 +304,8 @@
struct event_ring_entry *p_eqe)
{
qed_roce_async_event(p_hwfn, p_eqe->opcode,
&p_eqe->data.rdma_data);
diff -Naur a/drivers/net/ethernet/qlogic/qede/Makefile b/drivers/net/ethernet/qlogic/qede/Makefile
---- a/drivers/net/ethernet/qlogic/qede/Makefile 2017-07-25 18:07:13.687393831 +0300
-+++ b/drivers/net/ethernet/qlogic/qede/Makefile 2017-07-25 18:07:40.241832071 +0300
+--- a/drivers/net/ethernet/qlogic/qede/Makefile 2017-12-06 17:35:51.016192054 +0200
++++ b/drivers/net/ethernet/qlogic/qede/Makefile 2017-12-07 10:31:09.268321211 +0200
@@ -2,4 +2,5 @@
qede-y := qede_main.o qede_fp.o qede_filter.o qede_ethtool.o qede_ptp.o
+#qede-$(CONFIG_QED_RDMA) += qede_roce.o
+qede-y += qede_roce.o
diff -Naur a/include/linux/qed/qede_roce.h b/include/linux/qed/qede_roce.h
---- a/include/linux/qed/qede_roce.h 2017-07-25 18:07:12.762378561 +0300
-+++ b/include/linux/qed/qede_roce.h 2017-07-25 18:07:40.241832071 +0300
+--- a/include/linux/qed/qede_roce.h 2017-12-06 17:35:51.068192055 +0200
++++ b/include/linux/qed/qede_roce.h 2017-12-07 10:31:09.268321211 +0200
@@ -68,7 +68,7 @@
bool qede_roce_supported(struct qede_dev *dev);
void qede_roce_dev_event_open(struct qede_dev *dev);
void qede_roce_dev_event_close(struct qede_dev *dev);
diff -Naur a/include/linux/qed/qed_ll2_if.h b/include/linux/qed/qed_ll2_if.h
---- a/include/linux/qed/qed_ll2_if.h 2017-07-25 18:07:12.763378578 +0300
-+++ b/include/linux/qed/qed_ll2_if.h 2017-07-25 18:07:40.242832087 +0300
+--- a/include/linux/qed/qed_ll2_if.h 2017-12-06 17:35:51.068192055 +0200
++++ b/include/linux/qed/qed_ll2_if.h 2017-12-07 10:31:09.268321211 +0200
@@ -138,7 +138,7 @@
int (*get_stats)(struct qed_dev *cdev, struct qed_ll2_stats *stats);
};