From: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: Pankaj Dubey <pankaj.dubey@samsung.com>
Cc: linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, kgene.kim@samsung.com,
tomasz.figa@gmail.com, linux@arm.linux.org.uk,
thomas.ab@samsung.com, linux@roeck-us.net
Subject: Re: [PATCH v5 1/2] clk: samsung: exynos5440: move restart code into clock driver
Date: Tue, 18 Nov 2014 16:17:07 +0100 [thread overview]
Message-ID: <546B62F3.3030807@samsung.com> (raw)
In-Reply-To: <1416307650-15162-2-git-send-email-pankaj.dubey@samsung.com>
On 18/11/14 11:47, Pankaj Dubey wrote:
> Let's register restart handler for Exynos5440 from it's clock driver
> for restart functionality. So that we can cleanup restart hooks from
> machine specific file.
>
> CC: Sylwester Nawrocki <s.nawrocki@samsung.com>
> CC: Tomasz Figa <tomasz.figa@gmail.com>
> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> Acked-by: Guenter Roeck <linux@roeck-us.net>
The patch looks good to me.
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Just one comment below.
> ---
> arch/arm/mach-exynos/exynos.c | 19 +------------------
> drivers/clk/samsung/clk-exynos5440.c | 29 ++++++++++++++++++++++++++++-
> 2 files changed, 29 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
> index 8f638ad..8f995b7 100644
> --- a/arch/arm/mach-exynos/exynos.c
> +++ b/arch/arm/mach-exynos/exynos.c
> @@ -89,24 +89,7 @@ static struct map_desc exynos5_iodesc[] __initdata = {
>
> static void exynos_restart(enum reboot_mode mode, const char *cmd)
> {
> - struct device_node *np;
> - u32 val = 0x1;
> - void __iomem *addr = pmu_base_addr + EXYNOS_SWRESET;
> -
> - if (of_machine_is_compatible("samsung,exynos5440")) {
> - u32 status;
> - np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock");
> -
> - addr = of_iomap(np, 0) + 0xbc;
> - status = __raw_readl(addr);
> -
> - addr = of_iomap(np, 0) + 0xcc;
> - val = __raw_readl(addr);
> -
> - val = (val & 0xffff0000) | (status & 0xffff);
> - }
> -
> - __raw_writel(val, addr);
> + __raw_writel(0x1, pmu_base_addr + EXYNOS_SWRESET);
> }
>
> +static int exynos5440_clk_restart_notify(struct notifier_block *this,
> + unsigned long code, void *unused)
> +{
> + u32 val, status;
> +
> + status = readl_relaxed(reg_base + 0xbc);
> + val = readl_relaxed(reg_base + 0xcc);
> + val = (val & 0xffff0000) | (status & 0xffff);
> + writel_relaxed(val, reg_base + 0xcc);
Can we have macro definitions for these 0xcc, 0xbc address offsets ?
I must say I couldn't find them documented in any Exynos datasheet
I've got though.
> + return NOTIFY_DONE;
> +}
--
Regards,
Sylwester
WARNING: multiple messages have this Message-ID (diff)
From: s.nawrocki@samsung.com (Sylwester Nawrocki)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 1/2] clk: samsung: exynos5440: move restart code into clock driver
Date: Tue, 18 Nov 2014 16:17:07 +0100 [thread overview]
Message-ID: <546B62F3.3030807@samsung.com> (raw)
In-Reply-To: <1416307650-15162-2-git-send-email-pankaj.dubey@samsung.com>
On 18/11/14 11:47, Pankaj Dubey wrote:
> Let's register restart handler for Exynos5440 from it's clock driver
> for restart functionality. So that we can cleanup restart hooks from
> machine specific file.
>
> CC: Sylwester Nawrocki <s.nawrocki@samsung.com>
> CC: Tomasz Figa <tomasz.figa@gmail.com>
> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> Acked-by: Guenter Roeck <linux@roeck-us.net>
The patch looks good to me.
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Just one comment below.
> ---
> arch/arm/mach-exynos/exynos.c | 19 +------------------
> drivers/clk/samsung/clk-exynos5440.c | 29 ++++++++++++++++++++++++++++-
> 2 files changed, 29 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
> index 8f638ad..8f995b7 100644
> --- a/arch/arm/mach-exynos/exynos.c
> +++ b/arch/arm/mach-exynos/exynos.c
> @@ -89,24 +89,7 @@ static struct map_desc exynos5_iodesc[] __initdata = {
>
> static void exynos_restart(enum reboot_mode mode, const char *cmd)
> {
> - struct device_node *np;
> - u32 val = 0x1;
> - void __iomem *addr = pmu_base_addr + EXYNOS_SWRESET;
> -
> - if (of_machine_is_compatible("samsung,exynos5440")) {
> - u32 status;
> - np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock");
> -
> - addr = of_iomap(np, 0) + 0xbc;
> - status = __raw_readl(addr);
> -
> - addr = of_iomap(np, 0) + 0xcc;
> - val = __raw_readl(addr);
> -
> - val = (val & 0xffff0000) | (status & 0xffff);
> - }
> -
> - __raw_writel(val, addr);
> + __raw_writel(0x1, pmu_base_addr + EXYNOS_SWRESET);
> }
>
> +static int exynos5440_clk_restart_notify(struct notifier_block *this,
> + unsigned long code, void *unused)
> +{
> + u32 val, status;
> +
> + status = readl_relaxed(reg_base + 0xbc);
> + val = readl_relaxed(reg_base + 0xcc);
> + val = (val & 0xffff0000) | (status & 0xffff);
> + writel_relaxed(val, reg_base + 0xcc);
Can we have macro definitions for these 0xcc, 0xbc address offsets ?
I must say I couldn't find them documented in any Exynos datasheet
I've got though.
> + return NOTIFY_DONE;
> +}
--
Regards,
Sylwester
next prev parent reply other threads:[~2014-11-18 15:17 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-18 10:47 [PATCH v5 0/2] Handle reboot for Exynos SoC via restart_handler Pankaj Dubey
2014-11-18 10:47 ` Pankaj Dubey
2014-11-18 10:47 ` [PATCH v5 1/2] clk: samsung: exynos5440: move restart code into clock driver Pankaj Dubey
2014-11-18 10:47 ` Pankaj Dubey
2014-11-18 15:17 ` Sylwester Nawrocki [this message]
2014-11-18 15:17 ` Sylwester Nawrocki
2014-11-19 3:37 ` Pankaj Dubey
2014-11-19 3:37 ` Pankaj Dubey
2014-11-20 17:48 ` Sylwester Nawrocki
2014-11-20 17:48 ` Sylwester Nawrocki
2014-11-21 10:30 ` Pankaj Dubey
2014-11-21 10:30 ` Pankaj Dubey
2014-11-22 2:08 ` Kukjin Kim
2014-11-22 2:08 ` Kukjin Kim
2014-11-24 2:16 ` amit daniel kachhap
2014-11-24 2:16 ` amit daniel kachhap
2014-11-18 10:47 ` [PATCH v5 2/2] ARM: EXYNOS: PMU: move restart code into pmu driver Pankaj Dubey
2014-11-18 10:47 ` Pankaj Dubey
2014-11-18 15:19 ` Sylwester Nawrocki
2014-11-18 15:19 ` Sylwester Nawrocki
2014-11-19 3:16 ` Pankaj Dubey
2014-11-19 3:16 ` Pankaj Dubey
2014-11-19 14:26 ` Sylwester Nawrocki
2014-11-19 14:26 ` Sylwester Nawrocki
2014-11-21 4:28 ` Vivek Gautam
2014-11-21 4:28 ` Vivek Gautam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=546B62F3.3030807@samsung.com \
--to=s.nawrocki@samsung.com \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=linux@roeck-us.net \
--cc=pankaj.dubey@samsung.com \
--cc=thomas.ab@samsung.com \
--cc=tomasz.figa@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.