mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
RDMA/irdma: Remove redundant legacy_mode checks
The driver has the following invariants: 1. legacy_mode is only allowed on GEN_1 hardware (enforced in irdma_alloc_ucontext). 2. GEN_1 hardware does not set IRDMA_FEATURE_CQ_RESIZE or IRDMA_FEATURE_RTS_AE. These feature flags are only set for GEN_2 and GEN_3 hardware. Therefore, legacy_mode is always false if IRDMA_FEATURE_CQ_RESIZE or IRDMA_FEATURE_RTS_AE is set, so remove the redundant checks. Link: https://patch.msgid.link/r/20260602214423.1315105-1-jmoroni@google.com Signed-off-by: Jacob Moroni <jmoroni@google.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
7d29f7e9db
commit
ed8621be48
|
|
@ -1568,15 +1568,12 @@ static const struct irdma_wqe_uk_ops iw_wqe_uk_ops_gen_1 = {
|
|||
* irdma_setup_connection_wqes - setup WQEs necessary to complete
|
||||
* connection.
|
||||
* @qp: hw qp (user and kernel)
|
||||
* @info: qp initialization info
|
||||
*/
|
||||
static void irdma_setup_connection_wqes(struct irdma_qp_uk *qp,
|
||||
struct irdma_qp_uk_init_info *info)
|
||||
static void irdma_setup_connection_wqes(struct irdma_qp_uk *qp)
|
||||
{
|
||||
u16 move_cnt = 1;
|
||||
|
||||
if (!info->legacy_mode &&
|
||||
(qp->uk_attrs->feature_flags & IRDMA_FEATURE_RTS_AE))
|
||||
if (qp->uk_attrs->feature_flags & IRDMA_FEATURE_RTS_AE)
|
||||
move_cnt = 3;
|
||||
|
||||
qp->conn_wqes = move_cnt;
|
||||
|
|
@ -1727,7 +1724,7 @@ int irdma_uk_qp_init(struct irdma_qp_uk *qp, struct irdma_qp_uk_init_info *info)
|
|||
sq_ring_size = qp->sq_size << info->sq_shift;
|
||||
IRDMA_RING_INIT(qp->sq_ring, sq_ring_size);
|
||||
if (info->first_sq_wq) {
|
||||
irdma_setup_connection_wqes(qp, info);
|
||||
irdma_setup_connection_wqes(qp);
|
||||
qp->swqe_polarity = 1;
|
||||
qp->first_sq_wq = true;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -563,7 +563,6 @@ struct irdma_qp_uk_init_info {
|
|||
u8 sq_shift;
|
||||
u8 rq_shift;
|
||||
int abi_ver;
|
||||
bool legacy_mode;
|
||||
struct irdma_srq_uk *srq_uk;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -634,7 +634,6 @@ static int irdma_setup_umode_qp(struct ib_udata *udata,
|
|||
iwqp->ctx_info.qp_compl_ctx = req.user_compl_ctx;
|
||||
iwqp->user_mode = 1;
|
||||
if (req.user_wqe_bufs) {
|
||||
info->qp_uk_init_info.legacy_mode = ucontext->legacy_mode;
|
||||
spin_lock_irqsave(&ucontext->qp_reg_mem_list_lock, flags);
|
||||
iwqp->iwpbl = irdma_get_pbl((unsigned long)req.user_wqe_bufs,
|
||||
&ucontext->qp_reg_mem_list);
|
||||
|
|
@ -2066,10 +2065,6 @@ static int irdma_resize_cq(struct ib_cq *ibcq, unsigned int entries,
|
|||
rdma_udata_to_drv_context(udata, struct irdma_ucontext,
|
||||
ibucontext);
|
||||
|
||||
/* CQ resize not supported with legacy GEN_1 libi40iw */
|
||||
if (ucontext->legacy_mode)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (ib_copy_from_udata(&req, udata,
|
||||
min(sizeof(req), udata->inlen)))
|
||||
return -EINVAL;
|
||||
|
|
@ -2549,7 +2544,7 @@ static int irdma_create_cq(struct ib_cq *ibcq,
|
|||
cqmr = &iwpbl->cq_mr;
|
||||
|
||||
if (rf->sc_dev.hw_attrs.uk_attrs.feature_flags &
|
||||
IRDMA_FEATURE_CQ_RESIZE && !ucontext->legacy_mode) {
|
||||
IRDMA_FEATURE_CQ_RESIZE) {
|
||||
spin_lock_irqsave(&ucontext->cq_reg_mem_list_lock, flags);
|
||||
iwpbl_shadow = irdma_get_pbl(
|
||||
(unsigned long)req.user_shadow_area,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user