From: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
To: linux-scsi@vger.kernel.org,
James Bottomley <jejb@linux.vnet.ibm.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
"Matthew R. Ochs" <mrochs@linux.vnet.ibm.com>,
"Manoj N. Kumar" <manoj@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org,
Andrew Donnellan <andrew.donnellan@au1.ibm.com>,
Frederic Barrat <fbarrat@linux.vnet.ibm.com>,
Christophe Lombard <clombard@linux.vnet.ibm.com>
Subject: [PATCH v2 01/38] cxlflash: Preserve number of interrupts for master contexts
Date: Mon, 26 Feb 2018 16:19:33 -0600 [thread overview]
Message-ID: <1519683573-16786-1-git-send-email-ukrishn@linux.vnet.ibm.com> (raw)
In-Reply-To: <1519683513-16731-1-git-send-email-ukrishn@linux.vnet.ibm.com>
The number of interrupts requested for user contexts are stored in the
context specific structures and utilized to manage the interrupts. For the
master contexts, this number is only used once and therefore not saved.
To prepare for future commits where the number of interrupts will be
required in more than one place, preserve the value in the master context
structure.
Signed-off-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Acked-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
---
drivers/scsi/cxlflash/common.h | 1 +
drivers/scsi/cxlflash/main.c | 11 ++++++++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/cxlflash/common.h b/drivers/scsi/cxlflash/common.h
index 102fd26..5d7ca01 100644
--- a/drivers/scsi/cxlflash/common.h
+++ b/drivers/scsi/cxlflash/common.h
@@ -211,6 +211,7 @@ struct hwq {
struct sisl_ctrl_map __iomem *ctrl_map; /* MC control map */
ctx_hndl_t ctx_hndl; /* master's context handle */
u32 index; /* Index of this hwq */
+ int num_irqs; /* Numer of interrupts requested for context */
struct list_head pending_cmds; /* Commands pending completion */
atomic_t hsq_credits;
diff --git a/drivers/scsi/cxlflash/main.c b/drivers/scsi/cxlflash/main.c
index d8fe7ab8..3d3e003 100644
--- a/drivers/scsi/cxlflash/main.c
+++ b/drivers/scsi/cxlflash/main.c
@@ -1911,7 +1911,7 @@ static enum undo_level init_intr(struct cxlflash_cfg *cfg,
int rc = 0;
enum undo_level level = UNDO_NOOP;
bool is_primary_hwq = (hwq->index == PRIMARY_HWQ);
- int num_irqs = is_primary_hwq ? 3 : 2;
+ int num_irqs = hwq->num_irqs;
rc = cfg->ops->allocate_afu_irqs(ctx, num_irqs);
if (unlikely(rc)) {
@@ -1965,16 +1965,20 @@ static int init_mc(struct cxlflash_cfg *cfg, u32 index)
struct device *dev = &cfg->dev->dev;
struct hwq *hwq = get_hwq(cfg->afu, index);
int rc = 0;
+ int num_irqs;
enum undo_level level;
hwq->afu = cfg->afu;
hwq->index = index;
INIT_LIST_HEAD(&hwq->pending_cmds);
- if (index == PRIMARY_HWQ)
+ if (index == PRIMARY_HWQ) {
ctx = cfg->ops->get_context(cfg->dev, cfg->afu_cookie);
- else
+ num_irqs = 3;
+ } else {
ctx = cfg->ops->dev_context_init(cfg->dev, cfg->afu_cookie);
+ num_irqs = 2;
+ }
if (IS_ERR_OR_NULL(ctx)) {
rc = -ENOMEM;
goto err1;
@@ -1982,6 +1986,7 @@ static int init_mc(struct cxlflash_cfg *cfg, u32 index)
WARN_ON(hwq->ctx_cookie);
hwq->ctx_cookie = ctx;
+ hwq->num_irqs = num_irqs;
/* Set it up as a master with the CXL */
cfg->ops->set_master(ctx);
--
2.1.0
next prev parent reply other threads:[~2018-02-26 22:19 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-26 22:18 [PATCH v2 00/38] cxlflash: OCXL transport support Uma Krishnan
2018-02-26 22:19 ` Uma Krishnan [this message]
2018-02-26 22:19 ` [PATCH v2 02/38] cxlflash: Avoid clobbering context control register value Uma Krishnan
2018-02-26 22:20 ` [PATCH v2 03/38] cxlflash: Add argument identifier names Uma Krishnan
2018-02-26 22:20 ` [PATCH v2 04/38] cxlflash: Introduce OCXL backend Uma Krishnan
2018-03-07 4:44 ` Andrew Donnellan
2018-02-26 22:20 ` [PATCH v2 05/38] cxlflash: Hardware AFU for OCXL Uma Krishnan
2018-03-07 5:47 ` Andrew Donnellan
2018-02-26 22:20 ` [PATCH v2 06/38] cxlflash: Read host function configuration Uma Krishnan
2018-03-07 6:37 ` Andrew Donnellan
2018-03-22 15:43 ` Frederic Barrat
2018-02-26 22:20 ` [PATCH v2 07/38] cxlflash: Setup function acTag range Uma Krishnan
2018-03-09 3:51 ` Andrew Donnellan
2018-03-22 15:48 ` Frederic Barrat
2018-02-26 22:21 ` [PATCH v2 08/38] cxlflash: Read host AFU configuration Uma Krishnan
2018-03-09 4:10 ` Andrew Donnellan
2018-03-22 15:52 ` Frederic Barrat
2018-03-22 16:08 ` Frederic Barrat
2018-02-26 22:21 ` [PATCH v2 09/38] cxlflash: Setup AFU acTag range Uma Krishnan
2018-03-09 4:19 ` Andrew Donnellan
2018-03-22 16:12 ` Frederic Barrat
2018-02-26 22:21 ` [PATCH v2 10/38] cxlflash: Setup AFU PASID Uma Krishnan
2018-03-09 4:29 ` Andrew Donnellan
2018-03-22 16:23 ` Frederic Barrat
2018-02-26 22:21 ` [PATCH v2 11/38] cxlflash: Adapter context support for OCXL Uma Krishnan
2018-03-22 16:32 ` Frederic Barrat
2018-02-26 22:21 ` [PATCH v2 12/38] cxlflash: Use IDR to manage adapter contexts Uma Krishnan
2018-03-22 16:40 ` Frederic Barrat
2018-03-22 22:26 ` Uma Krishnan
2018-02-26 22:21 ` [PATCH v2 13/38] cxlflash: Support adapter file descriptors for OCXL Uma Krishnan
2018-03-22 17:12 ` Frederic Barrat
2018-03-23 17:45 ` Uma Krishnan
2018-02-26 22:22 ` [PATCH v2 14/38] cxlflash: Support adapter context discovery Uma Krishnan
2018-02-26 22:22 ` [PATCH v2 15/38] cxlflash: Support image reload policy modification Uma Krishnan
2018-02-26 22:22 ` [PATCH v2 16/38] cxlflash: MMIO map the AFU Uma Krishnan
2018-03-22 17:19 ` Frederic Barrat
2018-02-26 22:22 ` [PATCH v2 17/38] cxlflash: Support starting an adapter context Uma Krishnan
2018-02-26 22:22 ` [PATCH v2 18/38] cxlflash: Support process specific mappings Uma Krishnan
2018-02-26 22:22 ` [PATCH v2 19/38] cxlflash: Support AFU state toggling Uma Krishnan
2018-03-22 17:26 ` Frederic Barrat
2018-02-26 22:22 ` [PATCH v2 20/38] cxlflash: Support reading adapter VPD data Uma Krishnan
2018-02-26 22:22 ` [PATCH v2 21/38] cxlflash: Setup function OCXL link Uma Krishnan
2018-03-22 17:31 ` Frederic Barrat
2018-02-26 22:23 ` [PATCH v2 22/38] cxlflash: Setup OCXL transaction layer Uma Krishnan
2018-02-26 22:23 ` [PATCH v2 23/38] cxlflash: Support process element lifecycle Uma Krishnan
2018-02-26 22:23 ` [PATCH v2 24/38] cxlflash: Support AFU interrupt management Uma Krishnan
2018-02-26 22:23 ` [PATCH v2 25/38] cxlflash: Support AFU interrupt mapping and registration Uma Krishnan
2018-02-26 22:23 ` [PATCH v2 26/38] cxlflash: Support starting user contexts Uma Krishnan
2018-02-26 22:23 ` [PATCH v2 27/38] cxlflash: Support adapter context polling Uma Krishnan
2018-02-26 22:23 ` [PATCH v2 28/38] cxlflash: Support adapter context reading Uma Krishnan
2018-02-26 22:23 ` [PATCH v2 29/38] cxlflash: Support adapter context mmap and release Uma Krishnan
2018-02-26 22:24 ` [PATCH v2 30/38] cxlflash: Support file descriptor mapping Uma Krishnan
2018-02-26 22:24 ` [PATCH v2 31/38] cxlflash: Introduce object handle fop Uma Krishnan
2018-02-26 22:24 ` [PATCH v2 32/38] cxlflash: Setup LISNs for user contexts Uma Krishnan
2018-02-26 22:24 ` [PATCH v2 33/38] cxlflash: Setup LISNs for master contexts Uma Krishnan
2018-02-26 22:24 ` [PATCH v2 34/38] cxlflash: Update synchronous interrupt status bits Uma Krishnan
2018-02-26 22:24 ` [PATCH v2 35/38] cxlflash: Introduce OCXL context state machine Uma Krishnan
2018-02-26 22:24 ` [PATCH v2 36/38] cxlflash: Register for translation errors Uma Krishnan
2018-02-26 22:24 ` [PATCH v2 37/38] cxlflash: Support AFU reset Uma Krishnan
2018-02-26 22:25 ` [PATCH v2 38/38] cxlflash: Enable OCXL operations Uma Krishnan
2018-03-06 18:01 ` [PATCH v2 00/38] cxlflash: OCXL transport support Martin K. Petersen
2018-03-09 5:08 ` Andrew Donnellan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1519683573-16786-1-git-send-email-ukrishn@linux.vnet.ibm.com \
--to=ukrishn@linux.vnet.ibm.com \
--cc=andrew.donnellan@au1.ibm.com \
--cc=clombard@linux.vnet.ibm.com \
--cc=fbarrat@linux.vnet.ibm.com \
--cc=jejb@linux.vnet.ibm.com \
--cc=linux-scsi@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=manoj@linux.vnet.ibm.com \
--cc=martin.petersen@oracle.com \
--cc=mrochs@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).