All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 4/18] megaraid_sas : Move controller's queue depth calculation in adapter specific function
@ 2015-04-23 11:00 Sumit.Saxena
  2015-05-19  6:22 ` James Bottomley
  0 siblings, 1 reply; 3+ messages in thread
From: Sumit.Saxena @ 2015-04-23 11:00 UTC (permalink / raw)
  To: linux-scsi
  Cc: thenzl, martin.petersen, hch, jbottomley, kashyap.desai, sumit.saxena

This patch will move internal commands and SCSI commands reservation in adapter's sepcific functions.

Signed-off-by: Kashyap Desai <kashyap.desai@avagotech.com>
Signed-off-by: Sumit Saxena <sumit.saxena@avagotech.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>

---
 drivers/scsi/megaraid/megaraid_sas.h        |    1 +
 drivers/scsi/megaraid/megaraid_sas_base.c   |   39 ++++++++++----------------
 drivers/scsi/megaraid/megaraid_sas_fusion.c |    9 ++++++
 3 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h
index bdcf2b6..762de8a 100644
--- a/drivers/scsi/megaraid/megaraid_sas.h
+++ b/drivers/scsi/megaraid/megaraid_sas.h
@@ -1084,6 +1084,7 @@ enum MR_SCSI_CMD_TYPE {
 #define MEGASAS_SKINNY_INT_CMDS			5
 #define MEGASAS_FUSION_INTERNAL_CMDS		5
 #define MEGASAS_FUSION_IOCTL_CMDS		3
+#define MEGASAS_MFI_IOCTL_CMDS			27
 
 #define MEGASAS_MAX_MSIX_QUEUES			128
 /*
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index 1bd3272..dee61e8 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -4354,6 +4354,21 @@ megasas_init_adapter_mfi(struct megasas_instance *instance)
 	instance->max_num_sge = (instance->instancet->read_fw_status_reg(reg_set) & 0xFF0000) >>
 					0x10;
 	/*
+	 * For MFI skinny adapters, MEGASAS_SKINNY_INT_CMDS commands
+	 * are reserved for IOCTL + driver's internal DCMDs.
+	 */
+	if ((instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0073SKINNY) ||
+		(instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0071SKINNY)) {
+		instance->max_scsi_cmds = (instance->max_fw_cmds -
+			MEGASAS_SKINNY_INT_CMDS);
+		sema_init(&instance->ioctl_sem, MEGASAS_SKINNY_INT_CMDS);
+	} else {
+		instance->max_scsi_cmds = (instance->max_fw_cmds -
+			MEGASAS_INT_CMDS);
+		sema_init(&instance->ioctl_sem, (MEGASAS_MFI_IOCTL_CMDS));
+	}
+
+	/*
 	 * Create a pool of commands
 	 */
 	if (megasas_alloc_cmds(instance))
@@ -4788,30 +4803,6 @@ static int megasas_init_fw(struct megasas_instance *instance)
 	if (tmp_sectors && (instance->max_sectors_per_req > tmp_sectors))
 		instance->max_sectors_per_req = tmp_sectors;
 
-	/*
-	 * 1. For fusion adapters, 3 commands for IOCTL and 5 commands
-	 *    for driver's internal DCMDs.
-	 * 2. For MFI skinny adapters, 5 commands for IOCTL + driver's
-	 *    internal DCMDs.
-	 * 3. For rest of MFI adapters, 27 commands reserved for IOCTLs
-	 *    and 5 commands for drivers's internal DCMD.
-	 */
-	if (instance->ctrl_context) {
-		instance->max_scsi_cmds = instance->max_fw_cmds -
-					(MEGASAS_FUSION_INTERNAL_CMDS +
-					MEGASAS_FUSION_IOCTL_CMDS);
-		sema_init(&instance->ioctl_sem, MEGASAS_FUSION_IOCTL_CMDS);
-	} else if ((instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0073SKINNY) ||
-		(instance->pdev->device == PCI_DEVICE_ID_LSI_SAS0071SKINNY)) {
-		instance->max_scsi_cmds = instance->max_fw_cmds -
-						MEGASAS_SKINNY_INT_CMDS;
-		sema_init(&instance->ioctl_sem, MEGASAS_SKINNY_INT_CMDS);
-	} else {
-		instance->max_scsi_cmds = instance->max_fw_cmds -
-						MEGASAS_INT_CMDS;
-		sema_init(&instance->ioctl_sem, (MEGASAS_INT_CMDS - 5));
-	}
-
 	/* Check for valid throttlequeuedepth module parameter */
 	if (throttlequeuedepth &&
 			throttlequeuedepth <= instance->max_scsi_cmds)
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c
index d38f85e..3e9dd6a 100644
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
@@ -1061,6 +1061,15 @@ megasas_init_adapter_fusion(struct megasas_instance *instance)
 		fusion->last_reply_idx[i] = 0;
 
 	/*
+	 * For fusion adapters, 3 commands for IOCTL and 5 commands
+	 * for driver's internal DCMDs.
+	 */
+	instance->max_scsi_cmds = instance->max_fw_cmds -
+				(MEGASAS_FUSION_INTERNAL_CMDS +
+				MEGASAS_FUSION_IOCTL_CMDS);
+	sema_init(&instance->ioctl_sem, MEGASAS_FUSION_IOCTL_CMDS);
+
+	/*
 	 * Allocate memory for descriptors
 	 * Create a pool of commands
 	 */
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 4/18] megaraid_sas : Move controller's queue depth calculation in adapter specific function
  2015-04-23 11:00 [PATCH v3 4/18] megaraid_sas : Move controller's queue depth calculation in adapter specific function Sumit.Saxena
@ 2015-05-19  6:22 ` James Bottomley
  2015-05-19  7:32   ` Sumit Saxena
  0 siblings, 1 reply; 3+ messages in thread
From: James Bottomley @ 2015-05-19  6:22 UTC (permalink / raw)
  To: Sumit.Saxena; +Cc: linux-scsi, thenzl, martin.petersen, hch, kashyap.desai

On Thu, 2015-04-23 at 16:30 +0530, Sumit.Saxena@avagotech.com wrote:
> This patch will move internal commands and SCSI commands reservation
> in adapter's sepcific functions.

Commit messages like this aren't useful.  It's just the subject with
"This patch will" added.  The ideal is that you describe what's going on
at greater length in the commit message.  However, if the subject says
it all, just leave the message blank rather than repeating the subject
(and making me excise it again).

James



^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH v3 4/18] megaraid_sas : Move controller's queue depth calculation in adapter specific function
  2015-05-19  6:22 ` James Bottomley
@ 2015-05-19  7:32   ` Sumit Saxena
  0 siblings, 0 replies; 3+ messages in thread
From: Sumit Saxena @ 2015-05-19  7:32 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi, thenzl, martin.petersen, hch, Kashyap Desai

>-----Original Message-----
>From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com]
>Sent: Tuesday, May 19, 2015 11:52 AM
>To: Sumit.Saxena@avagotech.com
>Cc: linux-scsi@vger.kernel.org; thenzl@redhat.com;
>martin.petersen@oracle.com; hch@infradead.org;
>kashyap.desai@avagotech.com
>Subject: Re: [PATCH v3 4/18] megaraid_sas : Move controller's queue depth
>calculation in adapter specific function
>
>On Thu, 2015-04-23 at 16:30 +0530, Sumit.Saxena@avagotech.com wrote:
>> This patch will move internal commands and SCSI commands reservation
>> in adapter's sepcific functions.
>
>Commit messages like this aren't useful.  It's just the subject with "This
>patch
>will" added.  The ideal is that you describe what's going on at greater
>length in
>the commit message.  However, if the subject says it all, just leave the
>message blank rather than repeating the subject (and making me excise it
>again).

I will take care of  this in future.

Thanks
Sumit
>
>James
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-05-19  7:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-23 11:00 [PATCH v3 4/18] megaraid_sas : Move controller's queue depth calculation in adapter specific function Sumit.Saxena
2015-05-19  6:22 ` James Bottomley
2015-05-19  7:32   ` Sumit Saxena

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.