e5dc9409933b21732a8c370e9f7cf79c2c92cbcb |
|
29-Sep-2014 |
Li RongQing <roy.qing.li@gmail.com> |
RDMA/ocrdma: Remove a unused-label warning If IPV6 is disabled, we get the warning: drivers/infiniband/hw/ocrdma/ocrdma_main.c:650:1: warning: label ‘err_notifier6’ defined but not used [-Wunused-label] Signed-off-by: Li RongQing <roy.qing.li@gmail.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
7ec11e0a14ae0a7a8fdce78860a70f25508de395 |
|
22-Aug-2014 |
Devesh Sharma <devesh.sharma@emulex.com> |
RDMA/ocrdma: Add default GID at index 0 Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
b8806324ea0b242bcf0cf5740f2ceb1e56381c36 |
|
10-Jun-2014 |
Selvin Xavier <selvin.xavier@emulex.com> |
RDMA/ocrdma: Initialize the GID table while registering the device Current GID table gets updated only at the time of inet notification. Fix this by initializing the table at the time of device registration. Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
4f1df8440d26bafe0be6ef4dbf17162a1263d3fc |
|
10-Jun-2014 |
Selvin Xavier <selvin.xavier@emulex.com> |
RDMA/ocrdma: Increase the size of STAG array in dev structure to 16K HW can support 16K STAG entries. Change this max limit. Also, move this array out of ocrdma_dev to reduce the size of this structure. Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
efe4593720829066667397f540d50baffc706435 |
|
10-Jun-2014 |
Devesh Sharma <devesh.sharma@emulex.com> |
RDMA/ocrdma: Handle shutdown event from be2net driver be2net driver sends a shutdown event to ocrdma during shutdown/reboot. As part of event processing, ocrdma calls close() and remove() to free all the resources associated with ocrdma. This also frees irqs used by ocrdma. Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
4808b184fd54d64995046b83864809536a058e7a |
|
10-Jun-2014 |
Selvin Xavier <selvin.xavier@emulex.com> |
RDMA/ocrdma: Add hca_type and fixing fw_version string in device atrributes Add a new entry under sysfs for getting the HW type. Add a new-line character for the FW version string Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
31dbdd9af58c63c7f8376a0fa680f5fc1b6cce98 |
|
10-Jun-2014 |
Selvin Xavier <selvin.xavier@emulex.com> |
RDMA/ocrdma: Query and initalize the PFC SL This patch implements routine to query the PFC priority from the adapter port. Following are the changes implemented: * A new FW command is implemented to query the operational/admin DCBX configuration from the FW and obtain active priority(service level). * Adds support for the async event reported by FW when the PFC priority changes. Service level is re-initialized during modify_qp or create_ah, based on this event. * Maintain SL value in ocrdma_dev structure and refer that as and when needed. Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
2d8f57d56f5850a75d6225519e77f75ad9949f25 |
|
18-Mar-2014 |
Selvin Xavier <selvin.xavier@emulex.com> |
RDMA/ocrdma: Unregister inet notifier when unloading ocrdma Unregister the inet notifier during ocrdma unload to avoid a panic after driver unload. Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
fad51b7d361b4f1b439aa10fa258a35dac62b297 |
|
04-Feb-2014 |
Devesh Sharma <Devesh.Sharma@Emulex.Com> |
RDMA/ocrdma: Code clean-up Clean up code. Also modifying GSI QP to error during ocrdma_close is fixed. Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
334b8db3a6c57bec78bcaacef3b1658bfc6e2efe |
|
04-Feb-2014 |
Selvin Xavier <selvin.xavier@emulex.com> |
RDMA/ocrdma: Display FW version Adding a sysfs file for getting the FW version. Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
a51f06e1679e2abac2e8a817884e60edc18c5c86 |
|
04-Feb-2014 |
Selvin Xavier <selvin.xavier@emulex.com> |
RDMA/ocrdma: Query controller information Issue mailbox commands to query ocrdma controller information and phy information and print them while adding ocrdma device. Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
0154410bd456affe21f31ab27278847461316e0b |
|
04-Feb-2014 |
Devesh Sharma <devesh.sharma@emulex.com> |
RDMA/ocrdma: Update version string Update the driver vrsion string and node description string Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
b6b87d2e6930b6dbb926998d3250c61cef1ec562 |
|
04-Feb-2014 |
Devesh Sharma <devesh.sharma@emulex.com> |
RDMA/ocrdma: ABI versioning between ocrdma and be2net While loading RoCE driver be2net driver should check for ABI version to catch functional incompatibilities. Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
21c3391a9adfaddd00481a1d03bf30fc1304e292 |
|
04-Feb-2014 |
Devesh Sharma <devesh.sharma@emulex.com> |
RDMA/ocrdma: Read ASIC_ID register to select asic_gen ocrdma driver selects execution path based on sli_family and asic generation number. This introduces code to read the asic gen number from pci register instead of obtaining it from the Emulex NIC driver. Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
09de3f1313a30d8a22e488c9a5b96a9560cae96d |
|
03-Feb-2014 |
Devesh Sharma <devesh.sharma@emulex.com> |
RDMA/ocrdma: Fix load time panic during GID table init We should use rdma_vlan_dev_real_dev() instead of using vlan_dev_real_dev() when building the GID table for a vlan interface. Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
31ab8acbf6618c89fec77f7706df7daaa319feb5 |
|
20-Jan-2014 |
Roland Dreier <roland@purestorage.com> |
RDMA/ocrdma: Move ocrdma_inetaddr_event outside of "#if CONFIG_IPV6" This fixes the build if IPV6 isn't enabled. Signed-off-by: Roland Dreier <roland@purestorage.com>
|
37721d8501a9a1fbe87527c24d127a914b29fd7f |
|
12-Dec-2013 |
Moni Shoua <monis@mellanox.com> |
RDMA/ocrdma: Populate GID table with IP based gids This patch is similar in spirit to the "IB/mlx4: Use IBoE (RoCE) IP based GIDs in the port GID table" patch. Changes to inet4 and inet6 addresses for the host are monitored and if the address is associated with an ocrdma device then a gid is added or deleted from the device's gid table. The gid format will be a IPv4 to IPv6 mapped or the IPv6 address. Cc: Naresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: Moni Shoua <monis@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
1852d1da3b4723d7db0d490f54c07442b3e1c452 |
|
06-Sep-2013 |
Naresh Gottumukkala <bgottumukkala@emulex.com> |
RDMA/ocrdma: Fix a crash in rmmod 1) ocrdma_remove_free() is called from a call_rcu callback funtion context, which can be a bottom-half context. So the code in ocrdma_remove_free should not sleep. But ocrdma_cleanup_hw() can sleep, So move it ocrdma_remove() instead of ocrdma_remove_free. 2) Fix a couple of kbuild test robot warnings. Signed-off-by: Naresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
2b50176d11866e59208a4ed1623b3fc0ca322690 |
|
09-Oct-2013 |
Joe Perches <joe@perches.com> |
IB: Remove unnecessary semicolons These aren't necessary after switch blocks. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
38754397152e0e9ab0d2854064ef0ff4deabdd7e |
|
26-Aug-2013 |
Naresh Gottumukkala <bgottumukkala@emulex.com> |
RDMA/ocrdma: Add ABI versioning support Add ABI versioning support between driver and userspace library. Signed-off-by: Naresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
cffce99051b80c90630a9fff662a1b25e278069d |
|
26-Aug-2013 |
Naresh Gottumukkala <bgottumukkala@emulex.com> |
RDMA/ocrdma: Dont use PD 0 for userpace CQ DB Create_CQ verb doesn't provide a PD pointer. So, until now we are creating all (both userspace and kernel) CQ DB regions from PD0. This will result in mmapping PD0 to applications. A rogue userspace application can mess things up. Also more serious issues is even the be2net NIC uses PD0. This patch addresses this problem by: 1) Create a PD page for every userspace application when the alloc_ucontext is called. This will be destroyed in dealloc_ucontext. 2) All CQs for that context will use the PD allocated in ucontext. 3) The first create_PD call from application will result in returning the PD address from its ucontext (no new PD will be created). 4) For subsecquent create_pd calls from application, we create new PDs for the application. Signed-off-by: Naresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
7c33880c3cb2cda816d4d64852c6a81018b9bc1f |
|
26-Aug-2013 |
Naresh Gottumukkala <bgottumukkala@emulex.com> |
RDMA/ocrdma: Add support for fast register work requests (FRWR) Also get the max_srq value from query_config mailbox response. Signed-off-by: Naresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
ef99c4c2ed63cb0deb94ea70fb47c2d6294e302e |
|
10-Jun-2013 |
Naresh Gottumukkala <bgottumukkala@emulex.com> |
RDMA/ocrdma: Replace ocrdma_err with pr_err Remove private macro ocrdma_err and replace with standard pr_err. Signed-off-by: Naresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
cffcd59f15db02b341e50da653860afa0ba11a83 |
|
28-Feb-2013 |
Tejun Heo <tj@kernel.org> |
IB/ocrdma: convert to idr_alloc() Convert to the much saner new idr interface. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Roland Dreier <roland@purestorage.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
d549f55f2e132e3d1f1288ce4231f45f12988bbf |
|
11-Aug-2012 |
Roland Dreier <roland@purestorage.com> |
RDMA/ocrdma: Don't call vlan_dev_real_dev() for non-VLAN netdevs If CONFIG_VLAN_8021Q is not set, then vlan_dev_real_dev() just goes BUG(), so we shouldn't call it unless we're actually dealing with a VLAN netdev. Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
d90f9b3591b3b5fa86178e318008fc1c531a84dc |
|
06-Jul-2012 |
Roland Dreier <roland@purestorage.com> |
IB: Use IS_ENABLED(CONFIG_IPV6) Instead of testing defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) Signed-off-by: Roland Dreier <roland@purestorage.com>
|
6ab6827ee99937834cc268298ee4eab1a651569e |
|
08-Jun-2012 |
Parav Pandit <parav.pandit@emulex.com> |
RDMA/ocrdma: Fixed GID table for vlan and events 1. Fix reporting GID table addition events. 2. Enable vlan based GID entries only when VLAN is enabled at compile time (test CONFIG_VLAN_8021Q / CONFIG_VLAN_8021Q_MODULE). Signed-off-by: Parav Pandit <parav.pandit@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
7ad5e449b96bd82f406ed4657a64c8f72a48896d |
|
28-May-2012 |
Devendra Naga <devendra.aaru@gmail.com> |
RDMA/ocrdma: Remove unnecessary version.h includes "make versioncheck" shows: drivers/infiniband/hw/ocrdma/ocrdma_main.c: 29 linux/version.h not needed. drivers/infiniband/hw/ocrdma/ocrdma_verbs.h: 31 linux/version.h not needed. Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
349556692df946b9cd5b84f2b0fa09b98732e986 |
|
03-May-2012 |
Roland Dreier <roland@purestorage.com> |
RDMA/ocrdma: Fix build with IPV6=n When IPV6 is not enabled: ERROR: "register_inet6addr_notifier" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined! ERROR: "unregister_inet6addr_notifier" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined! Fix this by wrapping the inet6 calls in #ifdef IPV6. Also make the ocrdma module depend on (IPV6 || IPV6=n) to forbid the case of modular ipv6 but built-in ocrdma (which can't work, because ocrdma calls ipv6 functions). Reported-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Roland Dreier <roland@purestorage.com>
|
3e4d60a82e7ab4cd6e212b6834c6a48c79731957 |
|
28-Apr-2012 |
Sasha Levin <levinsasha928@gmail.com> |
RDMA/ocrdma: Don't sleep in atomic notifier handler Events sent to ocrdma_inet6addr_event() are sent from an atomic context, therefore we can't try to lock a mutex within the notifier callback. We could just switch the mutex to a spinlock since all it does it protect a list, but I've gone ahead and switched the list to use RCU instead. I couldn't fully test it since I don't have IB hardware, so if it doesn't fully work for some reason let me know and I'll switch it back to using a spinlock. Signed-off-by: Sasha Levin <levinsasha928@gmail.com> [ Fixed locking in ocrdma_add(). - Roland ] Signed-off-by: Roland Dreier <roland@purestorage.com>
|
abe3afacc5762065244421569ad86afef11813bb |
|
16-Apr-2012 |
Roland Dreier <roland@purestorage.com> |
RDMA/ocrdma: Make needlessly global functions/structs static Signed-off-by: Roland Dreier <roland@purestorage.com>
|
fe2caefcdf5869f308c102e3d64d40683bfad711 |
|
20-Mar-2012 |
Parav Pandit <parav.pandit@emulex.com> |
RDMA/ocrdma: Add driver for Emulex OneConnect IBoE RDMA adapter Signed-off-by: Parav Pandit <parav.pandit@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
|