linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] tty: msm_serial: remove static clk rate setting in probe
@ 2016-03-07  2:46 Srinivas Kandagatla
  2016-04-18 20:16 ` Andy Gross
  2016-04-20  6:06 ` gpramod
  0 siblings, 2 replies; 3+ messages in thread
From: Srinivas Kandagatla @ 2016-03-07  2:46 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-serial
  Cc: Andy Gross, David Brown, Jiri Slaby, linux-arm-msm, linux-soc,
	linux-kernel, Srinivas Kandagatla

The issue with setting up a fixed clock rate at probe is that it would
overwrite the console rate set by the bootloader for its console device.
This would result in serial out corruption or missing log when we system
is booted with earlycon. This is not a issue if we boot system without
earlycon.

This setup is at least not required with the mainline driver, this code
used to be required because the clk_enable() call would fail if
clk_set_rate() wasn't called first.

Originally the issue was noticed on DB410c which is based on APQ8016
chipset.

Without this patch the console log with earlycon would look like:
...
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=1
[    0.000000] NR_IRQS:64 nr_irqs:64 0
����+HH��0.699378] console [ttyMSM0] enabled
[    0.699378] console [ttyMSM0] enabled
[    0.702003] bootconsole [uart0] disabled
[    0.702003] bootconsole [uart0] disabled
...

with this patch I can see all the skipped lines on the console

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---

Changes since v1:
	- removed empty line suggested by Greg KH
	- added reviewed-by 
	- added extra comment suggested by Stephen Boyd.

 drivers/tty/serial/msm_serial.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c
index dcde955..3bf41ab 100644
--- a/drivers/tty/serial/msm_serial.c
+++ b/drivers/tty/serial/msm_serial.c
@@ -1579,8 +1579,6 @@ static int msm_serial_probe(struct platform_device *pdev)
 		msm_port->pclk = devm_clk_get(&pdev->dev, "iface");
 		if (IS_ERR(msm_port->pclk))
 			return PTR_ERR(msm_port->pclk);
-
-		clk_set_rate(msm_port->clk, 1843200);
 	}
 
 	port->uartclk = clk_get_rate(msm_port->clk);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] tty: msm_serial: remove static clk rate setting in probe
  2016-03-07  2:46 [PATCH v2] tty: msm_serial: remove static clk rate setting in probe Srinivas Kandagatla
@ 2016-04-18 20:16 ` Andy Gross
  2016-04-20  6:06 ` gpramod
  1 sibling, 0 replies; 3+ messages in thread
From: Andy Gross @ 2016-04-18 20:16 UTC (permalink / raw)
  To: Srinivas Kandagatla
  Cc: Greg Kroah-Hartman, linux-serial, David Brown, Jiri Slaby,
	linux-arm-msm, linux-soc, linux-kernel

On Mon, Mar 07, 2016 at 02:46:40AM +0000, Srinivas Kandagatla wrote:
> The issue with setting up a fixed clock rate at probe is that it would
> overwrite the console rate set by the bootloader for its console device.
> This would result in serial out corruption or missing log when we system
> is booted with earlycon. This is not a issue if we boot system without
> earlycon.
> 
> This setup is at least not required with the mainline driver, this code
> used to be required because the clk_enable() call would fail if
> clk_set_rate() wasn't called first.
> 
> Originally the issue was noticed on DB410c which is based on APQ8016
> chipset.
> 
> Without this patch the console log with earlycon would look like:
> ...
> [    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=1
> [    0.000000] NR_IRQS:64 nr_irqs:64 0
> ����+HH��0.699378] console [ttyMSM0] enabled
> [    0.699378] console [ttyMSM0] enabled
> [    0.702003] bootconsole [uart0] disabled
> [    0.702003] bootconsole [uart0] disabled
> ...
> 
> with this patch I can see all the skipped lines on the console
> 
> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

Acked-by: Andy Gross <andy.gross@linaro.org>

Greg,

Can you pick this one up?

Thanks

Andy

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] tty: msm_serial: remove static clk rate setting in probe
  2016-03-07  2:46 [PATCH v2] tty: msm_serial: remove static clk rate setting in probe Srinivas Kandagatla
  2016-04-18 20:16 ` Andy Gross
@ 2016-04-20  6:06 ` gpramod
  1 sibling, 0 replies; 3+ messages in thread
From: gpramod @ 2016-04-20  6:06 UTC (permalink / raw)
  To: Srinivas Kandagatla
  Cc: Greg Kroah-Hartman, linux-serial, Andy Gross, David Brown,
	Jiri Slaby, linux-arm-msm, linux-soc, linux-kernel,
	linux-kernel-owner

On 2016-03-07 08:16, Srinivas Kandagatla wrote:
> The issue with setting up a fixed clock rate at probe is that it would
> overwrite the console rate set by the bootloader for its console 
> device.
> This would result in serial out corruption or missing log when we 
> system
> is booted with earlycon. This is not a issue if we boot system without
> earlycon.
> 
> This setup is at least not required with the mainline driver, this code
> used to be required because the clk_enable() call would fail if
> clk_set_rate() wasn't called first.
> 
> Originally the issue was noticed on DB410c which is based on APQ8016
> chipset.
> 
> Without this patch the console log with earlycon would look like:
> ...
> [    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, 
> nr_cpu_ids=1
> [    0.000000] NR_IRQS:64 nr_irqs:64 0
> ����+HH��0.699378] console [ttyMSM0] enabled
> [    0.699378] console [ttyMSM0] enabled
> [    0.702003] bootconsole [uart0] disabled
> [    0.702003] bootconsole [uart0] disabled
> ...
> 
> with this patch I can see all the skipped lines on the console
> 
> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> ---

Tested on DB410C. Fixed below curruption with earlycon:

[    0.815843] msm_iommu_ctx 1e3b000.qcom,iommu-ctx: context periph_SDC2 
using bank 27
����[    1.411080] console [ttyMSM0] enabled
[    1.411080] console [ttyMSM0] enabled

Tested-by: Pramod Gurav <gpramod@codeaurora.org>

> 
> Changes since v1:
> 	- removed empty line suggested by Greg KH
> 	- added reviewed-by
> 	- added extra comment suggested by Stephen Boyd.
> 
>  drivers/tty/serial/msm_serial.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/tty/serial/msm_serial.c 
> b/drivers/tty/serial/msm_serial.c
> index dcde955..3bf41ab 100644
> --- a/drivers/tty/serial/msm_serial.c
> +++ b/drivers/tty/serial/msm_serial.c
> @@ -1579,8 +1579,6 @@ static int msm_serial_probe(struct 
> platform_device *pdev)
>  		msm_port->pclk = devm_clk_get(&pdev->dev, "iface");
>  		if (IS_ERR(msm_port->pclk))
>  			return PTR_ERR(msm_port->pclk);
> -
> -		clk_set_rate(msm_port->clk, 1843200);
>  	}
> 
>  	port->uartclk = clk_get_rate(msm_port->clk);

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-04-20  6:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-07  2:46 [PATCH v2] tty: msm_serial: remove static clk rate setting in probe Srinivas Kandagatla
2016-04-18 20:16 ` Andy Gross
2016-04-20  6:06 ` gpramod

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