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

Commit f962db5d authored by Yuanyuan Liu's avatar Yuanyuan Liu
Browse files

cnss2: Add new MHI PM states for SSR



PM states are used to control MHI driver. Add new states to
support MHI ramdump collection, kernel panic notification and
PCIe link down notification.

Change-Id: I8d599003e579da021d2b0d08a2120868a54032a8
CRs-fixed: 2021415
Signed-off-by: default avatarYuanyuan Liu <yuanliu@codeaurora.org>
parent 8fdea91c
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -1027,8 +1027,10 @@ static char *mhi_dev_state_to_str(enum mhi_dev_ctrl state)
		return "SUSPEND";
	case MHI_DEV_CTRL_RESUME:
		return "RESUME";
	case MHI_DEV_CTRL_RAM_DUMP:
		return "RAM_DUMP";
	case MHI_DEV_CTRL_RDDM:
		return "RDDM";
	case MHI_DEV_CTRL_RDDM_KERNEL_PANIC:
		return "RDDM_KERNEL_PANIC";
	case MHI_DEV_CTRL_NOTIFY_LINK_ERROR:
		return "NOTIFY_LINK_ERROR";
	default:
@@ -1096,8 +1098,10 @@ static enum mhi_dev_ctrl cnss_to_mhi_dev_state(enum cnss_mhi_state state)
		return MHI_DEV_CTRL_SUSPEND;
	case CNSS_MHI_RESUME:
		return MHI_DEV_CTRL_RESUME;
	case CNSS_MHI_RAM_DUMP:
		return MHI_DEV_CTRL_RAM_DUMP;
	case CNSS_MHI_RDDM:
		return MHI_DEV_CTRL_RDDM;
	case CNSS_MHI_RDDM_KERNEL_PANIC:
		return MHI_DEV_CTRL_RDDM_KERNEL_PANIC;
	case CNSS_MHI_NOTIFY_LINK_ERROR:
		return MHI_DEV_CTRL_NOTIFY_LINK_ERROR;
	default:
@@ -1130,6 +1134,10 @@ static int cnss_pci_check_mhi_state_bit(struct cnss_pci_data *pci_priv,
		if (test_bit(MHI_DEV_CTRL_SUSPEND, &pci_priv->mhi_state))
			return 0;
		break;
	case MHI_DEV_CTRL_RDDM:
	case MHI_DEV_CTRL_RDDM_KERNEL_PANIC:
	case MHI_DEV_CTRL_NOTIFY_LINK_ERROR:
		return 0;
	default:
		cnss_pr_err("Unhandled MHI DEV state: %s(%d)\n",
			    mhi_dev_state_to_str(mhi_dev_state), mhi_dev_state);
@@ -1164,6 +1172,10 @@ static void cnss_pci_set_mhi_state_bit(struct cnss_pci_data *pci_priv,
	case MHI_DEV_CTRL_RESUME:
		clear_bit(MHI_DEV_CTRL_SUSPEND, &pci_priv->mhi_state);
		break;
	case MHI_DEV_CTRL_RDDM:
	case MHI_DEV_CTRL_RDDM_KERNEL_PANIC:
	case MHI_DEV_CTRL_NOTIFY_LINK_ERROR:
		break;
	default:
		cnss_pr_err("Unhandled MHI DEV state (%d)\n", mhi_dev_state);
	}
+2 −1
Original line number Diff line number Diff line
@@ -35,7 +35,8 @@ enum cnss_mhi_state {
	CNSS_MHI_RESUME,
	CNSS_MHI_POWER_OFF,
	CNSS_MHI_POWER_ON,
	CNSS_MHI_RAM_DUMP,
	CNSS_MHI_RDDM,
	CNSS_MHI_RDDM_KERNEL_PANIC,
	CNSS_MHI_NOTIFY_LINK_ERROR,
};