Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fda0eab8 authored by Shivasharan S's avatar Shivasharan S Committed by Greg Kroah-Hartman
Browse files

scsi: megaraid_sas: replace is_ventura with adapter_type checks



commit f369a31578c461a360f58c7695e5aef931bada13 upstream.

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>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 90229163
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -2243,7 +2243,6 @@ struct megasas_instance {
	bool dev_handle;
	bool fw_sync_cache_support;
	u32 mfi_frame_size;
	bool is_ventura;
	bool msix_combined;
	u16 max_raid_mapsize;
	/* preffered count to send as LDIO irrspective of FP capable.*/
+4 −5
Original line number Diff line number Diff line
@@ -5220,7 +5220,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
			goto fail_ready_state;
	}

	if (instance->is_ventura) {
	if (instance->adapter_type == VENTURA_SERIES) {
		scratch_pad_3 =
			readl(&instance->reg_set->outbound_scratch_pad_3);
		instance->max_raid_mapsize = ((scratch_pad_3 >>
@@ -5329,7 +5329,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
	if (instance->instancet->init_adapter(instance))
		goto fail_init_adapter;

	if (instance->is_ventura) {
	if (instance->adapter_type == VENTURA_SERIES) {
		scratch_pad_4 =
			readl(&instance->reg_set->outbound_scratch_pad_4);
		if ((scratch_pad_4 & MR_NVME_PAGE_SIZE_MASK) >=
@@ -5365,7 +5365,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
	memset(instance->ld_ids, 0xff, MEGASAS_MAX_LD_IDS);

	/* stream detection initialization */
	if (instance->is_ventura && fusion) {
	if (instance->adapter_type == VENTURA_SERIES) {
		fusion->stream_detect_by_ld =
			kzalloc(sizeof(struct LD_STREAM_DETECT *)
			* MAX_LOGICAL_DRIVES_EXT,
@@ -6094,7 +6094,6 @@ static int megasas_probe_one(struct pci_dev *pdev,

		break;
	case VENTURA_SERIES:
		instance->is_ventura = 1;
	case THUNDERBOLT_SERIES:
	case INVADER_SERIES:
		if (megasas_alloc_fusion_context(instance)) {
@@ -6686,7 +6685,7 @@ static void megasas_detach_one(struct pci_dev *pdev)
	if (instance->msix_vectors)
		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)
			kfree(fusion->stream_detect_by_ld[i]);
		kfree(fusion->stream_detect_by_ld);
+5 −5
Original line number Diff line number Diff line
@@ -745,7 +745,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->is_ventura &&
		if ((instance->adapter_type == VENTURA_SERIES) &&
		    (raid->level == 1) &&
		    !io_info->isRead) {
			r1_alt_pd = MR_ArPdGet(arRef, physArm + 1, map);
@@ -770,7 +770,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->is_ventura) {
	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 =
@@ -861,7 +861,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->is_ventura &&
		if ((instance->adapter_type == VENTURA_SERIES) &&
		    (raid->level == 1) &&
		    !io_info->isRead) {
			r1_alt_pd = MR_ArPdGet(arRef, physArm + 1, map);
@@ -888,7 +888,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->is_ventura) {
	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 =
@@ -1099,7 +1099,7 @@ MR_BuildRaidContext(struct megasas_instance *instance,
	if (instance->adapter_type == INVADER_SERIES)
		pRAID_Context->reg_lock_flags = (isRead) ?
			raid->regTypeReqOnRead : raid->regTypeReqOnWrite;
	else if (!instance->is_ventura)
	else if (instance->adapter_type == THUNDERBOLT_SERIES)
		pRAID_Context->reg_lock_flags = (isRead) ?
			REGION_TYPE_SHARED_READ : raid->regTypeReqOnWrite;
	pRAID_Context->virtual_disk_tgt_id = raid->targetId;
+12 −12
Original line number Diff line number Diff line
@@ -237,7 +237,7 @@ megasas_fusion_update_can_queue(struct megasas_instance *instance, int fw_boot_c
	reg_set = instance->reg_set;

	/* 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 =
		readl(&instance->reg_set->outbound_scratch_pad_3) & 0x00FFFF;

@@ -285,7 +285,7 @@ megasas_fusion_update_can_queue(struct megasas_instance *instance, int fw_boot_c
		instance->host->can_queue = instance->cur_can_queue;
	}

	if (instance->is_ventura)
	if (instance->adapter_type == VENTURA_SERIES)
		instance->max_mpt_cmds =
		instance->max_fw_cmds * RAID_1_PEER_CMDS;
	else
@@ -2349,7 +2349,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,

	praid_context = &io_request->RaidContext;

	if (instance->is_ventura) {
	if (instance->adapter_type == VENTURA_SERIES) {
		spin_lock_irqsave(&instance->stream_lock, spinlock_flags);
		megasas_stream_detect(instance, cmd, &io_info);
		spin_unlock_irqrestore(&instance->stream_lock, spinlock_flags);
@@ -2415,7 +2415,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
			io_request->RaidContext.raid_context.reg_lock_flags |=
			  (MR_RL_FLAGS_GRANT_DESTINATION_CUDA |
			   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 |=
						(1 << RAID_CONTEXT_NSEG_SHIFT);
			io_request->RaidContext.raid_context_g35.nseg_type |=
@@ -2434,7 +2434,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->is_ventura)
			if (instance->adapter_type == VENTURA_SERIES)
				io_request->RaidContext.raid_context_g35.span_arm
					= io_info.span_arm;
			else
@@ -2444,7 +2444,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
		} else
			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;
		else
			cmd->r1_alt_dev_handle = MR_DEVHANDLE_INVALID;
@@ -2480,7 +2480,7 @@ megasas_build_ldio_fusion(struct megasas_instance *instance,
				(MR_RL_FLAGS_GRANT_DESTINATION_CPU0 |
				 MR_RL_FLAGS_SEQ_NUM_ENABLE);
			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 |=
					(1 << MR_RAID_CTX_ROUTINGFLAGS_SQN_SHIFT);
			io_request->RaidContext.raid_context_g35.nseg_type |=
@@ -2555,7 +2555,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->is_ventura)
		if (instance->adapter_type != VENTURA_SERIES)
			pRAID_Context->reg_lock_flags = REGION_TYPE_SHARED_READ;
		pRAID_Context->timeout_value =
			cpu_to_le16(raid->fpIoTimeoutForLd);
@@ -2640,7 +2640,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->is_ventura) {
		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 |=
@@ -2771,7 +2771,7 @@ megasas_build_io_fusion(struct megasas_instance *instance,
		return 1;
	}

	if (instance->is_ventura) {
	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);
@@ -4233,7 +4233,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->is_ventura) {
			if (instance->adapter_type == VENTURA_SERIES) {
				r1_cmd = fusion->cmd_list[i + instance->max_fw_cmds];
				megasas_return_cmd_fusion(instance, r1_cmd);
			}
@@ -4334,7 +4334,7 @@ int megasas_reset_fusion(struct Scsi_Host *shost, int reason)
				megasas_set_dynamic_target_properties(sdev);

			/* reset stream detection array */
			if (instance->is_ventura) {
			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));