diff options
author | Sumit.Saxena@avagotech.com <Sumit.Saxena@avagotech.com> | 2015-01-05 20:06:23 +0530 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2015-01-09 15:44:36 +0100 |
commit | ae09a6c1fd421887fa4885adb7c55ccc8074c441 (patch) | |
tree | 1c7acea04f52f51992d24a29d5b758c0317d9966 /drivers/scsi/megaraid/megaraid_sas_fusion.c | |
parent | c8dd61eff2780c481fcf919c1572e16e397c714e (diff) | |
download | lwn-ae09a6c1fd421887fa4885adb7c55ccc8074c441.tar.gz lwn-ae09a6c1fd421887fa4885adb7c55ccc8074c441.zip |
megaraid_sas: reserve commands for IOCTLs and internal DCMDs
1) For fusion adapters, limit reserved frames for non SCSI commands to 8
(3 for parallel IOCTLs + 5 for driver's internal DCMDs).
Earlier reserved commands for non SCSI IO frames was set to 32, so with
this implementation, increased per controller "can_queue".
Behavior of MFI controllers will remain unchanged.
2) Optimize the code related to per controller's 'can_queue' setting.
Signed-off-by: Sumit Saxena <sumit.saxena@avagotech.com>
Signed-off-by: Chaitra Basappa <chaitra.basappa@avagotech.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas_fusion.c')
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas_fusion.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c index df280b1d263f..675b5e7aba94 100644 --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c @@ -1019,8 +1019,12 @@ megasas_init_adapter_fusion(struct megasas_instance *instance) * does not exceed max cmds that the FW can support */ instance->max_fw_cmds = instance->max_fw_cmds-1; - /* Only internal cmds (DCMD) need to have MFI frames */ - instance->max_mfi_cmds = MEGASAS_INT_CMDS; + + /* + * Only Driver's internal DCMDs and IOCTL DCMDs needs to have MFI frames + */ + instance->max_mfi_cmds = + MEGASAS_FUSION_INTERNAL_CMDS + MEGASAS_FUSION_IOCTL_CMDS; max_cmd = instance->max_fw_cmds; |