- 02 8月, 2014 1 次提交
-
-
由 Devesh Sharma 提交于
Removing hardcoded value of max dpp qps and calculate the same from doorbell page size and WQE size. Signed-off-by: NDevesh Sharma <devesh.sharma@emulex.com> Signed-off-by: NSelvin Xavier <selvin.xavier@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 03 4月, 2014 8 次提交
-
-
由 Roland Dreier 提交于
We should cast pointers to and from unsigned long to turn them into ints. Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Devesh Sharma 提交于
Clean up code. Also modifying GSI QP to error during ocrdma_close is fixed. Signed-off-by: NDevesh Sharma <devesh.sharma@emulex.com> Signed-off-by: NSelvin Xavier <selvin.xavier@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Selvin Xavier 提交于
Signed-off-by: NSelvin Xavier <selvin.xavier@emulex.com> Signed-off-by: NDevesh Sharma <devesh.sharma@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Selvin Xavier 提交于
As part of SRQ receive buffers posting we populate a non-zero tag which will be returned in SRQ receive completions. Signed-off-by: NSelvin Xavier <selvin.xavier@emulex.com> Signed-off-by: NDevesh Sharma <devesh.sharma@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Selvin Xavier 提交于
Signed-off-by: NSelvin Xavier <selvin.xavier@emulex.com> Signed-off-by: NDevesh Sharma <devesh.sharma@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Devesh Sharma 提交于
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: NDevesh Sharma <devesh.sharma@emulex.com> Signed-off-by: NSelvin Xavier <selvin.xavier@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Devesh Sharma 提交于
Introducing new macros to define SQ and RQ doorbell offset. Signed-off-by: NDevesh Sharma <devesh.sharma@emulex.com> Signed-off-by: NSelvin Xavier <selvin.xavier@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Devesh Sharma 提交于
Stale entries in the CQ being destroyed causes hardware to generate EQEs indefinitely for a given CQ. Thus causing uncontrolled execution of irq_handler. This patch fixes this using following sementics: * irq_handler will ring EQ doorbell atleast once and implement budgeting scheme. * cq_destroy will count number of valid entires during destroy and ring cq-db so that hardware does not generate uncontrolled EQE. * cq_destroy will synchronize with last running irq_handler instance. * arm_cq will always defer arming CQ till poll_cq, except for the first arm_cq call. * poll_cq will always ring cq-db with arm=SET if arm_cq was called prior to enter poll_cq. * poll_cq will always ring cq-db with arm=UNSET if arm_cq was not called prior to enter poll_cq. Signed-off-by: NDevesh Sharma <devesh.sharma@emulex.com> Signed-off-by: NSelvin Xavier <selvin.xavier@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 18 3月, 2014 1 次提交
-
-
由 Prarit Bhargava 提交于
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c: In function ‘_ocrdma_modify_qp’: drivers/infiniband/hw/ocrdma/ocrdma_verbs.c:1299:31: error: ‘old_qps’ may be used uninitialized in this function [-Werror=maybe-uninitialized] status = ocrdma_mbx_modify_qp(dev, qp, attr, attr_mask, old_qps); ocrdma_mbx_modify_qp() (and subsequent calls) doesn't appear to use old_qps so it doesn't need to be passed on. Removing the variable results in the warning going away. Signed-off-by: NPrarit Bhargava <prarit@redhat.com> Acked-by: Devesh Sharma (Devesh.sharma@emulex.com) Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 05 3月, 2014 1 次提交
-
-
由 Yishai Hadas 提交于
This patch refactors the IB core umem code and vendor drivers to use a linear (chained) SG table instead of chunk list. With this change the relevant code becomes clearer—no need for nested loops to build and use umem. Signed-off-by: NShachar Raindel <raindel@mellanox.com> Signed-off-by: NYishai Hadas <yishaih@mellanox.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 15 2月, 2014 1 次提交
-
-
由 Devesh Sharma 提交于
Use correct value for obtaining traffic class from device response for Query QP request. Signed-off-by: NDevesh Sharma <devesh.sharma@emulex.com> Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 14 2月, 2014 1 次提交
-
-
由 Moni Shoua 提交于
For userspace RoCE UD QPs we need to know the GID format that the kernel uses, e.g when working over older kernels. For that end, add a new port capability IB_PORT_IP_BASED_GIDS and report it when query port is issued. Signed-off-by: NMoni Shoua <monis@mellanox.co.il> Signed-off-by: NMatan Barak <matanb@mellanox.com> Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 20 1月, 2014 1 次提交
-
-
由 Moni Shoua 提交于
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: NMoni Shoua <monis@mellanox.com> Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 15 1月, 2014 1 次提交
-
-
由 Matan Barak 提交于
This patch add the support for Ethernet L2 attributes in the verbs/cm/cma structures. When dealing with L2 Ethernet, we should use smac, dmac, vlan ID and priority in a similar manner that the IB L2 (and the L4 PKEY) attributes are used. Thus, those attributes were added to the following structures: * ib_ah_attr - added dmac * ib_qp_attr - added smac and vlan_id, (sl remains vlan priority) * ib_wc - added smac, vlan_id * ib_sa_path_rec - added smac, dmac, vlan_id * cm_av - added smac and vlan_id For the path record structure, extra care was taken to avoid the new fields when packing it into wire format, so we don't break the IB CM and SA wire protocol. On the active side, the CM fills. its internal structures from the path provided by the ULP. We add there taking the ETH L2 attributes and placing them into the CM Address Handle (struct cm_av). On the passive side, the CM fills its internal structures from the WC associated with the REQ message. We add there taking the ETH L2 attributes from the WC. When the HW driver provides the required ETH L2 attributes in the WC, they set the IB_WC_WITH_SMAC and IB_WC_WITH_VLAN flags. The IB core code checks for the presence of these flags, and in their absence does address resolution from the ib_init_ah_from_wc() helper function. ib_modify_qp_is_ok is also updated to consider the link layer. Some parameters are mandatory for Ethernet link layer, while they are irrelevant for IB. Vendor drivers are modified to support the new function signature. Signed-off-by: NMatan Barak <matanb@mellanox.com> Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 09 11月, 2013 2 次提交
-
-
由 Naresh Gottumukkala 提交于
Remove the redundant check of comparing if a 32-bit value is greater than 0xffffffffULL. Reported by Dan Carpenter. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
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: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 15 10月, 2013 1 次提交
-
-
由 Joe Perches 提交于
These aren't necessary after switch blocks. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 04 9月, 2013 1 次提交
-
-
由 Roland Dreier 提交于
Fix: drivers/infiniband/hw/ocrdma/ocrdma_verbs.c: In function 'ocrdma_build_fr': >> drivers/infiniband/hw/ocrdma/ocrdma_verbs.c:1832:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] mr = (struct ocrdma_mr *)qp->dev->stag_arr[(hdr->lkey >> 8) & ^ drivers/infiniband/hw/ocrdma/ocrdma_verbs.c: In function 'ocrdma_alloc_frmr': >> drivers/infiniband/hw/ocrdma/ocrdma_verbs.c:2661:64: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] dev->stag_arr[(mr->hwmr.lkey >> 8) & (OCRDMA_MAX_STAG - 1)] = (u64) mr; Reported-by: Nkbuild test robot <fengguang.wu@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 03 9月, 2013 9 次提交
-
-
由 Naresh Gottumukkala 提交于
While posting inline DPP data, we are not considering multiple sges. Fix this. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
1) Increase STAG Array size. 2) Max inline data size should be set to the same value used during QP creation 3) Set max_sge_rd to zero since we dont support RD transport in our adapters. 4) Max cqes reported in ibv_devinfo should be from QUERY_CONFIG. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
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: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
1) Fixed setting FR_MR bit for FRWR stag allocation 2) Access rights are passsed during FRWR stage and not during STAT allocation stage 3) FRWR WQE structure cleanup 4) Add QP level signaled bit. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
1) All RQ doorbells are handled by ERX2 and doorbell->num_posted offset is constant to bit offset 24 for ERX2 irrspective of Q id. 2) Fixed RESET to INIT state change (from ERR->RST->INIT->RTR case). Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
Also increase MAX AH to 512. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
Also get the max_srq value from query_config mailbox response. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
1) Fix ocrdma_get_num_posted_shift for upto 128 QPs. 2) Create for min of dev->max_wqe and requested wqe in create_qp. 3) As part of creating ird queue, populate with basic header templates. 4) Make sure all the DB memory allocated to userspace are page aligned. 5) Fix issue in checking the mmap local cache. 6) Some code cleanup. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 13 8月, 2013 4 次提交
-
-
由 Naresh Gottumukkala 提交于
1) In post recv, don't ring the DB doorbell if the QP is in RTR state. Cache the DB calls, until the QP is moved to RTS state. 2) Add max_rd_sge support to dev->attr. 3) Code cleanup in alloc_pd path. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
Remove QP state machine in ocrdma low-level driver and use on the core IB stack's instead. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
Remove redundant dev reference from structures: 1) ocrdma_cq. 2) ocrdma_ah. 3) ocrdma_hw_mr. 4) ocrdma_mw. 5) ocrdma_srq. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
Code cleanup and remove redundant code: 1) redundant initialization removed 2) braces changed as per CodingStyle. 3) redundant checks removed 4) extra braces in return statements removed. 5) removed unused pd pointer from mr. 6) reorganized get_dma_mr() 7) fixed set_av() to return error on invalid sgid index. 8) reference to ocrdma_dev removed from struct ocrdma_pd. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 31 7月, 2013 1 次提交
-
-
由 Dan Carpenter 提交于
A grab bag of places which don't properly initialize stack data. I removed one place which cleared ".rsvd" because it's not needed now that I have added a memset() earlier in the function. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 20 6月, 2013 4 次提交
-
-
由 Naresh Gottumukkala 提交于
Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
Fix post_send to set the bad_wr in error case. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Naresh Gottumukkala 提交于
Remove private macro ocrdma_err and replace with standard pr_err. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Gottumukkala, Naresh 提交于
Remove use_cnt. Rely on IB midlayer to keep track of the use count. Signed-off-by: NNaresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 15 9月, 2012 1 次提交
-
-
由 Parav Pandit 提交于
Fix CQE expansion of unsignaled WQE -- don't expand the CQE when the WQE index of the completed CQE matches with last pending WQE (tail) in the queue. Signed-off-by: NParav Pandit <parav.pandit@emulex.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 28 7月, 2012 1 次提交
-
-
由 Roland Dreier 提交于
It looks like one check was accidentally duplicated, and the other 3 checks were left out. This was detected by scripts/coccinelle/tests/doubletest.cocci: drivers/infiniband/hw/ocrdma/ocrdma_verbs.c:895:6-54: duplicated argument to && or || Reported-by: NFengguang Wu <fengguang.wu@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 08 7月, 2012 1 次提交
-
-
由 Roland Dreier 提交于
We want to set attr->max_srq_sge to dev->attr.max_srq_sge, not to itself. This was detected by Coverity (CID 709210). Signed-off-by: NRoland Dreier <roland@purestorage.com>
-