Chengchang Tang
b65afbd2a0
RDMA/hns: Refactor the alloc_srqc()
...
Abstract the alloc_srqc() into several parts and separate the alloc_srqn()
from the alloc_srqc().
Link: https://lore.kernel.org/r/20220302064830.61706-9-liangwenpeng@huawei.com
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com >
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Reviewed-by: Leon Romanovsky <leonro@nvidia.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2022-03-04 17:36:32 -04:00
Wenpeng Liang
904de76c42
RDMA/hns: Clean up the return value check of hns_roce_alloc_cmd_mailbox()
...
hns_roce_alloc_cmd_mailbox() never returns NULL, so the check should be
IS_ERR(). And the error code should be converted as the function's return
value.
Link: https://lore.kernel.org/r/20220302064830.61706-8-liangwenpeng@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Reviewed-by: Leon Romanovsky <leonro@nvidia.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2022-03-04 17:36:32 -04:00
Chengchang Tang
cf7f8f5c1c
RDMA/hns: Remove similar code that configures the hardware contexts
...
Remove duplicate code for creating and destroying hardware contexts via
mailbox.
Link: https://lore.kernel.org/r/20220302064830.61706-7-liangwenpeng@huawei.com
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com >
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Reviewed-by: Leon Romanovsky <leonro@nvidia.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2022-03-04 17:36:31 -04:00
Chengchang Tang
162e29feab
RDMA/hns: Refactor mailbox functions
...
The current mailbox functions have too many parameters, making the code
difficult to maintain. So construct a new structure mbox_msg to pass the
information needed by mailbox.
Link: https://lore.kernel.org/r/20220302064830.61706-6-liangwenpeng@huawei.com
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com >
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Reviewed-by: Leon Romanovsky <leonro@nvidia.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2022-03-04 17:36:31 -04:00
Wenpeng Liang
479dc93ba7
RDMA/hns: Remove redundant parameter "mailbox" in the mailbox
...
The parameter "out_param" of the mailbox is always null when the context is
destroyed. So remove the function parameter "mailbox".
Link: https://lore.kernel.org/r/20220302064830.61706-4-liangwenpeng@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Reviewed-by: Leon Romanovsky <leonro@nvidia.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2022-03-04 17:36:31 -04:00
Chengchang Tang
0018ed4bb0
RDMA/hns: Remove fixed parameter “timeout” in the mailbox
...
The value of the function parameter “timeout” is unique. Therefore,
it is unnecessary to specify the parameter “timeout” value each time.
So remove it.
Link: https://lore.kernel.org/r/20220302064830.61706-3-liangwenpeng@huawei.com
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com >
Signed-off-by: Haoyue Xu <xuhaoyue1@hisilicon.com >
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Reviewed-by: Leon Romanovsky <leonro@nvidia.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2022-03-04 17:36:30 -04:00
Chengchang Tang
5a32949d81
RDMA/hns: Remove the unused parameter "op_modifier" in mailbox
...
The parameter "op_modifier" is only used for HIP06. It is useless for HIP08
and later versions. After removing HIP06, this parameter is no longer used,
so remove it.
Link: https://lore.kernel.org/r/20220302064830.61706-2-liangwenpeng@huawei.com
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com >
Signed-off-by: Haoyue Xu <xuhaoyue1@hisilicon.com >
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Reviewed-by: Leon Romanovsky <leonro@nvidia.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2022-03-04 17:36:30 -04:00
Jiacheng Shi
12d3bbdd6b
RDMA/hns: Replace kfree() with kvfree()
...
Variables allocated by kvmalloc_array() should not be freed by kfree.
Because they may be allocated by vmalloc. So we replace kfree() with
kvfree() here.
Fixes: 6fd610c573 ("RDMA/hns: Support 0 hop addressing for SRQ buffer")
Link: https://lore.kernel.org/r/20211210094234.5829-1-billsjc@sjtu.edu.cn
Signed-off-by: Jiacheng Shi <billsjc@sjtu.edu.cn >
Acked-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-12-14 20:13:29 -04:00
Yangyang Li
c4f11b36f8
RDMA/hns: Use IDA interface to manage srq index
...
Switch srq index allocation and release from hns' own bitmap interface to
IDA interface.
Link: https://lore.kernel.org/r/1629336980-17499-3-git-send-email-liangwenpeng@huawei.com
Signed-off-by: Yangyang Li <liyangyang20@huawei.com >
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-08-24 09:15:16 -03:00
Yangyang Li
38e375b771
RDMA/hns: Remove unused RR mechanism
...
Round-robin (RR) is no longer used in the allocation of the bitmap table,
and all the function input parameters that use this mechanism are
BITMAP_NO_RR. The code that defines and uses the RR needs to be deleted.
Link: https://lore.kernel.org/r/1623325814-55737-4-git-send-email-liweihang@huawei.com
Signed-off-by: Yangyang Li <liyangyang20@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-06-21 15:42:53 -03:00
Weihang Li
33649cd3f9
RDMA/hns: Use refcount_t instead of atomic_t for SRQ reference counting
...
The refcount_t API will WARN on underflow and overflow of a reference
counter, and avoid use-after-free risks.
Link: https://lore.kernel.org/r/1622194663-2383-10-git-send-email-liweihang@huawei.com
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-06-08 14:58:30 -03:00
Xi Wang
7b0006db68
RDMA/hns: Optimize the base address table config for MTR
...
The base address table is allocated by dma allocator, and the size is
always aligned to PAGE_SIZE. If a fixed size is used to allocate the
table, the number of base address entries stored in the table will be
smaller than that can actually stored.
Link: https://lore.kernel.org/r/1621589395-2435-2-git-send-email-liweihang@huawei.com
Signed-off-by: Xi Wang <wangxi11@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-05-28 20:13:57 -03:00
Yixian Liu
704d68f5f2
RDMA/hns: Reorganize doorbell update interfaces for all queues
...
The doorbell update interfaces are very similar for different queues, such
as SQ, RQ, SRQ, CQ and EQ. So reorganize these code and also fix some
inappropriate naming.
Link: https://lore.kernel.org/r/1616840738-7866-3-git-send-email-liweihang@huawei.com
Signed-off-by: Yixian Liu <liuyixian@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-04-01 16:16:44 -03:00
Wenpeng Liang
32548870d4
RDMA/hns: Add support for XRC on HIP09
...
The HIP09 supports XRC transport service, it greatly saves the number of
QPs required to connect all processes in a large cluster.
Link: https://lore.kernel.org/r/1614826558-35423-1-git-send-email-liweihang@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-03-11 19:51:27 -04:00
Wenpeng Liang
eacb45ca8f
RDMA/hns: Refactor code about SRQ Context
...
Reduce parameter numbers of write_srqc() and move some related code into
it from alloc_srqc().
Link: https://lore.kernel.org/r/1611997090-48820-8-git-send-email-liweihang@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-02-08 19:37:35 -04:00
Wenpeng Liang
0fee451634
RDMA/hns: Refactor hns_roce_create_srq()
...
Split the SRQ creation process into multiple steps and encapsulate them
into functions.
Link: https://lore.kernel.org/r/1611997090-48820-7-git-send-email-liweihang@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-02-08 19:37:34 -04:00
Wenpeng Liang
6ee00fbf73
RDMA/hns: Remove the reserved WQE of SRQ
...
Each SRQs contain an reserved WQE, it is inappropriate and should be
removed.
Fixes: c7bcb13442 ("RDMA/hns: Add SRQ support for hip08 kernel mode")
Link: https://lore.kernel.org/r/1611997090-48820-6-git-send-email-liweihang@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-02-08 19:37:34 -04:00
Wenpeng Liang
b5df9b7a2f
RDMA/hns: Force srq_limit to 0 when creating SRQ
...
According to the IB Specification, srq_limit shouldn't be configured
during SRQ creation. If a user set srq_limit at this time, the driver
should forced it to zero, or the result of creating SRQ will conflict with
the result of querying SRQ.
Fixes: c7bcb13442 ("RDMA/hns: Add SRQ support for hip08 kernel mode")
Link: https://lore.kernel.org/r/1611997090-48820-4-git-send-email-liweihang@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-02-08 19:37:34 -04:00
Wenpeng Liang
1620f09b96
RDMA/hns: Bugfix for checking whether the srq is full when post wr
...
If a user posts WR by wr_list, the head pointer of idx_queue won't be
updated until all wqes are filled, so the judgment of whether head equals
to tail will get a wrong result. Fix above issue and move the head and
tail pointer from the srq structure into the idx_queue structure. After
idx_queue is filled with wqe idx, the head pointer of it will increase.
Fixes: c7bcb13442 ("RDMA/hns: Add SRQ support for hip08 kernel mode")
Link: https://lore.kernel.org/r/1611997090-48820-3-git-send-email-liweihang@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-02-08 19:37:33 -04:00
Lang Cheng
9dd052474a
RDMA/hns: Allocate one more recv SGE for HIP08
...
The RQ/SRQ of HIP08 needs one special sge to stop receive reliably. So the
driver needs to allocate at least one SGE when creating RQ/SRQ and ensure
that at least one SGE is filled with the special value during post_recv.
Besides, the kernel driver should only do this for kernel ULP. For
userspace ULP, the userspace driver will allocate the reserved SGE in
buffer, and the kernel driver just needs to pin the corresponding size of
memory based on the userspace driver's requirements.
Link: https://lore.kernel.org/r/1611997090-48820-2-git-send-email-liweihang@huawei.com
Signed-off-by: Lang Cheng <chenglang@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-02-08 19:37:33 -04:00
Xi Wang
0e0ab04b5b
RDMA/hns: Refactor the MTR creation flow
...
Split the hns_roce_mtr_create() into serval small functions, remove unused
member in 'struct hns_roce_buf_attr' and delete unnecessary MTR page count
check flow to make the MTR creation related codes clearer.
Link: https://lore.kernel.org/r/1611395282-991-2-git-send-email-liweihang@huawei.com
Signed-off-by: Xi Wang <wangxi11@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-01-28 10:51:05 -04:00
Yixing Liu
61918e9b00
RDMA/hns: Fix inaccurate prints
...
Some %d in print format string should be %u, and some prints miss the
useful errno or are in nonstandard format. Just fix above issues.
Link: https://lore.kernel.org/r/1607650657-35992-11-git-send-email-liweihang@huawei.com
Signed-off-by: Yixing Liu <liuyixing1@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-12-11 15:21:35 -04:00
Lang Cheng
dc93a0d987
RDMA/hns: Fix coding style issues
...
Just format the code without modifying anything, including fixing some
redundant and missing blanks and spaces and changing the variable
definition order.
Link: https://lore.kernel.org/r/1607650657-35992-8-git-send-email-liweihang@huawei.com
Signed-off-by: Lang Cheng <chenglang@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-12-11 15:21:34 -04:00
Wenpeng Liang
1c0ca9cd17
RDMA/hns: Limit the length of data copied between kernel and userspace
...
For ib_copy_from_user(), the length of udata may not be the same as that
of cmd. For ib_copy_to_user(), the length of udata may not be the same as
that of resp. So limit the length to prevent out-of-bounds read and write
operations from ib_copy_from_user() and ib_copy_to_user().
Fixes: de77503a59 ("RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db")
Fixes: 633fb4d9fd ("RDMA/hns: Use structs to describe the uABI instead of opencoding")
Fixes: ae85bf92ef ("RDMA/hns: Optimize qp param setup flow")
Fixes: 6fd610c573 ("RDMA/hns: Support 0 hop addressing for SRQ buffer")
Fixes: 9d9d4ff788 ("RDMA/hns: Update the kernel header file of hns")
Link: https://lore.kernel.org/r/1607650657-35992-2-git-send-email-liweihang@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-12-11 15:21:33 -04:00
Weihang Li
53ef4999f0
RDMA/hns: Move capability flags of QP and CQ to hns-abi.h
...
These flags will be returned to the userspace through ABI, so they should
be defined in hns-abi.h. Furthermore, there is no need to include
hns-abi.h in every source files, it just needs to be included in the
common header file.
Link: https://lore.kernel.org/r/1606872560-17823-1-git-send-email-liweihang@huawei.com
Reported-by: kernel test robot <lkp@intel.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-12-07 15:48:51 -04:00
Jason Gunthorpe
652caba5b5
RDMA: Check srq_type during create_srq
...
uverbs was blocking srq_types the driver doesn't support based on the
CREATE_XSRQ cmd_mask. Fix all drivers to check for supported srq_types
during create_srq and move CREATE_XSRQ to the core code.
Link: https://lore.kernel.org/r/5-v1-caa70ba3d1ab+1436e-ucmd_mask_jgg@nvidia.com
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-10-26 19:27:58 -03:00
Leon Romanovsky
119181d1d4
RDMA: Restore ability to fail on SRQ destroy
...
In similar way to other IB objects, restore the ability to return error on
SRQ destroy. Strictly speaking, this change is not necessary, and provided
here to ensure a symmetrical interface like other destroy functions.
Fixes: 68e326dea1 ("RDMA: Handle SRQ allocations by IB/core")
Link: https://lore.kernel.org/r/20200907120921.476363-5-leon@kernel.org
Signed-off-by: Leon Romanovsky <leonro@mellanox.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-09-09 14:14:24 -03:00
Lijun Ou
a2f3d4479f
RDMA/hns: Avoid unncessary initialization
...
Some variables have been initialized when used. As a result, here removes
some unncessary initial assignment.
Link: https://lore.kernel.org/r/1599547944-30671-1-git-send-email-oulijun@huawei.com
Signed-off-by: Lijun Ou <oulijun@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-09-09 13:23:15 -03:00
Weihang Li
6da06c6291
Revert "RDMA/hns: Reserve one sge in order to avoid local length error"
...
This patch caused some issues on SEND operation, and it should be reverted
to make the drivers work correctly. There will be a better solution that
has been tested carefully to solve the original problem.
This reverts commit 711195e57d .
Fixes: 711195e57d ("RDMA/hns: Reserve one sge in order to avoid local length error")
Link: https://lore.kernel.org/r/1597829984-20223-1-git-send-email-liweihang@huawei.com
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-08-20 08:35:19 -03:00
Wenpeng Liang
f226f6765f
RDMA/hns: Remove redundant parameters from free_srq/qp_wrid()
...
The redundant parameters "hr_dev" need to be removed from
free_kernel_wrid() and free_srq_wrid().
Link: https://lore.kernel.org/r/1590152579-32364-3-git-send-email-liweihang@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2020-05-25 14:20:45 -03:00
Lijun Ou
711195e57d
RDMA/hns: Reserve one sge in order to avoid local length error
...
When rq/srq sge length is smaller than sq sge length, it will produce a
local length error and may cause the bus to hang. Therefore, for rq wqe
and srq wqe, one reserved sge pointing to a reserved mr is used to avoid
this error.
Link: https://lore.kernel.org/r/1588931159-56875-10-git-send-email-liweihang@huawei.com
Signed-off-by: Lijun Ou <oulijun@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2020-05-19 20:54:59 -03:00
Xi Wang
9581a356cc
RDMA/hns: Rename macro for defining hns hardware page size
...
Rename the PAGE_ADDR_SHIFT as HNS_HW_PAGE_SHIFT to make code more
readable.
Link: https://lore.kernel.org/r/1588931159-56875-9-git-send-email-liweihang@huawei.com
Signed-off-by: Xi Wang <wangxi11@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2020-05-19 20:54:59 -03:00
Xi Wang
67954a6e37
RDMA/hns: Optimize SRQ buffer size calculating process
...
Optimize the SRQ's WQE buffer parameters calculating process to make the
codes more readable by using new functions about multi-hop addressing to
calculating capabilities of SRQ.
Link: https://lore.kernel.org/r/1588071823-40200-6-git-send-email-liweihang@huawei.com
Signed-off-by: Xi Wang <wangxi11@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2020-05-06 17:26:44 -03:00
Xi Wang
6fd610c573
RDMA/hns: Support 0 hop addressing for SRQ buffer
...
Add the zero hop addressing support by using mtr interface for SRQ buffer,
so the hns driver can support addressing hopnum between 0 to 3 for SRQ.
Link: https://lore.kernel.org/r/1586779091-51410-6-git-send-email-liweihang@huawei.com
Signed-off-by: Xi Wang <wangxi11@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2020-04-22 16:21:37 -03:00
Xi Wang
cc23267aed
RDMA/hns: Optimize hns buffer allocation flow
...
When the value of nbufs is 1, the buffer is in direct mode, which may cause
confusion. So optimizes current codes to make it easier to maintain and
understand.
Link: https://lore.kernel.org/r/1586779091-51410-3-git-send-email-liweihang@huawei.com
Signed-off-by: Xi Wang <wangxi11@huawei.com >
Signed-off-by: Lang Cheng <chenglang@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2020-04-22 15:59:54 -03:00
Lang Cheng
b14c95bee8
RDMA/hns: Cleanups of magic numbers
...
Some magic numbers are hard to understand, so replace them with macros or
add some comments for them.
Link: https://lore.kernel.org/r/20200126145504.9700-1-liweihang@huawei.com
Signed-off-by: Lang Cheng <chenglang@huawei.com >
Signed-off-by: Yixian Liu <liuyixian@huawei.com >
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Yixing Liu <liuyixing1@huawei.com >
Signed-off-by: Weihang Li <liweihang@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2020-02-11 14:10:20 -04:00
Moni Shoua
c320e527e1
IB: Allow calls to ib_umem_get from kernel ULPs
...
So far the assumption was that ib_umem_get() and ib_umem_odp_get()
are called from flows that start in UVERBS and therefore has a user
context. This assumption restricts flows that are initiated by ULPs
and need the service that ib_umem_get() provides.
This patch changes ib_umem_get() and ib_umem_odp_get() to get IB device
directly by relying on the fact that both UVERBS and ULPs sets that
field correctly.
Reviewed-by: Guy Levi <guyle@mellanox.com >
Signed-off-by: Moni Shoua <monis@mellanox.com >
Signed-off-by: Leon Romanovsky <leonro@mellanox.com >
2020-01-16 16:14:28 +02:00
Linus Torvalds
d768869728
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
...
Pull rdma updates from Jason Gunthorpe:
"Again another fairly quiet cycle with few notable core code changes
and the usual variety of driver bug fixes and small improvements.
- Various driver updates and bug fixes for siw, bnxt_re, hns, qedr,
iw_cxgb4, vmw_pvrdma, mlx5
- Improvements in SRPT from working with iWarp
- SRIOV VF support for bnxt_re
- Skeleton kernel-doc files for drivers/infiniband
- User visible counters for events related to ODP
- Common code for tracking of mmap lifetimes so that drivers can link
HW object liftime to a VMA
- ODP bug fixes and rework
- RDMA READ support for efa
- Removal of the very old cxgb3 driver"
* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (168 commits)
RDMA/hns: Delete unnecessary callback functions for cq
RDMA/hns: Rename the functions used inside creating cq
RDMA/hns: Redefine the member of hns_roce_cq struct
RDMA/hns: Redefine interfaces used in creating cq
RDMA/efa: Expose RDMA read related attributes
RDMA/efa: Support remote read access in MR registration
RDMA/efa: Store network attributes in device attributes
IB/hfi1: remove redundant assignment to variable ret
RDMA/bnxt_re: Fix missing le16_to_cpu
RDMA/bnxt_re: Fix stat push into dma buffer on gen p5 devices
RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series
RDMA/bnxt_re: Fix Kconfig indentation
IB/mlx5: Implement callbacks for getting VFs GUID attributes
IB/ipoib: Add ndo operation for getting VFs GUID attributes
IB/core: Add interfaces to get VF node and port GUIDs
net/core: Add support for getting VF GUIDs
RDMA/qedr: Fix null-pointer dereference when calling rdma_user_mmap_get_offset
RDMA/cm: Use refcount_t type for refcount variable
IB/mlx5: Support extended number of strides for Striding RQ
IB/mlx4: Update HW GID table while adding vlan GID
...
2019-11-27 10:17:28 -08:00
Christoph Hellwig
72b894b09a
IB/umem: remove the dmasync argument to ib_umem_get
...
The argument is always ignored, so remove it.
Link: https://lore.kernel.org/r/20191113073214.9514-3-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de >
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com >
Acked-by: Michal Kalderon <michal.kalderon@marvell.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-11-17 10:37:00 -04:00
Wenpeng Liang
d11769fdc1
RDMA/hns: Modify appropriate printings
...
Modify some printings that is not in uniformed style, non-standard or with
spelling errors.
Link: https://lore.kernel.org/r/1572952082-6681-10-git-send-email-liweihang@hisilicon.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@hisilicon.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-11-08 16:37:55 -04:00
Yixian Liu
1ceb0b11a8
RDMA/hns: Fix non-standard error codes
...
It is better to return a linux error code than define a private constant.
Link: https://lore.kernel.org/r/1572952082-6681-9-git-send-email-liweihang@hisilicon.com
Signed-off-by: Yixian Liu <liuyixian@huawei.com >
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@hisilicon.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-11-08 16:37:54 -04:00
Yixing Liu
6eef524201
RDMA/hns: Replace not intuitive function/macro names
...
Replace "sw2hw" and "hw2sw" which is hard to understand with "create" and
"destroy".
Link: https://lore.kernel.org/r/1572952082-6681-6-git-send-email-liweihang@hisilicon.com
Signed-off-by: Yixing Liu <liuyixing1@huawei.com >
Signed-off-by: Weihang Li <liweihang@hisilicon.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-11-08 16:37:54 -04:00
Yixian Liu
d938d7856f
RDMA/hns: Modify fields of struct hns_roce_srq
...
Use wqe_cnt instead of max which means the queue size of srq, and remove
wqe_ctr which is not used.
Link: https://lore.kernel.org/r/1572952082-6681-5-git-send-email-liweihang@hisilicon.com
Signed-off-by: Yixian Liu <liuyixian@huawei.com >
Signed-off-by: Weihang Li <liweihang@hisilicon.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-11-08 16:37:54 -04:00
Wenpeng Liang
411c1e6774
RDMA/hns: Correct the value of srq_desc_size
...
srq_desc_size should be rounded up to pow of two before used, or related
calculation may cause allocating wrong size of memory for srq buffer.
Fixes: c7bcb13442 ("RDMA/hns: Add SRQ support for hip08 kernel mode")
Link: https://lore.kernel.org/r/1572575610-52530-3-git-send-email-liweihang@hisilicon.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Weihang Li <liweihang@hisilicon.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-11-06 13:37:02 -04:00
Weihang Li
e8a07de57e
RDMA/hns: Fix wrong parameters when initial mtt of srq->idx_que
...
The parameters npages used to initial mtt of srq->idx_que shouldn't be
same with srq's. And page_shift should be calculated from idx_buf_pg_sz.
This patch fixes above issues and use field named npage and page_shift
in hns_roce_buf instead of two temporary variables to let us use them
anywhere.
Fixes: 18df508c79 ("RDMA/hns: Remove if-else judgment statements for creating srq")
Signed-off-by: Weihang Li <liweihang@hisilicon.com >
Link: https://lore.kernel.org/r/1567566885-23088-3-git-send-email-liweihang@hisilicon.com
Signed-off-by: Doug Ledford <dledford@redhat.com >
2019-10-21 15:29:37 -04:00
Wenpeng Liang
afca2a2b83
RDMA/hns: Delete the not-used lines
...
Delete the assignment of srq->ibsrq.ext.xrc.srq_num, beacause this
value is not used.
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Lijun Ou <oulijun@huawei.com >
Link: https://lore.kernel.org/r/1566393276-42555-9-git-send-email-oulijun@huawei.com
Signed-off-by: Doug Ledford <dledford@redhat.com >
2019-08-28 11:57:26 -04:00
Wenpeng Liang
18df508c79
RDMA/hns: Remove if-else judgment statements for creating srq
...
Because if the value of srqwqe_buf_pg_sz is zero, npages and
ib_umem_page_count are equivalent, page_shif and PAGE_SHIFT
are equivalent in hns_roce_create_srq. Here remove it.
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com >
Signed-off-by: Lijun Ou <oulijun@huawei.com >
Link: https://lore.kernel.org/r/1566393276-42555-8-git-send-email-oulijun@huawei.com
Signed-off-by: Doug Ledford <dledford@redhat.com >
2019-08-28 11:57:26 -04:00
Lijun Ou
2a2f1887e0
RDMA/hns: Refactor the code of creating srq
...
Move the related codes of creating user srq and kernel srq into two
independent functions as well as remove some unused code and
simplifications.
Link: https://lore.kernel.org/r/1562593285-8037-3-git-send-email-oulijun@huawei.com
Signed-off-by: Lijun Ou <oulijun@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-07-25 12:23:10 -03:00
Lijun Ou
e9816ddf2a
RDMA/hns: Cleanup unnecessary exported symbols
...
This patch removes the hns-roce.ko for cleanup all the exported symbols in
common part.
Signed-off-by: Xi Wang <wangxi11@huawei.com >
Signed-off-by: Lijun Ou <oulijun@huawei.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-06-25 14:48:44 -03:00
Leon Romanovsky
836a0fbb3e
RDMA: Check umem pointer validity prior to release
...
Update ib_umem_release() to behave similarly to kfree() and allow
submitting NULL pointer as safe input to this function.
Fixes: a52c8e2469 ("RDMA: Clean destroy CQ in drivers do not return errors")
Signed-off-by: Leon Romanovsky <leonro@mellanox.com >
Signed-off-by: Doug Ledford <dledford@redhat.com >
2019-06-20 15:17:59 -04:00