From: "Heiko Stübner" <heiko@sntech.de>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jslaby@suse.cz>,
linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-samsung-soc@vger.kernel.org,
Kukjin Kim <kgene.kim@samsung.com>,
Chander Kashyap <chander.kashyap@linaro.org>
Subject: Re: [PATCH] serial: samsung: move clock deactivation below uart registration
Date: Tue, 21 Jan 2014 15:26:42 +0100 [thread overview]
Message-ID: <2813762.7GxfVBIcrq@phil> (raw)
In-Reply-To: <201312050054.39327.heiko@sntech.de>
Hi Greg,
just wanted to ask about the state of this patch. I can see it in your branch
named "fixes" [0] but it seems it hasn't made its way into the kernel neither
during the 3.13-rcs or with your 3.14-pull [1].
Thanks
Heiko
[0] https://git.kernel.org/cgit/linux/kernel/git/gregkh/tty.git/log/?h=fixes
[1]
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bcee63488ece9a0fca8be19951428a7b41001e66
Am Donnerstag, 5. Dezember 2013, 00:54:38 schrieb Heiko Stübner:
> Commit 60e93575476f (serial: samsung: enable clock before clearing pending
> interrupts during init) added handling of the controller clock during init.
>
> On most systems this clock is also one of the baud_clock sources and
> possibly used by the earlycon and thus already enabled by the bootloader.
>
> Therefore a gap exists between s3c24xx_serial_init_port disabling the
> clock and an attached console reenabling it, making the transition from
> earlycon to regular console possibly hang the system - as seen on my
> S3C2442 based Freerunner today.
>
> Therefore move the disabling of the clock from s3c24xx_serial_init_port
> below the uart port registration, effectively creating an overlap and
> keeping the clock running non-stop if the console wants to grab this port.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
> drivers/tty/serial/samsung.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
> index c1af04d..9cd706d 100644
> --- a/drivers/tty/serial/samsung.c
> +++ b/drivers/tty/serial/samsung.c
> @@ -1209,7 +1209,6 @@ static int s3c24xx_serial_init_port(struct
> s3c24xx_uart_port *ourport,
>
> /* reset the fifos (and setup the uart) */
> s3c24xx_serial_resetport(port, cfg);
> - clk_disable_unprepare(ourport->clk);
> return 0;
> }
>
> @@ -1287,6 +1286,13 @@ static int s3c24xx_serial_probe(struct
> platform_device *pdev) uart_add_one_port(&s3c24xx_uart_drv,
> &ourport->port);
> platform_set_drvdata(pdev, &ourport->port);
>
> + /*
> + * Deactivate the clock enabled in s3c24xx_serial_init_port here,
> + * so that a potential re-enablement through the pm-callback overlaps
> + * and keeps the clock enabled in this case.
> + */
> + clk_disable_unprepare(ourport->clk);
> +
> #ifdef CONFIG_SAMSUNG_CLOCK
> ret = device_create_file(&pdev->dev, &dev_attr_clock_source);
> if (ret < 0)
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: "Heiko Stübner" <heiko@sntech.de>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jslaby@suse.cz>,
linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-samsung-soc@vger.kernel.org,
Kukjin Kim <kgene.kim@samsung.com>,
Chander Kashyap <chander.kashyap@linaro.org>
Subject: Re: [PATCH] serial: samsung: move clock deactivation below uart registration
Date: Tue, 21 Jan 2014 15:26:42 +0100 [thread overview]
Message-ID: <2813762.7GxfVBIcrq@phil> (raw)
In-Reply-To: <201312050054.39327.heiko@sntech.de>
Hi Greg,
just wanted to ask about the state of this patch. I can see it in your branch
named "fixes" [0] but it seems it hasn't made its way into the kernel neither
during the 3.13-rcs or with your 3.14-pull [1].
Thanks
Heiko
[0] https://git.kernel.org/cgit/linux/kernel/git/gregkh/tty.git/log/?h=fixes
[1]
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bcee63488ece9a0fca8be19951428a7b41001e66
Am Donnerstag, 5. Dezember 2013, 00:54:38 schrieb Heiko Stübner:
> Commit 60e93575476f (serial: samsung: enable clock before clearing pending
> interrupts during init) added handling of the controller clock during init.
>
> On most systems this clock is also one of the baud_clock sources and
> possibly used by the earlycon and thus already enabled by the bootloader.
>
> Therefore a gap exists between s3c24xx_serial_init_port disabling the
> clock and an attached console reenabling it, making the transition from
> earlycon to regular console possibly hang the system - as seen on my
> S3C2442 based Freerunner today.
>
> Therefore move the disabling of the clock from s3c24xx_serial_init_port
> below the uart port registration, effectively creating an overlap and
> keeping the clock running non-stop if the console wants to grab this port.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
> drivers/tty/serial/samsung.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
> index c1af04d..9cd706d 100644
> --- a/drivers/tty/serial/samsung.c
> +++ b/drivers/tty/serial/samsung.c
> @@ -1209,7 +1209,6 @@ static int s3c24xx_serial_init_port(struct
> s3c24xx_uart_port *ourport,
>
> /* reset the fifos (and setup the uart) */
> s3c24xx_serial_resetport(port, cfg);
> - clk_disable_unprepare(ourport->clk);
> return 0;
> }
>
> @@ -1287,6 +1286,13 @@ static int s3c24xx_serial_probe(struct
> platform_device *pdev) uart_add_one_port(&s3c24xx_uart_drv,
> &ourport->port);
> platform_set_drvdata(pdev, &ourport->port);
>
> + /*
> + * Deactivate the clock enabled in s3c24xx_serial_init_port here,
> + * so that a potential re-enablement through the pm-callback overlaps
> + * and keeps the clock enabled in this case.
> + */
> + clk_disable_unprepare(ourport->clk);
> +
> #ifdef CONFIG_SAMSUNG_CLOCK
> ret = device_create_file(&pdev->dev, &dev_attr_clock_source);
> if (ret < 0)
next prev parent reply other threads:[~2014-01-21 14:26 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-04 23:54 [PATCH] serial: samsung: move clock deactivation below uart registration Heiko Stübner
2013-12-10 13:52 ` Tomasz Figa
2014-01-21 14:26 ` Heiko Stübner [this message]
2014-01-21 14:26 ` Heiko Stübner
2014-01-21 17:24 ` Greg Kroah-Hartman
2014-01-21 17:24 ` Greg Kroah-Hartman
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=2813762.7GxfVBIcrq@phil \
--to=heiko@sntech.de \
--cc=chander.kashyap@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.cz \
--cc=kgene.kim@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/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.