Tatyana Nikolova [Thu, 13 Dec 2012 17:49:44 +0000 (11:49 -0600)]
RDMA/nes: Fixes for OFED-3.5 RC3
1. Backports for ethtool ops (which allow turning on/off tx, rx, sg, tso)
are added for RHEL 6.2 and 6.3
2. Fix for crash caused by improper skb ip_summed field setting
when tx checksum is disabled
3. Fix for crash when registering MR with zero length
Vipul Pandya [Wed, 7 Nov 2012 14:13:26 +0000 (06:13 -0800)]
cxgb4: Fix initialization of SGE_CONTROL register
INGPADBOUNDARY_MASK is already shifted. No need to shift it again. On reloading
a driver it was resulting in a bad SGE FL MTU sizes [1536, 9088] error. This
only causes an issue on systems that have L1 cache size of 32B, 128B, 512B,
2048B or 4096B.
Signed-off-by: Jay Hernandez <jay@chelsio.com> Signed-off-by: Vipul Pandya <vipul@chelsio.com>
Vipul Pandya [Tue, 6 Nov 2012 12:31:47 +0000 (04:31 -0800)]
cxgb4: Add embedded firmware and its configuration file support
In case if firmware is not preset at /lib/firmware/cxgb4/t4fw.bin location and
its configuration file is not present at /lib/firmware/cxgb4/t4-config.txt
location then these embedded firmware and configuration file present in the
driver will be loaded and adapter will get initialised with it.
Vipul Pandya [Wed, 31 Oct 2012 16:39:01 +0000 (09:39 -0700)]
cxgb4/iw_cxgb4: Add LE hash collision bug fix for active and passive offloaded connections
If the hash functionality is enabled in T4 than tuple information of active and
passive offloaded connections are stored in DDR3 memory. LE (Lookup Engine)
implements the interface to search this tuple entries using hash algorithm. If
the number of offloaded connections exceeds the number of maximum hash entries
in DDR3 memory then LE hash collision can occur. To avoid this, driver will
take different path for offloading active and passive connections.
In case of active connection, firmware detects LE hash collision situation and
notifies driver. Driver uses fw_ofld_connection work request to offload that
connection and stores its tuple information in TCAM memory array.
Incase of passive connection, server filter region is created in TCAM. This
region stores the filter which will redirect the incoming SYN packet to offload
queues. After this driver tries to establish the connection using firmware work
request.
This patch series also adds framework for managing filters and to use T4's filter
capabilities.
RDMA/nes: Replace 0009-RDMA-nes-Fix-for-unlinking-NULL-skb.patch with 0009-RDMA-nes-Forward-fpdus-inorder.patch
Locking fix to prevent race conditions.
It forces all fpdus per QP to be forwarded to hardware in order of their tcp sequence numbers.
Vipul Pandya [Wed, 31 Oct 2012 16:36:55 +0000 (09:36 -0700)]
cxgb4: Fix unable to get UP event from the LLD
If T4 configuration file gets loaded from the /lib/firmware/cxgb4/ directory
then offload capabilities of the cards were getting disabled during
initialization. Hence ULDs do not get an UP event from the LLD.
Bart Van Assche [Thu, 18 Oct 2012 12:47:21 +0000 (14:47 +0200)]
ib_srp: Add post-3.5 upstream patches
The following three patches have been accepted upstream after kernel
3.5 was released:
- IB-srp-Fix-a-race-condition: avoid that late replies can trigger
a crash.
- IB-srp-Fix-use-after-free-in-srp_reset_req
- IB-srp-Avoid-having-aborted-requests-hang
Add these patches to OFED 3.5.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Vipul Pandya [Wed, 17 Oct 2012 07:48:48 +0000 (13:18 +0530)]
linux-next-cherry-picks: Fix build failure for kernel < 3.2
0004-cxgb4-cxgb4vf-Code-cleanup-to-enable-T4-Configuratio.patch was removing
some defines and enums unconditionally which were being used for kernel < 3.2
This patch adjusts above patch and checks the kernel version before removing
defines and enums.
Bart Van Assche [Fri, 12 Oct 2012 12:03:26 +0000 (14:03 +0200)]
ib_srp: Avoid that module removal can trigger a deadlock
Avoid that scsi_remove_host() is invoked from the context of a work
queue thread on which work has been queued that scsi_remove_host()
might be waiting for. That avoids that module removal of ib_srp
triggers a deadlock on a pre-2.6.36 kernel. This patch has been
tested on RHEL 6.1, RHEL 6.2, RHEL 6.3 and SLES 11 SP2.
Reported-by: Rupert Dance <rsdance@soft-forge.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Bart Van Assche [Thu, 4 Oct 2012 08:52:18 +0000 (10:52 +0200)]
ib_srp: Unbreak build on SLES 11 SP2
Use the <scsi/srp.h> header from compat-rdma instead of the
<scsi/srp.h> header from the kernel-devel package provided by
the OS for the srp_cred_req and related structure definitions.
Also, undefine pr_fmt() before redefining it since the
compat-rdma build process includes <linux/printk.h> from the
command line.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Vipul Pandya [Fri, 5 Oct 2012 10:32:32 +0000 (03:32 -0700)]
cxgb4: Add support for T4 configuration file
This patch adds patch series from linux-next tree to add support for T4
configuration file.
Starting with T4 firmware version 1.3.11.0 the firmware now supports device
configuration via a Firmware Configuration File. The Firmware Configuration
File was primarily developed in order to centralize all of the configuration,
resource allocation, etc. for Unified Wire operation where multiple
Physical / Virtual Function Drivers would be using a T4 adapter simultaneously.
The Firmware Configuration file can live in three locations as shown below
in order of precedence.
1) User defined configuration file: /lib/firmware/cxgb4/t4-config.txt
2) Factory Default configuration file written to FLASH within
the manufacturing process.
3) Hardwired driver configuration.
The meaning of the "Required-Stop" tag is which services must be
available during shutdown of a service. Avoid specifying the same
runlevel for the "Default-Start" and "Default-Stop" tag. Also,
the default start runlevels on Debian are 2, 3, 4 and 5.
See also http://refspecs.linuxfoundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Bug 2369 - [OFED-3.5] Trace observed in dmesg while running IMB-MPI1 using
openmpi-1.6
dst_neigh_lookup and neigh_release function has been introduced
in kernel >= 3.4.0. neigh_release function was introduced to
decrement the reference acquired by dst_neigh_lookup function.
neigh_release was getting called unnecessary for the kernel < 3.4.0
which was resulting in the trace.
linux-next-cherry-picks: RDMA/ucma.c: Different fix for ucma context uid=0, causing iWarp RDMA applications to fail in connection establishment
Fix for ucma context uid=0, causing iWarp RDMA applications to fail in connection establishment.
This is a new patch addressing the librdmacm segfault when RDMA_CM_EVENT_ESTABLISHED event shows up with evt->id_priv = NULL
In the ucma_event_handler(), ctx->file->mut is moved up to prevent race conditions and protect from assigning zero ucma ctx->uid to asynchronously generated events.
Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: Sean Hefty <Sean.Hefty@intel.com> Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
iw_cxgb3/iw_cxgb4: Enable header file inclusion with absolute path
iw_cxgb3/iw_cxgb4 driver includes header files of cxgb3/cxgb4 drivers
respectively. OFED build environment is not able to find the header files
if absolute path is not given.
Steve Wise [Wed, 27 Jun 2012 19:48:05 +0000 (14:48 -0500)]
ibdev2netdev: Support RNIC.
The oldstyle=y logic in ibdev2netdev to match netdevs to ibdevs didn't
work for RNIC devices since their mac address is left justified in
the gid. This patch uses the type attribute to do the right thing for
RNIC devices. Note: the oldstyle=n logic works.
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Vipul Pandya [Thu, 31 May 2012 11:57:37 +0000 (17:27 +0530)]
linux-next-cherry-picks: Add DB drop recovery patches for Chelsio's T4 adapter
This patch-series implements doorbell drop recovery for Chelsio T4 iWARP driver.
In the event where DBs are dropped application can get stalled for one or more
reasons. So, we recover RDMA and LLD queues in such an event.
We also take care for handling DB overflow events.
The patch-series also has some bug fixes, adds RDMA debugfs stats and removes
kfifo usage for ID mangement.
This patch-series is already merged with linux-next. However it is too big to
go into stable branch. It is required for Chelsio's T4 adapter correctness.
Hence adding them to linux-next-cherry-picks.
Vipul Pandya [Wed, 30 May 2012 12:15:52 +0000 (17:45 +0530)]
cxgb4: remove netdev_alloc_page and use __GFP_COLD
This patch removes 08-remove_netdev_alloc_page.patch since there are couple
of additional changes are required in cxgb4 driver apart from what this patch
does. It adds new cxgb4 driver patch with those additional changes.