Commit f369a315 authored by Shivasharan S's avatar Shivasharan S Committed by Martin K. Petersen

scsi: megaraid_sas: replace is_ventura with adapter_type checks

No functional change.
Signed-off-by: default avatarKashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: default avatarShivasharan S <shivasharan.srikanteshwara@broadcom.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 55fecaec
...@@ -2244,7 +2244,6 @@ struct megasas_instance { ...@@ -2244,7 +2244,6 @@ struct megasas_instance {
bool dev_handle; bool dev_handle;
bool fw_sync_cache_support; bool fw_sync_cache_support;
u32 mfi_frame_size; u32 mfi_frame_size;
bool is_ventura;
bool msix_combined; bool msix_combined;
u16 max_raid_mapsize; u16 max_raid_mapsize;
/* preffered count to send as LDIO irrspective of FP capable.*/ /* preffered count to send as LDIO irrspective of FP capable.*/
......
...@@ -5221,7 +5221,7 @@ static int megasas_init_fw(struct megasas_instance *instance) ...@@ -5221,7 +5221,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
goto fail_ready_state; goto fail_ready_state;
} }
if (instance->is_ventura) { if (instance->adapter_type == VENTURA_SERIES) {
scratch_pad_3 = scratch_pad_3 =
readl(&instance->reg_set->outbound_scratch_pad_3); readl(&instance->reg_set->outbound_scratch_pad_3);
instance->max_raid_mapsize = ((scratch_pad_3 >> instance->max_raid_mapsize = ((scratch_pad_3 >>
...@@ -5330,7 +5330,7 @@ static int megasas_init_fw(struct megasas_instance *instance) ...@@ -5330,7 +5330,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
if (instance->instancet->init_adapter(instance)) if (instance->instancet->init_adapter(instance))
goto fail_init_adapter; goto fail_init_adapter;
if (instance->is_ventura) { if (instance->adapter_type == VENTURA_SERIES) {
scratch_pad_4 = scratch_pad_4 =
readl(&instance->reg_set->outbound_scratch_pad_4); readl(&instance->reg_set->outbound_scratch_pad_4);
if ((scratch_pad_4 & MR_NVME_PAGE_SIZE_MASK) >= if ((scratch_pad_4 & MR_NVME_PAGE_SIZE_MASK) >=
...@@ -5366,7 +5366,7 @@ static int megasas_init_fw(struct megasas_instance *instance) ...@@ -5366,7 +5366,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
memset(instance->ld_ids, 0xff, MEGASAS_MAX_LD_IDS); memset(instance->ld_ids, 0xff, MEGASAS_MAX_LD_IDS);
/* stream detection initialization */ /* stream detection initialization */
if (instance->is_ventura && fusion) { if (instance->adapter_type == VENTURA_SERIES) {
fusion->stream_detect_by_ld = fusion->stream_detect_by_ld =
kzalloc(sizeof(struct LD_STREAM_DETECT *) kzalloc(sizeof(struct LD_STREAM_DETECT *)
* MAX_LOGICAL_DRIVES_EXT, * MAX_LOGICAL_DRIVES_EXT,
...@@ -6101,7 +6101,6 @@ static int megasas_probe_one(struct pci_dev *pdev, ...@@ -6101,7 +6101,6 @@ static int megasas_probe_one(struct pci_dev *pdev,
break; break;
case VENTURA_SERIES: case VENTURA_SERIES:
instance->is_ventura = 1;
case THUNDERBOLT_SERIES: case THUNDERBOLT_SERIES:
case INVADER_SERIES: case INVADER_SERIES:
if (megasas_alloc_fusion_context(instance)) { if (megasas_alloc_fusion_context(instance)) {
...@@ -6693,7 +6692,7 @@ static void megasas_detach_one(struct pci_dev *pdev) ...@@ -6693,7 +6692,7 @@ static void megasas_detach_one(struct pci_dev *pdev)
if (instance->msix_vectors) if (instance->msix_vectors)
pci_free_irq_vectors(instance->pdev); pci_free_irq_vectors(instance->pdev);
if (instance->is_ventura) { if (instance->adapter_type == VENTURA_SERIES) {
for (i = 0; i < MAX_LOGICAL_DRIVES_EXT; ++i) for (i = 0; i < MAX_LOGICAL_DRIVES_EXT; ++i)
kfree(fusion->stream_detect_by_ld[i]); kfree(fusion->stream_detect_by_ld[i]);
kfree(fusion->stream_detect_by_ld); kfree(fusion->stream_detect_by_ld);
......
...@@ -737,7 +737,7 @@ static u8 mr_spanset_get_phy_params(struct megasas_instance *instance, u32 ld, ...@@ -737,7 +737,7 @@ static u8 mr_spanset_get_phy_params(struct megasas_instance *instance, u32 ld,
*pDevHandle = MR_PdDevHandleGet(pd, map); *pDevHandle = MR_PdDevHandleGet(pd, map);
*pPdInterface = MR_PdInterfaceTypeGet(pd, map); *pPdInterface = MR_PdInterfaceTypeGet(pd, map);
/* get second pd also for raid 1/10 fast path writes*/ /* get second pd also for raid 1/10 fast path writes*/
if (instance->is_ventura && if ((instance->adapter_type == VENTURA_SERIES) &&
(raid->level == 1) && (raid->level == 1) &&
!io_info->isRead) { !io_info->isRead) {
r1_alt_pd = MR_ArPdGet(arRef, physArm + 1, map); r1_alt_pd = MR_ArPdGet(arRef, physArm + 1, map);
...@@ -762,7 +762,7 @@ static u8 mr_spanset_get_phy_params(struct megasas_instance *instance, u32 ld, ...@@ -762,7 +762,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); *pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk);
if (instance->is_ventura) { if (instance->adapter_type == VENTURA_SERIES) {
((struct RAID_CONTEXT_G35 *)pRAID_Context)->span_arm = ((struct RAID_CONTEXT_G35 *)pRAID_Context)->span_arm =
(span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm; (span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm;
io_info->span_arm = io_info->span_arm =
...@@ -853,7 +853,7 @@ u8 MR_GetPhyParams(struct megasas_instance *instance, u32 ld, u64 stripRow, ...@@ -853,7 +853,7 @@ u8 MR_GetPhyParams(struct megasas_instance *instance, u32 ld, u64 stripRow,
*pDevHandle = MR_PdDevHandleGet(pd, map); *pDevHandle = MR_PdDevHandleGet(pd, map);
*pPdInterface = MR_PdInterfaceTypeGet(pd, map); *pPdInterface = MR_PdInterfaceTypeGet(pd, map);
/* get second pd also for raid 1/10 fast path writes*/ /* get second pd also for raid 1/10 fast path writes*/
if (instance->is_ventura && if ((instance->adapter_type == VENTURA_SERIES) &&
(raid->level == 1) && (raid->level == 1) &&
!io_info->isRead) { !io_info->isRead) {
r1_alt_pd = MR_ArPdGet(arRef, physArm + 1, map); r1_alt_pd = MR_ArPdGet(arRef, physArm + 1, map);
...@@ -880,7 +880,7 @@ u8 MR_GetPhyParams(struct megasas_instance *instance, u32 ld, u64 stripRow, ...@@ -880,7 +880,7 @@ u8 MR_GetPhyParams(struct megasas_instance *instance, u32 ld, u64 stripRow,
} }
*pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk); *pdBlock += stripRef + le64_to_cpu(MR_LdSpanPtrGet(ld, span, map)->startBlk);
if (instance->is_ventura) { if (instance->adapter_type == VENTURA_SERIES) {
((struct RAID_CONTEXT_G35 *)pRAID_Context)->span_arm = ((struct RAID_CONTEXT_G35 *)pRAID_Context)->span_arm =
(span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm; (span << RAID_CTX_SPANARM_SPAN_SHIFT) | physArm;
io_info->span_arm = io_info->span_arm =
...@@ -1091,7 +1091,7 @@ MR_BuildRaidContext(struct megasas_instance *instance, ...@@ -1091,7 +1091,7 @@ MR_BuildRaidContext(struct megasas_instance *instance,
if (instance->adapter_type == INVADER_SERIES) if (instance->adapter_type == INVADER_SERIES)
pRAID_Context->reg_lock_flags = (isRead) ? pRAID_Context->reg_lock_flags = (isRead) ?
raid->regTypeReqOnRead : raid->regTypeReqOnWrite; raid->regTypeReqOnRead : raid->regTypeReqOnWrite;
else if (!instance->is_ventura) else if (instance->adapter_type == THUNDERBOLT_SERIES)
pRAID_Context->reg_lock_flags = (isRead) ? pRAID_Context->reg_lock_flags = (isRead) ?
REGION_TYPE_SHARED_READ : raid->regTypeReqOnWrite; REGION_TYPE_SHARED_READ : raid->regTypeReqOnWrite;
pRAID_Context->virtual_disk_tgt_id = raid->targetId; pRAID_Context->virtual_disk_tgt_id = raid->targetId;
......
...@@ -200,7 +200,7 @@ static void ...@@ -200,7 +200,7 @@ static void
megasas_fire_cmd_fusion(struct megasas_instance *instance, megasas_fire_cmd_fusion(struct megasas_instance *instance,
union MEGASAS_REQUEST_DESCRIPTOR_UNION *req_desc) union MEGASAS_REQUEST_DESCRIPTOR_UNION *req_desc)
{ {
if (instance->is_ventura) if (instance->adapter_type == VENTURA_SERIES)
writel(le32_to_cpu(req_desc->u.low), writel(le32_to_cpu(req_desc->u.low),
&instance->reg_set->inbound_single_queue_port); &instance->reg_set->inbound_single_queue_port);
else { else {
...@@ -243,7 +243,7 @@ megasas_fusion_update_can_queue(struct megasas_instance *instance, int fw_boot_c ...@@ -243,7 +243,7 @@ megasas_fusion_update_can_queue(struct megasas_instance *instance, int fw_boot_c
reg_set = instance->reg_set; reg_set = instance->reg_set;
/* ventura FW does not fill outbound_scratch_pad_3 with queue depth */ /* ventura FW does not fill outbound_scratch_pad_3 with queue depth */
if (!instance->is_ventura) if (instance->adapter_type < VENTURA_SERIES)
cur_max_fw_cmds = cur_max_fw_cmds =
readl(&instance->reg_set->outbound_scratch_pad_3) & 0x00FFFF; readl(&instance->reg_set->outbound_scratch_pad_3) & 0x00FFFF;
...@@ -291,7 +291,7 @@ megasas_fusion_update_can_queue(struct megasas_instance *instance, int fw_boot_c ...@@ -291,7 +291,7 @@ megasas_fusion_update_can_queue(struct megasas_instance *instance, int fw_boot_c
instance->host->can_queue = instance->cur_can_queue; instance->host->can_queue = instance->cur_can_queue;
} }
if (instance->is_ventura) if (instance->adapter_type == VENTURA_SERIES)
instance->max_mpt_cmds = instance->max_mpt_cmds =
instance->max_fw_cmds * RAID_1_PEER_CMDS; instance->max_fw_cmds * RAID_1_PEER_CMDS;
else else
...@@ -2363,7 +2363,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance, ...@@ -2363,7 +2363,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
praid_context = &io_request->RaidContext; praid_context = &io_request->RaidContext;
if (instance->is_ventura) { if (instance->adapter_type == VENTURA_SERIES) {
spin_lock_irqsave(&instance->stream_lock, spinlock_flags); spin_lock_irqsave(&instance->stream_lock, spinlock_flags);
megasas_stream_detect(instance, cmd, &io_info); megasas_stream_detect(instance, cmd, &io_info);
spin_unlock_irqrestore(&instance->stream_lock, spinlock_flags); spin_unlock_irqrestore(&instance->stream_lock, spinlock_flags);
...@@ -2429,7 +2429,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance, ...@@ -2429,7 +2429,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
io_request->RaidContext.raid_context.reg_lock_flags |= io_request->RaidContext.raid_context.reg_lock_flags |=
(MR_RL_FLAGS_GRANT_DESTINATION_CUDA | (MR_RL_FLAGS_GRANT_DESTINATION_CUDA |
MR_RL_FLAGS_SEQ_NUM_ENABLE); MR_RL_FLAGS_SEQ_NUM_ENABLE);
} else if (instance->is_ventura) { } else if (instance->adapter_type == VENTURA_SERIES) {
io_request->RaidContext.raid_context_g35.nseg_type |= io_request->RaidContext.raid_context_g35.nseg_type |=
(1 << RAID_CONTEXT_NSEG_SHIFT); (1 << RAID_CONTEXT_NSEG_SHIFT);
io_request->RaidContext.raid_context_g35.nseg_type |= io_request->RaidContext.raid_context_g35.nseg_type |=
...@@ -2448,7 +2448,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance, ...@@ -2448,7 +2448,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
&io_info, local_map_ptr); &io_info, local_map_ptr);
scp->SCp.Status |= MEGASAS_LOAD_BALANCE_FLAG; scp->SCp.Status |= MEGASAS_LOAD_BALANCE_FLAG;
cmd->pd_r1_lb = io_info.pd_after_lb; cmd->pd_r1_lb = io_info.pd_after_lb;
if (instance->is_ventura) if (instance->adapter_type == VENTURA_SERIES)
io_request->RaidContext.raid_context_g35.span_arm io_request->RaidContext.raid_context_g35.span_arm
= io_info.span_arm; = io_info.span_arm;
else else
...@@ -2458,7 +2458,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance, ...@@ -2458,7 +2458,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
} else } else
scp->SCp.Status &= ~MEGASAS_LOAD_BALANCE_FLAG; scp->SCp.Status &= ~MEGASAS_LOAD_BALANCE_FLAG;
if (instance->is_ventura) if (instance->adapter_type == VENTURA_SERIES)
cmd->r1_alt_dev_handle = io_info.r1_alt_dev_handle; cmd->r1_alt_dev_handle = io_info.r1_alt_dev_handle;
else else
cmd->r1_alt_dev_handle = MR_DEVHANDLE_INVALID; cmd->r1_alt_dev_handle = MR_DEVHANDLE_INVALID;
...@@ -2494,7 +2494,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance, ...@@ -2494,7 +2494,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
(MR_RL_FLAGS_GRANT_DESTINATION_CPU0 | (MR_RL_FLAGS_GRANT_DESTINATION_CPU0 |
MR_RL_FLAGS_SEQ_NUM_ENABLE); MR_RL_FLAGS_SEQ_NUM_ENABLE);
io_request->RaidContext.raid_context.nseg = 0x1; io_request->RaidContext.raid_context.nseg = 0x1;
} else if (instance->is_ventura) { } else if (instance->adapter_type == VENTURA_SERIES) {
io_request->RaidContext.raid_context_g35.routing_flags |= io_request->RaidContext.raid_context_g35.routing_flags |=
(1 << MR_RAID_CTX_ROUTINGFLAGS_SQN_SHIFT); (1 << MR_RAID_CTX_ROUTINGFLAGS_SQN_SHIFT);
io_request->RaidContext.raid_context_g35.nseg_type |= io_request->RaidContext.raid_context_g35.nseg_type |=
...@@ -2569,7 +2569,7 @@ static void megasas_build_ld_nonrw_fusion(struct megasas_instance *instance, ...@@ -2569,7 +2569,7 @@ static void megasas_build_ld_nonrw_fusion(struct megasas_instance *instance,
/* set RAID context values */ /* set RAID context values */
pRAID_Context->config_seq_num = raid->seqNum; pRAID_Context->config_seq_num = raid->seqNum;
if (!instance->is_ventura) if (instance->adapter_type != VENTURA_SERIES)
pRAID_Context->reg_lock_flags = REGION_TYPE_SHARED_READ; pRAID_Context->reg_lock_flags = REGION_TYPE_SHARED_READ;
pRAID_Context->timeout_value = pRAID_Context->timeout_value =
cpu_to_le16(raid->fpIoTimeoutForLd); cpu_to_le16(raid->fpIoTimeoutForLd);
...@@ -2654,7 +2654,7 @@ megasas_build_syspd_fusion(struct megasas_instance *instance, ...@@ -2654,7 +2654,7 @@ megasas_build_syspd_fusion(struct megasas_instance *instance,
cpu_to_le16(device_id + (MAX_PHYSICAL_DEVICES - 1)); cpu_to_le16(device_id + (MAX_PHYSICAL_DEVICES - 1));
pRAID_Context->config_seq_num = pd_sync->seq[pd_index].seqNum; pRAID_Context->config_seq_num = pd_sync->seq[pd_index].seqNum;
io_request->DevHandle = pd_sync->seq[pd_index].devHandle; io_request->DevHandle = pd_sync->seq[pd_index].devHandle;
if (instance->is_ventura) { if (instance->adapter_type == VENTURA_SERIES) {
io_request->RaidContext.raid_context_g35.routing_flags |= io_request->RaidContext.raid_context_g35.routing_flags |=
(1 << MR_RAID_CTX_ROUTINGFLAGS_SQN_SHIFT); (1 << MR_RAID_CTX_ROUTINGFLAGS_SQN_SHIFT);
io_request->RaidContext.raid_context_g35.nseg_type |= io_request->RaidContext.raid_context_g35.nseg_type |=
...@@ -2785,7 +2785,7 @@ megasas_build_io_fusion(struct megasas_instance *instance, ...@@ -2785,7 +2785,7 @@ megasas_build_io_fusion(struct megasas_instance *instance,
return 1; return 1;
} }
if (instance->is_ventura) { if (instance->adapter_type == VENTURA_SERIES) {
set_num_sge(&io_request->RaidContext.raid_context_g35, sge_count); 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.routing_flags);
cpu_to_le16s(&io_request->RaidContext.raid_context_g35.nseg_type); cpu_to_le16s(&io_request->RaidContext.raid_context_g35.nseg_type);
...@@ -4247,7 +4247,7 @@ int megasas_reset_fusion(struct Scsi_Host *shost, int reason) ...@@ -4247,7 +4247,7 @@ int megasas_reset_fusion(struct Scsi_Host *shost, int reason)
for (i = 0 ; i < instance->max_scsi_cmds; i++) { for (i = 0 ; i < instance->max_scsi_cmds; i++) {
cmd_fusion = fusion->cmd_list[i]; cmd_fusion = fusion->cmd_list[i];
/*check for extra commands issued by driver*/ /*check for extra commands issued by driver*/
if (instance->is_ventura) { if (instance->adapter_type == VENTURA_SERIES) {
r1_cmd = fusion->cmd_list[i + instance->max_fw_cmds]; r1_cmd = fusion->cmd_list[i + instance->max_fw_cmds];
megasas_return_cmd_fusion(instance, r1_cmd); megasas_return_cmd_fusion(instance, r1_cmd);
} }
...@@ -4348,7 +4348,7 @@ int megasas_reset_fusion(struct Scsi_Host *shost, int reason) ...@@ -4348,7 +4348,7 @@ int megasas_reset_fusion(struct Scsi_Host *shost, int reason)
megasas_set_dynamic_target_properties(sdev); megasas_set_dynamic_target_properties(sdev);
/* reset stream detection array */ /* reset stream detection array */
if (instance->is_ventura) { if (instance->adapter_type == VENTURA_SERIES) {
for (j = 0; j < MAX_LOGICAL_DRIVES_EXT; ++j) { for (j = 0; j < MAX_LOGICAL_DRIVES_EXT; ++j) {
memset(fusion->stream_detect_by_ld[j], memset(fusion->stream_detect_by_ld[j],
0, sizeof(struct LD_STREAM_DETECT)); 0, sizeof(struct LD_STREAM_DETECT));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment