Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1369641 > unrolled thread
| Started by | Nishanth Menon <nm@ti.com> |
|---|---|
| First post | 2016-04-02 01:00 +0200 |
| Last post | 2016-04-08 18:00 +0200 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 0/3] ARM: OMAP2: Make suspend work again. Nishanth Menon <nm@ti.com> - 2016-04-02 01:00 +0200
[PATCH 1/3] ARM: OMAP: DRA7: wakeupgen: Skip SAR save for wakeupgen Nishanth Menon <nm@ti.com> - 2016-04-02 01:00 +0200
[PATCH 3/3] ARM: OMAP: Catch callers of revision information prior to it being populated Nishanth Menon <nm@ti.com> - 2016-04-02 01:00 +0200
Re: [PATCH 0/3] ARM: OMAP2: Make suspend work again. Keerthy <a0393675@ti.com> - 2016-04-04 07:50 +0200
Re: [PATCH 0/3] ARM: OMAP2: Make suspend work again. Tony Lindgren <tony@atomide.com> - 2016-04-08 18:00 +0200
| From | Nishanth Menon <nm@ti.com> |
|---|---|
| Date | 2016-04-02 01:00 +0200 |
| Subject | [PATCH 0/3] ARM: OMAP2: Make suspend work again. |
| Message-ID | <rjgcO-2HK-5@gated-at.bofh.it> |
Hi,
series of patches for fixing up attempt to suspend on X15
Test: http://pastebin.ubuntu.com/15582436/
Based on v4.6-rc1
Also needs https://patchwork.kernel.org/patch/8724791/ if kernel
modules are installed
Nishanth Menon (3):
ARM: OMAP: DRA7: wakeupgen: Skip SAR save for wakeupgen
ARM: OMAP: DRA7: Provide proper class to omap2_set_globals_tap
ARM: OMAP: Catch callers of revision information prior to it being
populated
arch/arm/mach-omap1/id.c | 1 +
arch/arm/mach-omap2/id.c | 1 +
arch/arm/mach-omap2/io.c | 3 ++-
arch/arm/mach-omap2/omap-wakeupgen.c | 7 +++++++
4 files changed, 11 insertions(+), 1 deletion(-)
--
2.8.0
[toc] | [next] | [standalone]
| From | Nishanth Menon <nm@ti.com> |
|---|---|
| Date | 2016-04-02 01:00 +0200 |
| Subject | [PATCH 1/3] ARM: OMAP: DRA7: wakeupgen: Skip SAR save for wakeupgen |
| Message-ID | <rjgcO-2HK-9@gated-at.bofh.it> |
| In reply to | #1369641 |
DRA7 has no SAR region for automated save and restore of wakeupgen,
which does not make real since the SoC really does not do legacy OFF
mode anymore. Further wakeupgen should never loose context in CSWR
retention mode for MPU domain on DRA7 since that is the deepest state
we will enter.
So, just skip, instead of oopsing as follows while attemptint to enter
suspend on BeagleBoard-X15.
[ 55.589771] Unable to handle kernel paging request at virtual address 00002684
[ 55.589771] pgd = ec69c000
[...]
[ 55.589771] [<c0123cc8>] (irq_notifier) from [<c015ad70>] (notifier_call_chain+0x4c/0x8c)
[ 55.589771] [<c015ad70>] (notifier_call_chain) from [<c021469c>] (cpu_cluster_pm_enter+0x2c/0x78)
[ 55.589771] [<c021469c>] (cpu_cluster_pm_enter) from [<c0514508>] (syscore_suspend+0xb8/0x31c)
[ 55.589771] [<c0514508>] (syscore_suspend) from [<c0197d24>] (suspend_devices_and_enter+0x308/0x9e4)
[ 55.589771] [<c0197d24>] (suspend_devices_and_enter) from [<c0198a40>] (pm_suspend+0x640/0x75c)
[ 55.589771] [<c0198a40>] (pm_suspend) from [<c0196bcc>] (state_store+0x64/0xb8)
[ 55.589771] [<c0196bcc>] (state_store) from [<c0307914>] (kernfs_fop_write+0xc0/0x1bc)
[ 55.589771] [<c0307914>] (kernfs_fop_write) from [<c028ac80>] (__vfs_write+0x1c/0xd8)
[ 55.589771] [<c028ac80>] (__vfs_write) from [<c028bb70>] (vfs_write+0x90/0x16c)
[ 55.589771] [<c028bb70>] (vfs_write) from [<c028c890>] (SyS_write+0x44/0x9c)
[ 55.589771] [<c028c890>] (SyS_write) from [<c0107840>] (ret_fast_syscall+0x0/0x1c)
[...]
Signed-off-by: Nishanth Menon <nm@ti.com>
---
arch/arm/mach-omap2/omap-wakeupgen.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c b/arch/arm/mach-omap2/omap-wakeupgen.c
index f397bd6bd6e3..2c04f2741476 100644
--- a/arch/arm/mach-omap2/omap-wakeupgen.c
+++ b/arch/arm/mach-omap2/omap-wakeupgen.c
@@ -274,6 +274,10 @@ static inline void omap5_irq_save_context(void)
*/
static void irq_save_context(void)
{
+ /* DRA7 has no SAR to save */
+ if (soc_is_dra7xx())
+ return;
+
if (!sar_base)
sar_base = omap4_get_sar_ram_base();
@@ -290,6 +294,9 @@ static void irq_sar_clear(void)
{
u32 val;
u32 offset = SAR_BACKUP_STATUS_OFFSET;
+ /* DRA7 has no SAR to save */
+ if (soc_is_dra7xx())
+ return;
if (soc_is_omap54xx())
offset = OMAP5_SAR_BACKUP_STATUS_OFFSET;
--
2.8.0
[toc] | [prev] | [next] | [standalone]
| From | Nishanth Menon <nm@ti.com> |
|---|---|
| Date | 2016-04-02 01:00 +0200 |
| Subject | [PATCH 3/3] ARM: OMAP: Catch callers of revision information prior to it being populated |
| Message-ID | <rjgcO-2HK-17@gated-at.bofh.it> |
| In reply to | #1369641 |
omap_rev is used to detect various SoC types, however any misuse of
the usage by invoking it earlier than it being populated will result
in invalid results. Lets flag them as early as possible to prevent
unintended side effects taking place. We get 0 if it is uninitialized
and -1 when detection is done using device tree (as the case was for
DRA7 as the case was prior to commit 06c2d368fc36 ("ARM: OMAP: DRA7:
Make use of omap_revision information for soc_is* calls")
Signed-off-by: Nishanth Menon <nm@ti.com>
---
arch/arm/mach-omap1/id.c | 1 +
arch/arm/mach-omap2/id.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c
index 52de382fc804..bfabc065d331 100644
--- a/arch/arm/mach-omap1/id.c
+++ b/arch/arm/mach-omap1/id.c
@@ -65,6 +65,7 @@ static struct omap_id omap_ids[] __initdata = {
unsigned int omap_rev(void)
{
+ WARN_ON_ONCE(!omap_revision || omap_revision == -1);
return omap_revision;
}
EXPORT_SYMBOL(omap_rev);
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index d85c24918c17..75fb6c006e86 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -46,6 +46,7 @@ u32 omap_features;
unsigned int omap_rev(void)
{
+ WARN_ON_ONCE(!omap_revision || omap_revision == -1);
return omap_revision;
}
EXPORT_SYMBOL(omap_rev);
--
2.8.0
[toc] | [prev] | [next] | [standalone]
| From | Keerthy <a0393675@ti.com> |
|---|---|
| Date | 2016-04-04 07:50 +0200 |
| Message-ID | <rk5yF-6TZ-1@gated-at.bofh.it> |
| In reply to | #1369641 |
On Saturday 02 April 2016 04:23 AM, Nishanth Menon wrote: > Hi, > series of patches for fixing up attempt to suspend on X15 > > Test: http://pastebin.ubuntu.com/15582436/ > > Based on v4.6-rc1 > > Also needs https://patchwork.kernel.org/patch/8724791/ if kernel > modules are installed Thanks for the series Nishanth. I tested suspend/resume and used no_console_suspend and woke up using uart on DRA7-EVM. Tested-by: Keerthy <j-keerthy@ti.com> > > Nishanth Menon (3): > ARM: OMAP: DRA7: wakeupgen: Skip SAR save for wakeupgen > ARM: OMAP: DRA7: Provide proper class to omap2_set_globals_tap > ARM: OMAP: Catch callers of revision information prior to it being > populated > > arch/arm/mach-omap1/id.c | 1 + > arch/arm/mach-omap2/id.c | 1 + > arch/arm/mach-omap2/io.c | 3 ++- > arch/arm/mach-omap2/omap-wakeupgen.c | 7 +++++++ > 4 files changed, 11 insertions(+), 1 deletion(-) >
[toc] | [prev] | [next] | [standalone]
| From | Tony Lindgren <tony@atomide.com> |
|---|---|
| Date | 2016-04-08 18:00 +0200 |
| Message-ID | <rlGZd-67T-33@gated-at.bofh.it> |
| In reply to | #1370370 |
* Keerthy <a0393675@ti.com> [160403 22:48]: > > > On Saturday 02 April 2016 04:23 AM, Nishanth Menon wrote: > >Hi, > >series of patches for fixing up attempt to suspend on X15 > > > >Test: http://pastebin.ubuntu.com/15582436/ > > > >Based on v4.6-rc1 > > > >Also needs https://patchwork.kernel.org/patch/8724791/ if kernel > >modules are installed > > Thanks for the series Nishanth. > > I tested suspend/resume and used no_console_suspend and woke up using uart > on DRA7-EVM. Applying all three into omap-for-v4.6/fixes thanks. Tony
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web