* [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work
@ 2013-03-19 16:51 ` Doug Anderson
0 siblings, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2013-03-19 16:51 UTC (permalink / raw)
To: Kukjin Kim
Cc: Jongpill Lee, Jaecheol Lee, Thomas Abraham, Olof Johansson,
Jonathan Kliegman, Michael Spang, Doug Anderson,
linux-samsung-soc, linux-kernel, Russell King, linux-arm-kernel
to make suspend/resume reliable on the ARM Chromebook
(exynos5250-snow).
A few more details:
- The first patch is not strictly needed but was a nice cleanup. Our
understanding was that EINT0 was originally turned on for exynos
evt0 silicon and not needed for evt1.
- The second patch is more important and (also) more obvious. The
function was modifying the S5P_WAKEUP_MASK register and then
clobbering its own modifications.
For some history, see:
- https://gerrit.chromium.org/gerrit/31337
- https://gerrit.chromium.org/gerrit/31341
Jonathan Kliegman (2):
arm: exynos: Remove hardcode wakeup unmask for EINT_0
arm: exynos: Clear ENABLE_WAKEUP_SW bit when entering suspend
arch/arm/mach-exynos/include/mach/pm-core.h | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
--
1.8.1.3
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work
@ 2013-03-19 16:51 ` Doug Anderson
0 siblings, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2013-03-19 16:51 UTC (permalink / raw)
To: linux-arm-kernel
to make suspend/resume reliable on the ARM Chromebook
(exynos5250-snow).
A few more details:
- The first patch is not strictly needed but was a nice cleanup. Our
understanding was that EINT0 was originally turned on for exynos
evt0 silicon and not needed for evt1.
- The second patch is more important and (also) more obvious. The
function was modifying the S5P_WAKEUP_MASK register and then
clobbering its own modifications.
For some history, see:
- https://gerrit.chromium.org/gerrit/31337
- https://gerrit.chromium.org/gerrit/31341
Jonathan Kliegman (2):
arm: exynos: Remove hardcode wakeup unmask for EINT_0
arm: exynos: Clear ENABLE_WAKEUP_SW bit when entering suspend
arch/arm/mach-exynos/include/mach/pm-core.h | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
--
1.8.1.3
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] arm: exynos: Remove hardcode wakeup unmask for EINT_0
2013-03-19 16:51 ` Doug Anderson
@ 2013-03-19 16:51 ` Doug Anderson
-1 siblings, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2013-03-19 16:51 UTC (permalink / raw)
To: Kukjin Kim
Cc: Jongpill Lee, Jaecheol Lee, Thomas Abraham, Olof Johansson,
Jonathan Kliegman, Michael Spang, Doug Anderson, Russell King,
linux-arm-kernel, linux-samsung-soc, linux-kernel
From: Jonathan Kliegman <kliegs@chromium.org>
For legacy reasons EINT_0 was being forced on for all
exynos systems as a wake interrupt. For boards that need
EINT_0 they should probably enable it with enable_irq_wake
Signed-off-by: Jonathan Kliegman <kliegs@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Thomas Abraham <thomas.ab@samsung.com>
---
arch/arm/mach-exynos/include/mach/pm-core.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mach-exynos/include/mach/pm-core.h b/arch/arm/mach-exynos/include/mach/pm-core.h
index a67ecfa..9d8da51e3 100644
--- a/arch/arm/mach-exynos/include/mach/pm-core.h
+++ b/arch/arm/mach-exynos/include/mach/pm-core.h
@@ -33,7 +33,7 @@ static inline void s3c_pm_arch_prepare_irqs(void)
__raw_writel(tmp, S5P_WAKEUP_MASK);
__raw_writel(s3c_irqwake_intmask, S5P_WAKEUP_MASK);
- __raw_writel(s3c_irqwake_eintmask & 0xFFFFFFFE, S5P_EINT_WAKEUP_MASK);
+ __raw_writel(s3c_irqwake_eintmask, S5P_EINT_WAKEUP_MASK);
}
static inline void s3c_pm_arch_stop_clocks(void)
--
1.8.1.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 1/2] arm: exynos: Remove hardcode wakeup unmask for EINT_0
@ 2013-03-19 16:51 ` Doug Anderson
0 siblings, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2013-03-19 16:51 UTC (permalink / raw)
To: linux-arm-kernel
From: Jonathan Kliegman <kliegs@chromium.org>
For legacy reasons EINT_0 was being forced on for all
exynos systems as a wake interrupt. For boards that need
EINT_0 they should probably enable it with enable_irq_wake
Signed-off-by: Jonathan Kliegman <kliegs@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Thomas Abraham <thomas.ab@samsung.com>
---
arch/arm/mach-exynos/include/mach/pm-core.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mach-exynos/include/mach/pm-core.h b/arch/arm/mach-exynos/include/mach/pm-core.h
index a67ecfa..9d8da51e3 100644
--- a/arch/arm/mach-exynos/include/mach/pm-core.h
+++ b/arch/arm/mach-exynos/include/mach/pm-core.h
@@ -33,7 +33,7 @@ static inline void s3c_pm_arch_prepare_irqs(void)
__raw_writel(tmp, S5P_WAKEUP_MASK);
__raw_writel(s3c_irqwake_intmask, S5P_WAKEUP_MASK);
- __raw_writel(s3c_irqwake_eintmask & 0xFFFFFFFE, S5P_EINT_WAKEUP_MASK);
+ __raw_writel(s3c_irqwake_eintmask, S5P_EINT_WAKEUP_MASK);
}
static inline void s3c_pm_arch_stop_clocks(void)
--
1.8.1.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/2] arm: exynos: Clear ENABLE_WAKEUP_SW bit when entering suspend
2013-03-19 16:51 ` Doug Anderson
@ 2013-03-19 16:51 ` Doug Anderson
-1 siblings, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2013-03-19 16:51 UTC (permalink / raw)
To: Kukjin Kim
Cc: Jongpill Lee, Jaecheol Lee, Thomas Abraham, Olof Johansson,
Jonathan Kliegman, Michael Spang, Doug Anderson, Russell King,
linux-arm-kernel, linux-samsung-soc, linux-kernel
From: Jonathan Kliegman <kliegs@chromium.org>
Setting this bit to 0 causes the system to wait until suspended
to use the wakeup masks. With it being set high previously,
masked interrupts were being received and processed before the
EINT_WAKEUP_MASK was configured.
Signed-off-by: Jonathan Kliegman <kliegs@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
---
arch/arm/mach-exynos/include/mach/pm-core.h | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/arch/arm/mach-exynos/include/mach/pm-core.h b/arch/arm/mach-exynos/include/mach/pm-core.h
index 9d8da51e3..7dbbfec 100644
--- a/arch/arm/mach-exynos/include/mach/pm-core.h
+++ b/arch/arm/mach-exynos/include/mach/pm-core.h
@@ -27,13 +27,8 @@ static inline void s3c_pm_debug_init_uart(void)
static inline void s3c_pm_arch_prepare_irqs(void)
{
- unsigned int tmp;
- tmp = __raw_readl(S5P_WAKEUP_MASK);
- tmp &= ~(1 << 31);
- __raw_writel(tmp, S5P_WAKEUP_MASK);
-
- __raw_writel(s3c_irqwake_intmask, S5P_WAKEUP_MASK);
__raw_writel(s3c_irqwake_eintmask, S5P_EINT_WAKEUP_MASK);
+ __raw_writel(s3c_irqwake_intmask & ~(1 << 31), S5P_WAKEUP_MASK);
}
static inline void s3c_pm_arch_stop_clocks(void)
--
1.8.1.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/2] arm: exynos: Clear ENABLE_WAKEUP_SW bit when entering suspend
@ 2013-03-19 16:51 ` Doug Anderson
0 siblings, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2013-03-19 16:51 UTC (permalink / raw)
To: linux-arm-kernel
From: Jonathan Kliegman <kliegs@chromium.org>
Setting this bit to 0 causes the system to wait until suspended
to use the wakeup masks. With it being set high previously,
masked interrupts were being received and processed before the
EINT_WAKEUP_MASK was configured.
Signed-off-by: Jonathan Kliegman <kliegs@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
---
arch/arm/mach-exynos/include/mach/pm-core.h | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/arch/arm/mach-exynos/include/mach/pm-core.h b/arch/arm/mach-exynos/include/mach/pm-core.h
index 9d8da51e3..7dbbfec 100644
--- a/arch/arm/mach-exynos/include/mach/pm-core.h
+++ b/arch/arm/mach-exynos/include/mach/pm-core.h
@@ -27,13 +27,8 @@ static inline void s3c_pm_debug_init_uart(void)
static inline void s3c_pm_arch_prepare_irqs(void)
{
- unsigned int tmp;
- tmp = __raw_readl(S5P_WAKEUP_MASK);
- tmp &= ~(1 << 31);
- __raw_writel(tmp, S5P_WAKEUP_MASK);
-
- __raw_writel(s3c_irqwake_intmask, S5P_WAKEUP_MASK);
__raw_writel(s3c_irqwake_eintmask, S5P_EINT_WAKEUP_MASK);
+ __raw_writel(s3c_irqwake_intmask & ~(1 << 31), S5P_WAKEUP_MASK);
}
static inline void s3c_pm_arch_stop_clocks(void)
--
1.8.1.3
^ permalink raw reply related [flat|nested] 13+ messages in thread
* RE: [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work
2013-03-19 16:51 ` Doug Anderson
@ 2013-04-03 2:02 ` Kukjin Kim
-1 siblings, 0 replies; 13+ messages in thread
From: Kukjin Kim @ 2013-04-03 2:02 UTC (permalink / raw)
To: 'Doug Anderson'
Cc: 'Jongpill Lee', 'Jaecheol Lee',
'Thomas Abraham', 'Olof Johansson',
'Jonathan Kliegman', 'Michael Spang',
linux-samsung-soc, linux-kernel, 'Russell King',
linux-arm-kernel
Doug Anderson wrote:
>
> to make suspend/resume reliable on the ARM Chromebook
> (exynos5250-snow).
>
> A few more details:
> - The first patch is not strictly needed but was a nice cleanup. Our
> understanding was that EINT0 was originally turned on for exynos
> evt0 silicon and not needed for evt1.
Looks good to me, applied, thanks.
> - The second patch is more important and (also) more obvious. The
> function was modifying the S5P_WAKEUP_MASK register and then
> clobbering its own modifications.
>
Applied with 1st one, BTW, do you want to send this for stable tree?
- Kukjin
> For some history, see:
> - https://gerrit.chromium.org/gerrit/31337
> - https://gerrit.chromium.org/gerrit/31341
>
>
> Jonathan Kliegman (2):
> arm: exynos: Remove hardcode wakeup unmask for EINT_0
> arm: exynos: Clear ENABLE_WAKEUP_SW bit when entering suspend
>
> arch/arm/mach-exynos/include/mach/pm-core.h | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> --
> 1.8.1.3
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work
@ 2013-04-03 2:02 ` Kukjin Kim
0 siblings, 0 replies; 13+ messages in thread
From: Kukjin Kim @ 2013-04-03 2:02 UTC (permalink / raw)
To: linux-arm-kernel
Doug Anderson wrote:
>
> to make suspend/resume reliable on the ARM Chromebook
> (exynos5250-snow).
>
> A few more details:
> - The first patch is not strictly needed but was a nice cleanup. Our
> understanding was that EINT0 was originally turned on for exynos
> evt0 silicon and not needed for evt1.
Looks good to me, applied, thanks.
> - The second patch is more important and (also) more obvious. The
> function was modifying the S5P_WAKEUP_MASK register and then
> clobbering its own modifications.
>
Applied with 1st one, BTW, do you want to send this for stable tree?
- Kukjin
> For some history, see:
> - https://gerrit.chromium.org/gerrit/31337
> - https://gerrit.chromium.org/gerrit/31341
>
>
> Jonathan Kliegman (2):
> arm: exynos: Remove hardcode wakeup unmask for EINT_0
> arm: exynos: Clear ENABLE_WAKEUP_SW bit when entering suspend
>
> arch/arm/mach-exynos/include/mach/pm-core.h | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> --
> 1.8.1.3
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work
2013-04-03 2:02 ` Kukjin Kim
@ 2013-04-03 2:16 ` Kukjin Kim
-1 siblings, 0 replies; 13+ messages in thread
From: Kukjin Kim @ 2013-04-03 2:16 UTC (permalink / raw)
To: 'Kukjin Kim', 'Doug Anderson'
Cc: 'Jongpill Lee', 'Jaecheol Lee',
'Thomas Abraham', 'Olof Johansson',
'Jonathan Kliegman', 'Michael Spang',
linux-samsung-soc, linux-kernel, 'Russell King',
linux-arm-kernel
Kukjin Kim wrote:
>
> Doug Anderson wrote:
> >
> > to make suspend/resume reliable on the ARM Chromebook
> > (exynos5250-snow).
> >
> > A few more details:
> > - The first patch is not strictly needed but was a nice cleanup. Our
> > understanding was that EINT0 was originally turned on for exynos
> > evt0 silicon and not needed for evt1.
>
> Looks good to me, applied, thanks.
>
> > - The second patch is more important and (also) more obvious. The
> > function was modifying the S5P_WAKEUP_MASK register and then
> > clobbering its own modifications.
> >
> Applied with 1st one, BTW, do you want to send this for stable tree?
>
One more note, just now I discussed Jaecheol Lee about the bit,
ENABLE_WAKEUP_SW, as the patch fixed, it should be cleared but used to be
set s3c_irqwake_intmask. Let me check again, then if any updates I'll let
you know.
Thanks.
- Kukjin
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work
@ 2013-04-03 2:16 ` Kukjin Kim
0 siblings, 0 replies; 13+ messages in thread
From: Kukjin Kim @ 2013-04-03 2:16 UTC (permalink / raw)
To: linux-arm-kernel
Kukjin Kim wrote:
>
> Doug Anderson wrote:
> >
> > to make suspend/resume reliable on the ARM Chromebook
> > (exynos5250-snow).
> >
> > A few more details:
> > - The first patch is not strictly needed but was a nice cleanup. Our
> > understanding was that EINT0 was originally turned on for exynos
> > evt0 silicon and not needed for evt1.
>
> Looks good to me, applied, thanks.
>
> > - The second patch is more important and (also) more obvious. The
> > function was modifying the S5P_WAKEUP_MASK register and then
> > clobbering its own modifications.
> >
> Applied with 1st one, BTW, do you want to send this for stable tree?
>
One more note, just now I discussed Jaecheol Lee about the bit,
ENABLE_WAKEUP_SW, as the patch fixed, it should be cleared but used to be
set s3c_irqwake_intmask. Let me check again, then if any updates I'll let
you know.
Thanks.
- Kukjin
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work
2013-04-03 2:16 ` Kukjin Kim
(?)
@ 2013-04-03 17:20 ` Doug Anderson
-1 siblings, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2013-04-03 17:20 UTC (permalink / raw)
To: Kukjin Kim
Cc: Jongpill Lee, Jaecheol Lee, Thomas Abraham, Olof Johansson,
Jonathan Kliegman, Michael Spang, linux-samsung-soc,
linux-kernel, Russell King, linux-arm-kernel
Kukjin,
On Tue, Apr 2, 2013 at 7:16 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>> Applied with 1st one, BTW, do you want to send this for stable tree?
I don't have any need for it to be in stable tree. The ARM Chromebook
hasn't reached critical functionality on any released/upstram Linux
versions so it doesn't make much sense to backport fixes. If someone
else wants it in stable (and can confirm that it helps them) then I
certainly wouldn't object!
> One more note, just now I discussed Jaecheol Lee about the bit,
> ENABLE_WAKEUP_SW, as the patch fixed, it should be cleared but used to be
> set s3c_irqwake_intmask. Let me check again, then if any updates I'll let
> you know.
OK, thanks. If there is a reason that ENABLE_WAKEUP_SW needs to be
set then it would be good to understand that case. :)
-Doug
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work
@ 2013-04-03 17:20 ` Doug Anderson
0 siblings, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2013-04-03 17:20 UTC (permalink / raw)
To: Kukjin Kim
Cc: Jongpill Lee, Jaecheol Lee, Thomas Abraham, Olof Johansson,
Jonathan Kliegman, Michael Spang, linux-samsung-soc,
linux-kernel, Russell King, linux-arm-kernel
Kukjin,
On Tue, Apr 2, 2013 at 7:16 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>> Applied with 1st one, BTW, do you want to send this for stable tree?
I don't have any need for it to be in stable tree. The ARM Chromebook
hasn't reached critical functionality on any released/upstram Linux
versions so it doesn't make much sense to backport fixes. If someone
else wants it in stable (and can confirm that it helps them) then I
certainly wouldn't object!
> One more note, just now I discussed Jaecheol Lee about the bit,
> ENABLE_WAKEUP_SW, as the patch fixed, it should be cleared but used to be
> set s3c_irqwake_intmask. Let me check again, then if any updates I'll let
> you know.
OK, thanks. If there is a reason that ENABLE_WAKEUP_SW needs to be
set then it would be good to understand that case. :)
-Doug
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work
@ 2013-04-03 17:20 ` Doug Anderson
0 siblings, 0 replies; 13+ messages in thread
From: Doug Anderson @ 2013-04-03 17:20 UTC (permalink / raw)
To: linux-arm-kernel
Kukjin,
On Tue, Apr 2, 2013 at 7:16 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>> Applied with 1st one, BTW, do you want to send this for stable tree?
I don't have any need for it to be in stable tree. The ARM Chromebook
hasn't reached critical functionality on any released/upstram Linux
versions so it doesn't make much sense to backport fixes. If someone
else wants it in stable (and can confirm that it helps them) then I
certainly wouldn't object!
> One more note, just now I discussed Jaecheol Lee about the bit,
> ENABLE_WAKEUP_SW, as the patch fixed, it should be cleared but used to be
> set s3c_irqwake_intmask. Let me check again, then if any updates I'll let
> you know.
OK, thanks. If there is a reason that ENABLE_WAKEUP_SW needs to be
set then it would be good to understand that case. :)
-Doug
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2013-04-03 17:21 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-19 16:51 [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work Doug Anderson
2013-03-19 16:51 ` Doug Anderson
2013-03-19 16:51 ` [PATCH 1/2] arm: exynos: Remove hardcode wakeup unmask for EINT_0 Doug Anderson
2013-03-19 16:51 ` Doug Anderson
2013-03-19 16:51 ` [PATCH 2/2] arm: exynos: Clear ENABLE_WAKEUP_SW bit when entering suspend Doug Anderson
2013-03-19 16:51 ` Doug Anderson
2013-04-03 2:02 ` [PATCH 0/2] These two patches to s3c_pm_arch_prepare_irqs() were part of the work Kukjin Kim
2013-04-03 2:02 ` Kukjin Kim
2013-04-03 2:16 ` Kukjin Kim
2013-04-03 2:16 ` Kukjin Kim
2013-04-03 17:20 ` Doug Anderson
2013-04-03 17:20 ` Doug Anderson
2013-04-03 17:20 ` Doug Anderson
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.