All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: "Thierry Reding" <thierry.reding@gmail.com>,
	"Jonathan Hunter" <jonathanh@nvidia.com>,
	"Peter De Schrijver" <pdeschrijver@nvidia.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Michał Mirosław" <mirq-linux@rere.qmqm.pl>,
	"Jasper Korten" <jja2000@gmail.com>,
	"David Heidelberg" <david@ixit.cz>,
	"Peter Geis" <pgwipeout@gmail.com>
Cc: linux-pm@vger.kernel.org, linux-tegra@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v9 06/17] ARM: tegra: Expose PM functions required for new cpuidle driver
Date: Thu, 13 Feb 2020 02:51:23 +0300	[thread overview]
Message-ID: <20200212235134.12638-7-digetx@gmail.com> (raw)
In-Reply-To: <20200212235134.12638-1-digetx@gmail.com>

The upcoming unified CPUIDLE driver will be added to the drivers/cpuidle/
directory and it will require all these exposed Tegra PM-core functions.

Acked-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Tested-by: Peter Geis <pgwipeout@gmail.com>
Tested-by: Jasper Korten <jja2000@gmail.com>
Tested-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 arch/arm/mach-tegra/cpuidle-tegra114.c        |  3 +-
 arch/arm/mach-tegra/cpuidle-tegra20.c         |  2 +-
 arch/arm/mach-tegra/cpuidle-tegra30.c         |  3 +-
 arch/arm/mach-tegra/irq.c                     |  3 +-
 arch/arm/mach-tegra/pm.h                      |  8 -----
 arch/arm/mach-tegra/sleep.h                   |  1 -
 arch/arm/mach-tegra/tegra.c                   |  1 -
 .../mach-tegra => include/soc/tegra}/irq.h    |  8 +++--
 include/soc/tegra/pm.h                        | 31 +++++++++++++++++++
 9 files changed, 43 insertions(+), 17 deletions(-)
 rename {arch/arm/mach-tegra => include/soc/tegra}/irq.h (59%)

diff --git a/arch/arm/mach-tegra/cpuidle-tegra114.c b/arch/arm/mach-tegra/cpuidle-tegra114.c
index 5118f777fd66..2d8527837aeb 100644
--- a/arch/arm/mach-tegra/cpuidle-tegra114.c
+++ b/arch/arm/mach-tegra/cpuidle-tegra114.c
@@ -12,13 +12,14 @@
 
 #include <linux/firmware/trusted_foundations.h>
 
+#include <soc/tegra/pm.h>
+
 #include <asm/cpuidle.h>
 #include <asm/smp_plat.h>
 #include <asm/suspend.h>
 #include <asm/psci.h>
 
 #include "cpuidle.h"
-#include "pm.h"
 #include "sleep.h"
 
 #ifdef CONFIG_PM_SLEEP
diff --git a/arch/arm/mach-tegra/cpuidle-tegra20.c b/arch/arm/mach-tegra/cpuidle-tegra20.c
index 9789541adb7d..fdfe92068e38 100644
--- a/arch/arm/mach-tegra/cpuidle-tegra20.c
+++ b/arch/arm/mach-tegra/cpuidle-tegra20.c
@@ -19,6 +19,7 @@
 #include <linux/module.h>
 
 #include <soc/tegra/flowctrl.h>
+#include <soc/tegra/pm.h>
 
 #include <asm/cpuidle.h>
 #include <asm/smp_plat.h>
@@ -27,7 +28,6 @@
 #include "cpuidle.h"
 #include "iomap.h"
 #include "irq.h"
-#include "pm.h"
 #include "reset.h"
 #include "sleep.h"
 
diff --git a/arch/arm/mach-tegra/cpuidle-tegra30.c b/arch/arm/mach-tegra/cpuidle-tegra30.c
index 17cbd118abee..3e91c29891f7 100644
--- a/arch/arm/mach-tegra/cpuidle-tegra30.c
+++ b/arch/arm/mach-tegra/cpuidle-tegra30.c
@@ -17,12 +17,13 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 
+#include <soc/tegra/pm.h>
+
 #include <asm/cpuidle.h>
 #include <asm/smp_plat.h>
 #include <asm/suspend.h>
 
 #include "cpuidle.h"
-#include "pm.h"
 #include "sleep.h"
 
 #ifdef CONFIG_PM_SLEEP
diff --git a/arch/arm/mach-tegra/irq.c b/arch/arm/mach-tegra/irq.c
index ace7a390b5fe..4e1ee70b2a3f 100644
--- a/arch/arm/mach-tegra/irq.c
+++ b/arch/arm/mach-tegra/irq.c
@@ -18,9 +18,10 @@
 #include <linux/of.h>
 #include <linux/syscore_ops.h>
 
+#include <soc/tegra/irq.h>
+
 #include "board.h"
 #include "iomap.h"
-#include "irq.h"
 
 #define SGI_MASK 0xFFFF
 
diff --git a/arch/arm/mach-tegra/pm.h b/arch/arm/mach-tegra/pm.h
index 7d72f31dee77..81525f5f4a44 100644
--- a/arch/arm/mach-tegra/pm.h
+++ b/arch/arm/mach-tegra/pm.h
@@ -23,20 +23,12 @@ void tegra20_sleep_core_init(void);
 void tegra30_lp1_iram_hook(void);
 void tegra30_sleep_core_init(void);
 
-void tegra_clear_cpu_in_lp2(void);
-void tegra_set_cpu_in_lp2(void);
-int tegra_idle_lp2_last(void);
 extern void (*tegra_tear_down_cpu)(void);
 
 #ifdef CONFIG_PM_SLEEP
 void tegra_init_suspend(void);
-int tegra_pm_park_secondary_cpu(unsigned long cpu);
 #else
 static inline void tegra_init_suspend(void) {}
-static inline int tegra_pm_park_secondary_cpu(unsigned long cpu)
-{
-	return -ENOTSUPP;
-}
 #endif
 
 #endif /* _MACH_TEGRA_PM_H_ */
diff --git a/arch/arm/mach-tegra/sleep.h b/arch/arm/mach-tegra/sleep.h
index 4978def9db46..4718a3cb45a1 100644
--- a/arch/arm/mach-tegra/sleep.h
+++ b/arch/arm/mach-tegra/sleep.h
@@ -122,7 +122,6 @@ void tegra20_hotplug_shutdown(void);
 void tegra30_hotplug_shutdown(void);
 
 void tegra20_tear_down_cpu(void);
-int tegra30_sleep_cpu_secondary_finish(unsigned long);
 void tegra30_tear_down_cpu(void);
 
 #endif
diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c
index 1e3b85923ca3..79184a077c84 100644
--- a/arch/arm/mach-tegra/tegra.c
+++ b/arch/arm/mach-tegra/tegra.c
@@ -42,7 +42,6 @@
 #include "common.h"
 #include "cpuidle.h"
 #include "iomap.h"
-#include "irq.h"
 #include "pm.h"
 #include "reset.h"
 #include "sleep.h"
diff --git a/arch/arm/mach-tegra/irq.h b/include/soc/tegra/irq.h
similarity index 59%
rename from arch/arm/mach-tegra/irq.h
rename to include/soc/tegra/irq.h
index 7a94cf121448..8eb11a7109e4 100644
--- a/arch/arm/mach-tegra/irq.h
+++ b/include/soc/tegra/irq.h
@@ -3,9 +3,11 @@
  * Copyright (c) 2012, NVIDIA Corporation. All rights reserved.
  */
 
-#ifndef __TEGRA_IRQ_H
-#define __TEGRA_IRQ_H
+#ifndef __SOC_TEGRA_IRQ_H
+#define __SOC_TEGRA_IRQ_H
 
+#if defined(CONFIG_ARM)
 bool tegra_pending_sgi(void);
-
 #endif
+
+#endif /* __SOC_TEGRA_IRQ_H */
diff --git a/include/soc/tegra/pm.h b/include/soc/tegra/pm.h
index 951fcd738d55..1974e8405098 100644
--- a/include/soc/tegra/pm.h
+++ b/include/soc/tegra/pm.h
@@ -6,6 +6,8 @@
 #ifndef __SOC_TEGRA_PM_H__
 #define __SOC_TEGRA_PM_H__
 
+#include <linux/errno.h>
+
 enum tegra_suspend_mode {
 	TEGRA_SUSPEND_NONE = 0,
 	TEGRA_SUSPEND_LP2, /* CPU voltage off */
@@ -20,6 +22,12 @@ tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode);
 
 /* low-level resume entry point */
 void tegra_resume(void);
+
+int tegra30_sleep_cpu_secondary_finish(unsigned long arg);
+void tegra_clear_cpu_in_lp2(void);
+void tegra_set_cpu_in_lp2(void);
+int tegra_idle_lp2_last(void);
+int tegra_pm_park_secondary_cpu(unsigned long cpu);
 #else
 static inline enum tegra_suspend_mode
 tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode)
@@ -30,6 +38,29 @@ tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode)
 static inline void tegra_resume(void)
 {
 }
+
+static inline int tegra30_sleep_cpu_secondary_finish(unsigned long arg)
+{
+	return -ENOTSUPP;
+}
+
+static inline void tegra_clear_cpu_in_lp2(void)
+{
+}
+
+static inline void tegra_set_cpu_in_lp2(void)
+{
+}
+
+static inline int tegra_idle_lp2_last(void)
+{
+	return -ENOTSUPP;
+}
+
+static inline int tegra_pm_park_secondary_cpu(unsigned long cpu)
+{
+	return -ENOTSUPP;
+}
 #endif /* CONFIG_PM_SLEEP */
 
 #endif /* __SOC_TEGRA_PM_H__ */
-- 
2.24.0

  parent reply	other threads:[~2020-02-12 23:51 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-12 23:51 [PATCH v9 00/17] Consolidate and improve NVIDIA Tegra CPUIDLE driver(s) Dmitry Osipenko
2020-02-12 23:51 ` Dmitry Osipenko
2020-02-12 23:51 ` [PATCH v9 02/17] ARM: tegra: Add tegra_pm_park_secondary_cpu() Dmitry Osipenko
2020-02-12 23:51 ` Dmitry Osipenko [this message]
     [not found]   ` <20200212235134.12638-7-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 15:18     ` [PATCH v9 06/17] ARM: tegra: Expose PM functions required for new cpuidle driver Daniel Lezcano
2020-02-21 15:18       ` Daniel Lezcano
     [not found] ` <20200212235134.12638-1-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-12 23:51   ` [PATCH v9 01/17] ARM: tegra: Compile sleep-tegra20/30.S unconditionally Dmitry Osipenko
2020-02-12 23:51     ` Dmitry Osipenko
2020-02-12 23:51   ` [PATCH v9 03/17] ARM: tegra: Remove pen-locking from cpuidle-tegra20 Dmitry Osipenko
2020-02-12 23:51     ` Dmitry Osipenko
2020-02-21 14:58     ` Daniel Lezcano
2020-02-12 23:51   ` [PATCH v9 04/17] ARM: tegra: Change tegra_set_cpu_in_lp2() type to void Dmitry Osipenko
2020-02-12 23:51     ` Dmitry Osipenko
     [not found]     ` <20200212235134.12638-5-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 15:04       ` Daniel Lezcano
2020-02-21 15:04         ` Daniel Lezcano
2020-02-12 23:51   ` [PATCH v9 05/17] ARM: tegra: Propagate error from tegra_idle_lp2_last() Dmitry Osipenko
2020-02-12 23:51     ` Dmitry Osipenko
     [not found]     ` <20200212235134.12638-6-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 15:16       ` Daniel Lezcano
2020-02-21 15:16         ` Daniel Lezcano
     [not found]         ` <20200221151612.GJ10516-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2020-02-21 17:21           ` Dmitry Osipenko
2020-02-21 17:21             ` Dmitry Osipenko
     [not found]             ` <1a8c81ab-6f6a-8221-6a4e-c080ba595836-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 17:40               ` Daniel Lezcano
2020-02-21 17:40                 ` Daniel Lezcano
     [not found]                 ` <20200221174033.GV10516-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2020-02-21 18:42                   ` Dmitry Osipenko
2020-02-21 18:42                     ` Dmitry Osipenko
     [not found]                     ` <535bff1a-cb38-a36e-4c8e-1e656618588e-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 19:16                       ` Daniel Lezcano
2020-02-21 19:16                         ` Daniel Lezcano
2020-02-12 23:51   ` [PATCH v9 07/17] ARM: tegra: Rename some of the newly exposed PM functions Dmitry Osipenko
2020-02-12 23:51     ` Dmitry Osipenko
     [not found]     ` <20200212235134.12638-8-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 15:19       ` Daniel Lezcano
2020-02-21 15:19         ` Daniel Lezcano
2020-02-12 23:51   ` [PATCH v9 10/17] arm: tegra20: cpuidle: Make abort_flag atomic Dmitry Osipenko
2020-02-12 23:51     ` Dmitry Osipenko
     [not found]     ` <20200212235134.12638-11-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 15:25       ` Daniel Lezcano
2020-02-21 15:25         ` Daniel Lezcano
2020-02-12 23:51   ` [PATCH v9 11/17] arm: tegra20/30: cpuidle: Remove unnecessary memory barrier Dmitry Osipenko
2020-02-12 23:51     ` Dmitry Osipenko
     [not found]     ` <20200212235134.12638-12-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 15:25       ` Daniel Lezcano
2020-02-21 15:25         ` Daniel Lezcano
2020-02-12 23:51   ` [PATCH v9 13/17] cpuidle: tegra: Squash Tegra30 driver into the common driver Dmitry Osipenko
2020-02-12 23:51     ` Dmitry Osipenko
2020-02-21 16:29     ` Daniel Lezcano
2020-02-21 16:59       ` Dmitry Osipenko
     [not found]         ` <89a9838c-faf3-b890-cea2-aad53df1eac3-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 17:41           ` Daniel Lezcano
2020-02-21 17:41             ` Daniel Lezcano
     [not found]             ` <20200221174128.GW10516-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2020-02-21 18:20               ` Dmitry Osipenko
2020-02-21 18:20                 ` Dmitry Osipenko
2020-02-12 23:51   ` [PATCH v9 16/17] ARM: multi_v7_defconfig: Enable Tegra cpuidle driver Dmitry Osipenko
2020-02-12 23:51     ` Dmitry Osipenko
     [not found]     ` <20200212235134.12638-17-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 16:30       ` Daniel Lezcano
2020-02-21 16:30         ` Daniel Lezcano
2020-02-12 23:51   ` [PATCH v9 17/17] ARM: tegra: Enable Tegra cpuidle driver in tegra_defconfig Dmitry Osipenko
2020-02-12 23:51     ` Dmitry Osipenko
2020-02-21 16:31     ` Daniel Lezcano
2020-02-13  0:38   ` [PATCH v9 00/17] Consolidate and improve NVIDIA Tegra CPUIDLE driver(s) Dmitry Osipenko
2020-02-13  0:38     ` Dmitry Osipenko
2020-02-18 14:56   ` Dmitry Osipenko
2020-02-18 14:56     ` Dmitry Osipenko
2020-02-12 23:51 ` [PATCH v9 08/17] ARM: tegra: Make outer_disable() open-coded Dmitry Osipenko
2020-02-12 23:51 ` [PATCH v9 09/17] arm: tegra20: cpuidle: Handle case where secondary CPU hangs on entering LP2 Dmitry Osipenko
     [not found]   ` <20200212235134.12638-10-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 14:55     ` Daniel Lezcano
2020-02-21 14:55       ` Daniel Lezcano
2020-02-21 15:43     ` Daniel Lezcano
2020-02-21 15:43       ` Daniel Lezcano
     [not found]       ` <20200221154318.GO10516-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2020-02-21 16:56         ` Dmitry Osipenko
2020-02-21 16:56           ` Dmitry Osipenko
     [not found]           ` <239a2b66-8da8-2e6c-d19d-9ed207ad0a64-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 17:36             ` Daniel Lezcano
2020-02-21 17:36               ` Daniel Lezcano
     [not found]               ` <20200221173649.GU10516-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2020-02-21 18:19                 ` Dmitry Osipenko
2020-02-21 18:19                   ` Dmitry Osipenko
     [not found]                   ` <b51f3f6b-8287-5ce8-fcaa-77cbab507618-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 20:02                     ` Daniel Lezcano
2020-02-21 20:02                       ` Daniel Lezcano
     [not found]                       ` <f27481cf-ca5e-df47-932b-fcb4713f0d78-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2020-02-21 20:21                         ` Dmitry Osipenko
2020-02-21 20:21                           ` Dmitry Osipenko
     [not found]                           ` <50a8fb7c-f497-2234-c0b0-560aec1c5691-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 20:42                             ` Dmitry Osipenko
2020-02-21 20:42                               ` Dmitry Osipenko
2020-02-21 20:48                             ` Daniel Lezcano
2020-02-21 20:48                               ` Daniel Lezcano
     [not found]                               ` <21e3cc35-cc6b-5452-da93-bdaac43716c5-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2020-02-21 20:54                                 ` Dmitry Osipenko
2020-02-21 20:54                                   ` Dmitry Osipenko
     [not found]                                   ` <c13aa8f9-092b-55ca-742e-17db0184649b-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 21:11                                     ` Daniel Lezcano
2020-02-21 21:11                                       ` Daniel Lezcano
     [not found]                                       ` <f27e7974-f102-f9dc-6b48-9814b88465bf-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2020-02-24 15:12                                         ` Dmitry Osipenko
2020-02-24 15:12                                           ` Dmitry Osipenko
2020-02-12 23:51 ` [PATCH v9 12/17] cpuidle: Refactor and move out NVIDIA Tegra20 driver into drivers/cpuidle Dmitry Osipenko
     [not found]   ` <20200212235134.12638-13-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 15:44     ` Daniel Lezcano
2020-02-21 15:44       ` Daniel Lezcano
2020-02-12 23:51 ` [PATCH v9 14/17] cpuidle: tegra: Squash Tegra114 driver into the common driver Dmitry Osipenko
2020-02-12 23:51 ` [PATCH v9 15/17] cpuidle: tegra: Disable CC6 state if LP2 unavailable Dmitry Osipenko
     [not found]   ` <20200212235134.12638-16-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-02-21 16:39     ` Daniel Lezcano
2020-02-21 16:39       ` Daniel Lezcano
2020-02-24 16:44 ` [PATCH v9 00/17] Consolidate and improve NVIDIA Tegra CPUIDLE driver(s) Dmitry Osipenko
  -- strict thread matches above, loose matches on Subject: below --
2019-12-18 21:04 Dmitry Osipenko
2019-12-18 21:04 ` [PATCH v9 06/17] ARM: tegra: Expose PM functions required for new cpuidle driver Dmitry Osipenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200212235134.12638-7-digetx@gmail.com \
    --to=digetx@gmail.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=david@ixit.cz \
    --cc=jja2000@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mirq-linux@rere.qmqm.pl \
    --cc=pdeschrijver@nvidia.com \
    --cc=pgwipeout@gmail.com \
    --cc=rjw@rjwysocki.net \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.