diff mbox

exynos: pmu: use PS_HOLD based poweroff for all supported SoCs

Message ID 1423466741-11421-1-git-send-email-m.szyprowski@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Marek Szyprowski Feb. 9, 2015, 7:25 a.m. UTC
PS_HOLD based power off procedure is common for all Exynos SoCs, so use
it for every Exynos SoC.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
 arch/arm/mach-exynos/pmu.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Krzysztof Kozlowski Feb. 9, 2015, 9:06 a.m. UTC | #1
2015-02-09 8:25 GMT+01:00 Marek Szyprowski <m.szyprowski@samsung.com>:
> PS_HOLD based power off procedure is common for all Exynos SoCs, so use
> it for every Exynos SoC.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>  arch/arm/mach-exynos/pmu.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

I tried this on Trats2 board (Exynos 4412) and message "Power down
failed, please power off system manually." appears. Is it expected? Or
am I missing some patches (I applied this on top of next-20150129)?

Best regards,
Krzysztof

>
> diff --git a/arch/arm/mach-exynos/pmu.c b/arch/arm/mach-exynos/pmu.c
> index c15761ca2f18..e812c1c85624 100644
> --- a/arch/arm/mach-exynos/pmu.c
> +++ b/arch/arm/mach-exynos/pmu.c
> @@ -681,7 +681,7 @@ static unsigned int const exynos5420_list_disable_pmu_reg[] = {
>         EXYNOS5420_CMU_RESET_FSYS_SYS_PWR_REG,
>  };
>
> -static void exynos5_power_off(void)
> +static void exynos_power_off(void)
>  {
>         unsigned int tmp;
>
> @@ -872,8 +872,6 @@ static void exynos5420_pmu_init(void)
>                         EXYNOS5420_ARM_INTR_SPREAD_USE_STANDBYWFI);
>
>         pmu_raw_writel(0x1, EXYNOS5420_UP_SCHEDULER);
> -
> -       pm_power_off = exynos5_power_off;
>         pr_info("EXYNOS5420 PMU initialized\n");
>  }
>
> @@ -984,6 +982,8 @@ static int exynos_pmu_probe(struct platform_device *pdev)
>         if (ret)
>                 dev_warn(dev, "can't register restart handler err=%d\n", ret);
>
> +       pm_power_off = exynos_power_off;
> +
>         dev_dbg(dev, "Exynos PMU Driver probe done\n");
>         return 0;
>  }
> --
> 1.9.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Krzysztof Kozlowski Feb. 9, 2015, 10:58 a.m. UTC | #2
2015-02-09 10:06 GMT+01:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
> 2015-02-09 8:25 GMT+01:00 Marek Szyprowski <m.szyprowski@samsung.com>:
>> PS_HOLD based power off procedure is common for all Exynos SoCs, so use
>> it for every Exynos SoC.
>>
>> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> ---
>>  arch/arm/mach-exynos/pmu.c | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> I tried this on Trats2 board (Exynos 4412) and message "Power down
> failed, please power off system manually." appears. Is it expected? Or
> am I missing some patches (I applied this on top of next-20150129)?

It was my fault (I left attached JIG cable which prevents power off).
Now it works fine.

Tested on Trats2 (Exynos4412):
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

Patch also looks good, so:
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

Best regards,
Krzysztof
Tobias Jakobi Feb. 9, 2015, 8:24 p.m. UTC | #3
Marek Szyprowski wrote:
> PS_HOLD based power off procedure is common for all Exynos SoCs, so use
> it for every Exynos SoC.


Tested on my Odroid-X2 and it seems to solve the 'heating issue' when
the system is shut down but left on the AC adapter.

With best wishes,
Tobias
Marek Szyprowski March 20, 2015, 3:11 p.m. UTC | #4
Hello,

On 2015-02-09 11:58, Krzysztof Kozlowski wrote:
> 2015-02-09 10:06 GMT+01:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
>> 2015-02-09 8:25 GMT+01:00 Marek Szyprowski <m.szyprowski@samsung.com>:
>>> PS_HOLD based power off procedure is common for all Exynos SoCs, so use
>>> it for every Exynos SoC.
>>>
>>> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>>> ---
>>>   arch/arm/mach-exynos/pmu.c | 6 +++---
>>>   1 file changed, 3 insertions(+), 3 deletions(-)
>> I tried this on Trats2 board (Exynos 4412) and message "Power down
>> failed, please power off system manually." appears. Is it expected? Or
>> am I missing some patches (I applied this on top of next-20150129)?
> It was my fault (I left attached JIG cable which prevents power off).
> Now it works fine.
>
> Tested on Trats2 (Exynos4412):
> Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>
> Patch also looks good, so:
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

Gentle ping for merging this in v4.1-next...

Best regards
Tobias Jakobi March 20, 2015, 4:03 p.m. UTC | #5
Hello Marek,

On 2015-03-20 16:11, Marek Szyprowski wrote:
>> It was my fault (I left attached JIG cable which prevents power off).
>> Now it works fine.
>> 
>> Tested on Trats2 (Exynos4412):
>> Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> 
>> Patch also looks good, so:
>> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> 
> Gentle ping for merging this in v4.1-next...
> 
> Best regards
I'd say that this is even a candidate for 4.0.0. Like I reported 
earlier, the SoC gets really hot without proper shutdown, so definitely 
something you don't want for a not properly cooled system (U3 without 
the fan running e.g.).

With best wishes,
Tobias
kgene@kernel.org March 24, 2015, 8:06 a.m. UTC | #6
Marek Szyprowski wrote:
> 
> Hello,
> 
Hi,

> On 2015-02-09 11:58, Krzysztof Kozlowski wrote:
> > 2015-02-09 10:06 GMT+01:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
> >> 2015-02-09 8:25 GMT+01:00 Marek Szyprowski <m.szyprowski@samsung.com>:
> >>> PS_HOLD based power off procedure is common for all Exynos SoCs, so use
> >>> it for every Exynos SoC.
> >>>
> >>> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> >>> ---
> >>>   arch/arm/mach-exynos/pmu.c | 6 +++---
> >>>   1 file changed, 3 insertions(+), 3 deletions(-)
> >> I tried this on Trats2 board (Exynos 4412) and message "Power down
> >> failed, please power off system manually." appears. Is it expected? Or
> >> am I missing some patches (I applied this on top of next-20150129)?
> > It was my fault (I left attached JIG cable which prevents power off).
> > Now it works fine.
> >
> > Tested on Trats2 (Exynos4412):
> > Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> >
> > Patch also looks good, so:
> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> 
> Gentle ping for merging this in v4.1-next...
> 
OK, I'll queue this into v4.1-next/mach-samsung.

Just note, some newer SoC has different poweroff scheme not just using PS_HOLD
based so maybe we need to revisit the poweroff later ;-)

Thanks,
Kukjin
Krzysztof Kozlowski May 20, 2015, 6:31 a.m. UTC | #7
2015-03-24 17:06 GMT+09:00 Kukjin Kim <kgene@kernel.org>:
> Marek Szyprowski wrote:
>>
>> Hello,
>>
> Hi,
>
>> On 2015-02-09 11:58, Krzysztof Kozlowski wrote:
>> > 2015-02-09 10:06 GMT+01:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
>> >> 2015-02-09 8:25 GMT+01:00 Marek Szyprowski <m.szyprowski@samsung.com>:
>> >>> PS_HOLD based power off procedure is common for all Exynos SoCs, so use
>> >>> it for every Exynos SoC.
>> >>>
>> >>> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> >>> ---
>> >>>   arch/arm/mach-exynos/pmu.c | 6 +++---
>> >>>   1 file changed, 3 insertions(+), 3 deletions(-)
>> >> I tried this on Trats2 board (Exynos 4412) and message "Power down
>> >> failed, please power off system manually." appears. Is it expected? Or
>> >> am I missing some patches (I applied this on top of next-20150129)?
>> > It was my fault (I left attached JIG cable which prevents power off).
>> > Now it works fine.
>> >
>> > Tested on Trats2 (Exynos4412):
>> > Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> >
>> > Patch also looks good, so:
>> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>>
>> Gentle ping for merging this in v4.1-next...
>>
> OK, I'll queue this into v4.1-next/mach-samsung.

This patch is waiting enough time and it missed the 4.1. Kukjin, could
you apply it for 4.2? I'll apply it anyway to my tree.

Best regards,
Krzysztof
diff mbox

Patch

diff --git a/arch/arm/mach-exynos/pmu.c b/arch/arm/mach-exynos/pmu.c
index c15761ca2f18..e812c1c85624 100644
--- a/arch/arm/mach-exynos/pmu.c
+++ b/arch/arm/mach-exynos/pmu.c
@@ -681,7 +681,7 @@  static unsigned int const exynos5420_list_disable_pmu_reg[] = {
 	EXYNOS5420_CMU_RESET_FSYS_SYS_PWR_REG,
 };
 
-static void exynos5_power_off(void)
+static void exynos_power_off(void)
 {
 	unsigned int tmp;
 
@@ -872,8 +872,6 @@  static void exynos5420_pmu_init(void)
 			EXYNOS5420_ARM_INTR_SPREAD_USE_STANDBYWFI);
 
 	pmu_raw_writel(0x1, EXYNOS5420_UP_SCHEDULER);
-
-	pm_power_off = exynos5_power_off;
 	pr_info("EXYNOS5420 PMU initialized\n");
 }
 
@@ -984,6 +982,8 @@  static int exynos_pmu_probe(struct platform_device *pdev)
 	if (ret)
 		dev_warn(dev, "can't register restart handler err=%d\n", ret);
 
+	pm_power_off = exynos_power_off;
+
 	dev_dbg(dev, "Exynos PMU Driver probe done\n");
 	return 0;
 }