diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-07 21:14:07 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-07 21:14:07 -0400 |
commit | 273b2578392bbf6e5c47a8a3d1ee461ce6fc7182 (patch) | |
tree | 1b00bd21574b1f8db084be4f682d7251a3a0ff3e /drivers/infiniband/hw/ipath | |
parent | 8e43e12d638f732fa32600c324711f4be8fe0b1d (diff) | |
parent | 06a91a02e9b249695f964bb59c8b02152c21e90c (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
IB/mad: Test ib_create_send_mad() return with IS_ERR(), not == NULL
IB/mlx4: Allow 4K messages for UD QPs
mlx4_core: Add ethernet fields to CQE struct
IB/ipath: Fix printk format warnings
RDMA/cxgb3: Fix deadlock initializing iw_cxgb3 device
RDMA/cxgb3: Fix up MW access rights
RDMA/cxgb3: Fix QP capabilities
RDMA/cma: Remove padding arrays by using struct sockaddr_storage
IB/ipath: Use unsigned long for irq flags
IPoIB/cm: Set correct SG list in ipoib_cm_init_rx_wr()
Diffstat (limited to 'drivers/infiniband/hw/ipath')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_driver.c | 5 | ||||
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_iba7220.c | 7 | ||||
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_intr.c | 12 | ||||
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_verbs.c | 6 |
4 files changed, 18 insertions, 12 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c index daad09a45910..ad0aab60b051 100644 --- a/drivers/infiniband/hw/ipath/ipath_driver.c +++ b/drivers/infiniband/hw/ipath/ipath_driver.c | |||
@@ -1259,7 +1259,7 @@ reloop: | |||
1259 | */ | 1259 | */ |
1260 | ipath_cdbg(ERRPKT, "Error Pkt, but no eflags! egrbuf" | 1260 | ipath_cdbg(ERRPKT, "Error Pkt, but no eflags! egrbuf" |
1261 | " %x, len %x hdrq+%x rhf: %Lx\n", | 1261 | " %x, len %x hdrq+%x rhf: %Lx\n", |
1262 | etail, tlen, l, | 1262 | etail, tlen, l, (unsigned long long) |
1263 | le64_to_cpu(*(__le64 *) rhf_addr)); | 1263 | le64_to_cpu(*(__le64 *) rhf_addr)); |
1264 | if (ipath_debug & __IPATH_ERRPKTDBG) { | 1264 | if (ipath_debug & __IPATH_ERRPKTDBG) { |
1265 | u32 j, *d, dw = rsize-2; | 1265 | u32 j, *d, dw = rsize-2; |
@@ -1457,7 +1457,8 @@ static void ipath_reset_availshadow(struct ipath_devdata *dd) | |||
1457 | 0xaaaaaaaaaaaaaaaaULL); /* All BUSY bits in qword */ | 1457 | 0xaaaaaaaaaaaaaaaaULL); /* All BUSY bits in qword */ |
1458 | if (oldval != dd->ipath_pioavailshadow[i]) | 1458 | if (oldval != dd->ipath_pioavailshadow[i]) |
1459 | ipath_dbg("shadow[%d] was %Lx, now %lx\n", | 1459 | ipath_dbg("shadow[%d] was %Lx, now %lx\n", |
1460 | i, oldval, dd->ipath_pioavailshadow[i]); | 1460 | i, (unsigned long long) oldval, |
1461 | dd->ipath_pioavailshadow[i]); | ||
1461 | } | 1462 | } |
1462 | spin_unlock_irqrestore(&ipath_pioavail_lock, flags); | 1463 | spin_unlock_irqrestore(&ipath_pioavail_lock, flags); |
1463 | } | 1464 | } |
diff --git a/drivers/infiniband/hw/ipath/ipath_iba7220.c b/drivers/infiniband/hw/ipath/ipath_iba7220.c index fadbfbf55a6a..d90f5e9a54fa 100644 --- a/drivers/infiniband/hw/ipath/ipath_iba7220.c +++ b/drivers/infiniband/hw/ipath/ipath_iba7220.c | |||
@@ -1032,7 +1032,7 @@ static int ipath_7220_bringup_serdes(struct ipath_devdata *dd) | |||
1032 | ipath_cdbg(VERBOSE, "done: xgxs=%llx from %llx\n", | 1032 | ipath_cdbg(VERBOSE, "done: xgxs=%llx from %llx\n", |
1033 | (unsigned long long) | 1033 | (unsigned long long) |
1034 | ipath_read_kreg64(dd, dd->ipath_kregs->kr_xgxsconfig), | 1034 | ipath_read_kreg64(dd, dd->ipath_kregs->kr_xgxsconfig), |
1035 | prev_val); | 1035 | (unsigned long long) prev_val); |
1036 | 1036 | ||
1037 | guid = be64_to_cpu(dd->ipath_guid); | 1037 | guid = be64_to_cpu(dd->ipath_guid); |
1038 | 1038 | ||
@@ -1042,7 +1042,8 @@ static int ipath_7220_bringup_serdes(struct ipath_devdata *dd) | |||
1042 | ipath_dbg("No GUID for heartbeat, faking %llx\n", | 1042 | ipath_dbg("No GUID for heartbeat, faking %llx\n", |
1043 | (unsigned long long)guid); | 1043 | (unsigned long long)guid); |
1044 | } else | 1044 | } else |
1045 | ipath_cdbg(VERBOSE, "Wrote %llX to HRTBT_GUID\n", guid); | 1045 | ipath_cdbg(VERBOSE, "Wrote %llX to HRTBT_GUID\n", |
1046 | (unsigned long long) guid); | ||
1046 | ipath_write_kreg(dd, dd->ipath_kregs->kr_hrtbt_guid, guid); | 1047 | ipath_write_kreg(dd, dd->ipath_kregs->kr_hrtbt_guid, guid); |
1047 | return ret; | 1048 | return ret; |
1048 | } | 1049 | } |
@@ -2505,7 +2506,7 @@ done: | |||
2505 | if (dd->ipath_flags & IPATH_IB_AUTONEG_INPROG) { | 2506 | if (dd->ipath_flags & IPATH_IB_AUTONEG_INPROG) { |
2506 | ipath_dbg("Did not get to DDR INIT (%x) after %Lu msecs\n", | 2507 | ipath_dbg("Did not get to DDR INIT (%x) after %Lu msecs\n", |
2507 | ipath_ib_state(dd, dd->ipath_lastibcstat), | 2508 | ipath_ib_state(dd, dd->ipath_lastibcstat), |
2508 | jiffies_to_msecs(jiffies)-startms); | 2509 | (unsigned long long) jiffies_to_msecs(jiffies)-startms); |
2509 | dd->ipath_flags &= ~IPATH_IB_AUTONEG_INPROG; | 2510 | dd->ipath_flags &= ~IPATH_IB_AUTONEG_INPROG; |
2510 | if (dd->ipath_autoneg_tries == IPATH_AUTONEG_TRIES) { | 2511 | if (dd->ipath_autoneg_tries == IPATH_AUTONEG_TRIES) { |
2511 | dd->ipath_flags |= IPATH_IB_AUTONEG_FAILED; | 2512 | dd->ipath_flags |= IPATH_IB_AUTONEG_FAILED; |
diff --git a/drivers/infiniband/hw/ipath/ipath_intr.c b/drivers/infiniband/hw/ipath/ipath_intr.c index 26900b3b7a4e..6c21b4b5ec71 100644 --- a/drivers/infiniband/hw/ipath/ipath_intr.c +++ b/drivers/infiniband/hw/ipath/ipath_intr.c | |||
@@ -356,9 +356,10 @@ static void handle_e_ibstatuschanged(struct ipath_devdata *dd, | |||
356 | dd->ipath_cregs->cr_iblinkerrrecovcnt); | 356 | dd->ipath_cregs->cr_iblinkerrrecovcnt); |
357 | if (linkrecov != dd->ipath_lastlinkrecov) { | 357 | if (linkrecov != dd->ipath_lastlinkrecov) { |
358 | ipath_dbg("IB linkrecov up %Lx (%s %s) recov %Lu\n", | 358 | ipath_dbg("IB linkrecov up %Lx (%s %s) recov %Lu\n", |
359 | ibcs, ib_linkstate(dd, ibcs), | 359 | (unsigned long long) ibcs, |
360 | ib_linkstate(dd, ibcs), | ||
360 | ipath_ibcstatus_str[ltstate], | 361 | ipath_ibcstatus_str[ltstate], |
361 | linkrecov); | 362 | (unsigned long long) linkrecov); |
362 | /* and no more until active again */ | 363 | /* and no more until active again */ |
363 | dd->ipath_lastlinkrecov = 0; | 364 | dd->ipath_lastlinkrecov = 0; |
364 | ipath_set_linkstate(dd, IPATH_IB_LINKDOWN); | 365 | ipath_set_linkstate(dd, IPATH_IB_LINKDOWN); |
@@ -1118,9 +1119,11 @@ irqreturn_t ipath_intr(int irq, void *data) | |||
1118 | if (unlikely(istat & ~dd->ipath_i_bitsextant)) | 1119 | if (unlikely(istat & ~dd->ipath_i_bitsextant)) |
1119 | ipath_dev_err(dd, | 1120 | ipath_dev_err(dd, |
1120 | "interrupt with unknown interrupts %Lx set\n", | 1121 | "interrupt with unknown interrupts %Lx set\n", |
1122 | (unsigned long long) | ||
1121 | istat & ~dd->ipath_i_bitsextant); | 1123 | istat & ~dd->ipath_i_bitsextant); |
1122 | else if (istat & ~INFINIPATH_I_ERROR) /* errors do own printing */ | 1124 | else if (istat & ~INFINIPATH_I_ERROR) /* errors do own printing */ |
1123 | ipath_cdbg(VERBOSE, "intr stat=0x%Lx\n", istat); | 1125 | ipath_cdbg(VERBOSE, "intr stat=0x%Lx\n", |
1126 | (unsigned long long) istat); | ||
1124 | 1127 | ||
1125 | if (istat & INFINIPATH_I_ERROR) { | 1128 | if (istat & INFINIPATH_I_ERROR) { |
1126 | ipath_stats.sps_errints++; | 1129 | ipath_stats.sps_errints++; |
@@ -1128,7 +1131,8 @@ irqreturn_t ipath_intr(int irq, void *data) | |||
1128 | dd->ipath_kregs->kr_errorstatus); | 1131 | dd->ipath_kregs->kr_errorstatus); |
1129 | if (!estat) | 1132 | if (!estat) |
1130 | dev_info(&dd->pcidev->dev, "error interrupt (%Lx), " | 1133 | dev_info(&dd->pcidev->dev, "error interrupt (%Lx), " |
1131 | "but no error bits set!\n", istat); | 1134 | "but no error bits set!\n", |
1135 | (unsigned long long) istat); | ||
1132 | else if (estat == -1LL) | 1136 | else if (estat == -1LL) |
1133 | /* | 1137 | /* |
1134 | * should we try clearing all, or hope next read | 1138 | * should we try clearing all, or hope next read |
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.c b/drivers/infiniband/hw/ipath/ipath_verbs.c index 55c718828826..b766e40e9ebf 100644 --- a/drivers/infiniband/hw/ipath/ipath_verbs.c +++ b/drivers/infiniband/hw/ipath/ipath_verbs.c | |||
@@ -1021,7 +1021,7 @@ static void sdma_complete(void *cookie, int status) | |||
1021 | struct ipath_verbs_txreq *tx = cookie; | 1021 | struct ipath_verbs_txreq *tx = cookie; |
1022 | struct ipath_qp *qp = tx->qp; | 1022 | struct ipath_qp *qp = tx->qp; |
1023 | struct ipath_ibdev *dev = to_idev(qp->ibqp.device); | 1023 | struct ipath_ibdev *dev = to_idev(qp->ibqp.device); |
1024 | unsigned int flags; | 1024 | unsigned long flags; |
1025 | enum ib_wc_status ibs = status == IPATH_SDMA_TXREQ_S_OK ? | 1025 | enum ib_wc_status ibs = status == IPATH_SDMA_TXREQ_S_OK ? |
1026 | IB_WC_SUCCESS : IB_WC_WR_FLUSH_ERR; | 1026 | IB_WC_SUCCESS : IB_WC_WR_FLUSH_ERR; |
1027 | 1027 | ||
@@ -1051,7 +1051,7 @@ static void sdma_complete(void *cookie, int status) | |||
1051 | 1051 | ||
1052 | static void decrement_dma_busy(struct ipath_qp *qp) | 1052 | static void decrement_dma_busy(struct ipath_qp *qp) |
1053 | { | 1053 | { |
1054 | unsigned int flags; | 1054 | unsigned long flags; |
1055 | 1055 | ||
1056 | if (atomic_dec_and_test(&qp->s_dma_busy)) { | 1056 | if (atomic_dec_and_test(&qp->s_dma_busy)) { |
1057 | spin_lock_irqsave(&qp->s_lock, flags); | 1057 | spin_lock_irqsave(&qp->s_lock, flags); |
@@ -1221,7 +1221,7 @@ static int ipath_verbs_send_pio(struct ipath_qp *qp, | |||
1221 | unsigned flush_wc; | 1221 | unsigned flush_wc; |
1222 | u32 control; | 1222 | u32 control; |
1223 | int ret; | 1223 | int ret; |
1224 | unsigned int flags; | 1224 | unsigned long flags; |
1225 | 1225 | ||
1226 | piobuf = ipath_getpiobuf(dd, plen, NULL); | 1226 | piobuf = ipath_getpiobuf(dd, plen, NULL); |
1227 | if (unlikely(piobuf == NULL)) { | 1227 | if (unlikely(piobuf == NULL)) { |