Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755857AbcCCCbH (ORCPT ); Wed, 2 Mar 2016 21:31:07 -0500 Received: from mailout3.w1.samsung.com ([210.118.77.13]:47816 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754801AbcCCCbF (ORCPT ); Wed, 2 Mar 2016 21:31:05 -0500 X-AuditID: cbfec7f4-f79026d00000418a-a7-56d7a1e4fee6 Subject: Re: [RFC PATCH] watchdog: s3c2410_wdt: Add max and min timeout values To: Javier Martinez Canillas , linux-kernel@vger.kernel.org References: <1456850717-3670-1-git-send-email-javier@osg.samsung.com> <56D62979.5040009@samsung.com> <56D7233B.50907@osg.samsung.com> <56D7838D.4060602@samsung.com> <56D79E1D.3030302@osg.samsung.com> Cc: Guenter Roeck , Kukjin Kim , Wim Van Sebroeck , linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-watchdog@vger.kernel.org, Chanwoo Choi From: Krzysztof Kozlowski X-Enigmail-Draft-Status: N1110 Message-id: <56D7A1DF.9030805@samsung.com> Date: Thu, 03 Mar 2016 11:30:55 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-version: 1.0 In-reply-to: <56D79E1D.3030302@osg.samsung.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrHLMWRmVeSWpSXmKPExsVy+t/xK7pPFl4PM7gxgd/i+pfnrBZv3q5h snj9wtCi//FrZotNj6+xWlzeNYfNYsb5fUwWN9btY7d4svAMk8WtGS9YHbg8rm0W89i0qpPN Y/OSeo8t/XfZPXZ+b2D36NuyitHj8ya5APYoLpuU1JzMstQifbsErozL3y6zFCzhq5jY3s/W wDifu4uRk0NCwETi4KldzBC2mMSFe+vZuhi5OIQEljJK3G/dyQ7hPGWUOHrqLBNIlbCAn8T6 yS0sILaIQKjEv4u3GSGKTjNK/J/WxwriMAv8YZQ48eor2Fw2AWOJzcuXsEHskJPo7Z4E1s0r oCXR+f8pWA2LgKrEvL0L2EFsUYEIicOdXewQNYISPybfA6vnFNCX6D52DCjOAbRAT+L+RS2Q MLOAvMTmNW+ZJzAKzkLSMQuhahaSqgWMzKsYRVNLkwuKk9JzDfWKE3OLS/PS9ZLzczcxQmLl yw7GxcesDjEKcDAq8fDeaLgeJsSaWFZcmXuIUYKDWUmEd/E0oBBvSmJlVWpRfnxRaU5q8SFG aQ4WJXHeubvehwgJpCeWpGanphakFsFkmTg4pRoYZZ5/nmgpvyxBTn/v1skmHW62jCssfZ+6 lf7dMlMos0A110lkYsb1p+27tgbtuj19n6HwNaYXwZLL5i/bYXj1rUv+6m07HuXm6kw/qHu7 RGeO7rXt/pLG1eb1+ve1PCaXZUs6WDBkpvzj2rZAP5L1JPv3WZOcr1+b83mSVbDI/C/H9Df/ U1rYqsRSnJFoqMVcVJwIAHHnTjeRAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1774 Lines: 52 On 03.03.2016 11:14, Javier Martinez Canillas wrote: > Hello Krzysztof, > > On 03/02/2016 09:21 PM, Krzysztof Kozlowski wrote: >> On 03.03.2016 02:30, Javier Martinez Canillas wrote: > > [snip] > >>>>> >>>>> + wdt->wdt_device.min_timeout = 1; >>>>> + wdt->wdt_device.max_timeout = s3c2410wdt_max_timeout(wdt->clock); >>>> >>>> Can the frequency of clock change? E.g. with devfreq? No problem if it >>>> goes lower but if it gets higher than initial, then the problem will >>>> appear again. >>>> > > I think both cases are problematic since low scaling will meant that the > watchdog will support a bigger timeout than what was set as maximum (this > will be a regression) and going up will mean that the maximum timeout is > bigger than what the watchdog supports (the same issue without this patch). Yes, both cases are bad. >> The problem will be more severe if the watchdog got configured on 50 MHz >> and then devfreq bumps the clock to 100 MHz... >> > > So, what do you propose? We could for example set a maximum timeout on > probe > as $SUBJECT do and also update the maximum timeout again on the > .set_timeout > callback in case the clock rate changed. Or print warning and don't care... :) > I think that is kind of hacky > but I > can't think of another way to guard about the frequency being changed. First of all your patch does not introduce any kind of regression on its own. Since we are at the topic of watchdog I am just looking for doing this properly. We can merge the patches now and fix stuff later. Second, I think there won't be any issues with current mainline code (and devfreq). I don't care about out of tree code. Third, it would be good to confirm that watchdog clock really changes frequency with devfreq... BR, KRzysztof