diff options
author | Chandrakanth Patil <chandrakanth.patil@broadcom.com> | 2019-06-25 16:34:29 +0530 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2019-06-27 00:07:35 -0400 |
commit | 7fc557005c454fa053153ac0bf7c7c96f58dab4f (patch) | |
tree | 076445eeb2b19fe6399a6789531f586caefe0639 /drivers/scsi/megaraid/megaraid_sas_base.c | |
parent | scsi: megaraid_sas: RAID1 PCI bandwidth limit algorithm is applicable for only Ventura (diff) | |
download | linux-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.c | 10 |
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) & |