Patch "IB/qib: Remove qpt_mask global" has been added to the 4.8-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
IB/qib: Remove qpt_mask global
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ib-qib-remove-qpt_mask-global.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
84b3adc2430eafd2eb703570075c3c141ea0ff13Mon Sep 17 00:00:00 2001
From: Dennis Dalessandro <[email protected]>
Date: Sun, 25 Sep 2016 07:41:05 -0700
Subject: IB/qib: Remove qpt_mask global
From: Dennis Dalessandro <[email protected]>
commit 84b3adc2430eafd2eb703570075c3c141ea0ff13 upstream.
There is no need to have a global qpt_mask as that does not support the multiple chip model which qib has. Instead rely on the value which exists already in the device data (dd).
--- drivers/infiniband/hw/qib/qib.h | 1 - drivers/infiniband/hw/qib/qib_qp.c | 13 +++---------- drivers/infiniband/hw/qib/qib_verbs.c | 2 -- 3 files changed, 3 insertions(+), 13 deletions(-)
drivers/infiniband/hw/qib/qib.h +0 -1
@@ -1131,7 +1131,6 @@ extern spinlock_t qib_devs_lock;extern struct qib_devdata *qib_lookup (int unit);extern u32 qib_cpulist_count;extern unsigned long *qib_cpulist; -extern u16 qpt_mask;extern unsigned qib_cc_table_size;int qib_init (struct qib_devdata *,int );
drivers/infiniband/hw/qib/qib_qp.c +3 -10
@@ -41,14 +41,6 @@#include "qib.h" -/* -* mask field which was present in now deleted qib_qpn_table -* is not present in rvt_qpn_table. Defining the same field -* as qpt_mask here instead of adding the mask field to -* rvt_qpn_table. -*/ -u16 qpt_mask; -static inline unsigned mk_qpn (struct rvt_qpn_table *qpt,struct rvt_qpn_map *map,unsigned off) {
@@ -57,7 +49,7 @@ static inline unsigned mk_qpn(struct rvtstatic inline unsigned find_next_offset (struct rvt_qpn_table *qpt,struct rvt_qpn_map *map,unsigned off, -unsigned n) +unsigned n,u16 qpt_mask) {if (qpt_mask) { off++;
@@ -179,6 +171,7 @@ int qib_alloc_qpn(struct rvt_dev_info *r struct qib_ibdev *verbs_dev = container_of(rdi, struct qib_ibdev, rdi); struct qib_devdata *dd = container_of(verbs_dev, struct qib_devdata, verbs_dev); +u16 qpt_mask = dd->qpn_mask;if (type ==IB_QPT_SMI || type ==IB_QPT_GSI ) {unsigned n;
@@ -215,7 +208,7 @@ int qib_alloc_qpn(struct rvt_dev_info *r goto bail; } offset =find_next_offset (qpt, map, offset, - dd->n_krcv_queues); + dd->n_krcv_queues, qpt_mask); qpn =mk_qpn (qpt, map, offset);/* * This test differs from alloc_pidmap().
drivers/infiniband/hw/qib/qib_verbs.c +0 -2
@@ -1606,8 +1606,6 @@ int qib_register_ib_device(struct qib_de/* Only need to initialize non-zero fields. */ setup_timer (&dev->mem_timer, mem_timer, (unsigned long )dev); - qpt_mask = dd->qpn_mask; -INIT_LIST_HEAD (&dev->piowait);INIT_LIST_HEAD (&dev->dmawait);INIT_LIST_HEAD (&dev->txwait);
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/ib-rdmavt-correct-sparse-annotation.patch queue-4.8/ib-qib-remove-qpt_mask-global.patch queue-4.8/ib-hfi1-move-iowait_init-to-priv-allocate.patch