mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 20:53:53 +08:00
IB/qib: Remove qpt_mask global
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).
Fixes: 898fa52b4a
"IB/qib: Remove qpn, qp tables and related variables from qib"
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
b374e060cc
commit
84b3adc243
@ -1132,7 +1132,6 @@ extern spinlock_t qib_devs_lock;
|
|||||||
extern struct qib_devdata *qib_lookup(int unit);
|
extern struct qib_devdata *qib_lookup(int unit);
|
||||||
extern u32 qib_cpulist_count;
|
extern u32 qib_cpulist_count;
|
||||||
extern unsigned long *qib_cpulist;
|
extern unsigned long *qib_cpulist;
|
||||||
extern u16 qpt_mask;
|
|
||||||
extern unsigned qib_cc_table_size;
|
extern unsigned qib_cc_table_size;
|
||||||
|
|
||||||
int qib_init(struct qib_devdata *, int);
|
int qib_init(struct qib_devdata *, int);
|
||||||
|
@ -41,14 +41,6 @@
|
|||||||
|
|
||||||
#include "qib.h"
|
#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,
|
static inline unsigned mk_qpn(struct rvt_qpn_table *qpt,
|
||||||
struct rvt_qpn_map *map, unsigned off)
|
struct rvt_qpn_map *map, unsigned off)
|
||||||
{
|
{
|
||||||
@ -57,7 +49,7 @@ static inline unsigned mk_qpn(struct rvt_qpn_table *qpt,
|
|||||||
|
|
||||||
static inline unsigned find_next_offset(struct rvt_qpn_table *qpt,
|
static inline unsigned find_next_offset(struct rvt_qpn_table *qpt,
|
||||||
struct rvt_qpn_map *map, unsigned off,
|
struct rvt_qpn_map *map, unsigned off,
|
||||||
unsigned n)
|
unsigned n, u16 qpt_mask)
|
||||||
{
|
{
|
||||||
if (qpt_mask) {
|
if (qpt_mask) {
|
||||||
off++;
|
off++;
|
||||||
@ -179,6 +171,7 @@ int qib_alloc_qpn(struct rvt_dev_info *rdi, struct rvt_qpn_table *qpt,
|
|||||||
struct qib_ibdev *verbs_dev = container_of(rdi, struct qib_ibdev, rdi);
|
struct qib_ibdev *verbs_dev = container_of(rdi, struct qib_ibdev, rdi);
|
||||||
struct qib_devdata *dd = container_of(verbs_dev, struct qib_devdata,
|
struct qib_devdata *dd = container_of(verbs_dev, struct qib_devdata,
|
||||||
verbs_dev);
|
verbs_dev);
|
||||||
|
u16 qpt_mask = dd->qpn_mask;
|
||||||
|
|
||||||
if (type == IB_QPT_SMI || type == IB_QPT_GSI) {
|
if (type == IB_QPT_SMI || type == IB_QPT_GSI) {
|
||||||
unsigned n;
|
unsigned n;
|
||||||
@ -215,7 +208,7 @@ int qib_alloc_qpn(struct rvt_dev_info *rdi, struct rvt_qpn_table *qpt,
|
|||||||
goto bail;
|
goto bail;
|
||||||
}
|
}
|
||||||
offset = find_next_offset(qpt, map, offset,
|
offset = find_next_offset(qpt, map, offset,
|
||||||
dd->n_krcv_queues);
|
dd->n_krcv_queues, qpt_mask);
|
||||||
qpn = mk_qpn(qpt, map, offset);
|
qpn = mk_qpn(qpt, map, offset);
|
||||||
/*
|
/*
|
||||||
* This test differs from alloc_pidmap().
|
* This test differs from alloc_pidmap().
|
||||||
|
@ -1606,8 +1606,6 @@ int qib_register_ib_device(struct qib_devdata *dd)
|
|||||||
/* Only need to initialize non-zero fields. */
|
/* Only need to initialize non-zero fields. */
|
||||||
setup_timer(&dev->mem_timer, mem_timer, (unsigned long)dev);
|
setup_timer(&dev->mem_timer, mem_timer, (unsigned long)dev);
|
||||||
|
|
||||||
qpt_mask = dd->qpn_mask;
|
|
||||||
|
|
||||||
INIT_LIST_HEAD(&dev->piowait);
|
INIT_LIST_HEAD(&dev->piowait);
|
||||||
INIT_LIST_HEAD(&dev->dmawait);
|
INIT_LIST_HEAD(&dev->dmawait);
|
||||||
INIT_LIST_HEAD(&dev->txwait);
|
INIT_LIST_HEAD(&dev->txwait);
|
||||||
|
Loading…
Reference in New Issue
Block a user