Message ID | 1457318800-26090-1-git-send-email-srinivas.kandagatla@linaro.org |
---|---|
State | Accepted |
Commit | 79c9473f115f99906b6ae443708b8ece480e2e88 |
Headers | show |
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 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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);