Basel Nassar
475ac071ba
RDMA/efa: Add Network HW statistics counters
...
Update device API and request network counters. Expose newly added
counters through ib core counters mechanism.
Reviewed-by: David Shoolman <shoolman@amazon.com >
Reviewed-by: Yonatan Nachum <ynachum@amazon.com >
Signed-off-by: Basel Nassar <baselna@amazon.com >
Signed-off-by: Michael Margolin <mrgolin@amazon.com >
Link: https://patch.msgid.link/20250706070740.22534-1-mrgolin@amazon.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2025-07-09 02:55:53 -04:00
Michael Margolin
1103579d6e
RDMA/efa: Report link speed according to device attributes
...
Set port link speed and width based on max bandwidth acquired from the
device instead of using constant 100 Gbps. Use a default value in case
the device didn't set the field.
Reviewed-by: Daniel Kranzdorf <dkkranzd@amazon.com >
Reviewed-by: Firas Jahjah <firasj@amazon.com >
Signed-off-by: Michael Margolin <mrgolin@amazon.com >
Link: https://patch.msgid.link/20241030093006.21352-1-mrgolin@amazon.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2024-10-30 15:36:59 +02:00
Michael Margolin
1e7b86f1b2
RDMA/efa: Update device interface
...
Update device interface header files.
Link: https://patch.msgid.link/r/20241015174242.3490-2-mrgolin@amazon.com
Reviewed-by: Daniel Kranzdorf <dkkranzd@amazon.com >
Reviewed-by: Yonatan Nachum <ynachum@amazon.com >
Signed-off-by: Michael Margolin <mrgolin@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2024-10-21 13:58:07 -03:00
Yehuda Yitschak
04e36fd27a
RDMA/efa: Add support for node guid
...
Propagate the unique, per device, ID in the device attributes to the
standard node_guid value in IB device.
Link: https://patch.msgid.link/r/20240822171143.2800-1-mrgolin@amazon.com
Reviewed-by: Yonatan Nachum <ynachum@amazon.com >
Signed-off-by: Yehuda Yitschak <yehuday@amazon.com >
Signed-off-by: Michael Margolin <mrgolin@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2024-08-23 11:52:45 -03:00
Michael Margolin
2b8af5001a
RDMA/efa: Support QP with unsolicited write w/ imm. receive
...
Add a new EFA flags attribute for QP creation, and support unsolicited
write with immediate flag. QPs created with this flag set will not
consume receive work requests for incoming RDMA write with immediate.
Expose device capability bit for this feature support.
Reviewed-by: Daniel Kranzdorf <dkkranzd@amazon.com >
Reviewed-by: Firas Jahjah <firasj@amazon.com >
Signed-off-by: Michael Margolin <mrgolin@amazon.com >
Link: https://lore.kernel.org/r/20240506151829.6475-1-mrgolin@amazon.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2024-05-08 11:18:26 +03:00
Michael Margolin
2307157c85
RDMA/efa: Add EFA query MR support
...
Add EFA driver uapi definitions and register a new query MR method that
currently returns the physical interconnects the device is using to
reach the MR. Update admin definitions and efa-abi accordingly.
Reviewed-by: Anas Mousa <anasmous@amazon.com >
Reviewed-by: Firas Jahjah <firasj@amazon.com >
Signed-off-by: Michael Margolin <mrgolin@amazon.com >
Link: https://lore.kernel.org/r/20240104095155.10676-1-mrgolin@amazon.com
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2024-01-07 12:02:27 +02:00
Michael Margolin
113383eff3
RDMA/efa: Add RDMA write HW statistics counters
...
Update device API and request RDMA write counters if RDMA write is
supported by device. Expose newly added counters through ib core
counters mechanism.
Reviewed-by: Daniel Kranzdorf <dkkranzd@amazon.com >
Reviewed-by: Yonatan Nachum <ynachum@amazon.com >
Signed-off-by: Michael Margolin <mrgolin@amazon.com >
Link: https://lore.kernel.org/r/20230703153404.30877-1-mrgolin@amazon.com
Reviewed-by: Gal Pressman <gal.pressman@linux.dev >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2023-07-12 15:07:32 +03:00
Yonatan Nachum
531094dc71
RDMA/efa: Add rdma write capability to device caps
...
Add rdma write capability that is propagated from the device to rdma-core.
Enable MR creation with remote write permissions according to this device
capability.
Link: https://lore.kernel.org/r/20230404154313.35194-1-ynachum@amazon.com
Reviewed-by: Firas Jahjah <firasj@amazon.com >
Reviewed-by: Michael Margolin <mrgolin@amazon.com >
Signed-off-by: Yonatan Nachum <ynachum@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2023-04-21 19:18:58 -03:00
Yonatan Nachum
6dddd93938
RDMA/efa: Add data polling capability feature bit
...
Add feature bit to existing device caps field. EFA supports data polling
of 128 bytes blocks.
The flag indicates that the NIC guarentees that a 128 byte aligned block
is written in order, ie that observing the last 8 bits of the block mean
the prior 127 bytes are also written.
It is useful for "last data polling" acceleration techniques.
Link: https://lore.kernel.org/r/20230219081328.10419-1-mrgolin@amazon.com
Reviewed-by: Yehuda Yitschak <yehuday@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Yonatan Nachum <ynachum@amazon.com >
Signed-off-by: Michael Margolin <mrgolin@amazon.com >
Acked-by: Gal Pressman <gal.pressman@linux.dev >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2023-03-22 14:41:58 -03:00
Michael Margolin
dc13fbf79e
RDMA/efa: Support CQ receive entries with source GID
...
Add a parameter for create CQ admin command to set source address on
receive completion descriptors. Report capability for this feature
through query device verb.
Link: https://lore.kernel.org/r/20220818140449.414-1-mrgolin@amazon.com
Reviewed-by: Firas Jahjah <firasj@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Daniel Kranzdorf <dkkranzd@amazon.com >
Signed-off-by: Michael Margolin <mrgolin@amazon.com >
Signed-off-by: Leon Romanovsky <leon@kernel.org >
2022-08-21 12:35:59 +03:00
Gal Pressman
2a152512a1
RDMA/efa: CQ notifications
...
This patch adds support for CQ notifications through the standard verbs
api.
In order to achieve that, a new event queue (EQ) object is introduced,
which is in charge of reporting completion events to the driver. On
driver load, EQs are allocated and their affinity is set to a single
cpu. When a user app creates a CQ with a completion channel, the
completion vector number is converted to a EQ number, which is in charge
of reporting the CQ events.
In addition, the CQ creation admin command now returns an offset for the
CQ doorbell, which is mapped to the userspace provider and is used to arm
the CQ when requested by the user.
The EQs use a single doorbell (located on the registers BAR), which
encodes the EQ number and arm as part of the doorbell value. The EQs are
polled by the driver on each new EQE, and arm it when the poll is
completed.
Link: https://lore.kernel.org/r/20211003105605.29222-1-galpress@amazon.com
Reviewed-by: Firas JahJah <firasj@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-10-06 19:47:18 -03:00
Gal Pressman
4629c5d4db
RDMA/efa: Remove unused syndrome enum values
...
The notification syndrome enum values are unused, remove them.
Link: https://lore.kernel.org/r/20210126120702.9807-6-galpress@amazon.com
Reviewed-by: Firas JahJah <firasj@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-01-28 15:56:13 -04:00
Gal Pressman
9bf61b8ce5
RDMA/efa: Remove unused 'select' field from get/set feature command descriptor
...
The 'select' field in the get/set feature admin command is unimplemented,
unused and misleading, remove it. The command always refers to the
current values.
Link: https://lore.kernel.org/r/20210126120702.9807-5-galpress@amazon.com
Reviewed-by: Firas JahJah <firasj@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-01-28 15:56:13 -04:00
Gal Pressman
631b6189b8
RDMA/efa: Remove unnecessary indentation in defs comments
...
The indentation in the subsequent comment lines is unnecessary, remove it.
Link: https://lore.kernel.org/r/20210126120702.9807-4-galpress@amazon.com
Reviewed-by: Firas JahJah <firasj@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2021-01-28 15:56:13 -04:00
Daniel Kranzdorf
b0cff387e1
RDMA/efa: Add messages and RDMA read work requests HW stats
...
Add separate stats types for send messages and RDMA read work requests.
Link: https://lore.kernel.org/r/20200915141449.8428-3-galpress@amazon.com
Signed-off-by: Daniel Kranzdorf <dkkranzd@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-09-22 20:21:11 -03:00
Gal Pressman
a4e6a1dd57
RDMA/efa: Introduce SRD RNR retry
...
This patch introduces the ability to configure SRD QPs with the RNR retry
parameter when issuing a modify QP command.
In addition, a capability bit was added to report support to the userspace
library.
Link: https://lore.kernel.org/r/20200731060420.17053-5-galpress@amazon.com
Reviewed-by: Firas JahJah <firasj@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-08-18 14:52:45 -03:00
Gal Pressman
ab67badd1c
RDMA/efa: Be consistent with modify QP bitmask
...
The modify QP bitmask was not consistent with other bitmasks used in the
device interface. Remove the bitmask enum and allow usage with
EFA_GET/SET.
Link: https://lore.kernel.org/r/20200731060420.17053-3-galpress@amazon.com
Reviewed-by: Firas JahJah <firasj@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-08-18 14:52:44 -03:00
Gal Pressman
da2924bdca
RDMA/efa: Expose minimum SQ size
...
The device reports the minimum SQ size required for creation.
This patch queries the min SQ size and reports it back to the userspace
library.
Link: https://lore.kernel.org/r/20200722140312.3651-3-galpress@amazon.com
Reviewed-by: Firas JahJah <firasj@amazon.com >
Reviewed-by: Shadi Ammouri <sammouri@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-07-29 09:23:39 -03:00
Gal Pressman
556c811f24
RDMA/efa: Expose maximum TX doorbell batch
...
The device reports the maximum number of bytes to be written before
ringing the doorbell (zero means unlimited).
This patch queries the max batch size and reports it back to the userspace
library.
Link: https://lore.kernel.org/r/20200722140312.3651-2-galpress@amazon.com
Reviewed-by: Daniel Kranzdorf <dkkranzd@amazon.com >
Reviewed-by: Firas JahJah <firasj@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
2020-07-29 09:23:39 -03:00
Gal Pressman
e1ca01a902
RDMA/efa: Report host information to the device
...
The host info feature allows the driver to infrom the EFA device
firmware with system configuration for debugging and troubleshooting
purposes.
The host info buffer is passed as an admin command DMA mapped control
buffer, and is unmapped and freed once the command CQE is consumed.
Currently, the setting of host info is done for each device on its
probe. Failing to set the host info for the device shall not disturb the
probe flow, any errors will be discarded.
Link: https://lore.kernel.org/r/20200512152204.93091-3-galpress@amazon.com
Reviewed-by: Firas JahJah <firasj@amazon.com >
Reviewed-by: Guy Tzalik <gtzalik@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2020-05-21 10:05:00 -03:00
Gal Pressman
88d033077b
RDMA/efa: Unified getters/setters for device structs bitmask access
...
Use unified macros for device structs access instead of open coding the
shifts and masks over and over again.
Link: https://lore.kernel.org/r/20200225114010.21790-2-galpress@amazon.com
Reviewed-by: Firas JahJah <firasj@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2020-02-28 12:12:04 -04:00
Gal Pressman
57f63f371b
RDMA/efa: Device definitions documentation updates
...
Various clarifications and updates to the documentation of the device
definitions.
No functional changes in this patch.
Link: https://lore.kernel.org/r/20200114085706.82229-4-galpress@amazon.com
Reviewed-by: Firas JahJah <firasj@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2020-01-15 15:32:32 -04:00
Daniel Kranzdorf
666e8ff535
RDMA/efa: Expose RDMA read related attributes
...
Query the device attributes for RDMA operations, including maximum
transfer size and maximum number of SGEs per RDMA WR, and report them
back to the userspace library.
Link: https://lore.kernel.org/r/20191121141509.59297-4-galpress@amazon.com
Signed-off-by: Daniel Kranzdorf <dkkranzd@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-11-25 10:31:48 -04:00
Daniel Kranzdorf
e6c4f3ff43
RDMA/efa: Support remote read access in MR registration
...
Enable remote read access for memory regions in order to support RDMA
operations.
Link: https://lore.kernel.org/r/20191121141509.59297-3-galpress@amazon.com
Signed-off-by: Daniel Kranzdorf <dkkranzd@amazon.com >
Reviewed-by: Yossi Leybovich <sleybo@amazon.com >
Signed-off-by: Gal Pressman <galpress@amazon.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-11-25 10:31:47 -04:00
Gal Pressman
01edac3aa2
RDMA/efa: Add EFA device definitions
...
EFA PCIe device implements a single Admin Queue (AQ) and Admin Completion
Queue (ACQ) pair to initialize and communicate configuration with the
device. Through this pair, we run set/get commands for querying and
configuring the device, create/modify/destroy queues, and IB specific
commands like Address Handler (AH), Memory Registration (MR) and
Protection Domains (PD).
In addition to admin (AQ/ACQ), we have data path queues that get
classified as Queue Pairs (QP) and Completion Queues (CQ).
Signed-off-by: Gal Pressman <galpress@amazon.com >
Reviewed-by: Shiraz Saleem <shiraz.saleem@intel.com >
Reviewed-by: Steve Wise <swise@opengridcomputing.com >
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com >
2019-05-06 13:47:50 -03:00