9efe10a1e1a1ab1dba0af0f520e0697f6e81ebf1 |
|
06-Oct-2011 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Fail RDMA initialization for unsupported cards The iw_cxgb4 module crashes at init time if the T4 card does not support RDMA. So clean up the init logic to correctly deal with non-RDMA cards. - If any RDMA resources are not available, then fail the initialization logging an info message. - Clean up properly on initialization failures. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/cxgb4/device.c
|
2f25e9a540951ebd533b9b98d2259deb44b0b476 |
|
10-May-2011 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: EEH errors can hang the driver A few more EEH fixes: c4iw_wait_for_reply(): detect fatal EEH condition on timeout and return an error. The iw_cxgb4 driver was only calling ib_deregister_device() on an EEH event followed by a ib_register_device() when the device was reinitialized. However, the RDMA core doesn't allow multiple iterations of register/deregister by the provider. See drivers/infiniband/core/sysfs.c: ib_device_unregister_sysfs() where the kobject ref is held until the device is deallocated in ib_deallocate_device(). Calling deregister adds this kobj reference, and then a subsequent register call will generate a WARN_ON() from the kobject subsystem because the kobject is being initialized but is already initialized with the ref held. So the provider must deregister and dealloc when resetting for an EEH event, then alloc/register to re-initialize. To do this, we cannot use the device ptr as our ULD handle since it will change with each reallocation. This commit adds a ULD context struct which is used as the ULD handle, and then contains the device pointer and other state needed. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/cxgb4/device.c
|
bbe9a0a2bc07cf30c5b89b51154f2c87200a5dfd |
|
10-May-2011 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Initialization errors can cause crash c4iw_uld_add() must return ERR_PTR() values instead of NULL on failure. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/cxgb4/device.c
|
db5d040d7b2d15539d2c84932f93621d9bd482f7 |
|
11-Mar-2011 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Debugfs dump_qp() updates - Show whether the SQ is in onchip memory or not. - Dump both SQ and RQ QIDs. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/cxgb4/device.c
|
767fbe8151d1a7cc8a69e52e354e4220a5e804fb |
|
11-Mar-2011 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Dispatch FATAL event on EEH errors This at least kicks the user mode applications that are watching for device events. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/cxgb4/device.c
|
294281373999e7fff393c04eb16092a8f00ad5aa |
|
11-Mar-2011 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Remove db_drop_task Unloading iw_cxgb4 can crash due to the unload code trying to use db_drop_task, which is uninitialized. So remove this dead code. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/cxgb4/device.c
|
da411ba1daf895bdae9420101e8e2741d6633342 |
|
18-Oct-2010 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Use cxgb4 service for packet gl to skb Remove the local service t4_pktgl_to_skb() and use cxgb4_pktgl_to_skb() exported by cxgb4. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/cxgb4/device.c
|
3160977a6e66ea4c4b4f33010f5d04f0004b938c |
|
29-Sep-2010 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Use simple_read_from_buffer() for debugfs handlers We can replace our equivalent open-coded version. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/cxgb4/device.c
|
8bbac892fb75d20fa274ca026e24faf00afbf9dd |
|
29-Sep-2010 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Add default_llseek to debugfs files Incorporate BKL removal changes. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/cxgb4/device.c
|
c6d7b26791a2aefdf97f2af1e93161ed05acd631 |
|
13-Sep-2010 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Support on-chip SQs T4 support on-chip SQs to reduce latency. This patch adds support for this in iw_cxgb4: - Manage ocqp memory like other adapter mem resources. - Allocate user mode SQs from ocqp mem if available. - Map ocqp mem to user process using write combining. - Map PCIE_MA_SYNC reg to user process. Bump uverbs ABI. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/cxgb4/device.c
|
9e8d1fa3420f489da8a5da47c026511aa71fa50b |
|
10-Sep-2010 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: debugfs files for dumping active stags Add "stags" debugfs file. This is useful for examining the TPTE and PBL entries in adapter memory. It allows scripts to dump just the active entries. Also clean up the "qps" file handlers and shared common code. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/cxgb4/device.c
|
93fb72e443b9fcbef598faa05478883952edca77 |
|
23-Jun-2010 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Obtain RDMA QID ranges from LLD/FW Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/cxgb4/device.c
|
1c01c5388306a4c2245b71da0cba22d521e897ae |
|
20-May-2010 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Register RDMA provider based on LLD state_change events The LLD now supports proper UP state change events, so move the RDMA provider registration to UP path. This fixes a crash when loading iw_cxgb4 _after_ the NFS/RDMA transport is up and running. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/cxgb4/device.c
|
fd388ce677e7de9180a7d46d12c5162f76af64ac |
|
20-May-2010 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Detach from the LLD after unregistering RDMA device In the RDMA core unregister path, kernel users will be calling down into the T4 provider to release resources. So we cannot detach from the LLD until this process completes. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/cxgb4/device.c
|
cfdda9d764362ab77b11a410bb928400e6520d57 |
|
22-Apr-2010 |
Steve Wise <swise@opengridcomputing.com> |
RDMA/cxgb4: Add driver for Chelsio T4 RNIC Add an RDMA/iWARP driver for Chelsio T4 Ethernet adapters. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/cxgb4/device.c
|