History log of /drivers/infiniband/hw/nes/nes_hw.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c5488c571f08b2e21b060a1b43aa840d0a3c6e7a 28-Nov-2011 Tatyana Nikolova <Tatyana.E.Nikolova@intel.com> RDMA/nes: Copyright update

Update copyright information in the source files.

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Signed-off-by: Faisal Latif <Faisal.Latif@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/nes/nes_hw.c
196f40c8464799d185ee7417d2ee532468b374e6 05-Dec-2011 Tatyana Nikolova <Tatyana.E.Nikolova@intel.com> RDMA/nes: Fix terminate during AE

Fix for reset which happens right after sending a terminate message.
Terminate timer is not deleted when the connection is closed.

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Signed-off-by: Faisal Latif <Faisal.Latif@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/nes/nes_hw.c
30b7e117af450850b0fe813e1ee0780934bdcad3 07-Dec-2011 Tatyana Nikolova <Tatyana.E.Nikolova@intel.com> RDMA/nes: Change MDIO bus clock to 2.5MHz

Change the PHY clock divisor to make the MDIO clock 2.5MHz, instead of
3.5MHz (which is out of spec).

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Signed-off-by: Faisal Latif <Faisal.Latif@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/nes/nes_hw.c
0f0bee8bbc2b3e49baa703118041f99db9ef41a1 26-Sep-2011 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Support for Packed And Unaligned fpdus

Support for Packed and Unaligned (PAU) FPDUs is needed for
interoperability between NES and non-NES nodes. When the NES hardware
detects a PAU frame, it will pass it to the driver to process the
frame. NES driver creates a new frame for each FPDU and forwards it
to the hardware to be sent to its associated qp.

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Signed-off-by: Faisal Latif <Faisal.Latif@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/nes/nes_hw.c
6224c7eeff586e9dbf51b872d7e0bae291fa00ed 26-Sep-2011 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Print IP address for critcal errors

Print the IP address of the remote host when a critical asynchronous event is
received.

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Signed-off-by: Faisal Latif <Faisal.Latif@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/nes/nes_hw.c
bab3a9f43f211554626e189519b91ab9ef952f2d 26-Sep-2011 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Fix terminate connection

Fixes a crash that occurs during close when error async event is received.
Terminate message is not sent to the remote node if already processing close.

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Signed-off-by: Faisal Latif <Faisal.Latif@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/nes/nes_hw.c
7033c4ad87c3cf1050eb8190c93f94f5c8b9fae9 20-Jul-2011 Jiri Pirko <jpirko@redhat.com> nes: do vlan cleanup

- unify vlan and nonvlan rx path
- kill nesvnic->vlan_grp and nes_netdev_vlan_rx_register
- allow to turn on/off rx/tx vlan accel via ethtool (set_features)

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/infiniband/hw/nes/nes_hw.c
dd6f6d024906b8f05a0832c78c16a1e818958321 19-Apr-2011 Michał Mirosław <mirq-linux@rere.qmqm.pl> net: infiniband/hw/nes: convert to hw_features

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/infiniband/hw/nes/nes_hw.c
25985edcedea6396277003854657b5f3cb31a628 31-Mar-2011 Lucas De Marchi <lucas.demarchi@profusion.mobi> Fix common misspellings

Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
/drivers/infiniband/hw/nes/nes_hw.c
25a54a6bb87dc966f6a3fc1f2ac6e88db1f5614c 04-Feb-2011 Maciej Sosnowski <maciej.sosnowski@intel.com> RDMA/nes: Don't generate async events for unregistered devices

nes_port_ibevent() should not be called when the nes RDMA device is not
registered with the RDMA core. Add missing checks of of_device_registered flag.

Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/nes/nes_hw.c
5f61b2c6939bb6d26393df15765bc3cb260db063 24-Nov-2010 Maciej Sosnowski <maciej.sosnowski@intel.com> RDMA/nes: Fix SFP+ link down detection issue with switch port disable

In case of SFP+ PHY, link status check at interrupt processing can
give false results. For proper link status change detection a delayed
recheck is needed to give nes registers time to settle. Add a
periodic link status recheck scheduled at interrupt to detect
potential delayed registers state changes.

Addresses: http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2117
Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
ea623455b736d82f476460647e8b5fe5dc36f4f2 24-Nov-2010 Maciej Sosnowski <maciej.sosnowski@intel.com> RDMA/nes: Generate IB_EVENT_PORT_ERR/PORT_ACTIVE events

Depending on link state change, IB_EVENT_PORT_ERR or
IB_EVENT_PORT_ACTIVE should be generated when handling MAC interrupts.

Plugging in a cable happens to result in series of interrupts changing
driver's link state a number of times before finally staying at link
up (e.g. link up, link down, link up, link down, ..., link up). To
prevent sending series of redundant IB_EVENT_PORT_ACTIVE and
IB_EVENT_PORT_ERR events, we use a timer to debounce them in
nes_port_ibevent().

Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
29da03b9d1c6f24548d98cebda1e15a25d80ee1b 01-Sep-2010 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Fix hang with modified FIN handling on A0 cards

Changing state to CLOSING when FIN is received causes A0 cards to
hang. Fix this by checking for A0 cards in FIN handling.

Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
67d70721151726286763209ecadc3fce86abfdce 14-Aug-2010 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Change state to closing after FIN

When the driver receives an AE for FIN received, it closes the
connection without changing the state of the connection in the
hardware to closing. By changing the state to closing, hardware will
do a normal close sequence.

Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
817979ac45679f0cb3f9fea6dc444e4097aa6892 05-Aug-2010 Roland Dreier <rolandd@cisco.com> RDMA/nes: Fix confusing if statement indentation

Fix confusing indentation that makes a statement look as if it's part of
an if statement when in fact it isn't.

Reported-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
69d510238300c0888ec17e4a811279fe7760b527 04-Aug-2010 Roland Dreier <rolandd@cisco.com> RDMA/nes: Get rid of "set but not used" variables

Delete dead code in various places that is shown by gcc 4.6's new
-Wunused-but-set-variable warnings.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
cd6860eb036ab4320d591fdd056f86172438fae4 04-Jul-2010 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Fix hangs on ifdown

When ib_unregister_device() is called from netdev stop during ifdown,
it sometimes hangs. Changes made to indicate port_err to ib_dispatch_event()
during netdev stop and port_active during netdev open. The
ib_unregister_device() is only called during remove of the module.

Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
ea9f3bc6d1d8e2c56225e5be912d035b04740682 14-Jul-2010 Roland Dreier <rolandd@cisco.com> RDMA/nes: Rewrite expression to avoid undefined semantics

Change code like

x = expr(++x)

that assigns to x twice without a sequence point in between to the
intended (and well-defined)

x = expr(x + 1)

Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
b17e0969dc184c66ed8934e130344621829484a3 25-May-2010 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Fix incorrect unlock in nes_process_mac_intr()

Commit ce6e74f2 ("RDMA/nes: Make nesadapter->phy_lock usage
consistent") introduced a problem where phy_lock was only unlocked
within an if statement and so nes_process_mac_intr() could return with
phy_lock still held. Fix this.

This was discovered because of the sparse warning:

drivers/infiniband/hw/nes/nes_hw.c:2643:9: warning: context imbalance in 'nes_process_mac_intr' - different lock contexts for basic block

Reported-by: Roland Dreier <rdreier@cisco.com>
Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
df02902313feb1472bc6ec16e486f72b39e9d4b2 21-May-2010 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Async event for closed QP causes crash

Under abnormal termination, modify_qp() closes the QP, and async event
(AE) handling also attempts to close the same QP, causing a crash.
Fix this by checking the state of the QP before processing the AE.

Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
53978b46cd946ef1dba96ed6d0276ff656dd5d42 22-Apr-2010 Roland Dreier <rolandd@cisco.com> RDMA/nes: Make unnecessarily global functions static

This allows the compiler to do a bit better; on my x86-64 build:

add/remove: 0/2 grow/shrink: 1/0 up/down: 2288/-2365 (-77)
function old new delta
nes_init_phy 273 2561 +2288
nes_init_1g_phy 469 - -469
nes_init_2025_phy 1896 - -1896

Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
ce6e74f23d8018f50609f694b6177c139486ebe5 09-Mar-2010 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Make nesadapter->phy_lock usage consistent

nes_{read,write}_1G_phy_reg() are using phy_lock while
nes_{read,write}_10G_phy_reg() leave that to the caller.

Remove phy_lock from 1G routines and leave the locking to the caller.
Add additional phy_lock calls around 1G read/write.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
5a0e3ad6af8660be21ca98a971cd00f331318c05 24-Mar-2010 Tejun Heo <tj@kernel.org> include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h

percpu.h is included by sched.h and module.h and thus ends up being
included when building most .c files. percpu.h includes slab.h which
in turn includes gfp.h making everything defined by the two files
universally available and complicating inclusion dependencies.

percpu.h -> slab.h dependency is about to be removed. Prepare for
this change by updating users of gfp and slab facilities include those
headers directly instead of assuming availability. As this conversion
needs to touch large number of source files, the following script is
used as the basis of conversion.

http://userweb.kernel.org/~tj/misc/slabh-sweep.py

The script does the followings.

* Scan files for gfp and slab usages and update includes such that
only the necessary includes are there. ie. if only gfp is used,
gfp.h, if slab is used, slab.h.

* When the script inserts a new include, it looks at the include
blocks and try to put the new include such that its order conforms
to its surrounding. It's put in the include block which contains
core kernel includes, in the same order that the rest are ordered -
alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
doesn't seem to be any matching order.

* If the script can't find a place to put a new include (mostly
because the file doesn't have fitting include block), it prints out
an error message indicating which .h file needs to be added to the
file.

The conversion was done in the following steps.

1. The initial automatic conversion of all .c files updated slightly
over 4000 files, deleting around 700 includes and adding ~480 gfp.h
and ~3000 slab.h inclusions. The script emitted errors for ~400
files.

2. Each error was manually checked. Some didn't need the inclusion,
some needed manual addition while adding it to implementation .h or
embedding .c file was more appropriate for others. This step added
inclusions to around 150 files.

3. The script was run again and the output was compared to the edits
from #2 to make sure no file was left behind.

4. Several build tests were done and a couple of problems were fixed.
e.g. lib/decompress_*.c used malloc/free() wrappers around slab
APIs requiring slab.h to be added manually.

5. The script was run on all .h files but without automatically
editing them as sprinkling gfp.h and slab.h inclusions around .h
files could easily lead to inclusion dependency hell. Most gfp.h
inclusion directives were ignored as stuff from gfp.h was usually
wildly available and often used in preprocessor macros. Each
slab.h inclusion directive was examined and added manually as
necessary.

6. percpu.h was updated not to include slab.h.

7. Build test were done on the following configurations and failures
were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
distributed build env didn't work with gcov compiles) and a few
more options had to be turned off depending on archs to make things
build (like ipr on powerpc/64 which failed due to missing writeq).

* x86 and x86_64 UP and SMP allmodconfig and a custom test config.
* powerpc and powerpc64 SMP allmodconfig
* sparc and sparc64 SMP allmodconfig
* ia64 SMP allmodconfig
* s390 SMP allmodconfig
* alpha SMP allmodconfig
* um on x86_64 SMP allmodconfig

8. percpu.h modifications were reverted so that it could be applied as
a separate patch and serve as bisection point.

Given the fact that I had only a couple of failures from tests on step
6, I'm fairly confident about the coverage of this conversion patch.
If there is a breakage, it's likely to be something in one of the arch
headers which should be easily discoverable easily on most builds of
the specific arch.

Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
/drivers/infiniband/hw/nes/nes_hw.c
9f29006ae8c85746e5a52d557f689359149a0793 03-Mar-2010 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Clear stall bit before destroying NIC QP

Clear the stall bit to drop any incoming packets while destroying NIC
QP. This will prevent a chip resource leak.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
09124e1913cf2140941f60ab4fdf8576e1e8fd8d 23-Feb-2010 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Add support for KR device id 0x0110

Add support for KR device id 0x0110. While at it, cleanup
nes_init_phy() by splitting it into nes_init_1g_phy() and
nes_init_2025_phy().

Remove support for NES_PHY_TYPE_IRIS, which was used on an XFP board
that was only manufactured in small quantities and given out for evals
in even smaller quantities.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
30b172ff8eb025525ad7b32d1935554930cc5625 12-Feb-2010 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Multiple disconnects cause crash during AE handling

There is a double disconnect during AE processing, causing crashes.
While fixing the crash, also simplify the AE handling code.

Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
fd000e12a564bdeaec5e5a438d341d9132409f26 10-Dec-2009 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Check for zero STag

STags are generated randomly but the driver does not correctly prevent
a zero STag. Using STag zero is privileged and causes a user space
application to fail. This change prevents the driver from trying to
allocate a zero STag.

Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
fa6c87d5104512bf73cf62162cec9ef6eba707c7 10-Dec-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Update copyright and branding string

Update copyright from Intel-NE, Inc. to Intel Corporation. Use proper
branding string in Kconfig and simplify description.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
5924aea6e26712cd372aa23ed432d4cefbb050d2 10-Dec-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Add max_cqe check to nes_create_cq()

Add a check to nes_create_cq() to return -EINVAL if creating a CQ with
depth > max_cqe (32766).

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
a276510328d0721c252b37044c51e2fb4efe0364 10-Dec-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Add additional SFP+ PHY uC status check and PHY reset

Add additional PHY uC status check in case PHY firmware is not running
properly with heartbeat. Add a hard PHY reset if uC status is 0x0
after initial reset.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
e293a26fe97c8598a96562c1c9376d9ae6cb96dd 10-Dec-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Correct fast memory registration implementation

Replace alloc_fmr, unmap_fmr, dealloc_fmr and map_phys_fmr with
alloc_fast_reg_mr, alloc_fast_reg_page_list, free_fast_reg_page_list.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b 14-Sep-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits)
netxen: update copyright
netxen: fix tx timeout recovery
netxen: fix file firmware leak
netxen: improve pci memory access
netxen: change firmware write size
tg3: Fix return ring size breakage
netxen: build fix for INET=n
cdc-phonet: autoconfigure Phonet address
Phonet: back-end for autoconfigured addresses
Phonet: fix netlink address dump error handling
ipv6: Add IFA_F_DADFAILED flag
net: Add DEVTYPE support for Ethernet based devices
mv643xx_eth.c: remove unused txq_set_wrr()
ucc_geth: Fix hangs after switching from full to half duplex
ucc_geth: Rearrange some code to avoid forward declarations
phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs
drivers/net/phy: introduce missing kfree
drivers/net/wan: introduce missing kfree
net: force bridge module(s) to be GPL
Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded
...

Fixed up trivial conflicts:

- arch/x86/include/asm/socket.h

converted to <asm-generic/socket.h> in the x86 tree. The generic
header has the same new #define's, so that works out fine.

- drivers/net/tun.c

fix conflict between 89f56d1e9 ("tun: reuse struct sock fields") that
switched over to using 'tun->socket.sk' instead of the redundantly
available (and thus removed) 'tun->sk', and 2b980dbd ("lsm: Add hooks
to the TUN driver") which added a new 'tun->sk' use.

Noted in 'next' by Stephen Rothwell.
4b281faec3ad00f7fb00080078321e4d819795eb 06-Sep-2009 Don Wood <donald.e.wood@intel.com> RDMA/nes: Use flush mechanism to set status for wqe in error

When an asynchronous event occurs that requires a terminate, it is
sometimes possible to identify the wqe in error. This change uses
flush to get this information to the poll routine. The flush
operation puts the status into the cqe. If this information is not
available, it continues to use the more generic flush code as before.

Signed-off-by: Don Wood <donald.e.wood@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
8b1c9dc4ba713985d33aba87c761bf71d5a96491 06-Sep-2009 Don Wood <donald.e.wood@intel.com> RDMA/nes: Implement Terminate Packet

Implement the sending and receiving of Terminate packets.

Signed-off-by: Don Wood <donald.e.wood@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
3c28b4457a4cf95e982ca13578a5613a11009394 06-Sep-2009 Don Wood <donald.e.wood@intel.com> RDMA/nes: Add CQ error handling

CQ errors are not being handled correctly. Put in the the upcall for
CQ errors.

Signed-off-by: Don Wood <donald.e.wood@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
451f14439847db302e5104c44458b2dbb4b1829d 31-Aug-2009 Eric Dumazet <eric.dumazet@gmail.com> drivers: Kill now superfluous ->last_rx stores

The generic packet receive code takes care of setting
netdev->last_rx when necessary, for the sake of the
bonding ARP monitor.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Neil Horman <nhorman@txudriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/infiniband/hw/nes/nes_hw.c
28e43a519b9edb8277fc6b490ad17aa38c45a02b 15-May-2009 Roel Kluin <roel.kluin@gmail.com> RDMA/nes: Fix off-by-one bugs in reset_adapter_ne020() and init_serdes()

With a postfix increment, i is incremented one past 10K/5K before the
loop ends, so the error messages will be displayed too soon if the
test succeeds on the last iteration. Fix the comparisons to be >
instead of >=.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
923223776b53013443d062a87e0a3d57d6513f04 27-Apr-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Set trace length to 1 inch for SFP_D

With updated PHY firmware for SFP_D, setting the trace length to 1
inch for SFP_D provides a more stable link.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
e998c25bc29f2b409b39fa63dad3df499982a887 27-Apr-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Enable repause timer for port 1

Enable repause timer for port 1. Without this setting, under stress,
the chip may misbehave.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
366835e24977f4590ef353bdc70f0dda278c2a84 27-Apr-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Correct CDR loop filter setting for port 1

In commit 1b949324 ("RDMA/nes: Fix SFP+ PHY initialization") there is
a mistake in the clean up code that removed port 1 CDR loop filter
settings for 10G cards other than CX4. Put the correct setting back
for appropriate PHY types.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
010db4d127d1ae7324d5e00035fe4362e27f0508 27-Apr-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Modify thermo mitigation to flip SerDes1 ref clk to internal

Change thermo mitigation code to flip the SerDes1 reference clock to
internal, to match the change in commit a4849fc1 ("RDMA/nes: Add
wide_ppm_offset parm for switch compatibility").

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
4303565df4eb425851ddd22136fec69bdfeede61 08-Apr-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Add support for new SFP+ PHY

Add new register settings for new SFP+ PHY/firmware.
Add new PHY to to nes_netdev_get/set_settings.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
a4849fc157cdbe4fb68cfe37e7222697f003deb5 08-Apr-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Add wide_ppm_offset parm for switch compatibility

We have observed unstable link with a new BNT switch.

Add wide_ppm_offset parameter to allow the user to control the clock
ppm offset on the CX4 interface for better compatibility. Default is
100ppm, setting it to 1 will increase it to 300ppm. Change default
SerDes1 reference clock to external source.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
1b9493248cf5e9f1ecc045488100cbf3ccd91be1 08-Apr-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Fix SFP+ PHY initialization

SFP+ PHY initialization has very long delays, incorrect settings for
direct attach copper cables, and inconsistent link detection.

Adjust delays to the minimum required by the PHY. Worst case is now
less than 4 seconds. Add new register settings for direct attach
cables. Change link detection logic to use two new registers for more
consistent link state detection. Reorganize code to shorten line
length.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
13220a94d35708d5378114e96ffcc88d0a74fe99 26-Mar-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1750 commits)
ixgbe: Allow Priority Flow Control settings to survive a device reset
net: core: remove unneeded include in net/core/utils.c.
e1000e: update version number
e1000e: fix close interrupt race
e1000e: fix loss of multicast packets
e1000e: commonize tx cleanup routine to match e1000 & igb
netfilter: fix nf_logger name in ebt_ulog.
netfilter: fix warning in ebt_ulog init function.
netfilter: fix warning about invalid const usage
e1000: fix close race with interrupt
e1000: cleanup clean_tx_irq routine so that it completely cleans ring
e1000: fix tx hang detect logic and address dma mapping issues
bridge: bad error handling when adding invalid ether address
bonding: select current active slave when enslaving device for mode tlb and alb
gianfar: reallocate skb when headroom is not enough for fcb
Bump release date to 25Mar2009 and version to 0.22
r6040: Fix second PHY address
qeth: fix wait_event_timeout handling
qeth: check for completion of a running recovery
qeth: unregister MAC addresses during recovery.
...

Manually fixed up conflicts in:
drivers/infiniband/hw/cxgb3/cxio_hal.h
drivers/infiniband/hw/nes/nes_nic.c
2869975cfbd58dc6591d8c3ba1f171e7f758be28 07-Mar-2009 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Remove LLTX

NETIF_F_LLTX is deprecated. Remove private TX locking from the driver
and remove the NETIF_F_LLTX feature flag. This also fixes a warning
in some configs that comes from doing skb_linearize() call in the
hard_start_xmit method with IRQs disabled (if HIGHMEM is enabled,
skb_linearize() may end up enabling BHs, which is a no-no if hard IRQs
are disabled in that context). By getting rid of LLTX, we do not
disable IRQs when skb_linearize() is called.

Remove the sq_lock as it is not needed for non-LLTX. Fix ethtool not
to show the counter for sq_lock.

Reported-by: aluno3@poczta.onet.pl
Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
fd87778cb99429f5e2e041213a5c9c564bbe7b78 07-Mar-2009 Don Wood <donald.e.wood@intel.com> RDMA/nes: Inform hardware that asynchronous event has been handled

When asynchronous events are processed by software, it is necessary
to let the hardware know that software has handled the event. This
frees up the entry in the asynchronous event queue.

Signed-off-by: Don Wood <donald.e.wood@intel.com>
Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
b9c367e7e694502085f21d9d2686645798080aa3 07-Mar-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Report correct vendor_id and vendor_part_id

ibv_devinfo displays 0 for vendor_id and vendor_part_id. Fill in OUI
and device_id for those two fields.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
cd6853d3eb453aee2574521b7ce2cd5a45492a59 07-Mar-2009 Chien Tung <chien.tin.tung@intel.com> RDMA/nes: Update copyright to new legal entity and year

Update copyright to the new legal entity, Intel-NE, Inc., an Intel
company. Update copyright for the new year.

Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
288379f050284087578b77e04f040b57db3db3f8 20-Jan-2009 Ben Hutchings <bhutchings@solarflare.com> net: Remove redundant NAPI functions

Following the removal of the unused struct net_device * parameter from
the NAPI functions named *netif_rx_* in commit 908a7a1, they are
exactly equivalent to the corresponding *napi_* functions and are
therefore redundant.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/infiniband/hw/nes/nes_hw.c
0191b625ca5a46206d2fb862bb08f36f2fcb3b31 28-Dec-2008 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1429 commits)
net: Allow dependancies of FDDI & Tokenring to be modular.
igb: Fix build warning when DCA is disabled.
net: Fix warning fallout from recent NAPI interface changes.
gro: Fix potential use after free
sfc: If AN is enabled, always read speed/duplex from the AN advertising bits
sfc: When disabling the NIC, close the device rather than unregistering it
sfc: SFT9001: Add cable diagnostics
sfc: Add support for multiple PHY self-tests
sfc: Merge top-level functions for self-tests
sfc: Clean up PHY mode management in loopback self-test
sfc: Fix unreliable link detection in some loopback modes
sfc: Generate unique names for per-NIC workqueues
802.3ad: use standard ethhdr instead of ad_header
802.3ad: generalize out mac address initializer
802.3ad: initialize ports LACPDU from const initializer
802.3ad: remove typedef around ad_system
802.3ad: turn ports is_individual into a bool
802.3ad: turn ports is_enabled into a bool
802.3ad: make ntt bool
ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.
...

Fixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due
to the conversion to %pI (in this networking merge) and the addition of
doing IPv6 addresses (from the earlier merge of CIFS).
908a7a16b852ffd618a9127be8d62432182d81b4 23-Dec-2008 Neil Horman <nhorman@tuxdriver.com> net: Remove unused netdev arg from some NAPI interfaces.

When the napi api was changed to separate its 1:1 binding to the net_device
struct, the netif_rx_[prep|schedule|complete] api failed to remove the now
vestigual net_device structure parameter. This patch cleans up that api by
properly removing it..

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/infiniband/hw/nes/nes_hw.c
4a14f6a79f5110c6033f0c61d77d07c449c2d083 22-Nov-2008 Faisal Latif <faisal.latif@intel.com> RDMA/nes: Forward packets for a new connection with stale APBVT entry

Under heavy traffic, there is a small windows when an APBVT entry is
not yet removed and a new connection is established. Packets for the
new connection are dropped until APBVT entry is removed. This patch
will forward the packets instead of dropping them.

Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Chien Tung <chien.tin.tung@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
e2f5e7333a2fb51ef9e45280c3da9ca3bde65fde 08-Oct-2008 Chien Tung <ctung@neteffect.com> RDMA/nes: Correct error_module bit mask

error_module is 5 bits wide not 4. The corresponding crit_error_count
array is correct with 32 entries.

Signed-off-by: Chien Tung <ctung@neteffect.com>
--
drivers/infiniband/hw/nes/nes_hw.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
7e36d3d732438de894802f87a0ca21372e00fb74 03-Oct-2008 Vadim Makhervaks <vmakhervaks@neteffect.com> RDMA/nes: Enhanced PFT management scheme

Change management of perfect filter table to allow enhanced
performance applications.

Signed-off-by: Vadim Makhervaks <vmakhervaks@neteffect.com>
Signed-off-by: Sweta Bhatt <sweta.bhatt@einfochips.com>
Signed-off-by: Chien Tung <ctung@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
1bb28499979d926806139bbdef6969fc37621118 26-Sep-2008 Faisal Latif <flatif@neteffect.com> RDMA/nes: Handle AE bounds violation

Handle async error NES_AEQE_AEID_AMP_BOUNDS_VIOLATION.

Signed-off-by: Faisal Latif <flatif@neteffect.com>
Signed-off-by: Sweta Bhatt <sweta.bhatt@einfochips.com>
Signed-off-by: Chien Tung <ctung@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
9d156947c734747065178331e0c95745cf3a55e1 26-Sep-2008 Chien Tung <ctung@neteffect.com> RDMA/nes: Limit critical error interrupts

Mask off a critical error after 100 critical error interrupts to
keep the system "sane".

Signed-off-by: Sweta Bhatt <sweta.bhatt@einfochips.com>
Signed-off-by: Chien Tung <ctung@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
27ffed603f555ce0a644de6e550d3462ff51d64f 26-Sep-2008 John Lacombe <jlacombe@neteffect.com> RDMA/nes: Use ethtool timer value

Use timer value set via ethtool intead of #defines.

Signed-off-by: John Lacombe <jlacombe@neteffect.com>
Signed-off-by: Sweta Bhatt <sweta.bhatt@einfochips.com>
Signed-off-by: Chien Tung <ctung@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
7a8d14070b3e2d52d2b531434ed09fa1787ae7ca 26-Sep-2008 Bob Sharp <bsharp@neteffect.com> RDMA/nes: Free NIC TX buffers when destroying NIC QP

Signed-off-by: Bob Sharp <bsharp@neteffect.com>
Signed-off-by: Sweta Bhatt <sweta.bhatt@einfochips.com>
Signed-off-by: Chien Tung <ctung@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
e88bd7b624133e0b07adb21c45c9e6f68f8fdda2 26-Sep-2008 Chien Tung <ctung@neteffect.com> RDMA/nes: Fix MDC setting

Clear MDC bits before setting them to a new value. Adjust MDC value
for 10G.

Signed-off-by: Sweta Bhatt <sweta.bhatt@einfochips.com>
Signed-off-by: Chien Tung <ctung@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
2b537c2824194d50072ab260f54d6fe4cb8d17e8 26-Sep-2008 Chien Tung <ctung@neteffect.com> RDMA/nes: Add wqm_quanta module option

Add a module parameter wqm_quanta. It controls the number of segments
transmitted at a time.

Signed-off-by: Sweta Bhatt <sweta.bhatt@einfochips.com>
Signed-off-by: Chien Tung <ctung@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
fcb7ad31beda842804167f0645ca54660713bcd6 30-Sep-2008 Chien Tung <ctung@neteffect.com> RDMA/nes: Add support for 4-port 1G HP blade card

Add support for NetEffect 4 port 1G HP blade card. The mapping
between physical port and MAC is different from the standup card.

Signed-off-by: Chien Tung <ctung@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
6492cdf3a24fd620660c399745b5e169a0ed27d6 25-Jul-2008 Faisal Latif <flatif@neteffect.com> RDMA/nes: CM connection setup/teardown rework

Major rework of CM connection setup/teardown. We had a number of issues
with MPI applications not starting/terminating properly over time.
With these changes we were able to run longer on larger clusters.

* Remove memory allocation from nes_connect() and nes_cm_connect().
* Fix mini_cm_dec_refcnt_listen() when destroying listener.
* Remove unnecessary code from schedule_nes_timer() and nes_cm_timer_tick().
* Functionalize mini_cm_recv_pkt() and process_packet().
* Clean up cm_node->ref_count usage.
* Reuse skbs if available.

Signed-off-by: Faisal Latif <flatif@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
96f15c03532282366364ecfd20f04e49b5d96f3a 15-Jul-2008 Steve Wise <swise@opengridcomputing.com> RDMA/core: Add local DMA L_Key support

- Change the IB_DEVICE_ZERO_STAG flag to the transport-neutral name
IB_DEVICE_LOCAL_DMA_LKEY, which is used by iWARP RNICs to indicate 0
STag support and IB HCAs to indicate reserved L_Key support.

- Add a u32 local_dma_lkey member to struct ib_device. Drivers fill
this in with the appropriate local DMA L_Key (if they support it).

- Fix up the drivers using this flag.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
8294f29767c53e97664a27db9974adea8e2ea95b 15-Jul-2008 Roland Dreier <rolandd@cisco.com> RDMA/nes: Get rid of ring_doorbell parameter of nes_post_cqp_request()

Every caller of nes_post_cqp_request() passed it NES_CQP_REQUEST_RING_DOORBELL,
so just remove that parameter and always ring the doorbell.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Acked-by: Faisal Latif <flatif@neteffect.com>
/drivers/infiniband/hw/nes/nes_hw.c
1ff66e8c1faee7c2711b84b9c89e1c5fcd767839 15-Jul-2008 Roland Dreier <rolandd@cisco.com> RDMA/nes: Encapsulate logic nes_put_cqp_request()

The iw_nes driver repeats the logic

if (atomic_dec_and_test(&cqp_request->refcount)) {
if (cqp_request->dynamic) {
kfree(cqp_request);
} else {
spin_lock_irqsave(&nesdev->cqp.lock, flags);
list_add_tail(&cqp_request->list, &nesdev->cqp_avail_reqs);
spin_unlock_irqrestore(&nesdev->cqp.lock, flags);
}
}

over and over. Wrap this up in functions nes_free_cqp_request() and
nes_put_cqp_request() to simplify such code.

In addition to making the source smaller and more readable, this shrinks
the compiled code quite a bit:

add/remove: 2/0 grow/shrink: 0/13 up/down: 164/-1692 (-1528)
function old new delta
nes_free_cqp_request - 147 +147
nes_put_cqp_request - 17 +17
nes_modify_qp 2316 2293 -23
nes_hw_modify_qp 737 657 -80
nes_dereg_mr 945 860 -85
flush_wqes 501 416 -85
nes_manage_apbvt 648 560 -88
nes_reg_mr 1117 1026 -91
nes_cqp_ce_handler 927 769 -158
nes_alloc_mw 1052 884 -168
nes_create_qp 5314 5141 -173
nes_alloc_fmr 2212 2035 -177
nes_destroy_cq 1097 918 -179
nes_create_cq 2787 2598 -189
nes_dealloc_mw 762 566 -196

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Acked-by: Faisal Latif <flatif@neteffect.com>
/drivers/infiniband/hw/nes/nes_hw.c
dd37818dbdf8e51d0288c0197c351c005ffcdbdb 13-May-2008 Roland Dreier <rolandd@cisco.com> RDMA/nes: Fix up nes_lro_max_aggr module parameter

Fix some bugs with the max_aggr module parameter added with LRO support:

- The module parameter value ignored and not actually used to set
lro_mgr.max_aggr.
- MODULE_PARM_DESC had a typo "_mro_" instead of "_lro_" so it didn't
end up describing the actual module parameter.
- The nes_lro_max_aggr variable was declared as unsigned, but the
module_param line said "int" instead of "uint" for the type.
- The default value for the parameter was stuck in the permissions
field of module_param, which led to nonsensical permissions for the
file under /sys/module/iw_nes/param.
- The parameter was used in only one file but defined in another, which
led to the variable being global for no good reason. Move everything
related to the parameter to the file nes_hw.c where it is actually
used.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
7495ab6837ea4660f5e14ad49e5bfc558d6862e7 29-Apr-2008 Glenn Streiff <gstreiff@neteffect.com> RDMA/nes: Formatting cleanup

Various cleanups:
- Change // to /* .. */
- Place whitespace around binary operators.
- Trim down a few long lines.
- Some minor alignment formatting for better readability.
- Remove some silly tabs.

Signed-off-by: Glenn Streiff <gstreiff@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
0e1de5d62e751ca9c589d8dfabfc1e5074e62724 29-Apr-2008 Eric Schneider <eric.schneider@neteffect.com> RDMA/nes: Add support for SFP+ PHY

This patch enables the iw_nes module for NetEffect RNICs to support
additional PHYs including SFP+ (referred to as ARGUS in the code).

Signed-off-by: Eric Schneider <eric.schneider@neteffect.com>
Signed-off-by: Glenn Streiff <gstreiff@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
37dab4112d7b53c3574426ef7bdd92a78d32ac3e 29-Apr-2008 Faisal Latif <flatif@neteffect.com> RDMA/nes: Use LRO

Signed-off-by: Faisal Latif <flatif@neteffect.com.
Signed-off-by: Glenn Streiff <gstreiff@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
bc5698f3ecc9587e1edb343a2878f8d228c49e0e 23-Apr-2008 Chien Tung <ctung@neteffect.com> RDMA/nes: Fix adapter reset after PXE boot

After PXE boot, the iw_nes driver does a full reset to ensure the card
is in a clean state. However, it doesn't wait for firmware to
complete its work before issuing a port reset to enable the ports,
which leads to problems bringing up the ports.

The solution is to wait for firmware to complete its work before
proceeding with port reset.

This bug was flagged by Roland Dreier <rolandd@cisco.com>.

Cc: <stable@kernel.org>
Signed-off-by: Chien Tung <ctung@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
0f39cf3d54e67a705773fd0ec56ca3dcd3e9272f 17-Apr-2008 Roland Dreier <rolandd@cisco.com> IB/core: Add support for "send with invalidate" work requests

Add a new IB_WR_SEND_WITH_INV send opcode that can be used to mark a
"send with invalidate" work request as defined in the iWARP verbs and
the InfiniBand base memory management extensions. Also put "imm_data"
and a new "invalidate_rkey" member in a new "ex" union in struct
ib_send_wr. The invalidate_rkey member can be used to pass in an
R_Key/STag to be invalidated. Add this new union to struct
ib_uverbs_send_wr. Add code to copy the invalidate_rkey field in
ib_uverbs_post_send().

Fix up low-level drivers to deal with the change to struct ib_send_wr,
and just remove the imm_data initialization from net/sunrpc/xprtrdma/,
since that code never does any send with immediate operations.

Also, move the existing IB_DEVICE_SEND_W_INV flag to a new bit, since
the iWARP drivers currently in the tree set the bit. The amso1100
driver at least will silently fail to honor the IB_SEND_INVALIDATE bit
if passed in as part of userspace send requests (since it does not
implement kernel bypass work request queueing). Remove the flag from
all existing drivers that set it until we know which ones are OK.

The values chosen for the new flag is not consecutive to avoid clashing
with flags defined in the XRC patches, which are not merged yet but
which are already in use and are likely to be merged soon.

This resurrects a patch sent long ago by Mikkel Hagen <mhagen@iol.unh.edu>.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
3371836383d63b627b228875f5ac63023cbf11d2 17-Apr-2008 Harvey Harrison <harvey.harrison@gmail.com> IB: Replace remaining __FUNCTION__ occurrences with __func__

__FUNCTION__ is gcc-specific, use __func__ instead.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
1a855fbfb65e0b7b5cce00d7c6a61185ed765edf 17-Apr-2008 Roland Dreier <rolandd@cisco.com> RDMA/nes: Make symbols used only in a single source file static

Avoid namespace pollution and allow the compiler to optimize better.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
4b1cc7e7ca5715907d17619dcb49144db6efe1c9 21-Feb-2008 John Lacombe <jlacombe@neteffect.com> RDMA/nes: Fix interrupt moderation low threshold

Interrupt moderation low threshold value was incorrectly triggering,
indicating that the threshold should be lowered.

The impact was the timer was likely to become 40usecs and get stuck
there. The biggest side effect was too many interrupts and nonoptimal
performance.

Signed-off-by: John Lacombe <jlacombe@neteffect.com>
Signed-off-by: Glenn Streiff <gstreiff@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c
3c2d774cad5bf4fad576363da77870e9e6530b7a 05-Feb-2008 Glenn Streiff <gstreiff@neteffect.com> RDMA/nes: Add a driver for NetEffect RNICs

Add a standard NIC and RDMA/iWARP driver for NetEffect 1/10Gb ethernet adapters.

Signed-off-by: Glenn Streiff <gstreiff@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/nes/nes_hw.c