diff options
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/en_resources.c')
| -rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/en_resources.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_resources.c b/drivers/net/ethernet/mellanox/mlx4/en_resources.c index f1a5500ff72d..34f2fdf4fe5d 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_resources.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_resources.c @@ -50,10 +50,14 @@ void mlx4_en_fill_qp_context(struct mlx4_en_priv *priv, int size, int stride,  	context->mtu_msgmax = 0xff;  	if (!is_tx && !rss)  		context->rq_size_stride = ilog2(size) << 3 | (ilog2(stride) - 4); -	if (is_tx) +	if (is_tx) {  		context->sq_size_stride = ilog2(size) << 3 | (ilog2(stride) - 4); -	else +		if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_PORT_REMAP) +			context->params2 |= MLX4_QP_BIT_FPP; + +	} else {  		context->sq_size_stride = ilog2(TXBB_SIZE) - 4; +	}  	context->usr_page = cpu_to_be32(mdev->priv_uar.index);  	context->local_qpn = cpu_to_be32(qpn);  	context->pri_path.ackto = 1 & 0x07;  | 

