scsi: megaraid_sas: Fix Ventura series based checks
In preparation for the new Aero series adapter type, all the places where we check adapter type for Ventura series needs to include any later adapter types. Signed-off-by: Shivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
23c3828aa2
commit
630d42b70f
@ -5398,7 +5398,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
|
||||
|
||||
fusion = instance->ctrl_context;
|
||||
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
scratch_pad_2 =
|
||||
readl(&instance->reg_set->outbound_scratch_pad_2);
|
||||
instance->max_raid_mapsize = ((scratch_pad_2 >>
|
||||
@ -5521,7 +5521,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
|
||||
if (instance->instancet->init_adapter(instance))
|
||||
goto fail_init_adapter;
|
||||
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
scratch_pad_3 =
|
||||
readl(&instance->reg_set->outbound_scratch_pad_3);
|
||||
if ((scratch_pad_3 & MR_NVME_PAGE_SIZE_MASK) >=
|
||||
@ -5557,7 +5557,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
|
||||
memset(instance->ld_ids, 0xff, MEGASAS_MAX_LD_IDS);
|
||||
|
||||
/* stream detection initialization */
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
fusion->stream_detect_by_ld =
|
||||
kcalloc(MAX_LOGICAL_DRIVES_EXT,
|
||||
sizeof(struct LD_STREAM_DETECT *),
|
||||
@ -6176,7 +6176,7 @@ megasas_set_dma_mask(struct megasas_instance *instance)
|
||||
u32 scratch_pad_1;
|
||||
|
||||
pdev = instance->pdev;
|
||||
consistent_mask = (instance->adapter_type == VENTURA_SERIES) ?
|
||||
consistent_mask = (instance->adapter_type >= VENTURA_SERIES) ?
|
||||
DMA_BIT_MASK(64) : DMA_BIT_MASK(32);
|
||||
|
||||
if (IS_DMA64) {
|
||||
@ -7130,7 +7130,7 @@ skip_firing_dcmds:
|
||||
if (instance->msix_vectors)
|
||||
pci_free_irq_vectors(instance->pdev);
|
||||
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
for (i = 0; i < MAX_LOGICAL_DRIVES_EXT; ++i)
|
||||
kfree(fusion->stream_detect_by_ld[i]);
|
||||
kfree(fusion->stream_detect_by_ld);
|
||||
|
@ -743,7 +743,7 @@ static u8 mr_spanset_get_phy_params(struct megasas_instance *instance, u32 ld,
|
||||
*pDevHandle = MR_PdDevHandleGet(pd, map);
|
||||
*pPdInterface = MR_PdInterfaceTypeGet(pd, map);
|
||||
/* get second pd also for raid 1/10 fast path writes*/
|
||||
if ((instance->adapter_type == VENTURA_SERIES) &&
|
||||
if ((instance->adapter_type >= VENTURA_SERIES) &&
|
||||
(raid->level == 1) &&
|
||||
!io_info->isRead) {
|
||||
r1_alt_pd = MR_ArPdGet(arRef, physArm + 1, map);
|
||||
@ -768,7 +768,7 @@ static u8 mr_spanset_get_phy_params(struct megasas_instance *instance, u32 ld,
|
||||
}
|
||||
|
||||
*pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk);
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
((struct RAID_CONTEXT_G35 *)pRAID_Context)->span_arm =
|
||||
(span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm;
|
||||
io_info->span_arm =
|
||||
@ -859,7 +859,7 @@ u8 MR_GetPhyParams(struct megasas_instance *instance, u32 ld, u64 stripRow,
|
||||
*pDevHandle = MR_PdDevHandleGet(pd, map);
|
||||
*pPdInterface = MR_PdInterfaceTypeGet(pd, map);
|
||||
/* get second pd also for raid 1/10 fast path writes*/
|
||||
if ((instance->adapter_type == VENTURA_SERIES) &&
|
||||
if ((instance->adapter_type >= VENTURA_SERIES) &&
|
||||
(raid->level == 1) &&
|
||||
!io_info->isRead) {
|
||||
r1_alt_pd = MR_ArPdGet(arRef, physArm + 1, map);
|
||||
@ -886,7 +886,7 @@ u8 MR_GetPhyParams(struct megasas_instance *instance, u32 ld, u64 stripRow,
|
||||
}
|
||||
|
||||
*pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk);
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
((struct RAID_CONTEXT_G35 *)pRAID_Context)->span_arm =
|
||||
(span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm;
|
||||
io_info->span_arm =
|
||||
|
@ -1554,7 +1554,7 @@ void megasas_configure_queue_sizes(struct megasas_instance *instance)
|
||||
fusion = instance->ctrl_context;
|
||||
max_cmd = instance->max_fw_cmds;
|
||||
|
||||
if (instance->adapter_type == VENTURA_SERIES)
|
||||
if (instance->adapter_type >= VENTURA_SERIES)
|
||||
instance->max_mpt_cmds = instance->max_fw_cmds * RAID_1_PEER_CMDS;
|
||||
else
|
||||
instance->max_mpt_cmds = instance->max_fw_cmds;
|
||||
@ -2721,7 +2721,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
|
||||
cmd->request_desc->SCSIIO.MSIxIndex =
|
||||
instance->reply_map[raw_smp_processor_id()];
|
||||
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
/* FP for Optimal raid level 1.
|
||||
* All large RAID-1 writes (> 32 KiB, both WT and WB modes)
|
||||
* are built by the driver as LD I/Os.
|
||||
@ -2789,7 +2789,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
|
||||
rctx->reg_lock_flags |=
|
||||
(MR_RL_FLAGS_GRANT_DESTINATION_CUDA |
|
||||
MR_RL_FLAGS_SEQ_NUM_ENABLE);
|
||||
} else if (instance->adapter_type == VENTURA_SERIES) {
|
||||
} else if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
rctx_g35->nseg_type |= (1 << RAID_CONTEXT_NSEG_SHIFT);
|
||||
rctx_g35->nseg_type |= (MPI2_TYPE_CUDA << RAID_CONTEXT_TYPE_SHIFT);
|
||||
rctx_g35->routing_flags |= (1 << MR_RAID_CTX_ROUTINGFLAGS_SQN_SHIFT);
|
||||
@ -2805,7 +2805,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
|
||||
&io_info, local_map_ptr);
|
||||
scp->SCp.Status |= MEGASAS_LOAD_BALANCE_FLAG;
|
||||
cmd->pd_r1_lb = io_info.pd_after_lb;
|
||||
if (instance->adapter_type == VENTURA_SERIES)
|
||||
if (instance->adapter_type >= VENTURA_SERIES)
|
||||
rctx_g35->span_arm = io_info.span_arm;
|
||||
else
|
||||
rctx->span_arm = io_info.span_arm;
|
||||
@ -2813,7 +2813,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
|
||||
} else
|
||||
scp->SCp.Status &= ~MEGASAS_LOAD_BALANCE_FLAG;
|
||||
|
||||
if (instance->adapter_type == VENTURA_SERIES)
|
||||
if (instance->adapter_type >= VENTURA_SERIES)
|
||||
cmd->r1_alt_dev_handle = io_info.r1_alt_dev_handle;
|
||||
else
|
||||
cmd->r1_alt_dev_handle = MR_DEVHANDLE_INVALID;
|
||||
@ -2847,7 +2847,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
|
||||
(MR_RL_FLAGS_GRANT_DESTINATION_CPU0 |
|
||||
MR_RL_FLAGS_SEQ_NUM_ENABLE);
|
||||
rctx->nseg = 0x1;
|
||||
} else if (instance->adapter_type == VENTURA_SERIES) {
|
||||
} else if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
rctx_g35->routing_flags |= (1 << MR_RAID_CTX_ROUTINGFLAGS_SQN_SHIFT);
|
||||
rctx_g35->nseg_type |= (1 << RAID_CONTEXT_NSEG_SHIFT);
|
||||
rctx_g35->nseg_type |= (MPI2_TYPE_CUDA << RAID_CONTEXT_TYPE_SHIFT);
|
||||
@ -2919,7 +2919,7 @@ static void megasas_build_ld_nonrw_fusion(struct megasas_instance *instance,
|
||||
|
||||
/* set RAID context values */
|
||||
pRAID_Context->config_seq_num = raid->seqNum;
|
||||
if (instance->adapter_type != VENTURA_SERIES)
|
||||
if (instance->adapter_type < VENTURA_SERIES)
|
||||
pRAID_Context->reg_lock_flags = REGION_TYPE_SHARED_READ;
|
||||
pRAID_Context->timeout_value =
|
||||
cpu_to_le16(raid->fpIoTimeoutForLd);
|
||||
@ -3004,7 +3004,7 @@ megasas_build_syspd_fusion(struct megasas_instance *instance,
|
||||
cpu_to_le16(device_id + (MAX_PHYSICAL_DEVICES - 1));
|
||||
pRAID_Context->config_seq_num = pd_sync->seq[pd_index].seqNum;
|
||||
io_request->DevHandle = pd_sync->seq[pd_index].devHandle;
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
io_request->RaidContext.raid_context_g35.routing_flags |=
|
||||
(1 << MR_RAID_CTX_ROUTINGFLAGS_SQN_SHIFT);
|
||||
io_request->RaidContext.raid_context_g35.nseg_type |=
|
||||
@ -3137,7 +3137,7 @@ megasas_build_io_fusion(struct megasas_instance *instance,
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
set_num_sge(&io_request->RaidContext.raid_context_g35, sge_count);
|
||||
cpu_to_le16s(&io_request->RaidContext.raid_context_g35.routing_flags);
|
||||
cpu_to_le16s(&io_request->RaidContext.raid_context_g35.nseg_type);
|
||||
@ -4656,7 +4656,7 @@ int megasas_reset_fusion(struct Scsi_Host *shost, int reason)
|
||||
for (i = 0 ; i < instance->max_scsi_cmds; i++) {
|
||||
cmd_fusion = fusion->cmd_list[i];
|
||||
/*check for extra commands issued by driver*/
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
r1_cmd = fusion->cmd_list[i + instance->max_fw_cmds];
|
||||
megasas_return_cmd_fusion(instance, r1_cmd);
|
||||
}
|
||||
@ -4755,7 +4755,7 @@ transition_to_ready:
|
||||
megasas_setup_jbod_map(instance);
|
||||
|
||||
/* reset stream detection array */
|
||||
if (instance->adapter_type == VENTURA_SERIES) {
|
||||
if (instance->adapter_type >= VENTURA_SERIES) {
|
||||
for (j = 0; j < MAX_LOGICAL_DRIVES_EXT; ++j) {
|
||||
memset(fusion->stream_detect_by_ld[j],
|
||||
0, sizeof(struct LD_STREAM_DETECT));
|
||||
|
Loading…
x
Reference in New Issue
Block a user