From e9ab5467a05451d958cda79cf36f042ff6f1c712 Mon Sep 17 00:00:00 2001 From: Nicolas Kaiser Date: Tue, 26 Oct 2010 15:47:52 +0000 Subject: [PATCH] --- yaml --- r: 235131 b: refs/heads/master c: 2a543904ddcb463db9d56d1efcb2f80884ea55f3 h: refs/heads/master i: 235129: 57a20c76163871ec127a37c9003cc6c6c0e0184d 235127: 1cd4a19a47ac65d6e8e453b06b91c7411e8b996a v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/hw/cxgb4/cm.c | 6 ++--- trunk/drivers/infiniband/hw/cxgb4/device.c | 24 +++++-------------- trunk/drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 1 + trunk/drivers/infiniband/hw/cxgb4/qp.c | 4 ++-- trunk/drivers/infiniband/hw/cxgb4/t4.h | 8 +------ .../drivers/infiniband/hw/ipath/ipath_sysfs.c | 1 + trunk/drivers/net/cxgb4/t4_msg.h | 1 - 8 files changed, 14 insertions(+), 33 deletions(-) diff --git a/[refs] b/[refs] index 21214b314a68..1bd9ff17ef71 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: db5d040d7b2d15539d2c84932f93621d9bd482f7 +refs/heads/master: 2a543904ddcb463db9d56d1efcb2f80884ea55f3 diff --git a/trunk/drivers/infiniband/hw/cxgb4/cm.c b/trunk/drivers/infiniband/hw/cxgb4/cm.c index b4d9e4caf3c9..8b00e6c46f01 100644 --- a/trunk/drivers/infiniband/hw/cxgb4/cm.c +++ b/trunk/drivers/infiniband/hw/cxgb4/cm.c @@ -61,9 +61,9 @@ static char *states[] = { NULL, }; -static int dack_mode = 1; +static int dack_mode; module_param(dack_mode, int, 0644); -MODULE_PARM_DESC(dack_mode, "Delayed ack mode (default=1)"); +MODULE_PARM_DESC(dack_mode, "Delayed ack mode (default=0)"); int c4iw_max_read_depth = 8; module_param(c4iw_max_read_depth, int, 0644); @@ -482,7 +482,6 @@ static int send_connect(struct c4iw_ep *ep) TX_CHAN(ep->tx_chan) | SMAC_SEL(ep->smac_idx) | DSCP(ep->tos) | - ULP_MODE(ULP_MODE_TCPDDP) | RCV_BUFSIZ(rcv_win>>10); opt2 = RX_CHANNEL(0) | RSS_QUEUE_VALID | RSS_QUEUE(ep->rss_qid); @@ -1275,7 +1274,6 @@ static void accept_cr(struct c4iw_ep *ep, __be32 peer_ip, struct sk_buff *skb, TX_CHAN(ep->tx_chan) | SMAC_SEL(ep->smac_idx) | DSCP(ep->tos) | - ULP_MODE(ULP_MODE_TCPDDP) | RCV_BUFSIZ(rcv_win>>10); opt2 = RX_CHANNEL(0) | RSS_QUEUE_VALID | RSS_QUEUE(ep->rss_qid); diff --git a/trunk/drivers/infiniband/hw/cxgb4/device.c b/trunk/drivers/infiniband/hw/cxgb4/device.c index e29172c2afcb..54fbc1118abe 100644 --- a/trunk/drivers/infiniband/hw/cxgb4/device.c +++ b/trunk/drivers/infiniband/hw/cxgb4/device.c @@ -87,22 +87,17 @@ static int dump_qp(int id, void *p, void *data) return 1; if (qp->ep) - cc = snprintf(qpd->buf + qpd->pos, space, - "qp sq id %u rq id %u state %u onchip %u " + cc = snprintf(qpd->buf + qpd->pos, space, "qp id %u state %u " "ep tid %u state %u %pI4:%u->%pI4:%u\n", - qp->wq.sq.qid, qp->wq.rq.qid, (int)qp->attr.state, - qp->wq.sq.flags & T4_SQ_ONCHIP, + qp->wq.sq.qid, (int)qp->attr.state, qp->ep->hwtid, (int)qp->ep->com.state, &qp->ep->com.local_addr.sin_addr.s_addr, ntohs(qp->ep->com.local_addr.sin_port), &qp->ep->com.remote_addr.sin_addr.s_addr, ntohs(qp->ep->com.remote_addr.sin_port)); else - cc = snprintf(qpd->buf + qpd->pos, space, - "qp sq id %u rq id %u state %u onchip %u\n", - qp->wq.sq.qid, qp->wq.rq.qid, - (int)qp->attr.state, - qp->wq.sq.flags & T4_SQ_ONCHIP); + cc = snprintf(qpd->buf + qpd->pos, space, "qp id %u state %u\n", + qp->wq.sq.qid, (int)qp->attr.state); if (cc < space) qpd->pos += cc; return 0; @@ -373,6 +368,7 @@ static void c4iw_rdev_close(struct c4iw_rdev *rdev) static void c4iw_remove(struct c4iw_dev *dev) { PDBG("%s c4iw_dev %p\n", __func__, dev); + cancel_delayed_work_sync(&dev->db_drop_task); list_del(&dev->entry); if (dev->registered) c4iw_unregister_device(dev); @@ -527,16 +523,8 @@ static int c4iw_uld_state_change(void *handle, enum cxgb4_state new_state) case CXGB4_STATE_START_RECOVERY: printk(KERN_INFO MOD "%s: Fatal Error\n", pci_name(dev->rdev.lldi.pdev)); - dev->rdev.flags |= T4_FATAL_ERROR; - if (dev->registered) { - struct ib_event event; - - memset(&event, 0, sizeof event); - event.event = IB_EVENT_DEVICE_FATAL; - event.device = &dev->ibdev; - ib_dispatch_event(&event); + if (dev->registered) c4iw_unregister_device(dev); - } break; case CXGB4_STATE_DETACH: printk(KERN_INFO MOD "%s: Detach\n", diff --git a/trunk/drivers/infiniband/hw/cxgb4/iw_cxgb4.h b/trunk/drivers/infiniband/hw/cxgb4/iw_cxgb4.h index 9f6166f59268..2fe19ec9ba60 100644 --- a/trunk/drivers/infiniband/hw/cxgb4/iw_cxgb4.h +++ b/trunk/drivers/infiniband/hw/cxgb4/iw_cxgb4.h @@ -176,6 +176,7 @@ struct c4iw_dev { struct idr mmidr; spinlock_t lock; struct list_head entry; + struct delayed_work db_drop_task; struct dentry *debugfs_root; u8 registered; }; diff --git a/trunk/drivers/infiniband/hw/cxgb4/qp.c b/trunk/drivers/infiniband/hw/cxgb4/qp.c index 70a5a3c646da..4f0be25cab1a 100644 --- a/trunk/drivers/infiniband/hw/cxgb4/qp.c +++ b/trunk/drivers/infiniband/hw/cxgb4/qp.c @@ -31,9 +31,9 @@ */ #include "iw_cxgb4.h" -static int ocqp_support = 1; +static int ocqp_support; module_param(ocqp_support, int, 0644); -MODULE_PARM_DESC(ocqp_support, "Support on-chip SQs (default=1)"); +MODULE_PARM_DESC(ocqp_support, "Support on-chip SQs (default=0)"); static void set_state(struct c4iw_qp *qhp, enum c4iw_qp_state state) { diff --git a/trunk/drivers/infiniband/hw/cxgb4/t4.h b/trunk/drivers/infiniband/hw/cxgb4/t4.h index 24af12fc8228..70004425d695 100644 --- a/trunk/drivers/infiniband/hw/cxgb4/t4.h +++ b/trunk/drivers/infiniband/hw/cxgb4/t4.h @@ -507,14 +507,8 @@ static inline void t4_swcq_consume(struct t4_cq *cq) static inline void t4_hwcq_consume(struct t4_cq *cq) { cq->bits_type_ts = cq->queue[cq->cidx].bits_type_ts; - if (++cq->cidx_inc == (cq->size >> 4)) { - u32 val; - - val = SEINTARM(0) | CIDXINC(cq->cidx_inc) | TIMERREG(7) | - INGRESSQID(cq->cqid); - writel(val, cq->gts); + if (++cq->cidx_inc == cq->size) cq->cidx_inc = 0; - } if (++cq->cidx == cq->size) { cq->cidx = 0; cq->gen ^= 1; diff --git a/trunk/drivers/infiniband/hw/ipath/ipath_sysfs.c b/trunk/drivers/infiniband/hw/ipath/ipath_sysfs.c index b8cb2f145ae4..8991677e9a08 100644 --- a/trunk/drivers/infiniband/hw/ipath/ipath_sysfs.c +++ b/trunk/drivers/infiniband/hw/ipath/ipath_sysfs.c @@ -557,6 +557,7 @@ static ssize_t store_reset(struct device *dev, dev_info(dev,"Unit %d is disabled, can't reset\n", dd->ipath_unit); ret = -EINVAL; + goto bail; } ret = ipath_reset_device(dd->ipath_unit); bail: diff --git a/trunk/drivers/net/cxgb4/t4_msg.h b/trunk/drivers/net/cxgb4/t4_msg.h index eb71b8250b91..a550d0c706f3 100644 --- a/trunk/drivers/net/cxgb4/t4_msg.h +++ b/trunk/drivers/net/cxgb4/t4_msg.h @@ -123,7 +123,6 @@ enum { ULP_MODE_NONE = 0, ULP_MODE_ISCSI = 2, ULP_MODE_RDMA = 4, - ULP_MODE_TCPDDP = 5, ULP_MODE_FCOE = 6, };