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
--
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
--
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
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

--
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
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

--
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
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

--
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 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
--
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
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;
 }