From patchwork Wed Apr 10 08:20:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 10893443 X-Patchwork-Delegate: rjw@sisk.pl Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 883C41708 for ; Wed, 10 Apr 2019 08:20:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 757B428A0B for ; Wed, 10 Apr 2019 08:20:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6913628A1B; Wed, 10 Apr 2019 08:20:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DF4EE28A0B for ; Wed, 10 Apr 2019 08:20:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729404AbfDJIUp (ORCPT ); Wed, 10 Apr 2019 04:20:45 -0400 Received: from mail-lj1-f196.google.com ([209.85.208.196]:40112 "EHLO mail-lj1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729258AbfDJIUp (ORCPT ); Wed, 10 Apr 2019 04:20:45 -0400 Received: by mail-lj1-f196.google.com with SMTP id q66so1254393ljq.7 for ; Wed, 10 Apr 2019 01:20:43 -0700 (PDT) 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=LNxQpIwxT1JmfOXeE0uJOYnKkmng1Hu5UTgquERxi8o=; b=LzBmjDNqM0toMZ6MQV0QMz4tuK3eI+Dk/kmno1wkUgF4UOemy569Cb8QWNual2j2I0 fwrPqSWdSGK1vtqWmhBLRrwMW1fie92JhFv6uL3FEfetCwFUArG+GrukzHqvz0vMYrgl H3whTMrBuUSGqMQyzh8kh4gVFlsSlYTAhsK6OQNw5OIDe7ChFT+2fZmNi0AS28FzPj+o M2cPPhEajT1C/dB3n5Rcu6KCaKtgSq1T+erasLTuKiadSMQXIZOhFSX/lc6foVyc4UFm REXdMGAttPTwCu12ZD4apcyyiX57VwEOmSzrzhJvGybMR1glUbRFZUzB0dEpcu+63Su1 ovtA== 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=LNxQpIwxT1JmfOXeE0uJOYnKkmng1Hu5UTgquERxi8o=; b=IrPGSF2wg/IqXwwGtDGc49cPllaSSL2CSvoMrGKcQ0j1dZ8puEW/axlLuYjXmforTn 22tlTjhOqSCyOuAQm016ms3gVZlO1ixf+ZCD41GNYsblv+edgcvM0zz1gpeJyMGOUhwc Re2jynR2Vp51sFE3tFryv++NoXE5QixQ9xGL3vtRd25LFYLOwhLyrWbQf9vbSjqRm71O 9ZZ+XtiuMnyFChokT/Yn79rqutf/ME1btxQTgCVDeCs+ZJ+f/LTHVVPHX46Sei67hwTX 0bgizmRxkeI8pLzZrVZagkaF4KqfEHbaDU31BCi6qbSd8t7jXuq7PoFxREmkM81zifNm HjiA== X-Gm-Message-State: APjAAAXc1B2dCRZw2l3ufkOJ1k2u/gzOxxA1GVZNRucdZgT6oX8NNBgK q045u5sdwsCGJz1CxZXp9Ym3IQ== X-Google-Smtp-Source: APXvYqy9Cwtfigxkyshi/JEXtF0oo1BptEUXXkD1CxuMtZg3yt+6xwg/hvhre3gF+ApqxCH7pW/swA== X-Received: by 2002:a2e:8ec5:: with SMTP id e5mr12701296ljl.7.1554884442442; Wed, 10 Apr 2019 01:20:42 -0700 (PDT) Received: from localhost.localdomain (h-158-174-22-210.NA.cust.bahnhof.se. [158.174.22.210]) by smtp.gmail.com with ESMTPSA id q6sm3385189lfj.36.2019.04.10.01.20.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Apr 2019 01:20:41 -0700 (PDT) From: Ulf Hansson To: "Rafael J . Wysocki" , linux-pm@vger.kernel.org Cc: Lorenzo Pieralisi , Sudeep Holla , Mark Rutland , Daniel Lezcano , Lina Iyer , Ulf Hansson , linux-arm-kernel@lists.infradead.org Subject: [RESEND PATCH v2 1/5] drivers: firmware: psci: Move psci to separate directory Date: Wed, 10 Apr 2019 10:20:21 +0200 Message-Id: <20190410082025.5989-2-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190410082025.5989-1-ulf.hansson@linaro.org> References: <20190410082025.5989-1-ulf.hansson@linaro.org> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Some following changes extends the PSCI driver with some additional new files. Let's avoid to continue cluttering the toplevel firmware directory and first move the PSCI files into a PSCI sub-directory. Suggested-by: Mark Rutland Signed-off-by: Ulf Hansson Acked-by: Daniel Lezcano Acked-by: Mark Rutland Acked-by: Lorenzo Pieralisi --- drivers/firmware/Kconfig | 15 +-------------- drivers/firmware/Makefile | 3 +-- drivers/firmware/psci/Kconfig | 13 +++++++++++++ drivers/firmware/psci/Makefile | 4 ++++ drivers/firmware/{ => psci}/psci.c | 0 drivers/firmware/{ => psci}/psci_checker.c | 0 6 files changed, 19 insertions(+), 16 deletions(-) create mode 100644 drivers/firmware/psci/Kconfig create mode 100644 drivers/firmware/psci/Makefile rename drivers/firmware/{ => psci}/psci.c (100%) rename drivers/firmware/{ => psci}/psci_checker.c (100%) diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index f754578414f0..e1385f47d4ac 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -5,20 +5,6 @@ menu "Firmware Drivers" -config ARM_PSCI_FW - bool - -config ARM_PSCI_CHECKER - bool "ARM PSCI checker" - depends on ARM_PSCI_FW && HOTPLUG_CPU && CPU_IDLE && !TORTURE_TEST - help - Run the PSCI checker during startup. This checks that hotplug and - suspend operations work correctly when using PSCI. - - The torture tests may interfere with the PSCI checker by turning CPUs - on and off through hotplug, so for now torture tests and PSCI checker - are mutually exclusive. - config ARM_SCMI_PROTOCOL bool "ARM System Control and Management Interface (SCMI) Message Protocol" depends on ARM || ARM64 || COMPILE_TEST @@ -270,6 +256,7 @@ config TI_SCI_PROTOCOL config HAVE_ARM_SMCCC bool +source "drivers/firmware/psci/Kconfig" source "drivers/firmware/broadcom/Kconfig" source "drivers/firmware/google/Kconfig" source "drivers/firmware/efi/Kconfig" diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile index 80feb635120f..9a3909a22682 100644 --- a/drivers/firmware/Makefile +++ b/drivers/firmware/Makefile @@ -2,8 +2,6 @@ # # Makefile for the linux kernel. # -obj-$(CONFIG_ARM_PSCI_FW) += psci.o -obj-$(CONFIG_ARM_PSCI_CHECKER) += psci_checker.o obj-$(CONFIG_ARM_SCPI_PROTOCOL) += arm_scpi.o obj-$(CONFIG_ARM_SCPI_POWER_DOMAIN) += scpi_pm_domain.o obj-$(CONFIG_ARM_SDE_INTERFACE) += arm_sdei.o @@ -25,6 +23,7 @@ CFLAGS_qcom_scm-32.o :=$(call as-instr,.arch armv7-a\n.arch_extension sec,-DREQU obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o obj-$(CONFIG_ARM_SCMI_PROTOCOL) += arm_scmi/ +obj-y += psci/ obj-y += broadcom/ obj-y += meson/ obj-$(CONFIG_GOOGLE_FIRMWARE) += google/ diff --git a/drivers/firmware/psci/Kconfig b/drivers/firmware/psci/Kconfig new file mode 100644 index 000000000000..26a3b32bf7ab --- /dev/null +++ b/drivers/firmware/psci/Kconfig @@ -0,0 +1,13 @@ +config ARM_PSCI_FW + bool + +config ARM_PSCI_CHECKER + bool "ARM PSCI checker" + depends on ARM_PSCI_FW && HOTPLUG_CPU && CPU_IDLE && !TORTURE_TEST + help + Run the PSCI checker during startup. This checks that hotplug and + suspend operations work correctly when using PSCI. + + The torture tests may interfere with the PSCI checker by turning CPUs + on and off through hotplug, so for now torture tests and PSCI checker + are mutually exclusive. diff --git a/drivers/firmware/psci/Makefile b/drivers/firmware/psci/Makefile new file mode 100644 index 000000000000..1956b882470f --- /dev/null +++ b/drivers/firmware/psci/Makefile @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 +# +obj-$(CONFIG_ARM_PSCI_FW) += psci.o +obj-$(CONFIG_ARM_PSCI_CHECKER) += psci_checker.o diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci/psci.c similarity index 100% rename from drivers/firmware/psci.c rename to drivers/firmware/psci/psci.c diff --git a/drivers/firmware/psci_checker.c b/drivers/firmware/psci/psci_checker.c similarity index 100% rename from drivers/firmware/psci_checker.c rename to drivers/firmware/psci/psci_checker.c From patchwork Wed Apr 10 08:20:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 10893445 X-Patchwork-Delegate: rjw@sisk.pl Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2F4B917EF for ; Wed, 10 Apr 2019 08:20:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1BE1128A07 for ; Wed, 10 Apr 2019 08:20:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0FFB328A0B; Wed, 10 Apr 2019 08:20:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B432028A0C for ; Wed, 10 Apr 2019 08:20:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729421AbfDJIUq (ORCPT ); Wed, 10 Apr 2019 04:20:46 -0400 Received: from mail-lf1-f67.google.com ([209.85.167.67]:42390 "EHLO mail-lf1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729287AbfDJIUq (ORCPT ); Wed, 10 Apr 2019 04:20:46 -0400 Received: by mail-lf1-f67.google.com with SMTP id w23so1100747lfc.9 for ; Wed, 10 Apr 2019 01:20:44 -0700 (PDT) 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=wXapuDJ/TxdZdSmwteecFqdWBuQB0h5GI4Aq0atblIM=; b=rHIYi9ba92gg8LkA31/7tWSmN9BXPCv4fviYMZe1iSFxfd6GajN5HaoOMcKMj56Nl2 Q+VQP0P0fcCiyIHQcUv3VuufwXB5YDzUOrbe/olGwQoIRC3Qbq/2gzL14A62daskwX0R F+YJAxbPsh6EaLOhueGYvhaHloVSpkyLXcm0H6sbRg5COodlIaq9yB1HLZDeHDZYudu7 FSWO0M4QMkjflN1bIF20Et0VFSYnT/YuRlaLJ8ZTlyH3kFkc0Z73Ff2oiarV0PQlJMGP 7DAvpzBVUIsbIzyhjiDbthAMuTse3GD4kzZKkZ5hDgL3EVQLiQTMOqeZQ3AiWvj5gE5H SWyQ== 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=wXapuDJ/TxdZdSmwteecFqdWBuQB0h5GI4Aq0atblIM=; b=Rl/5FcHfBNXqaHrqMs7jRw0Q2O7tdSgd0mWD3pVnC3BIHj+BrT7MK0cX+4FbwpX8Un wqs/inPnQDY4xMZfvDM2mriDmmCsn9ICOcJ+gTY3Wsdtc5uxAuROuE1elE+gj+MqT+Sr Z+kTbsPSbbBYMi5smEWhKSUW5em0nN0pKkAN3X2EKmorHy1k0bwvjnozJKvUTGm67plZ CctGkO9K+hWqZITtusUbsUpb+RS70Lrhb6UZ4oilzaLwsXh69G8wK3iUpytTZZl/ZWEK er3aeJ6edzwZLk/ACiustIJ+AvEgdFAQ4w1iRvPu3NaiKO4vdLkeMNT+Yn5RdGIFnicU Of/A== X-Gm-Message-State: APjAAAVdjmft3tZqpsBcCRm1B13bXTINSSLlqvFIpNNQPtX/Vz305xMR h7X6Us9zZnZcTH6bgXd1Yluf0A== X-Google-Smtp-Source: APXvYqyryS1q15a6d0UsZY2G/O7PEH4B07acNQrCSSgxP4ck3B8hMWAB5vl6cz5C1FZ2tb6e/Um+Mw== X-Received: by 2002:ac2:4242:: with SMTP id m2mr1249881lfl.142.1554884443988; Wed, 10 Apr 2019 01:20:43 -0700 (PDT) Received: from localhost.localdomain (h-158-174-22-210.NA.cust.bahnhof.se. [158.174.22.210]) by smtp.gmail.com with ESMTPSA id q6sm3385189lfj.36.2019.04.10.01.20.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Apr 2019 01:20:43 -0700 (PDT) From: Ulf Hansson To: "Rafael J . Wysocki" , linux-pm@vger.kernel.org Cc: Lorenzo Pieralisi , Sudeep Holla , Mark Rutland , Daniel Lezcano , Lina Iyer , Ulf Hansson , linux-arm-kernel@lists.infradead.org Subject: [RESEND PATCH v2 2/5] MAINTAINERS: Update files for PSCI Date: Wed, 10 Apr 2019 10:20:22 +0200 Message-Id: <20190410082025.5989-3-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190410082025.5989-1-ulf.hansson@linaro.org> References: <20190410082025.5989-1-ulf.hansson@linaro.org> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The files for the PSCI firmware driver were moved to a sub-directory, let's update MAINTAINERS to reflect that. Suggested-by: Mark Rutland Signed-off-by: Ulf Hansson Acked-by: Daniel Lezcano Acked-by: Mark Rutland Acked-by: Lorenzo Pieralisi --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index a419acaa01c5..97dcec6fc877 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -12257,7 +12257,7 @@ M: Mark Rutland M: Lorenzo Pieralisi L: linux-arm-kernel@lists.infradead.org S: Maintained -F: drivers/firmware/psci*.c +F: drivers/firmware/psci/ F: include/linux/psci.h F: include/uapi/linux/psci.h From patchwork Wed Apr 10 08:20:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 10893447 X-Patchwork-Delegate: rjw@sisk.pl Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7A08C17E1 for ; Wed, 10 Apr 2019 08:20:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 67AD728A03 for ; Wed, 10 Apr 2019 08:20:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5C3A028A0B; Wed, 10 Apr 2019 08:20:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EF2B128A03 for ; Wed, 10 Apr 2019 08:20:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729287AbfDJIUr (ORCPT ); Wed, 10 Apr 2019 04:20:47 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:43967 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729258AbfDJIUr (ORCPT ); Wed, 10 Apr 2019 04:20:47 -0400 Received: by mail-lj1-f195.google.com with SMTP id f18so1242602lja.10 for ; Wed, 10 Apr 2019 01:20:46 -0700 (PDT) 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=fqLAcdPj/NLZOrfZZI3kgT4b9oSplDLhcdYfEWYk7f0=; b=meorCV0lfQredAwU2T0Tv4bAokTPM0RaKKvcv1f4Zkgzrz6wBM9F78OxGC4F4ULvZS TTwysSVVXNlZwlKOotm9O5PzUO1jLSU+pssMiR+xaVT2oGb2AiVXeBPghZsGWtw4MuXv U0wreO5tHp85amwZGZ5njG5mI7n27mJ/wzmO/r4BoimQNrPBusfrLBnH6EOF4YoV77vY vCeUpdya3P60zDgoGV7/xBw/OnHFgCehptWFeHLPHkUzg0xR+QfMNXy9PAxYjwZMjqPK pVvBEqtd/cJJTKbyJNbloU3b4tgWs12BMmgYss6UWYwxchMYSxpim+dHHV1rRUeOrlpK c9+A== 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=fqLAcdPj/NLZOrfZZI3kgT4b9oSplDLhcdYfEWYk7f0=; b=NnzUzNgMvxmQ1tOpIcUUCsg7NM0DAM5uQ7LGATx1h22waLV1oolZ9r3I7Oj5jMieCM YZBjsJS59b5LmvIhbJ+30MrRZWtNM9Tzq9ggKkBOoF5lHyBYkIyAQ6YUZ+apzFYprEm3 6gcLllhwIBqpP1r6ys6HCJ1glC6B/BNsXNPXYxGDmBr6HIMJsEwFRDnkJe/TS3GaP+Z/ EwyEdgM1HELFrAJfm/1R74fIQVMUO5j3060Rixo3pQDoE5RIopF7az6eHHwxDyttmdiu Ca4sjnRj9TS02lZ6dX4RA0kOaLTkuo4cQi4ewRyOPR7PtObOJAeLo/6z6rWS4T6j9GbA rPMw== X-Gm-Message-State: APjAAAXbDjjfA9KkCLX9N18sjNgvUf2k2xlit2TvYxc80Wb8vhKhErtG 1mSgUkl/0E8rjdBXDl1jFFS6lg== X-Google-Smtp-Source: APXvYqyzghyBIm1gYgowOZ/whO39XDQHXurGBpGYX892IX7polNLrEr5KpF1zI55BOJYcE+O19Fv6A== X-Received: by 2002:a2e:380c:: with SMTP id f12mr23568517lja.116.1554884445456; Wed, 10 Apr 2019 01:20:45 -0700 (PDT) Received: from localhost.localdomain (h-158-174-22-210.NA.cust.bahnhof.se. [158.174.22.210]) by smtp.gmail.com with ESMTPSA id q6sm3385189lfj.36.2019.04.10.01.20.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Apr 2019 01:20:44 -0700 (PDT) From: Ulf Hansson To: "Rafael J . Wysocki" , linux-pm@vger.kernel.org Cc: Lorenzo Pieralisi , Sudeep Holla , Mark Rutland , Daniel Lezcano , Lina Iyer , Ulf Hansson , linux-arm-kernel@lists.infradead.org Subject: [RESEND PATCH v2 3/5] drivers: firmware: psci: Split psci_dt_cpu_init_idle() Date: Wed, 10 Apr 2019 10:20:23 +0200 Message-Id: <20190410082025.5989-4-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190410082025.5989-1-ulf.hansson@linaro.org> References: <20190410082025.5989-1-ulf.hansson@linaro.org> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Let's split the psci_dt_cpu_init_idle() function into two functions. This makes the code clearer and provides better re-usability. Cc: Lina Iyer Co-developed-by: Lina Iyer Signed-off-by: Ulf Hansson Acked-by: Daniel Lezcano Acked-by: Mark Rutland Acked-by: Lorenzo Pieralisi --- drivers/firmware/psci/psci.c | 42 ++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c index c80ec1d03274..9788bfc1cf8b 100644 --- a/drivers/firmware/psci/psci.c +++ b/drivers/firmware/psci/psci.c @@ -270,9 +270,26 @@ static int __init psci_features(u32 psci_func_id) #ifdef CONFIG_CPU_IDLE static DEFINE_PER_CPU_READ_MOSTLY(u32 *, psci_power_state); +static int psci_dt_parse_state_node(struct device_node *np, u32 *state) +{ + int err = of_property_read_u32(np, "arm,psci-suspend-param", state); + + if (err) { + pr_warn("%pOF missing arm,psci-suspend-param property\n", np); + return err; + } + + if (!psci_power_state_is_valid(*state)) { + pr_warn("Invalid PSCI power state %#x\n", *state); + return -EINVAL; + } + + return 0; +} + static int psci_dt_cpu_init_idle(struct device_node *cpu_node, int cpu) { - int i, ret, count = 0; + int i, ret = 0, count = 0; u32 *psci_states; struct device_node *state_node; @@ -291,29 +308,16 @@ static int psci_dt_cpu_init_idle(struct device_node *cpu_node, int cpu) return -ENOMEM; for (i = 0; i < count; i++) { - u32 state; - state_node = of_parse_phandle(cpu_node, "cpu-idle-states", i); + ret = psci_dt_parse_state_node(state_node, &psci_states[i]); + of_node_put(state_node); - ret = of_property_read_u32(state_node, - "arm,psci-suspend-param", - &state); - if (ret) { - pr_warn(" * %pOF missing arm,psci-suspend-param property\n", - state_node); - of_node_put(state_node); + if (ret) goto free_mem; - } - of_node_put(state_node); - pr_debug("psci-power-state %#x index %d\n", state, i); - if (!psci_power_state_is_valid(state)) { - pr_warn("Invalid PSCI power state %#x\n", state); - ret = -EINVAL; - goto free_mem; - } - psci_states[i] = state; + pr_debug("psci-power-state %#x index %d\n", psci_states[i], i); } + /* Idle states parsed correctly, initialize per-cpu pointer */ per_cpu(psci_power_state, cpu) = psci_states; return 0; From patchwork Wed Apr 10 08:20:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 10893449 X-Patchwork-Delegate: rjw@sisk.pl Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 17EFC17E1 for ; Wed, 10 Apr 2019 08:20:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 04A6C289FC for ; Wed, 10 Apr 2019 08:20:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id ED13628A15; Wed, 10 Apr 2019 08:20:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8883B28A00 for ; Wed, 10 Apr 2019 08:20:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729435AbfDJIUt (ORCPT ); Wed, 10 Apr 2019 04:20:49 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:43969 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729431AbfDJIUs (ORCPT ); Wed, 10 Apr 2019 04:20:48 -0400 Received: by mail-lj1-f195.google.com with SMTP id f18so1242660lja.10 for ; Wed, 10 Apr 2019 01:20:47 -0700 (PDT) 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=/i1P7RcZS0nPamy0F7apI0HkwNW2ZATDEDVSzcyhElI=; b=GP0phiTitWCowgFdyE98UpDaYbbRdaeoGJJFtlBgkRp4GH8FdondGvkhArSSgqgChh coAcL81UNQii/VcyR3SfUb4lM0b3u3BuhrGsuvTFZne8dNwGN6LiXqgB0OD484bWreYy Gu11Lq1vUN0ZujEmNiVdEyBl1qk8maPGU4Mp65929lOH7Flr5GeeUr0/d33cOwaGc/4V c3patnbK1lCK0fpYA1eoj9TQ9bK6rehv5+e735PCgBU4ccnfQmKVvt623oM9i/DZsVsO HRAlJkOYiL1NaTWgbO9B2incA5QF6Gi1mmODDI7eYO6lFoZ32YtKNH8zF5MY77KkKKjq RtIg== 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=/i1P7RcZS0nPamy0F7apI0HkwNW2ZATDEDVSzcyhElI=; b=Unizpl+MM5iFxIN4YH/mJ9LceFOcDHBEkf8n+kr+Fc/+YY2E+91a3vGqXxQe+67EAq uV9G0y6/JIH2NCtPD1zc9Ti0uqxS2vTIx3utGT1pC8kUCfeRq6Dk8n7vhLpI6NZVanOB 0eXWk3GDDVB2pAf1XkYKrNgQlQKYYyEBQFnqjXO3AM8aIGxoi5O9jOfkQSEJcku5o3hb zr+Q73wlUMdEjOtT9RnnThJKmu3Lr4QoHSLLFtCGIzEwun2p6sCPtooIViVaVdeZsHPw sdvgyY45Nua1yZ6xIAsaUXGeIq05TKr7SrSAiG0XJkHw0WV0djZ79wXnLnVugUYpvrvY G0GA== X-Gm-Message-State: APjAAAUerjrAWdWnuHdI23PjLlo7SzVVlrl+zLWA4qrPmF4Rc/GH9i0W 0zSxuEznzVmUbr5qCDKnfZ+E/Q== X-Google-Smtp-Source: APXvYqzXLcsVniYyBVz9bDCydjsovygxv2CXViJzk5qN80M/7XTQHjtC59HgFjstiGB7qIDg0FH3Vw== X-Received: by 2002:a2e:7114:: with SMTP id m20mr22220697ljc.120.1554884446727; Wed, 10 Apr 2019 01:20:46 -0700 (PDT) Received: from localhost.localdomain (h-158-174-22-210.NA.cust.bahnhof.se. [158.174.22.210]) by smtp.gmail.com with ESMTPSA id q6sm3385189lfj.36.2019.04.10.01.20.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Apr 2019 01:20:46 -0700 (PDT) From: Ulf Hansson To: "Rafael J . Wysocki" , linux-pm@vger.kernel.org Cc: Lorenzo Pieralisi , Sudeep Holla , Mark Rutland , Daniel Lezcano , Lina Iyer , Ulf Hansson , linux-arm-kernel@lists.infradead.org Subject: [RESEND PATCH v2 4/5] drivers: firmware: psci: Simplify error path of psci_dt_init() Date: Wed, 10 Apr 2019 10:20:24 +0200 Message-Id: <20190410082025.5989-5-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190410082025.5989-1-ulf.hansson@linaro.org> References: <20190410082025.5989-1-ulf.hansson@linaro.org> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Instead of having each psci init function taking care of the of_node_put(), let's deal with that from psci_dt_init(), as this enables a bit simpler error path for each psci init function. Cc: Lina Iyer Co-developed-by: Lina Iyer Signed-off-by: Ulf Hansson Acked-by: Mark Rutland Reviewed-by: Daniel Lezcano Acked-by: Lorenzo Pieralisi --- drivers/firmware/psci/psci.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c index 9788bfc1cf8b..e480e0af632c 100644 --- a/drivers/firmware/psci/psci.c +++ b/drivers/firmware/psci/psci.c @@ -609,9 +609,9 @@ static int __init psci_0_2_init(struct device_node *np) int err; err = get_set_conduit_method(np); - if (err) - goto out_put_node; + return err; + /* * Starting with v0.2, the PSCI specification introduced a call * (PSCI_VERSION) that allows probing the firmware version, so @@ -619,11 +619,7 @@ static int __init psci_0_2_init(struct device_node *np) * can be carried out according to the specific version reported * by firmware */ - err = psci_probe(); - -out_put_node: - of_node_put(np); - return err; + return psci_probe(); } /* @@ -635,9 +631,8 @@ static int __init psci_0_1_init(struct device_node *np) int err; err = get_set_conduit_method(np); - if (err) - goto out_put_node; + return err; pr_info("Using PSCI v0.1 Function IDs from DT\n"); @@ -661,9 +656,7 @@ static int __init psci_0_1_init(struct device_node *np) psci_ops.migrate = psci_migrate; } -out_put_node: - of_node_put(np); - return err; + return 0; } static const struct of_device_id psci_of_match[] __initconst = { @@ -678,6 +671,7 @@ int __init psci_dt_init(void) struct device_node *np; const struct of_device_id *matched_np; psci_initcall_t init_fn; + int ret; np = of_find_matching_node_and_match(NULL, psci_of_match, &matched_np); @@ -685,7 +679,10 @@ int __init psci_dt_init(void) return -ENODEV; init_fn = (psci_initcall_t)matched_np->data; - return init_fn(np); + ret = init_fn(np); + + of_node_put(np); + return ret; } #ifdef CONFIG_ACPI From patchwork Wed Apr 10 08:20:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 10893451 X-Patchwork-Delegate: rjw@sisk.pl Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 54DCD1708 for ; Wed, 10 Apr 2019 08:20:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 42D2228A02 for ; Wed, 10 Apr 2019 08:20:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3787B28A15; Wed, 10 Apr 2019 08:20:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B680128A02 for ; Wed, 10 Apr 2019 08:20:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729431AbfDJIUu (ORCPT ); Wed, 10 Apr 2019 04:20:50 -0400 Received: from mail-lf1-f65.google.com ([209.85.167.65]:32807 "EHLO mail-lf1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729258AbfDJIUt (ORCPT ); Wed, 10 Apr 2019 04:20:49 -0400 Received: by mail-lf1-f65.google.com with SMTP id j11so1139396lfm.0 for ; Wed, 10 Apr 2019 01:20:48 -0700 (PDT) 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=49oAUcefl7Qs60t5vd0C3ulsmkkBE/5vo7x8P2YQaHM=; b=mStHv7QUTH9WDAupaSoNiNHXq56uKPHs6z21Ns4cq2pgt6lYuIwF2y1ydobFZDFkgN k46Q2SZP5ZgY7T277FQDd6kZnntXGYuzX9TiN6F5abjLive7ssOU6xL3aArZ7KC9+Dgo aHOYlHx4xjPDV3fLfRxyNPRR4uDwhdR/a8rh8vP21tjqnO8zoAHY12H2DkMr2VtjyBP9 6MFFADfsLqamKiTq8M1UMjcQbDTzOITDphS+3jEsuZ9QAfSjZdz+Ay288jDWx9ePXqQa pgn8qz6S6UdQDq6t8JNpI4NkYKFB0Ufrc9RruysJpogLhp2ykoAua+bK1LHZf8NcjcuM 7jZA== 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=49oAUcefl7Qs60t5vd0C3ulsmkkBE/5vo7x8P2YQaHM=; b=pqrmLCjJkRhze5OyHWvnBwaIEZ3dZHa9HBwx2lICSi2nU/xYs/fk2xppft+qzydm2R CIL8gvdDAdjm8fgnj3Pwws93LYPNi/Q+4+pV9qR0MgIeEOLa9PPEMFZwaG7++Cpj3xO7 QCf9khDULVAvaunFiRrbPfmiwPmYKZYa1h2YX6R0IDJzNCCfhU+AISBJEpsKEAhc9a5M AISC4a70Dvl/OHIlWb1rj3JgWFw2Uqv9iOgR+b7yNgPxaqjODv+k/hWMQz+wQNsZpkXP gABGvNDQJqUJab5Kd3phH5A158kFTQzQHGFbMNryBt/QY98PC3VKf5Za5PZw67AdP0hN +RFg== X-Gm-Message-State: APjAAAVpnKmoO5QEEzsffO5Z/as5UPjb8VDVvpJYbh6BPVZs6AyDIvcT fV8etrCnqfF6VEjUOkvvvKHydQ== X-Google-Smtp-Source: APXvYqwAQdMdf457/T9VKsq8AbW6qHKBEEhAwtd9AMaQ5kzkjyEFANj/vSnEWMDgy3/QbndrOfTM5w== X-Received: by 2002:ac2:5222:: with SMTP id i2mr13231765lfl.32.1554884447978; Wed, 10 Apr 2019 01:20:47 -0700 (PDT) Received: from localhost.localdomain (h-158-174-22-210.NA.cust.bahnhof.se. [158.174.22.210]) by smtp.gmail.com with ESMTPSA id q6sm3385189lfj.36.2019.04.10.01.20.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Apr 2019 01:20:47 -0700 (PDT) From: Ulf Hansson To: "Rafael J . Wysocki" , linux-pm@vger.kernel.org Cc: Lorenzo Pieralisi , Sudeep Holla , Mark Rutland , Daniel Lezcano , Lina Iyer , Ulf Hansson , linux-arm-kernel@lists.infradead.org Subject: [RESEND PATCH v2 5/5] drivers: firmware: psci: Announce support for OS initiated suspend mode Date: Wed, 10 Apr 2019 10:20:25 +0200 Message-Id: <20190410082025.5989-6-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190410082025.5989-1-ulf.hansson@linaro.org> References: <20190410082025.5989-1-ulf.hansson@linaro.org> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP PSCI firmware v1.0+, supports two different modes for CPU_SUSPEND. The Platform Coordinated mode, which is the default and mandatory mode, while support for the OS initiated (OSI) mode is optional. In some cases it's interesting for the user/developer to know if the OSI mode is supported by the PSCI FW. Therefore, let's print a message to the log, if that is the case. Cc: Lina Iyer Co-developed-by: Lina Iyer Signed-off-by: Ulf Hansson Reviewed-by: Daniel Lezcano Acked-by: Mark Rutland Acked-by: Lorenzo Pieralisi --- drivers/firmware/psci/psci.c | 21 ++++++++++++++++++++- include/uapi/linux/psci.h | 5 +++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c index e480e0af632c..eabd01383cd6 100644 --- a/drivers/firmware/psci/psci.c +++ b/drivers/firmware/psci/psci.c @@ -95,6 +95,11 @@ static inline bool psci_has_ext_power_state(void) PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK; } +static inline bool psci_has_osi_support(void) +{ + return psci_cpu_suspend_feature & PSCI_1_0_OS_INITIATED; +} + static inline bool psci_power_state_loses_context(u32 state) { const u32 mask = psci_has_ext_power_state() ? @@ -659,10 +664,24 @@ static int __init psci_0_1_init(struct device_node *np) return 0; } +static int __init psci_1_0_init(struct device_node *np) +{ + int err; + + err = psci_0_2_init(np); + if (err) + return err; + + if (psci_has_osi_support()) + pr_info("OSI mode supported.\n"); + + return 0; +} + static const struct of_device_id psci_of_match[] __initconst = { { .compatible = "arm,psci", .data = psci_0_1_init}, { .compatible = "arm,psci-0.2", .data = psci_0_2_init}, - { .compatible = "arm,psci-1.0", .data = psci_0_2_init}, + { .compatible = "arm,psci-1.0", .data = psci_1_0_init}, {}, }; diff --git a/include/uapi/linux/psci.h b/include/uapi/linux/psci.h index b3bcabe380da..581f72085c33 100644 --- a/include/uapi/linux/psci.h +++ b/include/uapi/linux/psci.h @@ -49,6 +49,7 @@ #define PSCI_1_0_FN_PSCI_FEATURES PSCI_0_2_FN(10) #define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14) +#define PSCI_1_0_FN_SET_SUSPEND_MODE PSCI_0_2_FN(15) #define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14) @@ -97,6 +98,10 @@ #define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK \ (0x1 << PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT) +#define PSCI_1_0_OS_INITIATED BIT(0) +#define PSCI_1_0_SUSPEND_MODE_PC 0 +#define PSCI_1_0_SUSPEND_MODE_OSI 1 + /* PSCI return values (inclusive of all PSCI versions) */ #define PSCI_RET_SUCCESS 0 #define PSCI_RET_NOT_SUPPORTED -1