Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp486757ybz; Wed, 22 Apr 2020 02:07:09 -0700 (PDT) X-Google-Smtp-Source: APiQypK9hk9yYwKMYZMFOMsp1FUYUXqHmck9m6mAY+CZAeq4Vi31ocLK2T7saYpRMOXzM/LDR0nQ X-Received: by 2002:aa7:d655:: with SMTP id v21mr16467670edr.355.1587546429120; Wed, 22 Apr 2020 02:07:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587546429; cv=none; d=google.com; s=arc-20160816; b=rgiqOOXyfHXcEOEwkSYJdNRlY4C3b8o1QxtXVNzg6jUbNQE2SesGpT3csBFN/sikbg zhhpkjXx6m7sT9H7lFihzz67e97qmNrPgkGk0OLYi6uGpxfkj3cGfllZOcWCZnVh2UL1 nN5IwnHPG6XB1qpxNCgbIJa9xa1SjpL2BmXDOvHLNhpGFkxkC8yJY16EHOfmJJhP7SeJ u+PL+PSomSuCRyWLixZku9uUMEviWLW8huee/IFstqzSiGnPDv//yhHLeS7Q2dtwjZYr UcT0NCToqJ0T6CJa+RJq0bdfiKgR6AWpbhhJfQPRBibMq8NrFdik7wiXGHkAKO3jR5R2 LMmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=B5vud3pf8Y69anGfFBmw7nwGjrVBjnFCZosReDIIX64=; b=rDlgLYlaM8qyhdwjkr57p8JzWKH8N09AAxn5ZVA0uSqHRX9l0sYKvraQzEEXYYwQ19 RDAVjOgUxWpzbaCara9JugnKmlBGkOrw9mNyokKmBb4tNl4neqmSSM0FfQUDQIcIsPOk MLV3+kiadDU1QLXUWakOrL5OAXA+Dt2OKaW3RVvnmxWMNWSicZ3R0uzQlbwMpIa/LEIS p+e1tUU29+y4WbfsNHgzhBJMZHwcVUlVcR5TGhFORXDRxXjI6XgKiQ2/OgJ6nMdyrM8s GgKOso2BwwDGqO7P9NV/W9KzJrn6PURYBBI6Ft66pwEY21aZnxERVKM964YBwPMHnsXf NfMA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bs4si3277819ejb.275.2020.04.22.02.06.45; Wed, 22 Apr 2020 02:07:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726588AbgDVJFR (ORCPT + 99 others); Wed, 22 Apr 2020 05:05:17 -0400 Received: from mail-ot1-f67.google.com ([209.85.210.67]:42612 "EHLO mail-ot1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726041AbgDVJFQ (ORCPT ); Wed, 22 Apr 2020 05:05:16 -0400 Received: by mail-ot1-f67.google.com with SMTP id m18so1413015otq.9; Wed, 22 Apr 2020 02:05:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=B5vud3pf8Y69anGfFBmw7nwGjrVBjnFCZosReDIIX64=; b=HhZ9zwwCZJ0VSex3qIBfOASl5dC63rr1q+leZv0RRI6JjRFB0UkOdI0zezTffNQOdO ajNBkS5UdAob3u1vxnrVDd14SUQGGVq7914MyD+I2cwHBJzjQiGVAkqOIBtbsfMKhY5Y pm1jxidgkkZ7TlDDb9e598ogee9+NDMBo/TovfLAVsVtMVbh5kJUbS4bI+USvbZtufJp sqYbgHCPoaUfn/2/eJEAnn0nLbLFqCHqSNXb/YuzrX9dEWlEplP99whW1xyjwWd9F6Rs TIYtX/yCWhwET+wepZTi+3dSo+DO9JG/gF3tNrbN1Ljk3+gjLMDj6BQNm9Vei2q3+g2F orJw== X-Gm-Message-State: AGi0PubbDlI+1GGjozwCpgZbHNThy2JKDMlv2AsW2aDcYxOI7Z5lTr6r akVhUqsmc0l8t2kVG6/fmJOIos9nf/iay1Xk/Uc= X-Received: by 2002:a05:6830:18d0:: with SMTP id v16mr16109926ote.118.1587546315616; Wed, 22 Apr 2020 02:05:15 -0700 (PDT) MIME-Version: 1.0 References: <20200422051529.30757-1-zhang.lyra@gmail.com> In-Reply-To: <20200422051529.30757-1-zhang.lyra@gmail.com> From: "Rafael J. Wysocki" Date: Wed, 22 Apr 2020 11:05:04 +0200 Message-ID: Subject: Re: [PATCH] PM: sleep: call devfreq_suspend/resume and cpufreq_suspend/resume in pairs. To: Chunyan Zhang Cc: "Rafael J . Wysocki" , Greg Kroah-Hartman , Len Brown , Pavel Machek , Linux PM , Linux Kernel Mailing List , Orson Zhai , Vincent Wang , Samer Xie , Chunyan Zhang Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 22, 2020 at 7:15 AM Chunyan Zhang wrote: > > From: Vincent Wang > > If dpm_prepare() fails in dpm_suspend_start(), dpm_suspend() can't be > called. That's correct. > And then, devfreq_suspend() and cpufreq_suspend() will not be > called in the suspend flow. Right. > But in the resiume flow, devfreq_resume() and cpufreq_resume() will > be called. Right, and they are expected to cope with the situation. > This patch will ensure that devfreq_suspend/devfreq_resume and > cpufreq_suspend/cpufreq_resume are called in pairs. So why is it better to do this than to make devfreq_resume() meet the expectations? > Signed-off-by: Vincent Wang > Signed-off-by: Samer Xie > Signed-off-by: Chunyan Zhang > --- > drivers/base/power/main.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c > index fdd508a78ffd..eb3d987d43e0 100644 > --- a/drivers/base/power/main.c > +++ b/drivers/base/power/main.c > @@ -1866,9 +1866,6 @@ int dpm_suspend(pm_message_t state) > trace_suspend_resume(TPS("dpm_suspend"), state.event, true); > might_sleep(); > > - devfreq_suspend(); > - cpufreq_suspend(); > - > mutex_lock(&dpm_list_mtx); > pm_transition = state; > async_error = 0; > @@ -1988,6 +1985,9 @@ int dpm_prepare(pm_message_t state) > trace_suspend_resume(TPS("dpm_prepare"), state.event, true); > might_sleep(); > > + devfreq_suspend(); > + cpufreq_suspend(); > + > /* > * Give a chance for the known devices to complete their probes, before > * disable probing of devices. This sync point is important at least > -- > 2.20.1 >