mirror of
https://github.com/torvalds/linux.git
synced 2026-04-30 20:42:33 -04:00
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>
This commit is contained in:
committed by
Jason Gunthorpe
parent
22c50e0660
commit
a4e6a1dd57
@@ -197,7 +197,8 @@ struct efa_admin_modify_qp_cmd {
|
||||
* 2 : qkey
|
||||
* 3 : sq_psn
|
||||
* 4 : sq_drained_async_notify
|
||||
* 31:5 : reserved
|
||||
* 5 : rnr_retry
|
||||
* 31:6 : reserved
|
||||
*/
|
||||
u32 modify_mask;
|
||||
|
||||
@@ -219,8 +220,8 @@ struct efa_admin_modify_qp_cmd {
|
||||
/* Enable async notification when SQ is drained */
|
||||
u8 sq_drained_async_notify;
|
||||
|
||||
/* MBZ */
|
||||
u8 reserved1;
|
||||
/* Number of RNR retries (valid only for SRD QPs) */
|
||||
u8 rnr_retry;
|
||||
|
||||
/* MBZ */
|
||||
u16 reserved2;
|
||||
@@ -255,8 +256,8 @@ struct efa_admin_query_qp_resp {
|
||||
/* Indicates that draining is in progress */
|
||||
u8 sq_draining;
|
||||
|
||||
/* MBZ */
|
||||
u8 reserved1;
|
||||
/* Number of RNR retries (valid only for SRD QPs) */
|
||||
u8 rnr_retry;
|
||||
|
||||
/* MBZ */
|
||||
u16 reserved2;
|
||||
@@ -573,7 +574,9 @@ struct efa_admin_feature_device_attr_desc {
|
||||
/*
|
||||
* 0 : rdma_read - If set, RDMA Read is supported on
|
||||
* TX queues
|
||||
* 31:1 : reserved - MBZ
|
||||
* 1 : rnr_retry - If set, RNR retry is supported on
|
||||
* modify QP command
|
||||
* 31:2 : reserved - MBZ
|
||||
*/
|
||||
u32 device_caps;
|
||||
|
||||
@@ -865,6 +868,7 @@ struct efa_admin_host_info {
|
||||
#define EFA_ADMIN_MODIFY_QP_CMD_QKEY_MASK BIT(2)
|
||||
#define EFA_ADMIN_MODIFY_QP_CMD_SQ_PSN_MASK BIT(3)
|
||||
#define EFA_ADMIN_MODIFY_QP_CMD_SQ_DRAINED_ASYNC_NOTIFY_MASK BIT(4)
|
||||
#define EFA_ADMIN_MODIFY_QP_CMD_RNR_RETRY_MASK BIT(5)
|
||||
|
||||
/* reg_mr_cmd */
|
||||
#define EFA_ADMIN_REG_MR_CMD_PHYS_PAGE_SIZE_SHIFT_MASK GENMASK(4, 0)
|
||||
@@ -882,6 +886,7 @@ struct efa_admin_host_info {
|
||||
|
||||
/* feature_device_attr_desc */
|
||||
#define EFA_ADMIN_FEATURE_DEVICE_ATTR_DESC_RDMA_READ_MASK BIT(0)
|
||||
#define EFA_ADMIN_FEATURE_DEVICE_ATTR_DESC_RNR_RETRY_MASK BIT(1)
|
||||
|
||||
/* host_info */
|
||||
#define EFA_ADMIN_HOST_INFO_DRIVER_MODULE_TYPE_MASK GENMASK(7, 0)
|
||||
|
||||
Reference in New Issue
Block a user