Kalesh AP
80dde187f7
RDMA/bnxt_re: Add a missing check in bnxt_qplib_query_srq
...
Before populating the response, driver has to check the status
of HWRM command.
Fixes: 37cb11acf1 ("RDMA/bnxt_re: Add SRQ support for Broadcom adapters")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1705985677-15551-6-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2024-01-25 12:04:39 +02:00
Kalesh AP
3687b450c5
RDMA/bnxt_re: Return error for SRQ resize
...
SRQ resize is not supported in the driver. But driver is not
returning error from bnxt_re_modify_srq() for SRQ resize.
Fixes: 37cb11acf1 ("RDMA/bnxt_re: Add SRQ support for Broadcom adapters")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1705985677-15551-5-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2024-01-25 12:04:39 +02:00
Kalesh AP
8eaca6b599
RDMA/bnxt_re: Fix unconditional fence for newer adapters
...
Older adapters required an unconditional fence for
non-wire memory operations. Newer adapters doesn't require
this and therefore, disabling the unconditional fence.
Fixes: 1801d87b35 ("RDMA/bnxt_re: Support new 5760X P7 devices")
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com >
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1705985677-15551-4-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2024-01-25 12:04:39 +02:00
Kalesh AP
8fcbf0a55f
RDMA/bnxt_re: Remove a redundant check inside bnxt_re_vf_res_config
...
After the cited commit, there is no possibility that this check
can return true. Remove it.
Fixes: a43c26fa2e ("RDMA/bnxt_re: Remove the sriov config callback")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1705985677-15551-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2024-01-25 12:04:39 +02:00
Kalesh AP
282fd66e2e
RDMA/bnxt_re: Avoid creating fence MR for newer adapters
...
Limit the usage of fence MR to adapters older than Gen P5 products.
Fixes: 1801d87b35 ("RDMA/bnxt_re: Support new 5760X P7 devices")
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com >
Signed-off-by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com >
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1705985677-15551-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2024-01-25 12:04:39 +02:00
Dan Carpenter
d24b923f1d
RDMA/bnxt_re: Fix error code in bnxt_re_create_cq()
...
Return -ENOMEM if get_zeroed_page() fails. Don't return success.
Fixes: e275919d96 ("RDMA/bnxt_re: Share a page to expose per CQ info with userspace")
Link: https://lore.kernel.org/r/d714306e-b7d7-4e89-b973-a9ff0f260c78@moroto.mountain
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org >
Acked-by: Selvin Xavier <selvin.xavier@broadcom.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2024-01-08 11:41:49 +02:00
Selvin Xavier
82a8903a9f
RDMA/bnxt_re: Fix the sparse warnings
...
Fix the following warnings reported
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:909:27: warning: invalid assignment: |=
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:909:27: left side has type restricted __le16
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:909:27: right side has type unsigned long
...
drivers/infiniband/hw/bnxt_re/qplib_fp.c:1620:44: warning: invalid assignment: |=
drivers/infiniband/hw/bnxt_re/qplib_fp.c:1620:44: left side has type restricted __le64
drivers/infiniband/hw/bnxt_re/qplib_fp.c:1620:44: right side has type unsigned long long
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202312200537.HoNqPL5L-lkp@intel.com/
Fixes: 07f830ae49 ("RDMA/bnxt_re: Adds MSN table capability for Gen P7 adapters")
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1703046717-8914-1-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-20 10:10:56 +02:00
Selvin Xavier
9248f363d0
RDMA/bnxt_re: Fix the offset for GenP7 adapters for user applications
...
User Doorbell page indexes start at an offset for GenP7 adapters.
Fix the offset that will be used for user doorbell page indexes.
Fixes: a62d685814 ("RDMA/bnxt_re: Update the BAR offsets")
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1702987900-5363-1-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-20 09:45:45 +02:00
Selvin Xavier
e275919d96
RDMA/bnxt_re: Share a page to expose per CQ info with userspace
...
Gen P7 adapters needs to share a toggle bits information received
in kernel driver with the user space. User space needs this
info during the request notify call back to arm the CQ.
User space application can get this page using the
UAPI routines. Library will mmap this page and get the
toggle bits to be used in the next ARM Doorbell.
Uses a hash list to map the CQ structure from the CQ ID.
CQ structure is retrieved from the hash list while the
library calls the UAPI routine to get the toggle page
mapping. Currently the full page is mapped per CQ. This
can be optimized to enable multiple CQs from the same
application share the same page and different offsets
in the page.
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1702535484-26844-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-17 15:35:58 +02:00
Selvin Xavier
9b0a7a2cb8
RDMA/bnxt_re: Add UAPI to share a page with user space
...
Gen P7 adapters require to share a toggle value for CQ
and SRQ. This is received by the driver as part of
interrupt notifications and needs to be shared with the
user space. Add a new UAPI infrastructure to get the
shared page for CQ and SRQ.
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1702535484-26844-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-17 15:35:58 +02:00
Leon Romanovsky
afcda192db
Expose c0 and SW encap ICM for RDMA
...
These two series from Mark and Shun extend RDMA mlx5 API.
Mark's series provides c0 register used to match egress
traffic sent by local device.
Shun's series adds new type for ICM area.
Link: https://lore.kernel.org/all/cover.1701871118.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-12 09:04:59 +02:00
Selvin Xavier
07f830ae49
RDMA/bnxt_re: Adds MSN table capability for Gen P7 adapters
...
GenP7 HW expects an MSN table instead of PSN table. Check
for the HW retransmission capability and populate the MSN
table if HW retansmission is supported.
Signed-off-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1701946060-13931-7-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-11 09:56:29 +02:00
Selvin Xavier
cdae3936b2
RDMA/bnxt_re: Doorbell changes
...
Update the Doorbell routines to support the latest HW
definitions. Use common routine to prepare the Doorbell
key.
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1701946060-13931-6-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-11 09:56:29 +02:00
Selvin Xavier
6027c20dad
RDMA/bnxt_re: Get the toggle bits from CQ completions
...
Get the toggle bits from CQ completions. For older adapters
these values are 0.
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1701946060-13931-5-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-11 09:56:28 +02:00
Selvin Xavier
880a5dd188
RDMA/bnxt_re: Update the HW interface definitions
...
Adds HW interface definitions to support the new
chip revision.
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1701946060-13931-4-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-11 09:56:28 +02:00
Selvin Xavier
a62d685814
RDMA/bnxt_re: Update the BAR offsets
...
Update the BAR offsets for handling GenP7 adapters.
Use the values populated by L2 driver for getting the
Doorbell offsets.
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1701946060-13931-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-11 09:56:28 +02:00
Selvin Xavier
1801d87b35
RDMA/bnxt_re: Support new 5760X P7 devices
...
Add basic support for 5760X P7 devices. Add new chip
revisions. The first version support is similar to
the existing P5 adapters. Extend the current support
for P5 adapters to P7 also.
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1701946060-13931-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-12-11 09:56:28 +02:00
Kalesh AP
422b19f7f0
RDMA/bnxt_re: Correct module description string
...
The word "Driver" is repeated twice in the "modinfo bnxt_re"
output description. Fix it.
Fixes: 1ac5a40479 ("RDMA/bnxt_re: Add bnxt_re RoCE driver")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1700555387-6277-1-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-11-22 13:51:48 +02:00
Chandramohan Akula
48f996d4ad
RDMA/bnxt_re: Remove roundup_pow_of_two depth for all hardware queue resources
...
Rounding up the queue depth to power of two is not a hardware requirement.
In order to optimize the per connection memory usage, removing drivers
implementation which round up to the queue depths to the power of 2.
Implements a mask to maintain backward compatibility with older
library.
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1698069803-1787-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-11-13 10:27:14 +02:00
Chandramohan Akula
3a4304d826
RDMA/bnxt_re: Refactor the queue index update
...
The queue index wrap around logic is based on power of 2 size depth.
All queues are created with power of 2 depth. This increases the
memory usage by the driver. This change is required for the next
patches that avoids the power of 2 depth requirement for each of
the queues.
Update the function that increments producer index and consumer
index during wrap around. Also, changes the index handling across
multiple functions.
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1698069803-1787-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-11-13 10:26:41 +02:00
Jason Gunthorpe
162e348024
Merge tag 'v6.6' into rdma.git for-next
...
Resolve conflict by taking the spin_lock hunk from for-next:
https://lore.kernel.org/r/20230928113851.5197a1ec@canb.auug.org.au
Required for the next patch.
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2023-10-31 10:54:48 -03:00
Nathan Chancellor
9040c0d96f
RDMA/bnxt_re: Fix clang -Wimplicit-fallthrough in bnxt_re_handle_cq_async_error()
...
Clang warns (or errors with CONFIG_WERROR=y):
drivers/infiniband/hw/bnxt_re/main.c:1114:2: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
1114 | default:
| ^
drivers/infiniband/hw/bnxt_re/main.c:1114:2: note: insert 'break;' to avoid fall-through
1114 | default:
| ^
| break;
1 error generated.
Clang is a little more pedantic than GCC, which does not warn when
falling through to a case that is just break or return. Clang's version
is more in line with the kernel's own stance in deprecated.rst, which
states that all switch/case blocks must end in either break,
fallthrough, continue, goto, or return. Add the missing break to silence
the warning.
Closes: https://github.com/ClangBuiltLinux/linux/issues/1950
Fixes: b02fd3f79e ("RDMA/bnxt_re: Report async events and errors")
Signed-off-by: Nathan Chancellor <nathan@kernel.org >
Link: https://lore.kernel.org/r/20231020-bnxt_re-implicit-fallthrough-v1-1-b5c19534a6c9@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-10-22 10:31:01 +03:00
Chandramohan Akula
45cfa8864c
RDMA/bnxt_re: Do not report SRQ error in srq notification
...
In the SRQ notification handler, do not report the SRQ_ERROR
in the default event case, as there was no error.
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1697049097-31992-4-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-10-15 11:48:32 +03:00
Chandramohan Akula
b02fd3f79e
RDMA/bnxt_re: Report async events and errors
...
Report QP, SRQ and CQ async events and errors.
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1697049097-31992-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-10-15 11:48:32 +03:00
Chandramohan Akula
d60a779673
RDMA/bnxt_re: Update HW interface headers
...
Updating the HW structures for the affiliated event and error
reporting. Newly added interface structures will be used in the
followup patch.
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1697049097-31992-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-10-15 11:48:32 +03:00
Selvin Xavier
a83c692789
RDMA/bnxt_re: Decrement resource stats correctly
...
rc_qp_count and ud_qp_count is not decremented during qp destroy.
Fix this.
Fixes: cb95709e0d ("bnxt_re: Update the hw counters for resource stats")
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1695199280-13520-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-09-21 11:56:23 +03:00
Selvin Xavier
9fc5f9a92f
RDMA/bnxt_re: Fix the handling of control path response data
...
Flag that indicate control path command completion should be cleared
only after copying the command response data. As soon as the is_in_used
flag is clear, the waiting thread can proceed with wrong response
data. This wrong data is causing multiple issues like wrong lkey
used in data traffic and wrong AH Id etc.
Use a memory barrier to ensure that the response data
is copied and visible to the process waiting on a different
cpu core before clearing the is_in_used flag.
Clear the is_in_used after copying the command response.
Fixes: bcfee4ce3e ("RDMA/bnxt_re: remove redundant cmdq_bitmap")
Signed-off-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1695199280-13520-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-09-21 11:56:23 +03:00
Krzysztof Kozlowski
3ec648c631
IB: Use capital "OR" for multiple licenses in SPDX
...
Documentation/process/license-rules.rst and checkpatch expect the SPDX
identifier syntax for multiple licenses to use capital "OR". Correct it
to keep consistent format and avoid copy-paste issues.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20230823092912.122674-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-09-11 14:14:00 +03:00
Linus Torvalds
f7e97ce269
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
...
Pull rdma updates from Jason Gunthorpe:
"Many small changes across the subystem, some highlights:
- Usual driver cleanups in qedr, siw, erdma, hfi1, mlx4/5, irdma,
mthca, hns, and bnxt_re
- siw now works over tunnel and other netdevs with a MAC address by
removing assumptions about a MAC/GID from the connection manager
- "Doorbell Pacing" for bnxt_re - this is a best effort scheme to
allow userspace to slow down the doorbell rings if the HW gets full
- irdma egress VLAN priority, better QP/WQ sizing
- rxe bug fixes in queue draining and srq resizing
- Support more ethernet speed options in the core layer
- DMABUF support for bnxt_re
- Multi-stage MTT support for erdma to allow much bigger MR
registrations
- A irdma fix with a CVE that came in too late to go to -rc, missing
bounds checking for 0 length MRs"
* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (87 commits)
IB/hfi1: Reduce printing of errors during driver shut down
RDMA/hfi1: Move user SDMA system memory pinning code to its own file
RDMA/hfi1: Use list_for_each_entry() helper
RDMA/mlx5: Fix trailing */ formatting in block comment
RDMA/rxe: Fix redundant break statement in switch-case.
RDMA/efa: Fix wrong resources deallocation order
RDMA/siw: Call llist_reverse_order in siw_run_sq
RDMA/siw: Correct wrong debug message
RDMA/siw: Balance the reference of cep->kref in the error path
Revert "IB/isert: Fix incorrect release of isert connection"
RDMA/bnxt_re: Fix kernel doc errors
RDMA/irdma: Prevent zero-length STAG registration
RDMA/erdma: Implement hierarchical MTT
RDMA/erdma: Refactor the storage structure of MTT entries
RDMA/erdma: Renaming variable names and field names of struct erdma_mem
RDMA/hns: Support hns HW stats
RDMA/hns: Dump whole QP/CQ/MR resource in raw
RDMA/irdma: Add missing kernel-doc in irdma_setup_umode_qp()
RDMA/mlx4: Copy union directly
RDMA/irdma: Drop unused kernel push code
...
2023-09-01 16:49:33 -07:00
Leon Romanovsky
c6c0052df2
RDMA/bnxt_re: Fix kernel doc errors
...
Fix set of the following errors due to use of wrong kernel doc format
to describe function parameters:
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:68: warning: Function parameter or member 'rcfw'
not described in '__wait_for_resp'
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202308180600.oOnkIAQV-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202308180401.iaj2ktTc-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202308180214.Lt9NAhbM-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202308180055.6zM4AK6V-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202308172136.ipx1wvs6-lkp@intel.com/
Link: https://lore.kernel.org/r/4b22c385f1b68590ace8f82f2985d14b20999432.1692539554.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leonro@nvidia.com >
2023-08-21 10:40:38 +03:00
Saravanan Vajravel
0a30e59f22
RDMA/bnxt_re: Add support for dmabuf pinned memory regions
...
Support the new verb which indicates dmabuf support. bnxt doesn't support
ODP. So use the pinned version of the dmabuf APIs to enable bnxt_re
devices to work as dmabuf importer.
Link: https://lore.kernel.org/r/1690790473-25850-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2023-08-15 15:54:08 -03:00
Selvin Xavier
213d2b9bb2
RDMA/bnxt_re: Protect the PD table bitmap
...
Syncrhonization is required to avoid simultaneous allocation
of the PD. Add a new mutex lock to handle allocation from
the PD table.
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1692032419-21680-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-08-15 09:06:06 +03:00
Kashyap Desai
811e0ce9e6
RDMA/bnxt_re: Initialize mutex dbq_lock
...
Fix the missing dbq_lock mutex initialization
Fixes: 2ad4e6303a ("RDMA/bnxt_re: Implement doorbell pacing algorithm")
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1692032419-21680-1-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-08-15 09:06:06 +03:00
Kashyap Desai
64b632654b
RDMA/bnxt_re: Initialize dpi_tbl_lock mutex
...
Fix the missing dpi_tbl_lock mutex initialization.
Fixes: 0ac20faf5d ("RDMA/bnxt_re: Reorg the bar mapping")
Link: https://lore.kernel.org/r/1691642677-21369-4-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2023-08-10 16:35:54 -03:00
Kalesh AP
5ac8480ae4
RDMA/bnxt_re: Fix error handling in probe failure path
...
During bnxt_re_dev_init(), when bnxt_re_setup_chip_ctx() fails unregister
with L2 first before bailing out probe.
Fixes: ae8637e131 ("RDMA/bnxt_re: Add chip context to identify 57500 series")
Link: https://lore.kernel.org/r/1691642677-21369-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2023-08-10 16:35:54 -03:00
Selvin Xavier
5363fc488d
RDMA/bnxt_re: Properly order ib_device_unalloc() to avoid UAF
...
ib_dealloc_device() should be called only after device cleanup. Fix the
dealloc sequence.
Fixes: 6d758147c7 ("RDMA/bnxt_re: Use auxiliary driver interface")
Link: https://lore.kernel.org/r/1691642677-21369-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2023-08-10 16:35:54 -03:00
Kalesh AP
14611b9b98
RDMA/bnxt_re: Remove unnecessary variable initializations
...
Remove unnecessary variable initializations.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1691052326-32143-7-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-08-07 16:39:42 +03:00
Kalesh AP
00d0427fd8
RDMA/bnxt_re: Avoid unnecessary memset
...
Avoid memset by initializing the variables during
declaration itself.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1691052326-32143-6-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-08-07 16:39:42 +03:00
Kalesh AP
e59a5cec3f
RDMA/bnxt_re: Cleanup bnxt_re_process_raw_qp_pkt_rx() function
...
- Remove unnecessary memset by initializing the variables
during declaration itself.
- Arranged variable declarartion in RCT order.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1691052326-32143-5-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-08-07 16:39:42 +03:00
Selvin Xavier
c9f3e4e1d8
RDMA/bnxt_re: Fix the sideband buffer size handling for FW commands
...
bnxt_qplib_rcfw_alloc_sbuf allocates 24 bytes and it is better to fit
on stack variables. This way we can avoid unwanted kmalloc call.
Call dma_alloc_coherent directly instead of wrapper
bnxt_qplib_rcfw_alloc_sbuf.
Also, FW expects the side buffer needs to be aligned to
BNXT_QPLIB_CMDQE_UNITS(16B). So align the size to have the
extra padding bytes.
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com >
Signed-off-by: Hongguang Gao <hongguang.gao@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1691052326-32143-4-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-08-07 16:39:42 +03:00
Kalesh AP
fd28c8a8c7
RDMA/bnxt_re: Remove a redundant flag
...
After the cited commit, BNXT_RE_FLAG_GOT_MSIX is redundant.
Remove it.
Fixes: 3034322113 ("bnxt_en: Remove runtime interrupt vector allocation")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1691052326-32143-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-08-07 16:39:42 +03:00
Kalesh AP
f19fba1f79
RDMA/bnxt_re: Fix max_qp count for virtual functions
...
Driver has not accounted QP1 for virtual functions
when fetching device attributes and hence max_qp
count is one less than active_qp count. Fixed driver
so that it counts QP1 for virtual functions as well
while fetching device attributes
Fixes: ccd9d0d3df ("RDMA/bnxt_re: Enable RoCE on virtual functions")
Signed-off-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com >
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1691052326-32143-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-08-07 16:39:42 +03:00
Ruan Jinjie
272bba19d6
RDMA: Remove unnecessary ternary operators
...
There are a little ternary operators, the true or false judgment
of which is unnecessary in C language semantics.
Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com >
Link: https://lore.kernel.org/r/20230731085118.394443-1-ruanjinjie@huawei.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-07-31 15:16:12 +03:00
Chandramohan Akula
8b6573ff34
bnxt_re: Update the debug counters for doorbell pacing
...
Add debug counters to track the Doorbell pacing events and report the
doorbell pacing debug stats.
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1690383081-15033-5-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-07-30 14:37:04 +03:00
Chandramohan Akula
4405baf85a
bnxt_re: Expose the missing hw counters
...
Add code to expose some of the HW counters related
to tx/rx data and Congestion control.
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1690383081-15033-4-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-07-30 14:37:04 +03:00
Chandramohan Akula
cb95709e0d
bnxt_re: Update the hw counters for resource stats
...
Report the additional resource counters which enables
better debugging. Includes active RC/UD QPs,
Watermark of the resources and a count that indicates the
resize cq operations after driver load.
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1690383081-15033-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-07-30 14:37:04 +03:00
Chandramohan Akula
063975feed
bnxt_re: Reorganize the resource stats
...
Move the resource stats to a separate stats structure.
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Link: https://lore.kernel.org/r/1690383081-15033-2-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-07-30 14:37:04 +03:00
Chandramohan Akula
61a8118f60
RDMA/bnxt_re: Add a new uapi for driver notification
...
Add driver notify uapi for application notifying
the driver about the doorbell FIFO congestion.
Link: https://lore.kernel.org/r/1689742977-9128-8-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2023-07-21 16:15:33 -03:00
Chandramohan Akula
2ad4e6303a
RDMA/bnxt_re: Implement doorbell pacing algorithm
...
User applications alert the driver when the Doorbell FIFO
reaches the alarm threshold. The driver updates the pacing
parameters in the shared page to do the maximum pacing
by the application till the DB FIFO congestion reduces to
pacing threshold. Driver keeps checking the DB FIFO depth
at the pacing interval and gradually adjusts the pacing level.
Once the pacing level reaches default values (no congestion in
the FIFO) pacing gets completed.
Link: https://lore.kernel.org/r/1689742977-9128-7-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2023-07-21 16:15:32 -03:00
Chandramohan Akula
ea22248578
RDMA/bnxt_re: Update alloc_page uapi for pacing
...
Update the alloc_page uapi functionality for handling the
mapping of doorbell pacing shared page and bar address.
Link: https://lore.kernel.org/r/1689742977-9128-6-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com >
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2023-07-21 16:15:32 -03:00