From b66c3c68372383a7b6d5a8d9915f007e771a10f8 Mon Sep 17 00:00:00 2001 From: Subbaraman Narayanamurthy Date: Mon, 10 May 2021 12:29:22 -0700 Subject: [PATCH] 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: Subbaraman Narayanamurthy --- drivers/soc/qcom/pmic_glink.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/soc/qcom/pmic_glink.c b/drivers/soc/qcom/pmic_glink.c index 0423e14c9941..70d27d594117 100644 --- a/drivers/soc/qcom/pmic_glink.c +++ b/drivers/soc/qcom/pmic_glink.c @@ -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,