Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56040f07 authored by Roland Dreier's avatar Roland Dreier
Browse files

Merge branches 'cma', 'ipoib', 'iser', 'mlx4' and 'nes' into for-next

Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -79,11 +79,6 @@ int disable_mpa_crc = 0;
module_param(disable_mpa_crc, int, 0644);
module_param(disable_mpa_crc, int, 0644);
MODULE_PARM_DESC(disable_mpa_crc, "Disable checking of MPA CRC");
MODULE_PARM_DESC(disable_mpa_crc, "Disable checking of MPA CRC");


unsigned int send_first = 0;
module_param(send_first, int, 0644);
MODULE_PARM_DESC(send_first, "Send RDMA Message First on Active Connection");


unsigned int nes_drv_opt = NES_DRV_OPT_DISABLE_INT_MOD | NES_DRV_OPT_ENABLE_PAU;
unsigned int nes_drv_opt = NES_DRV_OPT_DISABLE_INT_MOD | NES_DRV_OPT_ENABLE_PAU;
module_param(nes_drv_opt, int, 0644);
module_param(nes_drv_opt, int, 0644);
MODULE_PARM_DESC(nes_drv_opt, "Driver option parameters");
MODULE_PARM_DESC(nes_drv_opt, "Driver option parameters");
+1 −2
Original line number Original line Diff line number Diff line
@@ -57,7 +57,7 @@
#define QUEUE_DISCONNECTS
#define QUEUE_DISCONNECTS


#define DRV_NAME    "iw_nes"
#define DRV_NAME    "iw_nes"
#define DRV_VERSION "1.5.0.0"
#define DRV_VERSION "1.5.0.1"
#define PFX         DRV_NAME ": "
#define PFX         DRV_NAME ": "


/*
/*
@@ -172,7 +172,6 @@ extern int interrupt_mod_interval;
extern int nes_if_count;
extern int nes_if_count;
extern int mpa_version;
extern int mpa_version;
extern int disable_mpa_crc;
extern int disable_mpa_crc;
extern unsigned int send_first;
extern unsigned int nes_drv_opt;
extern unsigned int nes_drv_opt;
extern unsigned int nes_debug_level;
extern unsigned int nes_debug_level;
extern unsigned int wqm_quanta;
extern unsigned int wqm_quanta;
+4 −12
Original line number Original line Diff line number Diff line
@@ -3006,6 +3006,7 @@ int nes_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
					switch (nesqp->hw_iwarp_state) {
					switch (nesqp->hw_iwarp_state) {
						case NES_AEQE_IWARP_STATE_CLOSING:
						case NES_AEQE_IWARP_STATE_CLOSING:
							next_iwarp_state = NES_CQP_QP_IWARP_STATE_CLOSING;
							next_iwarp_state = NES_CQP_QP_IWARP_STATE_CLOSING;
							break;
						case NES_AEQE_IWARP_STATE_TERMINATE:
						case NES_AEQE_IWARP_STATE_TERMINATE:
							next_iwarp_state = NES_CQP_QP_IWARP_STATE_TERMINATE;
							next_iwarp_state = NES_CQP_QP_IWARP_STATE_TERMINATE;
							break;
							break;
@@ -3068,19 +3069,10 @@ int nes_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
		}
		}


		nesqp->ibqp_state = attr->qp_state;
		nesqp->ibqp_state = attr->qp_state;
		if (((nesqp->iwarp_state & NES_CQP_QP_IWARP_STATE_MASK) ==
				(u32)NES_CQP_QP_IWARP_STATE_RTS) &&
				((next_iwarp_state & NES_CQP_QP_IWARP_STATE_MASK) >
				(u32)NES_CQP_QP_IWARP_STATE_RTS)) {
			nesqp->iwarp_state = next_iwarp_state & NES_CQP_QP_IWARP_STATE_MASK;
			nes_debug(NES_DBG_MOD_QP, "Change nesqp->iwarp_state=%08x\n",
					nesqp->iwarp_state);
		} else {
		nesqp->iwarp_state = next_iwarp_state & NES_CQP_QP_IWARP_STATE_MASK;
		nesqp->iwarp_state = next_iwarp_state & NES_CQP_QP_IWARP_STATE_MASK;
		nes_debug(NES_DBG_MOD_QP, "Change nesqp->iwarp_state=%08x\n",
		nes_debug(NES_DBG_MOD_QP, "Change nesqp->iwarp_state=%08x\n",
				nesqp->iwarp_state);
				nesqp->iwarp_state);
	}
	}
	}


	if (attr_mask & IB_QP_ACCESS_FLAGS) {
	if (attr_mask & IB_QP_ACCESS_FLAGS) {
		if (attr->qp_access_flags & IB_ACCESS_LOCAL_WRITE) {
		if (attr->qp_access_flags & IB_ACCESS_LOCAL_WRITE) {
+2 −2
Original line number Original line Diff line number Diff line
@@ -535,14 +535,14 @@ void ipoib_drain_cq(struct net_device *dev);
void ipoib_set_ethtool_ops(struct net_device *dev);
void ipoib_set_ethtool_ops(struct net_device *dev);
int ipoib_set_dev_features(struct ipoib_dev_priv *priv, struct ib_device *hca);
int ipoib_set_dev_features(struct ipoib_dev_priv *priv, struct ib_device *hca);


#ifdef CONFIG_INFINIBAND_IPOIB_CM

#define IPOIB_FLAGS_RC		0x80
#define IPOIB_FLAGS_RC		0x80
#define IPOIB_FLAGS_UC		0x40
#define IPOIB_FLAGS_UC		0x40


/* We don't support UC connections at the moment */
/* We don't support UC connections at the moment */
#define IPOIB_CM_SUPPORTED(ha)   (ha[0] & (IPOIB_FLAGS_RC))
#define IPOIB_CM_SUPPORTED(ha)   (ha[0] & (IPOIB_FLAGS_RC))


#ifdef CONFIG_INFINIBAND_IPOIB_CM

extern int ipoib_max_conn_qp;
extern int ipoib_max_conn_qp;


static inline int ipoib_cm_admin_enabled(struct net_device *dev)
static inline int ipoib_cm_admin_enabled(struct net_device *dev)
+0 −31
Original line number Original line Diff line number Diff line
@@ -1448,37 +1448,6 @@ static ssize_t show_mode(struct device *d, struct device_attribute *attr,
		return sprintf(buf, "datagram\n");
		return sprintf(buf, "datagram\n");
}
}


int ipoib_set_mode(struct net_device *dev, const char *buf)
{
	struct ipoib_dev_priv *priv = netdev_priv(dev);

	/* flush paths if we switch modes so that connections are restarted */
	if (IPOIB_CM_SUPPORTED(dev->dev_addr) && !strcmp(buf, "connected\n")) {
		set_bit(IPOIB_FLAG_ADMIN_CM, &priv->flags);
		ipoib_warn(priv, "enabling connected mode "
			   "will cause multicast packet drops\n");
		netdev_update_features(dev);
		rtnl_unlock();
		priv->tx_wr.send_flags &= ~IB_SEND_IP_CSUM;

		ipoib_flush_paths(dev);
		rtnl_lock();
		return 0;
	}

	if (!strcmp(buf, "datagram\n")) {
		clear_bit(IPOIB_FLAG_ADMIN_CM, &priv->flags);
		netdev_update_features(dev);
		dev_set_mtu(dev, min(priv->mcast_mtu, dev->mtu));
		rtnl_unlock();
		ipoib_flush_paths(dev);
		rtnl_lock();
		return 0;
	}

	return -EINVAL;
}

static ssize_t set_mode(struct device *d, struct device_attribute *attr,
static ssize_t set_mode(struct device *d, struct device_attribute *attr,
			const char *buf, size_t count)
			const char *buf, size_t count)
{
{
Loading