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

Commit b66c3c68 authored by Subbaraman Narayanamurthy's avatar Subbaraman Narayanamurthy
Browse files

soc: qcom: pmic_glink: Use SERVREG_NOTIF_SERVICE_STATE_DOWN_V01 for PDR



Currently, SERVREG_NOTIF_SERVICE_STATE_EARLY_DOWN_V01 event from
service-notifier is used to notify the clients to clean their
state during a PDR. However, this event is not being sent by
the remote subsystem unless PD dump is enabled. Also it is
recommended to use SERVREG_NOTIF_SERVICE_STATE_DOWN_V01 when a PD
state is actually down. Switch to use this instead.

Change-Id: Iebdaac36fe96e87b174e2f270bd68de752456d3f
Signed-off-by: default avatarSubbaraman Narayanamurthy <subbaram@codeaurora.org>
parent 0611102d
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -171,17 +171,11 @@ static int pmic_glink_pdr_notifier_cb(struct notifier_block *nb,
	pr_debug("code: %#lx\n", code);

	switch (code) {
	case SERVREG_NOTIF_SERVICE_STATE_EARLY_DOWN_V01:
	case SERVREG_NOTIF_SERVICE_STATE_DOWN_V01:
		pr_debug("PD state down for %s\n", pgdev->pdr_service_name);
		pmic_glink_notify_clients(pgdev, PMIC_GLINK_STATE_DOWN);
		atomic_set(&pgdev->pdr_state, code);
		break;
	case SERVREG_NOTIF_SERVICE_STATE_DOWN_V01:
		/*
		 * PMIC Glink clients have been notified already. So do
		 * nothing here.
		 */
		break;
	case SERVREG_NOTIF_SERVICE_STATE_UP_V01:
		/*
		 * Do not notify PMIC Glink clients here but rather from
@@ -608,7 +602,7 @@ static void pmic_glink_init_work(struct work_struct *work)
	int rc;

	if (atomic_read(&pgdev->pdr_state) ==
	    SERVREG_NOTIF_SERVICE_STATE_EARLY_DOWN_V01 ||
	    SERVREG_NOTIF_SERVICE_STATE_DOWN_V01 ||
	    atomic_read(&pgdev->prev_state) == SUBSYS_BEFORE_SHUTDOWN) {
		pmic_glink_notify_clients(pgdev, PMIC_GLINK_STATE_UP);
		atomic_set(&pgdev->pdr_state,