diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2018-07-23 13:32:49 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2018-07-23 13:32:49 -0400 |
commit | 3dff3fb82fa9059f40eb61427d40719ba0f211e4 (patch) | |
tree | 3151e894fed2e5620f5bfae1f2962f9bbfce9b5b | |
parent | d5fa4f4f8993f9e1ce7d12513958bd4e7d22fc1d (diff) | |
download | longterm-queue-4.12-3dff3fb82fa9059f40eb61427d40719ba0f211e4.tar.gz |
IB: drop patch n/a for 4.12
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | queue/IB-mlx4-Fix-RSS-s-QPC-attributes-assignments.patch | 83 | ||||
-rw-r--r-- | queue/series | 1 |
2 files changed, 0 insertions, 84 deletions
diff --git a/queue/IB-mlx4-Fix-RSS-s-QPC-attributes-assignments.patch b/queue/IB-mlx4-Fix-RSS-s-QPC-attributes-assignments.patch deleted file mode 100644 index 7be6c68..0000000 --- a/queue/IB-mlx4-Fix-RSS-s-QPC-attributes-assignments.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 108809a0571cd1e1b317c5c083a371e163e1f8f9 Mon Sep 17 00:00:00 2001 -From: Guy Levi <guyle@mellanox.com> -Date: Wed, 25 Oct 2017 22:39:35 +0300 -Subject: [PATCH] IB/mlx4: Fix RSS's QPC attributes assignments - -commit 108809a0571cd1e1b317c5c083a371e163e1f8f9 upstream. - -In the modify QP handler the base_qpn_udp field in the RSS QPC is -overwrite later by irrelevant value assignment. Hence, ingress packets -which gets to the RSS QP will be steered then to a garbage QPN. - -The patch fixes this by skipping the above assignment when a RSS QP is -modified, also, the RSS context's attributes assignments are relocated -just before the context is posted to avoid future issues like this. - -Additionally, this patch takes the opportunity to change the code to be -disciplined to the device's manual and assigns the RSS QP context just at -RESET to INIT transition. - -Fixes:3078f5f1bd8b ("IB/mlx4: Add support for RSS QP") -Signed-off-by: Guy Levi <guyle@mellanox.com> -Reviewed-by: Yishai Hadas <yishaih@mellanox.com> -Signed-off-by: Leon Romanovsky <leon@kernel.org> -Signed-off-by: Doug Ledford <dledford@redhat.com> - -diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c -index b6b33d99b0b4..26f3345948e2 100644 ---- a/drivers/infiniband/hw/mlx4/qp.c -+++ b/drivers/infiniband/hw/mlx4/qp.c -@@ -2182,11 +2182,6 @@ static int __mlx4_ib_modify_qp(void *src, enum mlx4_ib_source_type src_type, - context->flags = cpu_to_be32((to_mlx4_state(new_state) << 28) | - (to_mlx4_st(dev, qp->mlx4_ib_qp_type) << 16)); - -- if (rwq_ind_tbl) { -- fill_qp_rss_context(context, qp); -- context->flags |= cpu_to_be32(1 << MLX4_RSS_QPC_FLAG_OFFSET); -- } -- - if (!(attr_mask & IB_QP_PATH_MIG_STATE)) - context->flags |= cpu_to_be32(MLX4_QP_PM_MIGRATED << 11); - else { -@@ -2387,6 +2382,7 @@ static int __mlx4_ib_modify_qp(void *src, enum mlx4_ib_source_type src_type, - context->pd = cpu_to_be32(pd->pdn); - - if (!rwq_ind_tbl) { -+ context->params1 = cpu_to_be32(MLX4_IB_ACK_REQ_FREQ << 28); - get_cqs(qp, src_type, &send_cq, &recv_cq); - } else { /* Set dummy CQs to be compatible with HV and PRM */ - send_cq = to_mcq(rwq_ind_tbl->ind_tbl[0]->cq); -@@ -2394,7 +2390,6 @@ static int __mlx4_ib_modify_qp(void *src, enum mlx4_ib_source_type src_type, - } - context->cqn_send = cpu_to_be32(send_cq->mcq.cqn); - context->cqn_recv = cpu_to_be32(recv_cq->mcq.cqn); -- context->params1 = cpu_to_be32(MLX4_IB_ACK_REQ_FREQ << 28); - - /* Set "fast registration enabled" for all kernel QPs */ - if (!ibuobject) -@@ -2513,7 +2508,7 @@ static int __mlx4_ib_modify_qp(void *src, enum mlx4_ib_source_type src_type, - MLX4_IB_LINK_TYPE_ETH; - if (dev->dev->caps.tunnel_offload_mode == MLX4_TUNNEL_OFFLOAD_MODE_VXLAN) { - /* set QP to receive both tunneled & non-tunneled packets */ -- if (!(context->flags & cpu_to_be32(1 << MLX4_RSS_QPC_FLAG_OFFSET))) -+ if (!rwq_ind_tbl) - context->srqn = cpu_to_be32(7 << 28); - } - } -@@ -2562,6 +2557,13 @@ static int __mlx4_ib_modify_qp(void *src, enum mlx4_ib_source_type src_type, - } - } - -+ if (rwq_ind_tbl && -+ cur_state == IB_QPS_RESET && -+ new_state == IB_QPS_INIT) { -+ fill_qp_rss_context(context, qp); -+ context->flags |= cpu_to_be32(1 << MLX4_RSS_QPC_FLAG_OFFSET); -+ } -+ - err = mlx4_qp_modify(dev->dev, &qp->mtt, to_mlx4_state(cur_state), - to_mlx4_state(new_state), context, optpar, - sqd_event, &qp->mqp); --- -2.15.0 - diff --git a/queue/series b/queue/series index 626bcf9..4c4ec55 100644 --- a/queue/series +++ b/queue/series @@ -20,7 +20,6 @@ eeprom-at24-change-nvmem-stride-to-1.patch dmaengine-dmatest-move-callback-wait-queue-to-thread.patch ext4-fix-fdatasync-2-after-fallocate-2-operation.patch ext4-fix-crash-when-a-directory-s-i_size-is-too-smal.patch -IB-mlx4-Fix-RSS-s-QPC-attributes-assignments.patch HID-cp2112-fix-broken-gpio_direction_input-callback.patch sfc-don-t-warn-on-successful-change-of-MAC.patch fbdev-controlfb-Add-missing-modes-to-fix-out-of-boun.patch |