mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 09:14:19 +08:00
scsi: mpi3mr: Fixes around reply request queues
Set reply queue depth of 1K for B0 and 4K for A0. While freeing the segmented request queues use the actual queue depth that is used while creating them. Link: https://lore.kernel.org/r/20211220141159.16117-25-sreekanth.reddy@broadcom.com Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
a91603a5d5
commit
243bcc8efd
@ -80,7 +80,8 @@ extern int prot_mask;
|
||||
|
||||
/* Operational queue management definitions */
|
||||
#define MPI3MR_OP_REQ_Q_QD 512
|
||||
#define MPI3MR_OP_REP_Q_QD 4096
|
||||
#define MPI3MR_OP_REP_Q_QD 1024
|
||||
#define MPI3MR_OP_REP_Q_QD4K 4096
|
||||
#define MPI3MR_OP_REQ_Q_SEG_SIZE 4096
|
||||
#define MPI3MR_OP_REP_Q_SEG_SIZE 4096
|
||||
#define MPI3MR_MAX_SEG_LIST_SIZE 4096
|
||||
|
@ -1523,7 +1523,7 @@ static void mpi3mr_free_op_req_q_segments(struct mpi3mr_ioc *mrioc, u16 q_idx)
|
||||
mrioc->op_reply_qinfo[q_idx].q_segment_list = NULL;
|
||||
}
|
||||
} else
|
||||
size = mrioc->req_qinfo[q_idx].num_requests *
|
||||
size = mrioc->req_qinfo[q_idx].segment_qd *
|
||||
mrioc->facts.op_req_sz;
|
||||
|
||||
for (j = 0; j < mrioc->req_qinfo[q_idx].num_segments; j++) {
|
||||
@ -1810,6 +1810,8 @@ static int mpi3mr_create_op_reply_q(struct mpi3mr_ioc *mrioc, u16 qidx)
|
||||
|
||||
reply_qid = qidx + 1;
|
||||
op_reply_q->num_replies = MPI3MR_OP_REP_Q_QD;
|
||||
if (!mrioc->pdev->revision)
|
||||
op_reply_q->num_replies = MPI3MR_OP_REP_Q_QD4K;
|
||||
op_reply_q->ci = 0;
|
||||
op_reply_q->ephase = 1;
|
||||
atomic_set(&op_reply_q->pend_ios, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user