IB/qib: Remove most uses of QIB_PERMISSIVE_LID and QIB_MULTICAST_LID_BASE
This patch removes most of the uses of QIB_PERMISSIBVE_LID and QIB_MULTICAST_LID_BASE in favor of the recently added IB_* versions. There are still minor uses in AH functions as well as the QIB_* defines but those will be removed in a follow on patch. Reviewed-by: Ira Weiny <ira.weiny@intel.com> 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:
Родитель
f44728d69a
Коммит
9ff198f5f2
|
@ -319,7 +319,7 @@ static u32 qib_rcv_hdrerr(struct qib_ctxtdata *rcd, struct qib_pportdata *ppd,
|
||||||
if (tlen < 24)
|
if (tlen < 24)
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
if (lid < QIB_MULTICAST_LID_BASE) {
|
if (lid < be16_to_cpu(IB_MULTICAST_LID_BASE)) {
|
||||||
lid &= ~((1 << ppd->lmc) - 1);
|
lid &= ~((1 << ppd->lmc) - 1);
|
||||||
if (unlikely(lid != ppd->lid))
|
if (unlikely(lid != ppd->lid))
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
|
@ -691,7 +691,7 @@ static int subn_set_portinfo(struct ib_smp *smp, struct ib_device *ibdev,
|
||||||
|
|
||||||
lid = be16_to_cpu(pip->lid);
|
lid = be16_to_cpu(pip->lid);
|
||||||
/* Must be a valid unicast LID address. */
|
/* Must be a valid unicast LID address. */
|
||||||
if (lid == 0 || lid >= QIB_MULTICAST_LID_BASE)
|
if (lid == 0 || lid >= be16_to_cpu(IB_MULTICAST_LID_BASE))
|
||||||
smp->status |= IB_SMP_INVALID_FIELD;
|
smp->status |= IB_SMP_INVALID_FIELD;
|
||||||
else if (ppd->lid != lid || ppd->lmc != (pip->mkeyprot_resv_lmc & 7)) {
|
else if (ppd->lid != lid || ppd->lmc != (pip->mkeyprot_resv_lmc & 7)) {
|
||||||
if (ppd->lid != lid)
|
if (ppd->lid != lid)
|
||||||
|
@ -706,7 +706,7 @@ static int subn_set_portinfo(struct ib_smp *smp, struct ib_device *ibdev,
|
||||||
smlid = be16_to_cpu(pip->sm_lid);
|
smlid = be16_to_cpu(pip->sm_lid);
|
||||||
msl = pip->neighbormtu_mastersmsl & 0xF;
|
msl = pip->neighbormtu_mastersmsl & 0xF;
|
||||||
/* Must be a valid unicast LID address. */
|
/* Must be a valid unicast LID address. */
|
||||||
if (smlid == 0 || smlid >= QIB_MULTICAST_LID_BASE)
|
if (smlid == 0 || smlid >= be16_to_cpu(IB_MULTICAST_LID_BASE))
|
||||||
smp->status |= IB_SMP_INVALID_FIELD;
|
smp->status |= IB_SMP_INVALID_FIELD;
|
||||||
else if (smlid != ibp->sm_lid || msl != ibp->sm_sl) {
|
else if (smlid != ibp->sm_lid || msl != ibp->sm_sl) {
|
||||||
spin_lock_irqsave(&ibp->lock, flags);
|
spin_lock_irqsave(&ibp->lock, flags);
|
||||||
|
|
|
@ -590,14 +590,15 @@ int qib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
|
||||||
goto inval;
|
goto inval;
|
||||||
|
|
||||||
if (attr_mask & IB_QP_AV) {
|
if (attr_mask & IB_QP_AV) {
|
||||||
if (attr->ah_attr.dlid >= QIB_MULTICAST_LID_BASE)
|
if (attr->ah_attr.dlid >= be16_to_cpu(IB_MULTICAST_LID_BASE))
|
||||||
goto inval;
|
goto inval;
|
||||||
if (qib_check_ah(qp->ibqp.device, &attr->ah_attr))
|
if (qib_check_ah(qp->ibqp.device, &attr->ah_attr))
|
||||||
goto inval;
|
goto inval;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (attr_mask & IB_QP_ALT_PATH) {
|
if (attr_mask & IB_QP_ALT_PATH) {
|
||||||
if (attr->alt_ah_attr.dlid >= QIB_MULTICAST_LID_BASE)
|
if (attr->alt_ah_attr.dlid >=
|
||||||
|
be16_to_cpu(IB_MULTICAST_LID_BASE))
|
||||||
goto inval;
|
goto inval;
|
||||||
if (qib_check_ah(qp->ibqp.device, &attr->alt_ah_attr))
|
if (qib_check_ah(qp->ibqp.device, &attr->alt_ah_attr))
|
||||||
goto inval;
|
goto inval;
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <rdma/ib_smi.h>
|
#include <rdma/ib_smi.h>
|
||||||
|
#include <rdma/ib_verbs.h>
|
||||||
|
|
||||||
#include "qib.h"
|
#include "qib.h"
|
||||||
#include "qib_mad.h"
|
#include "qib_mad.h"
|
||||||
|
@ -278,8 +279,8 @@ int qib_make_ud_req(struct qib_qp *qp)
|
||||||
ibp = to_iport(qp->ibqp.device, qp->port_num);
|
ibp = to_iport(qp->ibqp.device, qp->port_num);
|
||||||
ppd = ppd_from_ibp(ibp);
|
ppd = ppd_from_ibp(ibp);
|
||||||
ah_attr = &to_iah(wqe->ud_wr.ah)->attr;
|
ah_attr = &to_iah(wqe->ud_wr.ah)->attr;
|
||||||
if (ah_attr->dlid >= QIB_MULTICAST_LID_BASE) {
|
if (ah_attr->dlid >= be16_to_cpu(IB_MULTICAST_LID_BASE)) {
|
||||||
if (ah_attr->dlid != QIB_PERMISSIVE_LID)
|
if (ah_attr->dlid != be16_to_cpu(IB_LID_PERMISSIVE))
|
||||||
this_cpu_inc(ibp->pmastats->n_multicast_xmit);
|
this_cpu_inc(ibp->pmastats->n_multicast_xmit);
|
||||||
else
|
else
|
||||||
this_cpu_inc(ibp->pmastats->n_unicast_xmit);
|
this_cpu_inc(ibp->pmastats->n_unicast_xmit);
|
||||||
|
@ -368,8 +369,8 @@ int qib_make_ud_req(struct qib_qp *qp)
|
||||||
/*
|
/*
|
||||||
* Use the multicast QP if the destination LID is a multicast LID.
|
* Use the multicast QP if the destination LID is a multicast LID.
|
||||||
*/
|
*/
|
||||||
ohdr->bth[1] = ah_attr->dlid >= QIB_MULTICAST_LID_BASE &&
|
ohdr->bth[1] = ah_attr->dlid >= be16_to_cpu(IB_MULTICAST_LID_BASE) &&
|
||||||
ah_attr->dlid != QIB_PERMISSIVE_LID ?
|
ah_attr->dlid != be16_to_cpu(IB_LID_PERMISSIVE) ?
|
||||||
cpu_to_be32(QIB_MULTICAST_QPN) :
|
cpu_to_be32(QIB_MULTICAST_QPN) :
|
||||||
cpu_to_be32(wqe->ud_wr.remote_qpn);
|
cpu_to_be32(wqe->ud_wr.remote_qpn);
|
||||||
ohdr->bth[2] = cpu_to_be32(qp->s_next_psn++ & QIB_PSN_MASK);
|
ohdr->bth[2] = cpu_to_be32(qp->s_next_psn++ & QIB_PSN_MASK);
|
||||||
|
@ -576,7 +577,7 @@ void qib_ud_rcv(struct qib_ibport *ibp, struct qib_ib_header *hdr,
|
||||||
/*
|
/*
|
||||||
* Save the LMC lower bits if the destination LID is a unicast LID.
|
* Save the LMC lower bits if the destination LID is a unicast LID.
|
||||||
*/
|
*/
|
||||||
wc.dlid_path_bits = dlid >= QIB_MULTICAST_LID_BASE ? 0 :
|
wc.dlid_path_bits = dlid >= be16_to_cpu(IB_MULTICAST_LID_BASE) ? 0 :
|
||||||
dlid & ((1 << ppd_from_ibp(ibp)->lmc) - 1);
|
dlid & ((1 << ppd_from_ibp(ibp)->lmc) - 1);
|
||||||
wc.port_num = qp->port_num;
|
wc.port_num = qp->port_num;
|
||||||
/* Signal completion event if the solicited bit is set. */
|
/* Signal completion event if the solicited bit is set. */
|
||||||
|
|
|
@ -646,7 +646,7 @@ void qib_ib_rcv(struct qib_ctxtdata *rcd, void *rhdr, void *data, u32 tlen)
|
||||||
|
|
||||||
/* Check for a valid destination LID (see ch. 7.11.1). */
|
/* Check for a valid destination LID (see ch. 7.11.1). */
|
||||||
lid = be16_to_cpu(hdr->lrh[1]);
|
lid = be16_to_cpu(hdr->lrh[1]);
|
||||||
if (lid < QIB_MULTICAST_LID_BASE) {
|
if (lid < be16_to_cpu(IB_MULTICAST_LID_BASE)) {
|
||||||
lid &= ~((1 << ppd->lmc) - 1);
|
lid &= ~((1 << ppd->lmc) - 1);
|
||||||
if (unlikely(lid != ppd->lid))
|
if (unlikely(lid != ppd->lid))
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче