aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/megaraid_sas_base.c
diff options
context:
space:
mode:
authorChandrakanth Patil <chandrakanth.patil@broadcom.com>2019-06-25 16:34:29 +0530
committerMartin K. Petersen <martin.petersen@oracle.com>2019-06-27 00:07:35 -0400
commit7fc557005c454fa053153ac0bf7c7c96f58dab4f (patch)
tree076445eeb2b19fe6399a6789531f586caefe0639 /drivers/scsi/megaraid/megaraid_sas_base.c
parentscsi: megaraid_sas: RAID1 PCI bandwidth limit algorithm is applicable for only Ventura (diff)
downloadlinux-dev-7fc557005c454fa053153ac0bf7c7c96f58dab4f.tar.xz
linux-dev-7fc557005c454fa053153ac0bf7c7c96f58dab4f.zip
scsi: megaraid_sas: Offload Aero RAID5/6 division calculations to driver
For RAID5/RAID6 volumes configured behind Aero, driver will be doing 64bit division operations on behalf of firmware as controller's ARM CPU is very slow in this division. Later, driver calculates Q-ARM, P-ARM and Log-ARM and passes those values to firmware by writing these values to RAID_CONTEXT. Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com> Signed-off-by: Chandrakanth Patil <chandrakanth.patil@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to '')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas_base.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index 5244b6eedfec..81e708b2eca0 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -5777,8 +5777,16 @@ static int megasas_init_fw(struct megasas_instance *instance)
MR_MAX_RAID_MAP_SIZE_MASK);
}
- if (instance->adapter_type == VENTURA_SERIES)
+ switch (instance->adapter_type) {
+ case VENTURA_SERIES:
fusion->pcie_bw_limitation = true;
+ break;
+ case AERO_SERIES:
+ fusion->r56_div_offload = true;
+ break;
+ default:
+ break;
+ }
/* Check if MSI-X is supported while in ready state */
msix_enable = (instance->instancet->read_fw_status_reg(instance) &