From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752779AbcCYIWj (ORCPT ); Fri, 25 Mar 2016 04:22:39 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:35360 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752300AbcCYIWf convert rfc822-to-8bit (ORCPT ); Fri, 25 Mar 2016 04:22:35 -0400 X-AuditID: cbfee691-f79766d0000012b6-0a-56f4f547754f MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT Message-id: <56F4F547.4000706@samsung.com> Date: Fri, 25 Mar 2016 17:22:31 +0900 From: Chanwoo Choi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 To: Marek Szyprowski , gregkh@linuxfoundation.org, jslaby@suse.com Cc: k.kozlowski@samsung.com, kgene@kernel.org, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, "Robert Baldyga (SRPOL)" Subject: Re: [PATCH] serial: samsung: Reorder the sequence of clock control when call s3c24xx_serial_set_termios() References: <1457916065-27418-1-git-send-email-cw00.choi@samsung.com> <56F481E8.1000602@samsung.com> <56F4F357.2060407@samsung.com> In-reply-to: <56F4F357.2060407@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrEIsWRmVeSWpSXmKPExsWyRsSkWNf965cwg5bfMhbNi9ezWUzZ8IHJ 4vULQ4v+x6+ZLS7vmsNmMeP8PiaLM4t72S3WHrnLbvHg8E52B06PTas62Tz2z13D7tG3ZRWj x/otV1k8Pm+SC2CN4rJJSc3JLEst0rdL4Mr4veQxa8EuwYozbc2MDYznebsYOTkkBEwkdi2/ yQphi0lcuLeerYuRi0NIYAWjxP67Fxm7GDnAig7+loCIz2KUmHpzPjNIA6+AoMSPyfdYQGqY BdQlpkzJBQkzC4hI3NpwjRnC1pZYtvA1M0TvA0aJxk1T2CF6tSQ+7WhiBLFZBFQlTly9BxZn A4rvf3GDDWSmqECERPeJShBTRCBO4tZHX5AxzAKHGCUW73/MBlIuLFAi8fn/aXaI+a2MElf/ zQJbzAm0eMqLUywgCQmBe+wSjZ3XmSGWCUh8m3yIBeIxWYlNB5ghnpeUOLjiBssERvFZSF6b hfDaLCSvzULy2gJGllWMoqkFyQXFSelFpnrFibnFpXnpesn5uZsYgVF7+t+ziTsY7x+wPsQo wMGoxMPr4P4lTIg1say4MvcQoynQQROZpUST84GpIa8k3tDYzMjC1MTU2Mjc0kxJnFdH+mew kEB6YklqdmpqQWpRfFFpTmrxIUYmDk6pBsZ+RgNlLqnHW+yrW6Ovc+tvP6TPbLXIXil1b2Va /4yT71/I7EuObHmwOfvwB8/b9rl7ZDU6FF1+9y/wX3Ln1BfGjbWTP9lJlvFMYP3BM1nUaGJp 86LvsSmX5+un2Ipk3DQJVI3xK3k63fBJsbW4342vU4zufjJ76fD4qMXjuWJ7c6z9nz41VVdi Kc5INNRiLipOBABMscHi1QIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrKIsWRmVeSWpSXmKPExsVy+t9jQV33r1/CDE7tErdoXryezWLKhg9M Fq9fGFr0P37NbHF51xw2ixnn9zFZnFncy26x9shddosHh3eyO3B6bFrVyeaxf+4ado++LasY PdZvucri8XmTXABrVAOjTUZqYkpqkUJqXnJ+SmZeuq2Sd3C8c7ypmYGhrqGlhbmSQl5ibqqt kotPgK5bZg7QQUoKZYk5pUChgMTiYiV9O0wTQkPcdC1gGiN0fUOC4HqMDNBAwhrGjAOb/jMW dAhWnHpyiLWBcS5vFyMHh4SAicTB3xJdjJxAppjEhXvr2boYuTiEBGYxSky9OZ8ZJMErICjx Y/I9FpB6ZgF5iSOXsiFMdYkpU3Ihyh8wSjRumsIOUa4l8WlHEyOIzSKgKnHi6j2wOBtQfP+L G2wgvaICERLdJypBTBGBOIlbH31BxjALHGKUWLz/MRtIubBAicTn/6fZIea3Mkpc/TcL7BxO AW2JKS9OsUxgBDoS4bpZCNfNQrhuASPzKkaJ1ILkguKk9FzDvNRyveLE3OLSvHS95PzcTYzg KH8mtYPx4C73Q4wCHIxKPLwO7l/ChFgTy4orc4Hu4WBWEuFt2AIU4k1JrKxKLcqPLyrNSS0+ xGgK9N5EZinR5HxgAsoriTc0NjEzsjQyN7QwMjZXEud9/H9dmJBAemJJanZqakFqEUwfEwen VAOjhrapYrr8OQbOi9XGrtsvz9688bJGssJ9UfsPti9M5A2S5QV3aFxfkJNVFngjztHFkI1h iUFl6Z7tbdkWht29y1JYtvevWShkV/WgcModp1dx26ZeqZOqXqGkExoV2jZpP8tkr8svNmo5 sxdus7E7fv/YksRtGfUr3h1x6nWf5f1RfiJXra4SS3FGoqEWc1FxIgCE3qdYCAMAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Dear Marek, On 2016년 03월 25일 17:14, Marek Szyprowski wrote: > Dear Chanwoo, > > On 2016-03-25 01:10, Chanwoo Choi wrote: >> Hi Robert, >> >> I send following patch to fix the broken serial log of Exynos SoC. >> As I knew, you also knew this issue. >> If possible, could you review or test this patch? > > Robert no longer works for Samsung, so I'm afraid that he won't be able to test > this patch. Ah. Thanks for your reply. > >> Best Regards, >> Chanwoo Choi >> >> On 2016년 03월 14일 09:41, Chanwoo Choi wrote: >>> This patch fixes the broken serial log when changing the clock source >>> of uart device. Before disabling the original clock source, this patch >>> enables the new clock source to protect the clock off state for a split second. >>> >>> Signed-off-by: Chanwoo Choi >>> --- >>> drivers/tty/serial/samsung.c | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c >>> index d72cd736bdc6..80d59dbfebba 100644 >>> --- a/drivers/tty/serial/samsung.c >>> +++ b/drivers/tty/serial/samsung.c >>> @@ -1265,13 +1265,13 @@ static void s3c24xx_serial_set_termios(struct uart_port *port, >>> if (ourport->baudclk != clk) { >>> s3c24xx_serial_setsource(port, clk_sel); >>> + clk_prepare_enable(clk); >>> + > > IMHO clk_prepare_enable() should be moved before s3c24xx_serial_setsource() to be > really sure that there will be no period of hw operating with disabled baud clock. > Could you check if it works for you? Yes. I tested it without any problem. But, as you commented, clk_prepare_enable() should be called before s3c24xx_serial_setsource(). I'll modify it. > >>> if (!IS_ERR(ourport->baudclk)) { >>> clk_disable_unprepare(ourport->baudclk); >>> ourport->baudclk = ERR_PTR(-EINVAL); >>> } >>> - clk_prepare_enable(clk); >>> - >>> ourport->baudclk = clk; >>> ourport->baudclk_rate = clk ? clk_get_rate(clk) : 0; >>> } > > Best regards Best Regards, Chanwoo Choi