From patchwork Wed Nov 8 15:15:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 118279 Delivered-To: patches@linaro.org Received: by 10.140.22.164 with SMTP id 33csp5413809qgn; Wed, 8 Nov 2017 07:15:48 -0800 (PST) X-Received: by 10.46.93.91 with SMTP id r88mr407778ljb.110.1510154148336; Wed, 08 Nov 2017 07:15:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510154148; cv=none; d=google.com; s=arc-20160816; b=fMPZc8Sq+8zeyPopkYgkpTY8YaK3Rfy7AvLvmf5JWJVYFqENsmXbiaEfsBNInQvAha wBM8PZRjzQncsMI+M2k6/BC+NuPjjNArbj66HNUFCOSjTiK5+30dd8Pbe9rjNhH5/+Ux iGYT7WlcVW272YANWwZ4bpmRxHgD97OLTsqceVqxoJZdY7gB9/cKzrGQ0cm81XlIwHJH mYl2JwDs7/GxbS1Tzl0u6Ia7MLw57jYcLJnI88uoRdFJeWDEE1Tsx8t9I4bO9Kmyl+0J qp6MZMMon5MP8++28A0svT0Ju/2aRe1wKPxOy7PoowblDppwaphLoUylaSqYRaKySBLB yQPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=427dG1E8OyYAe5SBttgjYtT7Kl442oezD0lSgIjJdSQ=; b=myOh91ACuh/6t8R52pHqKEuG9bGTVvpuxOJdi/6doFpv56kUAehauiH3qs5hueSFUB Pvvk4eYKW+iLDDbGVi+O5ieKwLctRPKRPKLg9w2KuhDYTk4RvtDamh32j+NgXBXjWhj7 5Ma/Y2zUSFICO81JP7L5yOBXEqfC/sHvc9twh61/Os51an5Ptpn9ojjg8wp9n10cL04i qDPF1Cd11VZYVKe88EqIU/DRKDOCMbQEgzq5EbtGSoHVXC+lCbc/1N0gPR45YZCqGuTy DcvE9LwYr7lJaael4PzX4egYtw/UClc6bHzAWB9DkbdGIf8aepkQ+nkVvbglji/l3gGw AxjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iKEWAvKE; spf=pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=ulf.hansson@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id g1sor716171lje.107.2017.11.08.07.15.48 for (Google Transport Security); Wed, 08 Nov 2017 07:15:48 -0800 (PST) Received-SPF: pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iKEWAvKE; spf=pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.65 as permitted sender) smtp.mailfrom=ulf.hansson@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=427dG1E8OyYAe5SBttgjYtT7Kl442oezD0lSgIjJdSQ=; b=iKEWAvKEzaITniFVcMnOvoeraDW/Q48M+ULVv8Q23x5nSgGo1UkgIdA00OgmnZcKx1 TlCJJ1Cxv1TGsmE93w26bkwmcyUhcwg/x7AD00FEcZ+mChFr1yGmcH8DH9WodW8Pv38j wunjdREVzus9H8sVdoIKYGPWaNlqqVl6L5wbo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=427dG1E8OyYAe5SBttgjYtT7Kl442oezD0lSgIjJdSQ=; b=Bf4PPzPBYwKf0a7IkmFhh2gA1Z+p/syjaR+ZOC4ah32x0QdMZ157Ddl2RpMNU0lkbw PL4JfveQSqxizHIJMEibcePMBP/tDqtvf7OfIbC3BfUY3UWoXsuAOus9tXMSwfxZ4Bcx CQ1sImh8H9HCGp0doFbUk8pQU3aPqiuAK7jYhrjVKUBc/6eIUlmCAZKuNcxV1IN/Q+5Y +MCLpIEWyLGgnyT4q5AkD6Ba2vUPRZ4qChAcURTFWcwIc7azVHwsrDEDOEajvzoJn0NC XV6OZZR81r7KPlVt+KDA5nIWnkfqZrjVxbZpcvNUQCpWLu0llg7yN5m3lJpmUbps4qJ6 Sprg== X-Gm-Message-State: AJaThX4XGIbGX/+BcPE67r9h4YkcVcupc5C+2H1ZjqJ1H0pbAB/nZUpg eD9BkafGR3htdMpANWMQBCYlRbpG X-Google-Smtp-Source: AGs4zMaGa9iLQwPCGpEG5aGou6W6VMNo+Fp49ELMNdKL3MSpXgU2InJ53D5fN7YtArcqre4xX3lVIw== X-Received: by 10.46.64.135 with SMTP id r7mr421383lje.111.1510154147893; Wed, 08 Nov 2017 07:15:47 -0800 (PST) Return-Path: Received: from uffe-XPS-13-9360.ideon.se ([85.235.10.227]) by smtp.gmail.com with ESMTPSA id n131sm713846lfn.29.2017.11.08.07.15.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Nov 2017 07:15:47 -0800 (PST) From: Ulf Hansson To: "Rafael J . Wysocki" , linux-pm@vger.kernel.org Cc: Kevin Hilman , Viresh Kumar , Geert Uytterhoeven , Simon Horman , Niklas Soderlund , linux-renesas-soc@vger.kernel.org, Ulf Hansson Subject: [PATCH 3/3] PM / Domains: Take WAKEUP_POWERED driver flag into account Date: Wed, 8 Nov 2017 16:15:34 +0100 Message-Id: <1510154134-1248-4-git-send-email-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1510154134-1248-1-git-send-email-ulf.hansson@linaro.org> References: <1510154134-1248-1-git-send-email-ulf.hansson@linaro.org> Make genpd to take the WAKEUP_POWERED driver flag into account during system suspend/resume. More precisely, in case the WAKEUP_POWERED flag is set, let's leave the device in full power state and prevent the PM domain from being powered off. Signed-off-by: Ulf Hansson --- drivers/base/power/domain.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) -- 2.7.4 Reviewed-by: Geert Uytterhoeven diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index 24e39ce..dc18f88 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -1037,8 +1037,11 @@ static int genpd_finish_suspend(struct device *dev, bool poweroff) if (IS_ERR(genpd)) return -EINVAL; - if (dev->power.wakeup_path && genpd_is_active_wakeup(genpd)) - return 0; + if (dev->power.wakeup_path) { + if (dev_pm_test_driver_flags(dev, DPM_FLAG_WAKEUP_POWERED) || + genpd_is_active_wakeup(genpd)) + return 0; + } if (poweroff) ret = pm_generic_poweroff_noirq(dev); @@ -1092,8 +1095,11 @@ static int genpd_resume_noirq(struct device *dev) if (IS_ERR(genpd)) return -EINVAL; - if (dev->power.wakeup_path && genpd_is_active_wakeup(genpd)) - return 0; + if (dev->power.wakeup_path) { + if (dev_pm_test_driver_flags(dev, DPM_FLAG_WAKEUP_POWERED) || + genpd_is_active_wakeup(genpd)) + return 0; + } genpd_lock(genpd); genpd_sync_power_on(genpd, true, 0);