- 04 12月, 2016 11 次提交
-
-
由 Salil 提交于
This patch correct the comment style errors caught by checkpatch.pl script Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Shaobo Xu 提交于
IB core has implemented the calculation of GIDs and the management of GID tables, and it is now responsible to supply query function for GIDs. So the calculation of GIDs and the management of GID tables in the RoCE driver is redundant. The patch is to implement the add_gid/del_gid to set the GIDs in the RoCE driver, remove the redundant calculation and management of GIDs in the notifier call of the net device and the inet, and update the query_gid. Signed-off-by: NShaobo Xu <xushaobo2@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Wei Hu (Xavier) 提交于
When using CM to establish connections, qp number that was freed just now will be rejected by ib core. To fix these problem, We change qpn allocation to round-robin mode. We added the round-robin mode for allocating resources using bitmap. We use round-robin mode for qp number and non round-robing mode for other resources like cq number, pd number etc. Signed-off-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Wei Hu (Xavier) 提交于
This patch modified the output query info qp_attr->port_num to fix bug in hip06. Signed-off-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Wei Hu (Xavier) 提交于
This patch modified the macro for the timeout when cmd is processing as follows: Before modification: enum { HNS_ROCE_CMD_TIME_CLASS_A = 10000, HNS_ROCE_CMD_TIME_CLASS_B = 10000, HNS_ROCE_CMD_TIME_CLASS_C = 10000, }; After modification: #define HNS_ROCE_CMD_TIMEOUT_MSECS 10000 Signed-off-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
In old code, the value of qp state from qpc was assigned for attr->qp_state. The value may be an error while attr_mask & IB_QP_STATE is zero. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
This patch modified the condition of notifying hardware loopback. In hip06, RoCE Engine has several ports, one QP is related to one port. hardware only support loopback in the same port, not in the different ports. So, If QP related to port N, the dmac in the QP context equals the smac of the local port N or the loop_idc is 1, we should set loopback bit in QP context to notify hardware. Signed-off-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
This patch mainly adds self loopback support for CM. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NPeter Chen <luck.chen@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Wei Hu (Xavier) 提交于
This patch modified the logic of allocating memory using APIs in hns RoCE driver. We used kcalloc instead of kmalloc_array and bitmap_zero. And When kcalloc failed, call vzalloc to alloc memory. Signed-off-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NPing Zhang <zhangping5@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Wei Hu (Xavier) 提交于
This patch added the code for refreshing CQ CI using TPTR in hip06 SoC. We will send a doorbell to hardware for refreshing CQ CI when user succeed to poll a cqe. But it will be failed if the doorbell has been blocked. So hardware will read a special buffer called TPTR to get the lastest CI value when the cq is almost full. This patch support the special CI buffer as follows: a) Alloc the memory for TPTR in the hns_roce_tptr_init function and free it in hns_roce_tptr_free function, these two functions will be called in probe function and in the remove function. b) Add the code for computing offset(every cq need 2 bytes) and write the dma addr to every cq context to notice hardware in the function named hns_roce_v1_write_cqc. c) Add code for mapping TPTR buffer to user space in function named hns_roce_mmap. The mapping distinguish TPTR and UAR of user mode by vm_pgoff(0: UAR, 1: TPTR, others:invaild) in hip06. d) Alloc the code for refreshing CQ CI using TPTR in the function named hns_roce_v1_poll_cq. e) Add some variable definitions to the related structure. Signed-off-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NDongdong Huang(Donald) <hdd.huang@huawei.com> Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
In old code, It only added the interface for querying non-specific QP. This patch mainly adds an interface for querying QP1. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
- 03 10月, 2016 27 次提交
-
-
由 Salil 提交于
This patch removes the redundant code lines present in the functions get_send_wqe() and get_recv_wqe(). This also fixes the error in calculating the SQ WQE. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
It doesn't need to assign for the filed of qp state in qpc separately when qp happen to migrate state which supported in RoCE engine v1. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
This patch mainly fixes the bug with platform_get_resource(). It should return NULL when platform_get_resource() exec fail. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
The rq head in qpc was zero will miss the rq wqes which have be sent, so here we should take the real value. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
Cq has not been freed when fail to ib_copy_to_udata, so need to free it. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NPeter Chen <luck.chen@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
The mtu should be validated when modify qp,so we check it. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NPeter Chen <luck.chen@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
Some items of qpc need to take user param when modified qp state. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NDongdong Huang(Donald) <hdd.huang@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
The Ack timeout of qpc need a lower limit value,otherwise the read performance will be very lower. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NDongdong Huang(Donald) <hdd.huang@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
While post failed, hns roce should return the wr failed to user. We omitted this while qp type is wrong and fixed it. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NDongdong Huang(Donald) <hdd.huang@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
While the page size attribute of umem is illegal, we should release umem that get by ib_umem_get interface. Also, we should return a non-zero value while pbl number is wrong. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NDongdong Huang(Donald) <hdd.huang@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
This lock will be used in query port interface, and will be called while IB device was registered to OFED framework/IB Core. So, the lock of iboe must be initiated before IB device was registered. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NDongdong Huang(Donald) <hdd.huang@huawei.com> Reviewed-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Wei Hu (Xavier) 提交于
This patch optimized the codes of aeq and ceq interrupt handle and fixed the bug in the calculation of qpn. For the special qp(GSI or SMI), calculated the qp number according to physical port and the qpn reported in the event of async event queue. Signed-off-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Wei Hu (Xavier) 提交于
This patch deleted the sqp_start from the structure hns_roce_caps, and modified the calculation of the qp number. Signed-off-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Wei Hu (Xavier) 提交于
In hip06, there's no interface to release hem memory. So, hardware can't identify whether hem memory released or not. If all context in a hem memory released, the related hem memory will be released by driver and reused by others. But, hardware don't know that this memory can't be used already. In order to fix this bug, hns roce driver reserved 128K memory for each type of hem(QPC/CQC/MTPT). While unmap hem memory, hns roce driver will write base address of reserved memory according to hem type. Signed-off-by: NWei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: NDongdong Huang(Donald) <hdd.huang@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
This patch removes the qp_type parameter in hns_roce_set_kernel_sq_size(). Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NPing Zhang <zhangping5@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
Hns_roce_pd_alloc and hns_roce_reserve_range_qp use unnecessary transformation of parameters. This patch simplify these two functions. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NDongdong Huang(Donald) <hdd.huang@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
In current version, it uses uninitialized parameters named refcount and free in hns_roce_cq_event. This patch initializes these parameter in cq alloc and add correspond process in cq free. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NDongdong Huang(Donald) <hdd.huang@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
In old version of RoCE, it doesn't support to resize cq. So, we remove parameters related to resize cq. Signed-off-by: NLijun Ou <oulijun@huawei.com> Signed-off-by: NDongdong Huang(Donald) <hdd.huang@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
The parameter named collapsed unused in hns_roce_cq_alloc. Also, parameter named doorbell_lock unsed in hns_roce_v1_cq_set_ci. This patch optimize these parameters. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
This patch mainly modify the value of HNS_ROCE_SL_SHIFT and delete the lines for assigning for the field of local_enable_e2e_credit in QP1C. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
Fix bug of modify qp from init to init on user mode. Otherwise, it will oops when rmda cm established. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
This patch mainly modifies the logic for allocating uar registers. In HiP06 SoC, HW has 8 group of uar registers for kernel and user space application. The uar index is assigned as follows: 0 ------ for kernel 1~7 ------ for user space application Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
This patch mainly adds phy_port to HNS RoCE QP. This shall be used in calculating the GSI QPN for the port. Initally when RDMA is being established, all IB ports share a QPN which later needs to be re-assigned to a particular GSI/QPN and which is per-port. This also fixes a bug in base driver where iboe port was being used instead of phy_port at some places. This values might not be same always. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
Fix the length of wqe that maybe lead to an error and write the end bytes of QP1C into the register. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
In the latest IB core version, it has some known issues with memory registration using the local_dma_lkey. Thus RoCE don't expose support for it, and remove device->local_dma_lkey which is introduced to working systems. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
According to the Infiniband spec, NodeGUID uniquely identifies a node. This must be initialized to some unique value. This patch adds the support to the HNS RoCE driver to fetch the NodeGUID value from DT or ACPI and then use this value to initialize the node_guid parameter of IB device. This value shall be used by RDMA CM. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
由 Lijun Ou 提交于
This patch adds get_netdev() function to the IB device. This shall be used to fetch netdev corresponding to the port number. This function would be called by IB core(Generic CM Agent) for example, when the RDMA connection is being established. Signed-off-by: NLijun Ou <oulijun@huawei.com> Reviewed-by: NWei Hu <xavier.huwei@huawei.com> Signed-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
- 25 8月, 2016 1 次提交
-
-
由 Salil 提交于
This patch is meant to add support of ACPI to the Hisilicon RoCE driver. Changes done are primarily meant to detect the type and then either use DT specific or ACPI spcific functions. Where ever possible, this patch tries to make use of Unified Device Property Interface APIs to support both DT and ACPI through single interface. This patch depends upon HNS ethernet driver to Reset RoCE. This function within HNS ethernet driver has also been enhanced to support ACPI and is part of other accompanying patch with this patch-set. NOTE: The changes in this patch are done over below branch, https://github.com/dledford/linux/tree/hns-roceSigned-off-by: NSalil Mehta <salil.mehta@huawei.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-
- 23 8月, 2016 1 次提交
-
-
由 Wei Yongjun 提交于
In case of error, the function devm_ioremap_resource() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Signed-off-by: NWei Yongjun <weiyj.lk@gmail.com> Signed-off-by: NDoug Ledford <dledford@redhat.com>
-