Commit 92bb6505 authored by sumit.saxena@avagotech.com's avatar sumit.saxena@avagotech.com Committed by Martin K. Petersen
Browse files

megaraid_sas: Code refactor for use of requestorId



Some of these code changes were proposed by David Binderman.

Removed redudant check of requestorId. Redundant condition:
instance.requestorId. Check for plasma firmware 1.11 are now
restructured to support only specific device id.

Signed-off-by: default avatarSumit Saxena <sumit.saxena@avagotech.com>
Signed-off-by: default avatarKashyap Desai <kashyap.desai@avagotech.com>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 75b96061
Loading
Loading
Loading
Loading
+18 −17
Original line number Diff line number Diff line
@@ -4842,18 +4842,22 @@ static int megasas_init_fw(struct megasas_instance *instance)

	}
	if (ctrl_info->host_interface.SRIOV) {
		instance->requestorId = ctrl_info->iov.requestorId;
		if (instance->pdev->device == PCI_DEVICE_ID_LSI_PLASMA) {
			if (!ctrl_info->adapterOperations2.activePassive)
			    instance->PlasmaFW111 = 1;

		if (!instance->PlasmaFW111)
			instance->requestorId =
				ctrl_info->iov.requestorId;
		else {
			iovPtr = (struct IOV_111 *)((unsigned char *)ctrl_info + IOV_111_OFFSET);
			dev_info(&instance->pdev->dev, "SR-IOV: firmware type: %s\n",
			    instance->PlasmaFW111 ? "1.11" : "new");

			if (instance->PlasmaFW111) {
			    iovPtr = (struct IOV_111 *)
				((unsigned char *)ctrl_info + IOV_111_OFFSET);
			    instance->requestorId = iovPtr->requestorId;
			}
		dev_warn(&instance->pdev->dev, "I am VF "
		       "requestorId %d\n", instance->requestorId);
		}
		dev_info(&instance->pdev->dev, "SRIOV: VF requestorId %d\n",
			instance->requestorId);
	}

	instance->crash_dump_fw_support =
@@ -6723,8 +6727,7 @@ megasas_aen_polling(struct work_struct *work)
		case MR_EVT_CFG_CLEARED:
		case MR_EVT_LD_DELETED:
			if (!instance->requestorId ||
			    (instance->requestorId &&
			     megasas_get_ld_vf_affiliation(instance, 0))) {
			    megasas_get_ld_vf_affiliation(instance, 0)) {
				if (megasas_ld_list_query(instance,
							  MR_LD_QUERY_TYPE_EXPOSED_TO_HOST))
					megasas_get_ld_list(instance);
@@ -6755,8 +6758,7 @@ megasas_aen_polling(struct work_struct *work)
			break;
		case MR_EVT_LD_CREATED:
			if (!instance->requestorId ||
			    (instance->requestorId &&
			     megasas_get_ld_vf_affiliation(instance, 0))) {
			    megasas_get_ld_vf_affiliation(instance, 0)) {
				if (megasas_ld_list_query(instance,
							  MR_LD_QUERY_TYPE_EXPOSED_TO_HOST))
					megasas_get_ld_list(instance);
@@ -6822,8 +6824,7 @@ megasas_aen_polling(struct work_struct *work)
		}

		if (!instance->requestorId ||
		    (instance->requestorId &&
		     megasas_get_ld_vf_affiliation(instance, 0))) {
		    megasas_get_ld_vf_affiliation(instance, 0)) {
			if (megasas_ld_list_query(instance,
						  MR_LD_QUERY_TYPE_EXPOSED_TO_HOST))
				megasas_get_ld_list(instance);