Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3366105pxb; Mon, 17 Jan 2022 18:43:47 -0800 (PST) X-Google-Smtp-Source: ABdhPJwcu0lta7/EOraRH1mCeiXgetwLZKJEEzAlq+e8CwfdZCZv/M9mN6HrB8VtL8qGs0oatgDb X-Received: by 2002:a63:924c:: with SMTP id s12mr21217243pgn.536.1642473827420; Mon, 17 Jan 2022 18:43:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642473827; cv=none; d=google.com; s=arc-20160816; b=cHydOW819Wi5L3+LbwztoShCQb/bSyYbH5JBJmXojflvdOsT/eagx9Wt7bBA/mVTdi kxDIONSdP+jIGPlvld5ABFPvMFBAux5BNdeC0aiCqbrXqTLxDHx4FmxXU3hI257TJDyp 5DIEJjzC7B55CGl0nwKw6hRbO1BIo4p7Wp3iq4JYsSi0iIcAp7MME/qGQCDOyR3jFchn lbFx7Er8DefM4AjWezp5a6mereiOK+k4UBJ/ncL9Sr4GkFRuN3YdGe0oDffqazx8upf8 Kro4aIcrbIWWy8B33YvPvhyT7Fr2r/HCbgSkQXODaWl94jp0QSujrxi0PgZzzPvhzc6R Sj6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=jX6PFu5gpfDJKnq4c9QkPjl1JYDUKlORFiLOvTHQAjk=; b=UO5inBLEcRDDFLEhdsP/C1fsgkyz/UmxYJ3k+zpL9NJuN7F7Wf4+KBVP5RODFYff8Z wAIelnqQ68tPJ/CE3WwIHB8jRQNklXE+nR/MrXgLT0JKblvYNdPmf4gtejq6ZvUKAYpL Xc+9qdVAUX8CQTxuF5fYQfuRAD4DLTmjdvqid8RQV7nPMUCA7TOb19g+zYirIaFWMtoI kXMBXoEtWtfeLujhM1oZyx8SFS6YRHzIikqrGkny5G0YYzpwIUuKrktzSTtXSC7c0xIu 9bN1Bjo3xXWyFVaxUgcEhERvqCUbIKdhnWy27lfeFvdTxIUvtcIDDhRb6YhhgcxKmImZ zwSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=QibmRls1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b9si19021540pfv.231.2022.01.17.18.43.35; Mon, 17 Jan 2022 18:43:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=QibmRls1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241774AbiAQRBs (ORCPT + 99 others); Mon, 17 Jan 2022 12:01:48 -0500 Received: from dfw.source.kernel.org ([139.178.84.217]:50464 "EHLO dfw.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241391AbiAQRAq (ORCPT ); Mon, 17 Jan 2022 12:00:46 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4148A6119C; Mon, 17 Jan 2022 17:00:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8E494C36AE3; Mon, 17 Jan 2022 17:00:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1642438845; bh=LTV0XAwMy9g8Y7DFWmRAMBCvbCPAanzUK5p1srS9zEc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QibmRls15K4BRCAstVKHO8Haf6btaoOgPWD3W0aed4kEiJn5IOZBcEMVR7w5XXCHu AY0Niqhj7zVqYjHm1bSVW53/+mSQ3sqGDlaCj89SIZm1sMdh34Px63rOjP6d0oJu+w 1GWzsJY1ZOkaqCJI6utvKovtF37le4OmKyhNiK5KZzf4tMAd/4eaOUaWxA3GwfBXJh /omf+RUGiE5nqLlWVesm4jj3qO8U9tDTEn2OQU2fh/ObHHiEz37NO1q7vd4z+HGIA4 qyUMhz4GuokhloST9HclXAUjVXde2mBnXtu0zm7mGSIfNw9gSIw8UNTlq/lXyqOfX7 BQITVEFWDu1wQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Sreekanth Reddy , "Martin K . Petersen" , Sasha Levin , sathya.prakash@broadcom.com, kashyap.desai@broadcom.com, sumit.saxena@broadcom.com, jejb@linux.ibm.com, mpi3mr-linuxdrv.pdl@broadcom.com, linux-scsi@vger.kernel.org Subject: [PATCH AUTOSEL 5.16 42/52] scsi: mpi3mr: Fixes around reply request queues Date: Mon, 17 Jan 2022 11:58:43 -0500 Message-Id: <20220117165853.1470420-42-sashal@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220117165853.1470420-1-sashal@kernel.org> References: <20220117165853.1470420-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sreekanth Reddy [ Upstream commit 243bcc8efdb1f44b1a1d415e6821a246714c68ce ] 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 Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/mpi3mr/mpi3mr.h | 3 ++- drivers/scsi/mpi3mr/mpi3mr_fw.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpi3mr/mpi3mr.h b/drivers/scsi/mpi3mr/mpi3mr.h index 9787b53a2b598..2cc42432bd0c0 100644 --- a/drivers/scsi/mpi3mr/mpi3mr.h +++ b/drivers/scsi/mpi3mr/mpi3mr.h @@ -79,7 +79,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 diff --git a/drivers/scsi/mpi3mr/mpi3mr_fw.c b/drivers/scsi/mpi3mr/mpi3mr_fw.c index aa5d877df6f83..2daf633ea2955 100644 --- a/drivers/scsi/mpi3mr/mpi3mr_fw.c +++ b/drivers/scsi/mpi3mr/mpi3mr_fw.c @@ -1278,7 +1278,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++) { @@ -1565,6 +1565,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); -- 2.34.1