From: Steve Wise sw...@opengridcomputing.com
40G devices need a bigger windows, so default 40G devices to snd 512K
rcv 1024K.
Fixed a bug that shows up with recv window sizes that exceed the size of
the RCV_BUFSIZ field in opt0 (= 1024K :). If the recv window exceeds
this, then we specify the
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/device.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/device.c
b/drivers/infiniband/hw/cxgb4/device.c
index
From: Steve Wise sw...@opengridcomputing.com
To avoid racing with other threads doing close/flush/whatever, rx_data()
should hold the endpoint mutex.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 16 +---
1 file changed, 9
From: Steve Wise sw...@opengridcomputing.com
The current logic suffers from a slow response time to disable user DB
usage, and also fails to avoid DB FIFO drops under heavy load. This commit
fixes these deficiencies and makes the avoidance logic more optimal.
This is done by more efficiently
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index
Signed-off-by: Hariprasad Shenai haripra...@chelsio.com
---
drivers/infiniband/hw/cxgb4/resource.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/resource.c
b/drivers/infiniband/hw/cxgb4/resource.c
index d9bc9ba..67df71a 100644
--- a/drivers
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index f6891b8..95b3c01 100644
---
From: Steve Wise sw...@opengridcomputing.com
1) timedout endpoint processing can be starved. If there is continual
CPL messages flowing into the driver, the endpoint timeout processing
can be starved. This condition exposed the other bugs below.
Solution: In process_work(), call
From: Steve Wise sw...@opengridcomputing.com
Added some missing debug stats.
Use uninitialized_var().
Initialize reserved fields in a FW work request.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c | 2 +-
drivers/infiniband/hw/cxgb4/mem.c
From: Steve Wise sw...@opengridcomputing.com
There is a race when moving a QP from RTS-CLOSING where a SQ work
request could be posted after the FW receives the RDMA_RI/FINI WR.
The SQ work request will never get processed, and should be completed
with FLUSHED status. Function c4iw_flush_sq(),
From: Steve Wise sw...@opengridcomputing.com
Based on original work from Jay Hernandez j...@chelsio.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
find_route() must treat loopback as a valid
egress interface.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
When processing an MPA Start Request, if the listening
endpoint is DEAD, then abort the connection.
If the IWCM returns an error, then we must abort the connection and
release resources. Also abort_connection() should not post a CLOSE
event, so clean
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 1 +
drivers/infiniband/hw/cxgb4/qp.c | 6 --
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
These are generated by HW in some error cases and need to be
silently discarded.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c | 24
1 file changed, 20 insertions(+), 4
From: Steve Wise sw...@opengridcomputing.com
We cannot save the mapped length using the rdma max_page_list_len field
of the ib_fast_reg_page_list struct because the core code uses it. This
results in an incorrect unmap of the page list in c4iw_free_fastreg_pbl().
I found this with dma map
From: Kumar Sanghvi kuma...@chelsio.com
Based on original work by Casey Leedom lee...@chelsio.com
Signed-off-by: Kumar Sanghvi kuma...@chelsio.com
---
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 1 +
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 106 +++
From: Kumar Sanghvi kuma...@chelsio.com
We'd come in with SGE_FL_BUFFER_SIZE[0] and [1] both equal to 64KB and the
extant logic would flag that as an error.
Based on original work by Casey Leedom lee...@chelsio.com
Signed-off-by: Kumar Sanghvi kuma...@chelsio.com
---
From: Kumar Sanghvi kuma...@chelsio.com
Based on original work by Casey Leedom lee...@chelsio.com
Signed-off-by: Kumar Sanghvi kuma...@chelsio.com
---
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 9 ++-
drivers/net/ethernet/chelsio/cxgb4/sge.c | 91 --
2 files
From: Steve Wise sw...@opengridcomputing.com
Need to do an sfence after both the WC and regular PIDX DB write.
Otherwise the host might reorder things and cause work request corruption
(seen with NFSRDMA).
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
From: Steve Wise sw...@opengridcomputing.com
There is a race when moving a QP from RTS-CLOSING where a SQ work
request could be posted after the FW receives the RDMA_RI/FINI WR.
The SQ work request will never get processed, and should be completed
with FLUSHED status. Function c4iw_flush_sq(),
From: Steve Wise sw...@opengridcomputing.com
Based on original work by Anand Priyadarshee ana...@chelsio.com.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c| 24
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 1 +
From: Steve Wise sw...@opengridcomputing.com
Some HW platforms can reorder read operations, so we must rmb() after
we see a valid gen bit in a CQE but before we read any other fields
from the CQE.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/t4.h | 1 +
From: Steve Wise sw...@opengridcomputing.com
1) timedout endpoint processing can be starved. If there is continual
CPL messages flowing into the driver, the endpoint timeout processing
can be starved. This condition exposed the other bugs below.
Solution: In process_work(), call
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 1 +
drivers/infiniband/hw/cxgb4/qp.c | 6 --
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
find_route() must treat loopback as a valid
egress interface.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
40G devices need a bigger windows, so default 40G devices to snd 512K
rcv 1024K.
Fixed a bug that shows up with recv window sizes that exceed the size of
the RCV_BUFSIZ field in opt0 (= 1024K :). If the recv window exceeds
this, then we specify the
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/device.c | 41 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 ++
drivers/infiniband/hw/cxgb4/qp.c | 59 +---
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/device.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/device.c
b/drivers/infiniband/hw/cxgb4/device.c
index
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index f6891b8..95b3c01 100644
---
From: Steve Wise sw...@opengridcomputing.com
Based on original work from Jay Hernandez j...@chelsio.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
There is a race between ULP threads doing an accept/reject, and the
ingress processing thread handling close/abort for the same connection.
The accept/reject path needs to hold the lock to serialize these paths.
Signed-off-by: Steve Wise
From: Kumar Sanghvi kuma...@chelsio.com
Currently ring_tx_db() can deadlock if a db_full interrupt fires and is
run on the same while ring_tx_db() has the db lock held. It needs to
disable interrupts since it serializes with an interrupt handler.
Based on original work by Steve Wise
From: Steve Wise sw...@opengridcomputing.com
Always release the neigh entry in rx_pkt().
Based on original work by Santosh Rastapur sant...@chelsio.com.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 5 +++--
1 file changed, 3 insertions(+), 2
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index
From: Steve Wise sw...@opengridcomputing.com
To avoid racing with other threads doing close/flush/whatever, rx_data()
should hold the endpoint mutex.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 16 +---
1 file changed, 9
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index f4a9ebe..e7c6dfd 100644
---
Commit 0034b29 (cxgb4: Don't assume LSO only uses SGL path in t4_eth_xmit())
introduced a regression causing chip-hang. This patch needs more debugging and
more work. So reverting for now.
Signed-off-by: Hariprasad Shenai haripra...@chelsio.com
---
drivers/net/ethernet/chelsio/cxgb4/sge.c | 32
From: Steve Wise sw...@opengridcomputing.com
Added some missing debug stats.
Use uninitialized_var().
Initialize reserved fields in a FW work request.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c | 2 +-
drivers/infiniband/hw/cxgb4/mem.c
From: Steve Wise sw...@opengridcomputing.com
When processing an MPA Start Request, if the listening
endpoint is DEAD, then abort the connection.
If the IWCM returns an error, then we must abort the connection and
release resources. Also abort_connection() should not post a CLOSE
event, so clean
From: Kumar Sanghvi kuma...@chelsio.com
Based on original work by Casey Leedom lee...@chelsio.com
Signed-off-by: Kumar Sanghvi kuma...@chelsio.com
---
drivers/net/ethernet/chelsio/cxgb4/sge.c | 18 +-
drivers/net/ethernet/chelsio/cxgb4/t4_regs.h | 6 ++
2 files changed,
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/cxgb4/cq.c b/drivers/infiniband/hw/cxgb4/cq.c
index 88de3aa..c0673ac
From: Steve Wise sw...@opengridcomputing.com
The current logic suffers from a slow response time to disable user DB
usage, and also fails to avoid DB FIFO drops under heavy load. This commit
fixes these deficiencies and makes the avoidance logic more optimal.
This is done by more efficiently
From: Steve Wise sw...@opengridcomputing.com
These are generated by HW in some error cases and need to be
silently discarded.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c | 24
1 file changed, 20 insertions(+), 4
From: Steve Wise sw...@opengridcomputing.com
The max depth of a fastreg mr depends on whether the device supports DSGL or
not. So
compute it dynamically based on the device support and the module use_dsgl
option.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
From: Steve Wise sw...@opengridcomputing.com
If cxgb4_ofld_send() returns 0, then send_fw_pass_open_req() must
free the request skb and the saved skb with the tcp header.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 9 -
1 file changed, 8
.
(cxgb4/iw_cxgb4: Doorbell Drop Avoidance Bug Fixes.)
Hariprasad Shenai (1):
Revert cxgb4: Don't assume LSO only uses SGL path in t4_eth_xmit()
Kumar Sanghvi (5):
cxgb4: Fix some small bugs in t4_sge_init_soft() when our Page Size
is 64KB
cxgb4: Add code to dump SGE registers when hitting
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/cq.c b/drivers/infiniband/hw/cxgb4/cq.c
index
From: Kumar Sanghvi kuma...@chelsio.com
Based on original work by Casey Leedom lee...@chelsio.com
Signed-off-by: Kumar Sanghvi kuma...@chelsio.com
---
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h |1 +
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 106 ++
From: Kumar Sanghvi kuma...@chelsio.com
We'd come in with SGE_FL_BUFFER_SIZE[0] and [1] both equal to 64KB and the
extant logic would flag that as an error.
Based on original work by Casey Leedom lee...@chelsio.com
Signed-off-by: Kumar Sanghvi kuma...@chelsio.com
---
From: Kumar Sanghvi kuma...@chelsio.com
Based on original work by Casey Leedom lee...@chelsio.com
Signed-off-by: Kumar Sanghvi kuma...@chelsio.com
---
drivers/net/ethernet/chelsio/cxgb4/sge.c | 18 +-
drivers/net/ethernet/chelsio/cxgb4/t4_regs.h |6 ++
2 files
From: Steve Wise sw...@opengridcomputing.com
find_route() must treat loopback as a valid
egress interface.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
Always release the neigh entry in rx_pkt().
Based on original work by Santosh Rastapur sant...@chelsio.com.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |5 +++--
1 files changed, 3 insertions(+), 2
From: Steve Wise sw...@opengridcomputing.com
Based on original work by Anand Priyadarshee ana...@chelsio.com.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c| 25 +
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h |
From: Steve Wise sw...@opengridcomputing.com
Based on original work from Jay Hernandez j...@chelsio.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
The max depth of a fastreg mr depends on whether the device supports DSGL or
not. So
compute it dynamically based on the device support and the module use_dsgl
option.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
From: Steve Wise sw...@opengridcomputing.com
There is a race between ULP threads doing an accept/reject, and the
ingress processing thread handling close/abort for the same connection.
The accept/reject path needs to hold the lock to serialize these paths.
Signed-off-by: Steve Wise
From: Steve Wise sw...@opengridcomputing.com
Added some missing debug stats.
Use uninitialized_var().
Rate limit warning printks.
Initialize reserved fields in a FW work request.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c |2 +-
From: Steve Wise sw...@opengridcomputing.com
There is a race when moving a QP from RTS-CLOSING where a SQ work
request could be posted after the FW receives the RDMA_RI/FINI WR.
The SQ work request will never get processed, and should be completed
with FLUSHED status. Function c4iw_flush_sq(),
From: Steve Wise sw...@opengridcomputing.com
We cannot save the mapped length using the rdma max_page_list_len field
of the ib_fast_reg_page_list struct because the core code uses it. This
results in an incorrect unmap of the page list in c4iw_free_fastreg_pbl().
I found this with dma map
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/device.c |4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/device.c
b/drivers/infiniband/hw/cxgb4/device.c
From: Steve Wise sw...@opengridcomputing.com
The current logic suffers from a slow response time to disable user DB
usage, and also fails to avoid DB FIFO drops under heavy load. This commit
fixes these deficiencies and makes the avoidance logic more optimal.
This is done by more efficiently
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/iw_cxgb4.h |1 +
drivers/infiniband/hw/cxgb4/qp.c |6 --
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/device.c | 41 +
drivers/infiniband/hw/cxgb4/iw_cxgb4.h |2 +
drivers/infiniband/hw/cxgb4/qp.c | 59
From: Kumar Sanghvi kuma...@chelsio.com
Currently ring_tx_db() can deadlock if a db_full interrupt fires and is
run on the same while ring_tx_db() has the db lock held. It needs to
disable interrupts since it serializes with an interrupt handler.
Based on original work by Steve Wise
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index
From: Steve Wise sw...@opengridcomputing.com
If cxgb4_ofld_send() returns 0, then send_fw_pass_open_req() must
free the request skb and the saved skb with the tcp header.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |9 -
1 files
From: Steve Wise sw...@opengridcomputing.com
40G devices need a bigger windows, so default 40G devices to snd 512K
rcv 1024K.
Fixed a bug that shows up with recv window sizes that exceed the size of
the RCV_BUFSIZ field in opt0 (= 1024K :). If the recv window exceeds
this, then we specify the
From: Steve Wise sw...@opengridcomputing.com
These are generated by HW in some error cases and need to be
silently discarded.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c | 20
1 files changed, 20 insertions(+), 0 deletions(-)
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index
From: Steve Wise sw...@opengridcomputing.com
Some HW platforms can reorder read operations, so we must rmb() after
we see a valid gen bit in a CQE but before we read any other fields
from the CQE.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/t4.h |1
From: Steve Wise sw...@opengridcomputing.com
1) timedout endpoint processing can be starved. If there is continual
CPL messages flowing into the driver, the endpoint timeout processing
can be starved. This condition exposed the other bugs below.
Solution: In process_work(), call
From: Steve Wise sw...@opengridcomputing.com
Need to do an sfence after both the WC and regular PIDX DB write.
Otherwise the host might reorder things and cause work request corruption
(seen with NFSRDMA).
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/cq.c b/drivers/infiniband/hw/cxgb4/cq.c
index
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/device.c |4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/device.c
b/drivers/infiniband/hw/cxgb4/device.c
From: Steve Wise sw...@opengridcomputing.com
find_route() must treat loopback as a valid
egress interface.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
These are generated by HW in some error cases and need to be
silently discarded.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c | 20
1 files changed, 20 insertions(+), 0 deletions(-)
From: Steve Wise sw...@opengridcomputing.com
Added some missing debug stats.
Use uninitialized_var().
Rate limit warning printks.
Initialize reserved fields in a FW work request.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c |2 +-
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index
From: Steve Wise sw...@opengridcomputing.com
Based on original work from Jay Hernandez j...@chelsio.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cq.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git
From: Steve Wise sw...@opengridcomputing.com
Based on original work by Anand Priyadarshee ana...@chelsio.com.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c| 25 +
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h |
From: Steve Wise sw...@opengridcomputing.com
There is a race when moving a QP from RTS-CLOSING where a SQ work
request could be posted after the FW receives the RDMA_RI/FINI WR.
The SQ work request will never get processed, and should be completed
with FLUSHED status. Function c4iw_flush_sq(),
From: Steve Wise sw...@opengridcomputing.com
40G devices need a bigger windows, so default 40G devices to snd 512K
rcv 1024K.
Fixed a bug that shows up with recv window sizes that exceed the size of
the RCV_BUFSIZ field in opt0 (= 1024K :). If the recv window exceeds
this, then we specify the
From: Steve Wise sw...@opengridcomputing.com
Some HW platforms can reorder read operations, so we must rmb() after
we see a valid gen bit in a CQE but before we read any other fields
from the CQE.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/t4.h |1
From: Steve Wise sw...@opengridcomputing.com
1) timedout endpoint processing can be starved. If there is continual
CPL messages flowing into the driver, the endpoint timeout processing
can be starved. This condition exposed the other bugs below.
Solution: In process_work(), call
From: Kumar Sanghvi kuma...@chelsio.com
Based on original work by Casey Leedom lee...@chelsio.com
Signed-off-by: Kumar Sanghvi kuma...@chelsio.com
---
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h |1 +
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 106 ++
From: Steve Wise sw...@opengridcomputing.com
The max depth of a fastreg mr depends on whether the device supports DSGL or
not. So
compute it dynamically based on the device support and the module use_dsgl
option.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
From: Kumar Sanghvi kuma...@chelsio.com
Currently ring_tx_db() can deadlock if a db_full interrupt fires and is
run on the same while ring_tx_db() has the db lock held. It needs to
disable interrupts since it serializes with an interrupt handler.
Based on original work by Steve Wise
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/device.c | 41 +
drivers/infiniband/hw/cxgb4/iw_cxgb4.h |2 +
drivers/infiniband/hw/cxgb4/qp.c | 59
From: Kumar Sanghvi kuma...@chelsio.com
We'd come in with SGE_FL_BUFFER_SIZE[0] and [1] both equal to 64KB and the
extant logic would flag that as an error.
Based on original work by Casey Leedom lee...@chelsio.com
Signed-off-by: Kumar Sanghvi kuma...@chelsio.com
---
Hi All,
This patch series provides miscelleneous fixes for Chelsio T4/T5 adapters
related to cxgb4 related to sge and mtu. And includes DB Drop avoidance
and other misc. fixes on iw-cxgb4.
The patches series is created against David Miller's 'net-next' tree.
And includes patches on cxgb4 and
From: Kumar Sanghvi kuma...@chelsio.com
Commit 0034b29 (cxgb4: Don't assume LSO only uses SGL path in t4_eth_xmit())
introduced a regression causing chip-hang. This patch needs more debugging and
more work. So reverting for now.
Signed-off-by: Hariprasad Shenai haripra...@chelsio.com
From: Steve Wise sw...@opengridcomputing.com
To avoid racing with other threads doing close/flush/whatever, rx_data()
should hold the endpoint mutex.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c | 16 +---
1 files changed, 9
From: Kumar Sanghvi kuma...@chelsio.com
Based on original work by Casey Leedom lee...@chelsio.com
Signed-off-by: Kumar Sanghvi kuma...@chelsio.com
---
drivers/net/ethernet/chelsio/cxgb4/sge.c | 18 +-
drivers/net/ethernet/chelsio/cxgb4/t4_regs.h |6 ++
2 files
From: Steve Wise sw...@opengridcomputing.com
If cxgb4_ofld_send() returns 0, then send_fw_pass_open_req() must
free the request skb and the saved skb with the tcp header.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |9 -
1 files
From: Steve Wise sw...@opengridcomputing.com
Always release the neigh entry in rx_pkt().
Based on original work by Santosh Rastapur sant...@chelsio.com.
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/cm.c |5 +++--
1 files changed, 3 insertions(+), 2
From: Steve Wise sw...@opengridcomputing.com
Need to do an sfence after both the WC and regular PIDX DB write.
Otherwise the host might reorder things and cause work request corruption
(seen with NFSRDMA).
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
From: Steve Wise sw...@opengridcomputing.com
Signed-off-by: Steve Wise sw...@opengridcomputing.com
---
drivers/infiniband/hw/cxgb4/iw_cxgb4.h |1 +
drivers/infiniband/hw/cxgb4/qp.c |6 --
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git
201 - 300 of 319 matches
Mail list logo