* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
@ 2013-08-26 0:14 Kukjin Kim
2013-08-26 10:06 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 15+ messages in thread
From: Kukjin Kim @ 2013-08-26 0:14 UTC (permalink / raw)
To: linux-arm-kernel
The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
tags/samsung-mach-exynos
for you to fetch changes up to f52616f4233d71d0fb00f06f86d046d18d2b7f3b:
ARM: EXYNOS: always enable PM domains support for EXYNOS4X12 (2013-08-19
05:05:16 +0900)
----------------------------------------------------------------
update mach-exynos
- enable ARCH_HAS_BANDGAP for exynos SoCs
- skip C1 cpuidle for exynos5440 because non-supporting
- always enable PM domains for exynos4x12
----------------------------------------------------------------
Amit Daniel Kachhap (2):
ARM: EXYNOS: enable ARCH_HAS_BANDGAP
ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
Bartlomiej Zolnierkiewicz (1):
ARM: EXYNOS: always enable PM domains support for EXYNOS4X12
arch/arm/mach-exynos/Kconfig | 7 +++++++
arch/arm/mach-exynos/cpuidle.c | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
2013-08-26 0:14 [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12 Kukjin Kim
@ 2013-08-26 10:06 ` Bartlomiej Zolnierkiewicz
2013-08-26 11:03 ` amit daniel kachhap
0 siblings, 1 reply; 15+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2013-08-26 10:06 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Monday, August 26, 2013 09:14:42 AM Kukjin Kim wrote:
> The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
>
> Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
> tags/samsung-mach-exynos
>
> for you to fetch changes up to f52616f4233d71d0fb00f06f86d046d18d2b7f3b:
>
> ARM: EXYNOS: always enable PM domains support for EXYNOS4X12 (2013-08-19
> 05:05:16 +0900)
>
> ----------------------------------------------------------------
> update mach-exynos
> - enable ARCH_HAS_BANDGAP for exynos SoCs
> - skip C1 cpuidle for exynos5440 because non-supporting
> - always enable PM domains for exynos4x12
>
> ----------------------------------------------------------------
> Amit Daniel Kachhap (2):
> ARM: EXYNOS: enable ARCH_HAS_BANDGAP
> ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
The patch "ARM: EXYNOS: Skip C1 cpuidle state for exynos5440":
--- a/arch/arm/mach-exynos/cpuidle.c
+++ b/arch/arm/mach-exynos/cpuidle.c
@@ -210,7 +210,7 @@ static int __init exynos4_init_cpuidle(void)
device->cpu = cpu_id;
/* Support IDLE only */
- if (cpu_id != 0)
+ if (soc_is_exynos5440() || cpu_id != 0)
device->state_count = 1;
ret = cpuidle_register_device(device);
is incorrect as noted a month ago in:
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/186355.html
[ Because of the deficiency in the core cpuidle core (device->state_count
not being used by governors' code) only sysfs entries for C1 state will be
disabled and EXYNOS cpuidle driver will still attempt to use C1 state.
also non-working device->state_count is planned to be removed by:
http://permalink.gmane.org/gmane.linux.power-management.general/37390
To disable C1 state on EXYNOS5440 something like:
static int __init exynos4_init_cpuidle(void)
{
...
if (soc_is_exynos5440())
exynos4_idle_driver.state_count = 1;
...
}
should be done instead.
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
2013-08-26 10:06 ` Bartlomiej Zolnierkiewicz
@ 2013-08-26 11:03 ` amit daniel kachhap
2013-08-26 11:19 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 15+ messages in thread
From: amit daniel kachhap @ 2013-08-26 11:03 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Mon, Aug 26, 2013 at 3:36 PM, Bartlomiej Zolnierkiewicz
<b.zolnierkie@samsung.com> wrote:
>
> Hi,
>
> On Monday, August 26, 2013 09:14:42 AM Kukjin Kim wrote:
>> The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
>>
>> Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
>>
>> are available in the git repository at:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
>> tags/samsung-mach-exynos
>>
>> for you to fetch changes up to f52616f4233d71d0fb00f06f86d046d18d2b7f3b:
>>
>> ARM: EXYNOS: always enable PM domains support for EXYNOS4X12 (2013-08-19
>> 05:05:16 +0900)
>>
>> ----------------------------------------------------------------
>> update mach-exynos
>> - enable ARCH_HAS_BANDGAP for exynos SoCs
>> - skip C1 cpuidle for exynos5440 because non-supporting
>> - always enable PM domains for exynos4x12
>>
>> ----------------------------------------------------------------
>> Amit Daniel Kachhap (2):
>> ARM: EXYNOS: enable ARCH_HAS_BANDGAP
>> ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
>
> The patch "ARM: EXYNOS: Skip C1 cpuidle state for exynos5440":
>
> --- a/arch/arm/mach-exynos/cpuidle.c
> +++ b/arch/arm/mach-exynos/cpuidle.c
> @@ -210,7 +210,7 @@ static int __init exynos4_init_cpuidle(void)
> device->cpu = cpu_id;
>
> /* Support IDLE only */
> - if (cpu_id != 0)
> + if (soc_is_exynos5440() || cpu_id != 0)
> device->state_count = 1;
>
> ret = cpuidle_register_device(device);
>
> is incorrect as noted a month ago in:
>
> http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/186355.html
>
> [ Because of the deficiency in the core cpuidle core (device->state_count
> not being used by governors' code) only sysfs entries for C1 state will be
> disabled and EXYNOS cpuidle driver will still attempt to use C1 state.
>
> also non-working device->state_count is planned to be removed by:
>
> http://permalink.gmane.org/gmane.linux.power-management.general/37390
I looked at your patch series and it seems reasonable. I will repost
this patch on top of yours.
But I suggest to keep this patch temporary till your patch series gets merged.
Thanks,
Amit Daniel
>
>
> To disable C1 state on EXYNOS5440 something like:
>
> static int __init exynos4_init_cpuidle(void)
> {
> ...
> if (soc_is_exynos5440())
> exynos4_idle_driver.state_count = 1;
> ...
> }
>
> should be done instead.
>
> Best regards,
> --
> Bartlomiej Zolnierkiewicz
> Samsung R&D Institute Poland
> Samsung Electronics
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Mon, Aug 26, 2013 at 3:36 PM, Bartlomiej Zolnierkiewicz
<b.zolnierkie@samsung.com> wrote:
>
> Hi,
>
> On Monday, August 26, 2013 09:14:42 AM Kukjin Kim wrote:
>> The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
>>
>> Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
>>
>> are available in the git repository at:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
>> tags/samsung-mach-exynos
>>
>> for you to fetch changes up to f52616f4233d71d0fb00f06f86d046d18d2b7f3b:
>>
>> ARM: EXYNOS: always enable PM domains support for EXYNOS4X12 (2013-08-19
>> 05:05:16 +0900)
>>
>> ----------------------------------------------------------------
>> update mach-exynos
>> - enable ARCH_HAS_BANDGAP for exynos SoCs
>> - skip C1 cpuidle for exynos5440 because non-supporting
>> - always enable PM domains for exynos4x12
>>
>> ----------------------------------------------------------------
>> Amit Daniel Kachhap (2):
>> ARM: EXYNOS: enable ARCH_HAS_BANDGAP
>> ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
>
> The patch "ARM: EXYNOS: Skip C1 cpuidle state for exynos5440":
>
> --- a/arch/arm/mach-exynos/cpuidle.c
> +++ b/arch/arm/mach-exynos/cpuidle.c
> @@ -210,7 +210,7 @@ static int __init exynos4_init_cpuidle(void)
> device->cpu = cpu_id;
>
> /* Support IDLE only */
> - if (cpu_id != 0)
> + if (soc_is_exynos5440() || cpu_id != 0)
> device->state_count = 1;
>
> ret = cpuidle_register_device(device);
>
> is incorrect as noted a month ago in:
>
> http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/186355.html
>
> [ Because of the deficiency in the core cpuidle core (device->state_count
> not being used by governors' code) only sysfs entries for C1 state will be
> disabled and EXYNOS cpuidle driver will still attempt to use C1 state.
>
> also non-working device->state_count is planned to be removed by:
>
> http://permalink.gmane.org/gmane.linux.power-management.general/37390
>
>
> To disable C1 state on EXYNOS5440 something like:
>
> static int __init exynos4_init_cpuidle(void)
> {
> ...
> if (soc_is_exynos5440())
> exynos4_idle_driver.state_count = 1;
> ...
> }
>
> should be done instead.
>
> Best regards,
> --
> Bartlomiej Zolnierkiewicz
> Samsung R&D Institute Poland
> Samsung Electronics
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
2013-08-26 11:03 ` amit daniel kachhap
@ 2013-08-26 11:19 ` Bartlomiej Zolnierkiewicz
2013-08-26 11:52 ` Kukjin Kim
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2013-08-26 11:19 UTC (permalink / raw)
To: linux-arm-kernel
On Monday, August 26, 2013 04:33:55 PM amit daniel kachhap wrote:
> Hi,
>
> On Mon, Aug 26, 2013 at 3:36 PM, Bartlomiej Zolnierkiewicz
> <b.zolnierkie@samsung.com> wrote:
> >
> > Hi,
> >
> > On Monday, August 26, 2013 09:14:42 AM Kukjin Kim wrote:
> >> The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
> >>
> >> Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
> >>
> >> are available in the git repository at:
> >>
> >> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
> >> tags/samsung-mach-exynos
> >>
> >> for you to fetch changes up to f52616f4233d71d0fb00f06f86d046d18d2b7f3b:
> >>
> >> ARM: EXYNOS: always enable PM domains support for EXYNOS4X12 (2013-08-19
> >> 05:05:16 +0900)
> >>
> >> ----------------------------------------------------------------
> >> update mach-exynos
> >> - enable ARCH_HAS_BANDGAP for exynos SoCs
> >> - skip C1 cpuidle for exynos5440 because non-supporting
> >> - always enable PM domains for exynos4x12
> >>
> >> ----------------------------------------------------------------
> >> Amit Daniel Kachhap (2):
> >> ARM: EXYNOS: enable ARCH_HAS_BANDGAP
> >> ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
> >
> > The patch "ARM: EXYNOS: Skip C1 cpuidle state for exynos5440":
> >
> > --- a/arch/arm/mach-exynos/cpuidle.c
> > +++ b/arch/arm/mach-exynos/cpuidle.c
> > @@ -210,7 +210,7 @@ static int __init exynos4_init_cpuidle(void)
> > device->cpu = cpu_id;
> >
> > /* Support IDLE only */
> > - if (cpu_id != 0)
> > + if (soc_is_exynos5440() || cpu_id != 0)
> > device->state_count = 1;
> >
> > ret = cpuidle_register_device(device);
> >
> > is incorrect as noted a month ago in:
> >
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/186355.html
> >
> > [ Because of the deficiency in the core cpuidle core (device->state_count
> > not being used by governors' code) only sysfs entries for C1 state will be
> > disabled and EXYNOS cpuidle driver will still attempt to use C1 state.
> >
> > also non-working device->state_count is planned to be removed by:
> >
> > http://permalink.gmane.org/gmane.linux.power-management.general/37390
> I looked at your patch series and it seems reasonable. I will repost
> this patch on top of yours.
If you correctly use driver's state_count (instead of device's) there will be
no dependency on my patch series and the new patch can be applied immediately.
> But I suggest to keep this patch temporary till your patch series gets merged.
The current patch (the one Kukjin merged) is incorrect as it just doesn't
do what it advertises. I see no reason to keep it.
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
> Thanks,
> Amit Daniel
> >
> >
> > To disable C1 state on EXYNOS5440 something like:
> >
> > static int __init exynos4_init_cpuidle(void)
> > {
> > ...
> > if (soc_is_exynos5440())
> > exynos4_idle_driver.state_count = 1;
> > ...
> > }
> >
> > should be done instead.
> >
> > Best regards,
> > --
> > Bartlomiej Zolnierkiewicz
> > Samsung R&D Institute Poland
> > Samsung Electronics
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
>
> On Mon, Aug 26, 2013 at 3:36 PM, Bartlomiej Zolnierkiewicz
> <b.zolnierkie@samsung.com> wrote:
> >
> > Hi,
> >
> > On Monday, August 26, 2013 09:14:42 AM Kukjin Kim wrote:
> >> The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
> >>
> >> Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
> >>
> >> are available in the git repository at:
> >>
> >> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
> >> tags/samsung-mach-exynos
> >>
> >> for you to fetch changes up to f52616f4233d71d0fb00f06f86d046d18d2b7f3b:
> >>
> >> ARM: EXYNOS: always enable PM domains support for EXYNOS4X12 (2013-08-19
> >> 05:05:16 +0900)
> >>
> >> ----------------------------------------------------------------
> >> update mach-exynos
> >> - enable ARCH_HAS_BANDGAP for exynos SoCs
> >> - skip C1 cpuidle for exynos5440 because non-supporting
> >> - always enable PM domains for exynos4x12
> >>
> >> ----------------------------------------------------------------
> >> Amit Daniel Kachhap (2):
> >> ARM: EXYNOS: enable ARCH_HAS_BANDGAP
> >> ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
> >
> > The patch "ARM: EXYNOS: Skip C1 cpuidle state for exynos5440":
> >
> > --- a/arch/arm/mach-exynos/cpuidle.c
> > +++ b/arch/arm/mach-exynos/cpuidle.c
> > @@ -210,7 +210,7 @@ static int __init exynos4_init_cpuidle(void)
> > device->cpu = cpu_id;
> >
> > /* Support IDLE only */
> > - if (cpu_id != 0)
> > + if (soc_is_exynos5440() || cpu_id != 0)
> > device->state_count = 1;
> >
> > ret = cpuidle_register_device(device);
> >
> > is incorrect as noted a month ago in:
> >
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/186355.html
> >
> > [ Because of the deficiency in the core cpuidle core (device->state_count
> > not being used by governors' code) only sysfs entries for C1 state will be
> > disabled and EXYNOS cpuidle driver will still attempt to use C1 state.
> >
> > also non-working device->state_count is planned to be removed by:
> >
> > http://permalink.gmane.org/gmane.linux.power-management.general/37390
> >
> >
> > To disable C1 state on EXYNOS5440 something like:
> >
> > static int __init exynos4_init_cpuidle(void)
> > {
> > ...
> > if (soc_is_exynos5440())
> > exynos4_idle_driver.state_count = 1;
> > ...
> > }
> >
> > should be done instead.
> >
> > Best regards,
> > --
> > Bartlomiej Zolnierkiewicz
> > Samsung R&D Institute Poland
> > Samsung Electronics
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
2013-08-26 11:19 ` Bartlomiej Zolnierkiewicz
@ 2013-08-26 11:52 ` Kukjin Kim
2013-08-26 13:51 ` Bartlomiej Zolnierkiewicz
2013-08-26 12:16 ` [PATCH V2] ARM: EXYNOS: cpuidle: Skip C1 cpuidle state for exynos5440 Amit Daniel Kachhap
2013-08-26 12:18 ` [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12 amit daniel kachhap
2 siblings, 1 reply; 15+ messages in thread
From: Kukjin Kim @ 2013-08-26 11:52 UTC (permalink / raw)
To: linux-arm-kernel
Bartlomiej Zolnierkiewicz wrote:
[...]
> > > is incorrect as noted a month ago in:
> > >
> > > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-
> July/186355.html
> > >
> > > [ Because of the deficiency in the core cpuidle core (device-
> >state_count
> > > not being used by governors' code) only sysfs entries for C1 state
> will be
> > > disabled and EXYNOS cpuidle driver will still attempt to use C1
> state.
> > >
> > > also non-working device->state_count is planned to be removed by:
> > >
> > > http://permalink.gmane.org/gmane.linux.power-management.general/37390
> > I looked at your patch series and it seems reasonable. I will repost
> > this patch on top of yours.
>
> If you correctly use driver's state_count (instead of device's) there will
> be
> no dependency on my patch series and the new patch can be applied
> immediately.
>
> > But I suggest to keep this patch temporary till your patch series gets
> merged.
>
> The current patch (the one Kukjin merged) is incorrect as it just doesn't
> do what it advertises. I see no reason to keep it.
>
Well, I don't think so, because if the patch is missing, following kernel
panic happens on exynos5440 platform.
Unable to handle kernel paging request at virtual address f8180608
pgd = c0003000
[f8180608] *pgd=80000080007003, *pmd=af7fb003, *pte=00000000
Internal error: Oops: a07 [#1] PREEMPT ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 3.11.0-0-generic
#1~d20130819t044008~3372c79
task: c0529d80 ti: c051e000 task.ti: c051e000
PC is at exynos4_enter_lowpower+0x18/0x130
LR is at cpuidle_enter_state+0x3c/0xe8
pc : [] lr : [] psr: 200f0093
sp : c051ff68 ip : 00000018 fp : 00000000
r10: 00000000 r9 : 412fc0f3 r8 : 00000000
r7 : c052c9cc r6 : 00000001 r5 : 00000000 r4 : d5c3cc94
r3 : f8180000 r2 : 0000ff3e r1 : c052c980 r0 : c052cc98
Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 30c5387d Table: af139b00 DAC: fffffffd
Process swapper (pid: 0, stack limit = 0xc051e230)
Stack: (0xc051ff68 to 0xc0520000)
ff60: d5c3cc94 00000000 c052cc98 c02c1310 d5c3cc94
00000000
ff80: c0550288 c052c980 c058898c c052cc98 00000001 c052c980 c058898c
c02c1458
ffa0: c051e000 c0550288 c0550288 00000001 c05260dc c001b2cc 000001fe
c00573e4
ffc0: ffffffff c04f07d8 ffffffff ffffffff c04f0290 00000000 00000000
c05134d8
ffe0: 30c7387d c0526064 c05134d4 c052b5b4 80007000 80008080 00000000
00000000
[] (exynos4_enter_lowpower+0x18/0x130) from []
(cpuidle_enter_state+0x3c/0xe8)
[] (cpuidle_enter_state+0x3c/0xe8) from [] (cpuidle_idle_call+0x9c/0x140)
[] (cpuidle_idle_call+0x9c/0x140) from [] (arch_cpu_idle+0x8/0x38)
[] (arch_cpu_idle+0x8/0x38) from [] (cpu_startup_entry+0x4c/0x114)
[] (cpu_startup_entry+0x4c/0x114) from [] (start_kernel+0x324/0x37c)
Code: 0a000043 e3a03000 e30f2f3e e34f3818 (e5832608)
---[ end trace 617b9e1a4ff91d2f ]---
Kernel panic - not syncing: Attempted to kill the idle task!
In addition, I didn't see your patches in linux-next for upcoming merge
window. So I think, if any fixup is required, it should be done on top of
current shape.
- Kukjin
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH V2] ARM: EXYNOS: cpuidle: Skip C1 cpuidle state for exynos5440
2013-08-26 11:19 ` Bartlomiej Zolnierkiewicz
2013-08-26 11:52 ` Kukjin Kim
@ 2013-08-26 12:16 ` Amit Daniel Kachhap
2013-08-26 14:23 ` Bartlomiej Zolnierkiewicz
2013-08-26 12:18 ` [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12 amit daniel kachhap
2 siblings, 1 reply; 15+ messages in thread
From: Amit Daniel Kachhap @ 2013-08-26 12:16 UTC (permalink / raw)
To: linux-arm-kernel
This patch skips the deep C1(AFTR -Arm off top running) state for exynos5440
soc as this soc does not support this state. The cpu's only allows the basic
C0 state. The C1 state is filtered by re-initialising the driver state_count
value to 1.
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
---
Changes in V2:
* Used driver state_count variable to filter the C1 state
instead of device state count variable. Although this V2 patch is also
not complete as there are suggestions to make this driver platform driver.
arch/arm/mach-exynos/cpuidle.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
index 225ee84..ac13922 100644
--- a/arch/arm/mach-exynos/cpuidle.c
+++ b/arch/arm/mach-exynos/cpuidle.c
@@ -200,6 +200,9 @@ static int __init exynos4_init_cpuidle(void)
if (soc_is_exynos5250())
exynos5_core_down_clk();
+ if (soc_is_exynos5440())
+ exynos4_idle_driver.state_count = 1;
+
ret = cpuidle_register_driver(&exynos4_idle_driver);
if (ret) {
printk(KERN_ERR "CPUidle failed to register driver\n");
--
1.7.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
2013-08-26 11:19 ` Bartlomiej Zolnierkiewicz
2013-08-26 11:52 ` Kukjin Kim
2013-08-26 12:16 ` [PATCH V2] ARM: EXYNOS: cpuidle: Skip C1 cpuidle state for exynos5440 Amit Daniel Kachhap
@ 2013-08-26 12:18 ` amit daniel kachhap
2013-08-27 4:08 ` Kevin Hilman
2 siblings, 1 reply; 15+ messages in thread
From: amit daniel kachhap @ 2013-08-26 12:18 UTC (permalink / raw)
To: linux-arm-kernel
Submitted the V2 version of this patch with your suggestion.
Thanks
Amit
On Mon, Aug 26, 2013 at 4:49 PM, Bartlomiej Zolnierkiewicz
<b.zolnierkie@samsung.com> wrote:
> On Monday, August 26, 2013 04:33:55 PM amit daniel kachhap wrote:
>> Hi,
>>
>> On Mon, Aug 26, 2013 at 3:36 PM, Bartlomiej Zolnierkiewicz
>> <b.zolnierkie@samsung.com> wrote:
>> >
>> > Hi,
>> >
>> > On Monday, August 26, 2013 09:14:42 AM Kukjin Kim wrote:
>> >> The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
>> >>
>> >> Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
>> >>
>> >> are available in the git repository at:
>> >>
>> >> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
>> >> tags/samsung-mach-exynos
>> >>
>> >> for you to fetch changes up to f52616f4233d71d0fb00f06f86d046d18d2b7f3b:
>> >>
>> >> ARM: EXYNOS: always enable PM domains support for EXYNOS4X12 (2013-08-19
>> >> 05:05:16 +0900)
>> >>
>> >> ----------------------------------------------------------------
>> >> update mach-exynos
>> >> - enable ARCH_HAS_BANDGAP for exynos SoCs
>> >> - skip C1 cpuidle for exynos5440 because non-supporting
>> >> - always enable PM domains for exynos4x12
>> >>
>> >> ----------------------------------------------------------------
>> >> Amit Daniel Kachhap (2):
>> >> ARM: EXYNOS: enable ARCH_HAS_BANDGAP
>> >> ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
>> >
>> > The patch "ARM: EXYNOS: Skip C1 cpuidle state for exynos5440":
>> >
>> > --- a/arch/arm/mach-exynos/cpuidle.c
>> > +++ b/arch/arm/mach-exynos/cpuidle.c
>> > @@ -210,7 +210,7 @@ static int __init exynos4_init_cpuidle(void)
>> > device->cpu = cpu_id;
>> >
>> > /* Support IDLE only */
>> > - if (cpu_id != 0)
>> > + if (soc_is_exynos5440() || cpu_id != 0)
>> > device->state_count = 1;
>> >
>> > ret = cpuidle_register_device(device);
>> >
>> > is incorrect as noted a month ago in:
>> >
>> > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/186355.html
>> >
>> > [ Because of the deficiency in the core cpuidle core (device->state_count
>> > not being used by governors' code) only sysfs entries for C1 state will be
>> > disabled and EXYNOS cpuidle driver will still attempt to use C1 state.
>> >
>> > also non-working device->state_count is planned to be removed by:
>> >
>> > http://permalink.gmane.org/gmane.linux.power-management.general/37390
>> I looked at your patch series and it seems reasonable. I will repost
>> this patch on top of yours.
>
> If you correctly use driver's state_count (instead of device's) there will be
> no dependency on my patch series and the new patch can be applied immediately.
>
>> But I suggest to keep this patch temporary till your patch series gets merged.
>
> The current patch (the one Kukjin merged) is incorrect as it just doesn't
> do what it advertises. I see no reason to keep it.
>
> Best regards,
> --
> Bartlomiej Zolnierkiewicz
> Samsung R&D Institute Poland
> Samsung Electronics
>
>> Thanks,
>> Amit Daniel
>> >
>> >
>> > To disable C1 state on EXYNOS5440 something like:
>> >
>> > static int __init exynos4_init_cpuidle(void)
>> > {
>> > ...
>> > if (soc_is_exynos5440())
>> > exynos4_idle_driver.state_count = 1;
>> > ...
>> > }
>> >
>> > should be done instead.
>> >
>> > Best regards,
>> > --
>> > Bartlomiej Zolnierkiewicz
>> > Samsung R&D Institute Poland
>> > Samsung Electronics
>> >
>> >
>> > _______________________________________________
>> > linux-arm-kernel mailing list
>> > linux-arm-kernel at lists.infradead.org
>> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>
>>
>> On Mon, Aug 26, 2013 at 3:36 PM, Bartlomiej Zolnierkiewicz
>> <b.zolnierkie@samsung.com> wrote:
>> >
>> > Hi,
>> >
>> > On Monday, August 26, 2013 09:14:42 AM Kukjin Kim wrote:
>> >> The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
>> >>
>> >> Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
>> >>
>> >> are available in the git repository at:
>> >>
>> >> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
>> >> tags/samsung-mach-exynos
>> >>
>> >> for you to fetch changes up to f52616f4233d71d0fb00f06f86d046d18d2b7f3b:
>> >>
>> >> ARM: EXYNOS: always enable PM domains support for EXYNOS4X12 (2013-08-19
>> >> 05:05:16 +0900)
>> >>
>> >> ----------------------------------------------------------------
>> >> update mach-exynos
>> >> - enable ARCH_HAS_BANDGAP for exynos SoCs
>> >> - skip C1 cpuidle for exynos5440 because non-supporting
>> >> - always enable PM domains for exynos4x12
>> >>
>> >> ----------------------------------------------------------------
>> >> Amit Daniel Kachhap (2):
>> >> ARM: EXYNOS: enable ARCH_HAS_BANDGAP
>> >> ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
>> >
>> > The patch "ARM: EXYNOS: Skip C1 cpuidle state for exynos5440":
>> >
>> > --- a/arch/arm/mach-exynos/cpuidle.c
>> > +++ b/arch/arm/mach-exynos/cpuidle.c
>> > @@ -210,7 +210,7 @@ static int __init exynos4_init_cpuidle(void)
>> > device->cpu = cpu_id;
>> >
>> > /* Support IDLE only */
>> > - if (cpu_id != 0)
>> > + if (soc_is_exynos5440() || cpu_id != 0)
>> > device->state_count = 1;
>> >
>> > ret = cpuidle_register_device(device);
>> >
>> > is incorrect as noted a month ago in:
>> >
>> > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/186355.html
>> >
>> > [ Because of the deficiency in the core cpuidle core (device->state_count
>> > not being used by governors' code) only sysfs entries for C1 state will be
>> > disabled and EXYNOS cpuidle driver will still attempt to use C1 state.
>> >
>> > also non-working device->state_count is planned to be removed by:
>> >
>> > http://permalink.gmane.org/gmane.linux.power-management.general/37390
>> >
>> >
>> > To disable C1 state on EXYNOS5440 something like:
>> >
>> > static int __init exynos4_init_cpuidle(void)
>> > {
>> > ...
>> > if (soc_is_exynos5440())
>> > exynos4_idle_driver.state_count = 1;
>> > ...
>> > }
>> >
>> > should be done instead.
>> >
>> > Best regards,
>> > --
>> > Bartlomiej Zolnierkiewicz
>> > Samsung R&D Institute Poland
>> > Samsung Electronics
>> >
>> >
>> > _______________________________________________
>> > linux-arm-kernel mailing list
>> > linux-arm-kernel at lists.infradead.org
>> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
2013-08-26 11:52 ` Kukjin Kim
@ 2013-08-26 13:51 ` Bartlomiej Zolnierkiewicz
0 siblings, 0 replies; 15+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2013-08-26 13:51 UTC (permalink / raw)
To: linux-arm-kernel
On Monday, August 26, 2013 08:52:44 PM Kukjin Kim wrote:
> Bartlomiej Zolnierkiewicz wrote:
>
> [...]
>
> > > > is incorrect as noted a month ago in:
> > > >
> > > > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-
> > July/186355.html
> > > >
> > > > [ Because of the deficiency in the core cpuidle core (device-
> > >state_count
> > > > not being used by governors' code) only sysfs entries for C1 state
> > will be
> > > > disabled and EXYNOS cpuidle driver will still attempt to use C1
> > state.
> > > >
> > > > also non-working device->state_count is planned to be removed by:
> > > >
> > > > http://permalink.gmane.org/gmane.linux.power-management.general/37390
> > > I looked at your patch series and it seems reasonable. I will repost
> > > this patch on top of yours.
> >
> > If you correctly use driver's state_count (instead of device's) there will
> > be
> > no dependency on my patch series and the new patch can be applied
> > immediately.
> >
> > > But I suggest to keep this patch temporary till your patch series gets
> > merged.
> >
> > The current patch (the one Kukjin merged) is incorrect as it just doesn't
> > do what it advertises. I see no reason to keep it.
> >
> Well, I don't think so, because if the patch is missing, following kernel
> panic happens on exynos5440 platform.
>
> Unable to handle kernel paging request at virtual address f8180608
> pgd = c0003000
> [f8180608] *pgd=80000080007003, *pmd=af7fb003, *pte=00000000
> Internal error: Oops: a07 [#1] PREEMPT ARM
> Modules linked in:
> CPU: 0 PID: 0 Comm: swapper Not tainted 3.11.0-0-generic
> #1~d20130819t044008~3372c79
> task: c0529d80 ti: c051e000 task.ti: c051e000
> PC is at exynos4_enter_lowpower+0x18/0x130
> LR is at cpuidle_enter_state+0x3c/0xe8
> pc : [] lr : [] psr: 200f0093
> sp : c051ff68 ip : 00000018 fp : 00000000
> r10: 00000000 r9 : 412fc0f3 r8 : 00000000
> r7 : c052c9cc r6 : 00000001 r5 : 00000000 r4 : d5c3cc94
> r3 : f8180000 r2 : 0000ff3e r1 : c052c980 r0 : c052cc98
> Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
> Control: 30c5387d Table: af139b00 DAC: fffffffd
> Process swapper (pid: 0, stack limit = 0xc051e230)
> Stack: (0xc051ff68 to 0xc0520000)
> ff60: d5c3cc94 00000000 c052cc98 c02c1310 d5c3cc94
> 00000000
> ff80: c0550288 c052c980 c058898c c052cc98 00000001 c052c980 c058898c
> c02c1458
> ffa0: c051e000 c0550288 c0550288 00000001 c05260dc c001b2cc 000001fe
> c00573e4
> ffc0: ffffffff c04f07d8 ffffffff ffffffff c04f0290 00000000 00000000
> c05134d8
> ffe0: 30c7387d c0526064 c05134d4 c052b5b4 80007000 80008080 00000000
> 00000000
> [] (exynos4_enter_lowpower+0x18/0x130) from []
> (cpuidle_enter_state+0x3c/0xe8)
> [] (cpuidle_enter_state+0x3c/0xe8) from [] (cpuidle_idle_call+0x9c/0x140)
> [] (cpuidle_idle_call+0x9c/0x140) from [] (arch_cpu_idle+0x8/0x38)
> [] (arch_cpu_idle+0x8/0x38) from [] (cpu_startup_entry+0x4c/0x114)
> [] (cpu_startup_entry+0x4c/0x114) from [] (start_kernel+0x324/0x37c)
> Code: 0a000043 e3a03000 e30f2f3e e34f3818 (e5832608)
> ---[ end trace 617b9e1a4ff91d2f ]---
> Kernel panic - not syncing: Attempted to kill the idle task!
1) samsung-mach-exynos kernel (from your pull request) doesn't have neither
exynos5440_defconfig nor EXYNOS5440 enabled in exynos_defconfig so could
you please tell me what kernel version and kernel config are you using to
get the above panic?
Could you also see what does exynos4_enter_lowpower+0x18 map to in your
source code?
2) dev->state_count is used only for managing sysfs entries (and clearing
dev->states_usage) in the cpuidle core.
$ git grep state_count drivers/cpuidle/
drivers/cpuidle/cpuidle-calxeda.c: .state_count = 2,
drivers/cpuidle/cpuidle-kirkwood.c: .state_count = KIRKWOOD_MAX_STATES,
drivers/cpuidle/cpuidle-zynq.c: .state_count = ZYNQ_MAX_STATES,
drivers/cpuidle/cpuidle.c: for (i = drv->state_count - 1; i >= CPUIDLE_DRIVER_STATE_START; i--)
drivers/cpuidle/cpuidle.c: if (!dev->state_count)
drivers/cpuidle/cpuidle.c: dev->state_count = drv->state_count;
drivers/cpuidle/cpuidle.c: for (i = 0; i < dev->state_count; i++) {
drivers/cpuidle/driver.c: for (i = drv->state_count - 1; i >= 0 ; i--) {
drivers/cpuidle/driver.c: if (!drv || !drv->state_count)
drivers/cpuidle/governors/ladder.c: if (last_idx < drv->state_count - 1 &&
drivers/cpuidle/governors/ladder.c: for (i = 0; i < drv->state_count; i++) {
drivers/cpuidle/governors/ladder.c: if (i < drv->state_count - 1)
drivers/cpuidle/governors/menu.c: for (i = CPUIDLE_DRIVER_STATE_START; i < drv->state_count; i++) {
drivers/cpuidle/sysfs.c: for (i = 0; i < device->state_count; i++) {
drivers/cpuidle/sysfs.c: for (i = 0; i < device->state_count; i++)
With the current code I fail to see how it is possible that dev->state_count
smaller than drv->state_count affects anything besides sysfs cpuidle entries
in the practice.
IOW I worry that the current patch may be just masking some other issue.
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH V2] ARM: EXYNOS: cpuidle: Skip C1 cpuidle state for exynos5440
2013-08-26 12:16 ` [PATCH V2] ARM: EXYNOS: cpuidle: Skip C1 cpuidle state for exynos5440 Amit Daniel Kachhap
@ 2013-08-26 14:23 ` Bartlomiej Zolnierkiewicz
0 siblings, 0 replies; 15+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2013-08-26 14:23 UTC (permalink / raw)
To: linux-arm-kernel
On Monday, August 26, 2013 05:46:03 PM Amit Daniel Kachhap wrote:
> This patch skips the deep C1(AFTR -Arm off top running) state for exynos5440
> soc as this soc does not support this state. The cpu's only allows the basic
> C0 state. The C1 state is filtered by re-initialising the driver state_count
> value to 1.
>
> Cc: Kukjin Kim <kgene@kernel.org>
> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Thanks for fixing this.
> Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
> ---
>
> Changes in V2:
> * Used driver state_count variable to filter the C1 state
> instead of device state count variable. Although this V2 patch is also
> not complete as there are suggestions to make this driver platform driver.
I'm going to look into making it a platform driver later this week.
> arch/arm/mach-exynos/cpuidle.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
> index 225ee84..ac13922 100644
> --- a/arch/arm/mach-exynos/cpuidle.c
> +++ b/arch/arm/mach-exynos/cpuidle.c
> @@ -200,6 +200,9 @@ static int __init exynos4_init_cpuidle(void)
> if (soc_is_exynos5250())
> exynos5_core_down_clk();
>
> + if (soc_is_exynos5440())
> + exynos4_idle_driver.state_count = 1;
> +
> ret = cpuidle_register_driver(&exynos4_idle_driver);
> if (ret) {
> printk(KERN_ERR "CPUidle failed to register driver\n");
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
2013-08-26 12:18 ` [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12 amit daniel kachhap
@ 2013-08-27 4:08 ` Kevin Hilman
2013-08-27 15:57 ` Kukjin Kim
2013-08-27 23:34 ` [GIT PULL V2 3/3] 2nd Round Samsung mach-exynos-v2 " Kukjin Kim
0 siblings, 2 replies; 15+ messages in thread
From: Kevin Hilman @ 2013-08-27 4:08 UTC (permalink / raw)
To: linux-arm-kernel
amit daniel kachhap <amit.daniel@samsung.com> writes:
> Submitted the V2 version of this patch with your suggestion.
So will there be an updated branch (and pull request) with these changes?
Kevin
> On Mon, Aug 26, 2013 at 4:49 PM, Bartlomiej Zolnierkiewicz
> <b.zolnierkie@samsung.com> wrote:
>> On Monday, August 26, 2013 04:33:55 PM amit daniel kachhap wrote:
>>> Hi,
>>>
>>> On Mon, Aug 26, 2013 at 3:36 PM, Bartlomiej Zolnierkiewicz
>>> <b.zolnierkie@samsung.com> wrote:
>>> >
>>> > Hi,
>>> >
>>> > On Monday, August 26, 2013 09:14:42 AM Kukjin Kim wrote:
>>> >> The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
>>> >>
>>> >> Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
>>> >>
>>> >> are available in the git repository at:
>>> >>
>>> >> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
>>> >> tags/samsung-mach-exynos
>>> >>
>>> >> for you to fetch changes up to f52616f4233d71d0fb00f06f86d046d18d2b7f3b:
>>> >>
>>> >> ARM: EXYNOS: always enable PM domains support for EXYNOS4X12 (2013-08-19
>>> >> 05:05:16 +0900)
>>> >>
>>> >> ----------------------------------------------------------------
>>> >> update mach-exynos
>>> >> - enable ARCH_HAS_BANDGAP for exynos SoCs
>>> >> - skip C1 cpuidle for exynos5440 because non-supporting
>>> >> - always enable PM domains for exynos4x12
>>> >>
>>> >> ----------------------------------------------------------------
>>> >> Amit Daniel Kachhap (2):
>>> >> ARM: EXYNOS: enable ARCH_HAS_BANDGAP
>>> >> ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
>>> >
>>> > The patch "ARM: EXYNOS: Skip C1 cpuidle state for exynos5440":
>>> >
>>> > --- a/arch/arm/mach-exynos/cpuidle.c
>>> > +++ b/arch/arm/mach-exynos/cpuidle.c
>>> > @@ -210,7 +210,7 @@ static int __init exynos4_init_cpuidle(void)
>>> > device->cpu = cpu_id;
>>> >
>>> > /* Support IDLE only */
>>> > - if (cpu_id != 0)
>>> > + if (soc_is_exynos5440() || cpu_id != 0)
>>> > device->state_count = 1;
>>> >
>>> > ret = cpuidle_register_device(device);
>>> >
>>> > is incorrect as noted a month ago in:
>>> >
>>> > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/186355.html
>>> >
>>> > [ Because of the deficiency in the core cpuidle core (device->state_count
>>> > not being used by governors' code) only sysfs entries for C1 state will be
>>> > disabled and EXYNOS cpuidle driver will still attempt to use C1 state.
>>> >
>>> > also non-working device->state_count is planned to be removed by:
>>> >
>>> > http://permalink.gmane.org/gmane.linux.power-management.general/37390
>>> I looked at your patch series and it seems reasonable. I will repost
>>> this patch on top of yours.
>>
>> If you correctly use driver's state_count (instead of device's) there will be
>> no dependency on my patch series and the new patch can be applied immediately.
>>
>>> But I suggest to keep this patch temporary till your patch series gets merged.
>>
>> The current patch (the one Kukjin merged) is incorrect as it just doesn't
>> do what it advertises. I see no reason to keep it.
>>
>> Best regards,
>> --
>> Bartlomiej Zolnierkiewicz
>> Samsung R&D Institute Poland
>> Samsung Electronics
>>
>>> Thanks,
>>> Amit Daniel
>>> >
>>> >
>>> > To disable C1 state on EXYNOS5440 something like:
>>> >
>>> > static int __init exynos4_init_cpuidle(void)
>>> > {
>>> > ...
>>> > if (soc_is_exynos5440())
>>> > exynos4_idle_driver.state_count = 1;
>>> > ...
>>> > }
>>> >
>>> > should be done instead.
>>> >
>>> > Best regards,
>>> > --
>>> > Bartlomiej Zolnierkiewicz
>>> > Samsung R&D Institute Poland
>>> > Samsung Electronics
>>> >
>>> >
>>> > _______________________________________________
>>> > linux-arm-kernel mailing list
>>> > linux-arm-kernel at lists.infradead.org
>>> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>>
>>>
>>> On Mon, Aug 26, 2013 at 3:36 PM, Bartlomiej Zolnierkiewicz
>>> <b.zolnierkie@samsung.com> wrote:
>>> >
>>> > Hi,
>>> >
>>> > On Monday, August 26, 2013 09:14:42 AM Kukjin Kim wrote:
>>> >> The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
>>> >>
>>> >> Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
>>> >>
>>> >> are available in the git repository at:
>>> >>
>>> >> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
>>> >> tags/samsung-mach-exynos
>>> >>
>>> >> for you to fetch changes up to f52616f4233d71d0fb00f06f86d046d18d2b7f3b:
>>> >>
>>> >> ARM: EXYNOS: always enable PM domains support for EXYNOS4X12 (2013-08-19
>>> >> 05:05:16 +0900)
>>> >>
>>> >> ----------------------------------------------------------------
>>> >> update mach-exynos
>>> >> - enable ARCH_HAS_BANDGAP for exynos SoCs
>>> >> - skip C1 cpuidle for exynos5440 because non-supporting
>>> >> - always enable PM domains for exynos4x12
>>> >>
>>> >> ----------------------------------------------------------------
>>> >> Amit Daniel Kachhap (2):
>>> >> ARM: EXYNOS: enable ARCH_HAS_BANDGAP
>>> >> ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
>>> >
>>> > The patch "ARM: EXYNOS: Skip C1 cpuidle state for exynos5440":
>>> >
>>> > --- a/arch/arm/mach-exynos/cpuidle.c
>>> > +++ b/arch/arm/mach-exynos/cpuidle.c
>>> > @@ -210,7 +210,7 @@ static int __init exynos4_init_cpuidle(void)
>>> > device->cpu = cpu_id;
>>> >
>>> > /* Support IDLE only */
>>> > - if (cpu_id != 0)
>>> > + if (soc_is_exynos5440() || cpu_id != 0)
>>> > device->state_count = 1;
>>> >
>>> > ret = cpuidle_register_device(device);
>>> >
>>> > is incorrect as noted a month ago in:
>>> >
>>> > http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/186355.html
>>> >
>>> > [ Because of the deficiency in the core cpuidle core (device->state_count
>>> > not being used by governors' code) only sysfs entries for C1 state will be
>>> > disabled and EXYNOS cpuidle driver will still attempt to use C1 state.
>>> >
>>> > also non-working device->state_count is planned to be removed by:
>>> >
>>> > http://permalink.gmane.org/gmane.linux.power-management.general/37390
>>> >
>>> >
>>> > To disable C1 state on EXYNOS5440 something like:
>>> >
>>> > static int __init exynos4_init_cpuidle(void)
>>> > {
>>> > ...
>>> > if (soc_is_exynos5440())
>>> > exynos4_idle_driver.state_count = 1;
>>> > ...
>>> > }
>>> >
>>> > should be done instead.
>>> >
>>> > Best regards,
>>> > --
>>> > Bartlomiej Zolnierkiewicz
>>> > Samsung R&D Institute Poland
>>> > Samsung Electronics
>>> >
>>> >
>>> > _______________________________________________
>>> > linux-arm-kernel mailing list
>>> > linux-arm-kernel at lists.infradead.org
>>> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
2013-08-27 4:08 ` Kevin Hilman
@ 2013-08-27 15:57 ` Kukjin Kim
2013-08-27 18:57 ` Olof Johansson
2013-08-27 23:34 ` [GIT PULL V2 3/3] 2nd Round Samsung mach-exynos-v2 " Kukjin Kim
1 sibling, 1 reply; 15+ messages in thread
From: Kukjin Kim @ 2013-08-27 15:57 UTC (permalink / raw)
To: linux-arm-kernel
On 08/27/13 13:08, Kevin Hilman wrote:
> amit daniel kachhap<amit.daniel@samsung.com> writes:
>
>> Submitted the V2 version of this patch with your suggestion.
>
> So will there be an updated branch (and pull request) with these changes?
>
OK, Bart's concern makes sense so I replaced with Amit's v2 patch.
Kevin, here is updated branch so please pull following.
If any problems, please kindly let me know.
Thanks,
Kukjin
The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
tags/samsung-mach-exynos-v2
for you to fetch changes up to 1e9fec0e40deff9d18e4197b5f5f99f85f5d36a5:
ARM: EXYNOS: Skip C1 cpuidle state for exynos5440 (2013-08-28
00:51:21 +0900)
----------------------------------------------------------------
update mach-exynos v2 for v3.12
- enable ARCH_HAS_BANDGAP for exynos SoCs
- always enable PM domains for exynos4x12
- skip C1 cpuidle state for exynos5440
----------------------------------------------------------------
Amit Daniel Kachhap (2):
ARM: EXYNOS: enable ARCH_HAS_BANDGAP
ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
Bartlomiej Zolnierkiewicz (1):
ARM: EXYNOS: always enable PM domains support for EXYNOS4X12
arch/arm/mach-exynos/Kconfig | 7 +++++++
arch/arm/mach-exynos/cpuidle.c | 3 +++
2 files changed, 10 insertions(+)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
2013-08-27 15:57 ` Kukjin Kim
@ 2013-08-27 18:57 ` Olof Johansson
2013-08-27 23:33 ` Kukjin Kim
0 siblings, 1 reply; 15+ messages in thread
From: Olof Johansson @ 2013-08-27 18:57 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Aug 28, 2013 at 12:57:25AM +0900, Kukjin Kim wrote:
> On 08/27/13 13:08, Kevin Hilman wrote:
> >amit daniel kachhap<amit.daniel@samsung.com> writes:
> >
> >>Submitted the V2 version of this patch with your suggestion.
> >
> >So will there be an updated branch (and pull request) with these changes?
> >
> OK, Bart's concern makes sense so I replaced with Amit's v2 patch.
>
> Kevin, here is updated branch so please pull following.
>
> If any problems, please kindly let me know.
Please don't post pull requests in the middle of a comment thread; start a new
thread or at least do a new subject for them -- they are much too easy to miss
otherwise.
-Olof
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12
2013-08-27 18:57 ` Olof Johansson
@ 2013-08-27 23:33 ` Kukjin Kim
0 siblings, 0 replies; 15+ messages in thread
From: Kukjin Kim @ 2013-08-27 23:33 UTC (permalink / raw)
To: linux-arm-kernel
Olof Johansson wrote:
>
> On Wed, Aug 28, 2013 at 12:57:25AM +0900, Kukjin Kim wrote:
> > On 08/27/13 13:08, Kevin Hilman wrote:
> > >amit daniel kachhap<amit.daniel@samsung.com> writes:
> > >
> > >>Submitted the V2 version of this patch with your suggestion.
> > >
> > >So will there be an updated branch (and pull request) with these
> changes?
> > >
> > OK, Bart's concern makes sense so I replaced with Amit's v2 patch.
> >
> > Kevin, here is updated branch so please pull following.
> >
> > If any problems, please kindly let me know.
>
> Please don't post pull requests in the middle of a comment thread; start a
> new
> thread or at least do a new subject for them -- they are much too easy to
> miss
> otherwise.
>
Oh, OK. I see.
Thanks,
Kukjin
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL V2 3/3] 2nd Round Samsung mach-exynos-v2 for v3.12
2013-08-27 4:08 ` Kevin Hilman
2013-08-27 15:57 ` Kukjin Kim
@ 2013-08-27 23:34 ` Kukjin Kim
2013-08-29 20:29 ` Olof Johansson
1 sibling, 1 reply; 15+ messages in thread
From: Kukjin Kim @ 2013-08-27 23:34 UTC (permalink / raw)
To: linux-arm-kernel
The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
tags/samsung-mach-exynos-v2
for you to fetch changes up to 1e9fec0e40deff9d18e4197b5f5f99f85f5d36a5:
ARM: EXYNOS: Skip C1 cpuidle state for exynos5440 (2013-08-28
00:51:21 +0900)
----------------------------------------------------------------
update mach-exynos v2 for v3.12
- enable ARCH_HAS_BANDGAP for exynos SoCs
- always enable PM domains for exynos4x12
- skip C1 cpuidle state for exynos5440
----------------------------------------------------------------
Amit Daniel Kachhap (2):
ARM: EXYNOS: enable ARCH_HAS_BANDGAP
ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
Bartlomiej Zolnierkiewicz (1):
ARM: EXYNOS: always enable PM domains support for EXYNOS4X12
arch/arm/mach-exynos/Kconfig | 7 +++++++
arch/arm/mach-exynos/cpuidle.c | 3 +++
2 files changed, 10 insertions(+)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [GIT PULL V2 3/3] 2nd Round Samsung mach-exynos-v2 for v3.12
2013-08-27 23:34 ` [GIT PULL V2 3/3] 2nd Round Samsung mach-exynos-v2 " Kukjin Kim
@ 2013-08-29 20:29 ` Olof Johansson
0 siblings, 0 replies; 15+ messages in thread
From: Olof Johansson @ 2013-08-29 20:29 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Aug 28, 2013 at 08:34:58AM +0900, Kukjin Kim wrote:
> The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:
>
> Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
> tags/samsung-mach-exynos-v2
>
Pulled into late/all.
-Olof
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2013-08-29 20:29 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-26 0:14 [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12 Kukjin Kim
2013-08-26 10:06 ` Bartlomiej Zolnierkiewicz
2013-08-26 11:03 ` amit daniel kachhap
2013-08-26 11:19 ` Bartlomiej Zolnierkiewicz
2013-08-26 11:52 ` Kukjin Kim
2013-08-26 13:51 ` Bartlomiej Zolnierkiewicz
2013-08-26 12:16 ` [PATCH V2] ARM: EXYNOS: cpuidle: Skip C1 cpuidle state for exynos5440 Amit Daniel Kachhap
2013-08-26 14:23 ` Bartlomiej Zolnierkiewicz
2013-08-26 12:18 ` [GIT PULL 3/3] 2nd Round Samsung mach-exynos for v3.12 amit daniel kachhap
2013-08-27 4:08 ` Kevin Hilman
2013-08-27 15:57 ` Kukjin Kim
2013-08-27 18:57 ` Olof Johansson
2013-08-27 23:33 ` Kukjin Kim
2013-08-27 23:34 ` [GIT PULL V2 3/3] 2nd Round Samsung mach-exynos-v2 " Kukjin Kim
2013-08-29 20:29 ` Olof Johansson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).