From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45B6AC433E3 for ; Sat, 22 Aug 2020 15:18:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 24F5020838 for ; Sat, 22 Aug 2020 15:18:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1598109527; bh=qLFyfzV8A4SmcuXtDf8CYWnpoQBFNQx5tPFWbwMa0Es=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=kG//pvh+vjDGVacYNKhRIaVv7FEQmwxAlhnYmpvFD+GNuONEETgELiRdzE0z6zqcC 9foFKhDQ3jonvsvbcsLC2DLnVhTfkzoyTaFFyFtH8Jvan351b0/vI3dvyUxswWOXDg rVvPeBjooSgMGA7UfSZhjMBaF+8Qt4UjC0kUQZrA= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728020AbgHVPSq convert rfc822-to-8bit (ORCPT ); Sat, 22 Aug 2020 11:18:46 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:39827 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727807AbgHVPSp (ORCPT ); Sat, 22 Aug 2020 11:18:45 -0400 Received: by mail-wr1-f66.google.com with SMTP id a5so4567744wrm.6; Sat, 22 Aug 2020 08:18:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=fPurPcq4qIlsFmVZToY8qZyZV/HXm+35zPSjztTMBbk=; b=RnHBy8FoT6Z6vtdD4wKfJaNHSVPsg4CvGvsOy/FAascPpMTGFY438NYgVrT+clquCY 5zKgykQGAXd3WLMcDv7b1Zp8KxvuF3PjAvgEnjF/q+WQLatvdJvPDmlFimLpQRDBz4Pg 03zomDg/gzdAFQtdFz8nkRQpaRYUIBXwipjXjQeTgy3lx5s9mpyCjTi4dpiFlF/H3+Q2 ZB7FeFnsFVkMG0f1UZJy4lJjjKDVSVq6qc8juoyfiz0P/wCzZ9pIyR2EocrmEvYFSGEY RVjZWdmW1uyh98Vj4C4cHGrgSjbx+ZYsSiFb4rfZNdrGYSzLkSSGBd5HBb8wYHhBAVES uqPw== X-Gm-Message-State: AOAM532T1qkDrwy7WF7qxKlxDF5r5xu4gTNrpPgTxb522aW1o15+gHFT 6ZbymATerxUhDdTuSkEHjcg= X-Google-Smtp-Source: ABdhPJxopqANZ1WSRtMZknMlZMkWKProljOBBBQjtUznRcRFTqGL5IEt7HEGpC7njulqLAHazh5Wgg== X-Received: by 2002:adf:fac8:: with SMTP id a8mr7477185wrs.368.1598109523037; Sat, 22 Aug 2020 08:18:43 -0700 (PDT) Received: from kozik-lap ([194.230.155.216]) by smtp.googlemail.com with ESMTPSA id m16sm10738841wrr.71.2020.08.22.08.18.31 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 22 Aug 2020 08:18:42 -0700 (PDT) Date: Sat, 22 Aug 2020 17:18:19 +0200 From: Krzysztof Kozlowski To: Tomasz Figa Cc: =?utf-8?Q?=C5=81ukasz?= Stelmach , Kukjin Kim , Andi Shyti , Mark Brown , linux-spi@vger.kernel.org, linux-samsung-soc , "list@263.net:IOMMU DRIVERS , Joerg Roedel ," , Linux Kernel Mailing List , Marek Szyprowski , Bartlomiej Zolnierkiewicz Subject: Re: [PATCH v2 7/9] spi: spi-s3c64xx: Ensure cur_speed holds actual clock value Message-ID: <20200822151819.GA13668@kozik-lap> References: <20200821161401.11307-1-l.stelmach@samsung.com> <20200821161401.11307-8-l.stelmach@samsung.com> <20200822124325.GF20423@kozik-lap> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8BIT In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org On Sat, Aug 22, 2020 at 04:52:40PM +0200, Tomasz Figa wrote: > On Sat, Aug 22, 2020 at 2:43 PM Krzysztof Kozlowski wrote: > > > > On Fri, Aug 21, 2020 at 06:13:59PM +0200, Ɓukasz Stelmach wrote: > > > cur_speed is used to calculate transfer timeout and needs to be > > > set to the actual value of (half) the clock speed for precise > > > calculations. > > > > If you need this only for timeout calculation just divide it in > > s3c64xx_wait_for_dma(). > > Division is not the point of the patch. The point is that > clk_set_rate() that was originally there doesn't guarantee that the > rate is set exactly. Unfortunately onlt that point of timeout is mentioned in commit msg. If the correction of timeout was not the point of the patch, then describe the real point... > The rate directly determines the SPI transfer > speed and thus the driver needs to use the rate that was actually set > for further calculations. Yep, makes sense. > > > Otherwise why only if (cmu) case is updated? > > Right, the !cmu case actually suffers from the same problem. The code > divides the parent clock rate with the requested speed to obtain the > divider to program into the register. This is subject to integer > rounding, so (parent / (parent / speed)) doesn't always equal (speed). It is not only this problem. The meaning of cur_speed is now changed. For !cmu_case this the requested in trasnfer SPI bus clock frequency, for cmu_case this is now real src_clk frequency. It's getting slightly messier. > > > > > You are also affecting here not only timeout but > > s3c64xx_enable_datapath() which is not mentioned in commit log. In other > > words, this looks wrong. > > Actually this is right and fixes one more problem, which I didn't spot > when looking at this code when I suggested the change (I only spotted > the effects on timeout calculation). The rounding error might have > caused wrong configuration there, because e.g. 30000000 Hz could be > requested and rounded to 28000000 Hz. The former is a threshold for > setting the S3C64XX_SPI_CH_HS_EN bit, but the real frequency wouldn't > actually require setting it. Wrong is here describing one thing and doing much more. Best regards, Krzysztof From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E43A6C433E1 for ; Sat, 22 Aug 2020 15:20:29 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AE2AB20639 for ; Sat, 22 Aug 2020 15:20:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Cp1AFa8j" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AE2AB20639 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=cJHN86JnTjMaLKfA8yamoHVugVyDMzOcRp34mmHvqkM=; b=Cp1AFa8jotGmdoZWy41a/0zVO TdZo6ndXwEcGe7EVUmAT4D48jGsnkPtg841ao+MbdMjDkCg/IsEdHjzYoSR8JvQE+1+3Xu9/6XI+r U22WuhzopPnW5qOAGPXgbU0x/b5WewHNrSUJBvzp+J4LPi15xjnLjibttzPUBR4Ubee2fApmHQ+IA gx/dMJ7s1t3fgJ7cr2vaur6HcT9DO6om2PgKKGILysatzzdnOhxSx5WsMp3VMUhCQEAaFlA+BBXtf lI2ze+ZreqhiY40rZw+O3YwiyxWslUqCfU55U2NG8Yi7Pq0VMCRib6C4i8QBpmZHPdQEVU5UOMzR2 I5c7xW98g==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k9VI7-00016C-NS; Sat, 22 Aug 2020 15:18:47 +0000 Received: from mail-wr1-f66.google.com ([209.85.221.66]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k9VI4-00015k-Sa for linux-arm-kernel@lists.infradead.org; Sat, 22 Aug 2020 15:18:45 +0000 Received: by mail-wr1-f66.google.com with SMTP id f7so4588701wrw.1 for ; Sat, 22 Aug 2020 08:18:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=fPurPcq4qIlsFmVZToY8qZyZV/HXm+35zPSjztTMBbk=; b=K5iskfAOfz0j9z41pAPZ5vDW00Io/PpVPYM3XzzLDi26cBPcc1Qqc58fIGhS8BtzyV x5yASGojhlTt2oZ/Pc/DQe/6lowZha32UzxB6vVdAWI2ymV9GQmwLr1FjPvqX2D6Vcpp Dt0obM7esawryQ79VJbavN9ibsfQflRclYd3P2bLkXpXa/EtGWesaK6lJEeWTC0g0t4G q1H5QmK49bWP7uKpvPRvn+GJTFNDK9BscULqUtaNkisjIF2T3I6k0Ls69D5JMTZyNHU1 DF6tbWOJzQEz5xs7ivE9rcRu73qwgOsa+tGoTcfG3kdh2yq5BulYXPO7K2qXgCnHZuGP zjJg== X-Gm-Message-State: AOAM531lfLs7zlXFWMPr+7ZkQHxzPAKD5bY+9ceXFC4wM58uDnWC4tXl in3eE380xDUbmNZMjSlcYNo= X-Google-Smtp-Source: ABdhPJxopqANZ1WSRtMZknMlZMkWKProljOBBBQjtUznRcRFTqGL5IEt7HEGpC7njulqLAHazh5Wgg== X-Received: by 2002:adf:fac8:: with SMTP id a8mr7477185wrs.368.1598109523037; Sat, 22 Aug 2020 08:18:43 -0700 (PDT) Received: from kozik-lap ([194.230.155.216]) by smtp.googlemail.com with ESMTPSA id m16sm10738841wrr.71.2020.08.22.08.18.31 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 22 Aug 2020 08:18:42 -0700 (PDT) Date: Sat, 22 Aug 2020 17:18:19 +0200 From: Krzysztof Kozlowski To: Tomasz Figa Subject: Re: [PATCH v2 7/9] spi: spi-s3c64xx: Ensure cur_speed holds actual clock value Message-ID: <20200822151819.GA13668@kozik-lap> References: <20200821161401.11307-1-l.stelmach@samsung.com> <20200821161401.11307-8-l.stelmach@samsung.com> <20200822124325.GF20423@kozik-lap> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200822_111844_959289_EFFEDBBF X-CRM114-Status: GOOD ( 24.86 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-samsung-soc , Bartlomiej Zolnierkiewicz , =?utf-8?Q?=C5=81ukasz?= Stelmach , Linux Kernel Mailing List , linux-spi@vger.kernel.org, Mark Brown , Kukjin Kim , Andi Shyti , "list@263.net:IOMMU DRIVERS , Joerg Roedel , " , Marek Szyprowski Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gU2F0LCBBdWcgMjIsIDIwMjAgYXQgMDQ6NTI6NDBQTSArMDIwMCwgVG9tYXN6IEZpZ2Egd3Jv dGU6Cj4gT24gU2F0LCBBdWcgMjIsIDIwMjAgYXQgMjo0MyBQTSBLcnp5c3p0b2YgS296bG93c2tp IDxrcnprQGtlcm5lbC5vcmc+IHdyb3RlOgo+ID4KPiA+IE9uIEZyaSwgQXVnIDIxLCAyMDIwIGF0 IDA2OjEzOjU5UE0gKzAyMDAsIMWBdWthc3ogU3RlbG1hY2ggd3JvdGU6Cj4gPiA+IGN1cl9zcGVl ZCBpcyB1c2VkIHRvIGNhbGN1bGF0ZSB0cmFuc2ZlciB0aW1lb3V0IGFuZCBuZWVkcyB0byBiZQo+ ID4gPiBzZXQgdG8gdGhlIGFjdHVhbCB2YWx1ZSBvZiAoaGFsZikgdGhlIGNsb2NrIHNwZWVkIGZv ciBwcmVjaXNlCj4gPiA+IGNhbGN1bGF0aW9ucy4KPiA+Cj4gPiBJZiB5b3UgbmVlZCB0aGlzIG9u bHkgZm9yIHRpbWVvdXQgY2FsY3VsYXRpb24ganVzdCBkaXZpZGUgaXQgaW4KPiA+IHMzYzY0eHhf d2FpdF9mb3JfZG1hKCkuCj4gCj4gRGl2aXNpb24gaXMgbm90IHRoZSBwb2ludCBvZiB0aGUgcGF0 Y2guIFRoZSBwb2ludCBpcyB0aGF0Cj4gY2xrX3NldF9yYXRlKCkgdGhhdCB3YXMgb3JpZ2luYWxs eSB0aGVyZSBkb2Vzbid0IGd1YXJhbnRlZSB0aGF0IHRoZQo+IHJhdGUgaXMgc2V0IGV4YWN0bHku CgpVbmZvcnR1bmF0ZWx5IG9ubHQgdGhhdCBwb2ludCBvZiB0aW1lb3V0IGlzIG1lbnRpb25lZCBp biBjb21taXQgbXNnLiBJZgp0aGUgY29ycmVjdGlvbiBvZiB0aW1lb3V0IHdhcyBub3QgdGhlIHBv aW50IG9mIHRoZSBwYXRjaCwgdGhlbiBkZXNjcmliZQp0aGUgcmVhbCBwb2ludC4uLgoKPiBUaGUg cmF0ZSBkaXJlY3RseSBkZXRlcm1pbmVzIHRoZSBTUEkgdHJhbnNmZXIKPiBzcGVlZCBhbmQgdGh1 cyB0aGUgZHJpdmVyIG5lZWRzIHRvIHVzZSB0aGUgcmF0ZSB0aGF0IHdhcyBhY3R1YWxseSBzZXQK PiBmb3IgZnVydGhlciBjYWxjdWxhdGlvbnMuCgpZZXAsIG1ha2VzIHNlbnNlLgoKPiAKPiA+IE90 aGVyd2lzZSB3aHkgb25seSBpZiAoY211KSBjYXNlIGlzIHVwZGF0ZWQ/Cj4gCj4gUmlnaHQsIHRo ZSAhY211IGNhc2UgYWN0dWFsbHkgc3VmZmVycyBmcm9tIHRoZSBzYW1lIHByb2JsZW0uIFRoZSBj b2RlCj4gZGl2aWRlcyB0aGUgcGFyZW50IGNsb2NrIHJhdGUgd2l0aCB0aGUgcmVxdWVzdGVkIHNw ZWVkIHRvIG9idGFpbiB0aGUKPiBkaXZpZGVyIHRvIHByb2dyYW0gaW50byB0aGUgcmVnaXN0ZXIu IFRoaXMgaXMgc3ViamVjdCB0byBpbnRlZ2VyCj4gcm91bmRpbmcsIHNvIChwYXJlbnQgLyAocGFy ZW50IC8gc3BlZWQpKSBkb2Vzbid0IGFsd2F5cyBlcXVhbCAoc3BlZWQpLgoKSXQgaXMgbm90IG9u bHkgdGhpcyBwcm9ibGVtLiBUaGUgbWVhbmluZyBvZiBjdXJfc3BlZWQgaXMgbm93IGNoYW5nZWQu CkZvciAhY211X2Nhc2UgdGhpcyB0aGUgcmVxdWVzdGVkIGluIHRyYXNuZmVyIFNQSSBidXMgY2xv Y2sgZnJlcXVlbmN5LApmb3IgY211X2Nhc2UgdGhpcyBpcyBub3cgcmVhbCBzcmNfY2xrIGZyZXF1 ZW5jeS4gSXQncyBnZXR0aW5nIHNsaWdodGx5Cm1lc3NpZXIuCgo+IAo+ID4KPiA+IFlvdSBhcmUg YWxzbyBhZmZlY3RpbmcgaGVyZSBub3Qgb25seSB0aW1lb3V0IGJ1dAo+ID4gczNjNjR4eF9lbmFi bGVfZGF0YXBhdGgoKSB3aGljaCBpcyBub3QgbWVudGlvbmVkIGluIGNvbW1pdCBsb2cuIEluIG90 aGVyCj4gPiB3b3JkcywgdGhpcyBsb29rcyB3cm9uZy4KPiAKPiBBY3R1YWxseSB0aGlzIGlzIHJp Z2h0IGFuZCBmaXhlcyBvbmUgbW9yZSBwcm9ibGVtLCB3aGljaCBJIGRpZG4ndCBzcG90Cj4gd2hl biBsb29raW5nIGF0IHRoaXMgY29kZSB3aGVuIEkgc3VnZ2VzdGVkIHRoZSBjaGFuZ2UgKEkgb25s eSBzcG90dGVkCj4gdGhlIGVmZmVjdHMgb24gdGltZW91dCBjYWxjdWxhdGlvbikuIFRoZSByb3Vu ZGluZyBlcnJvciBtaWdodCBoYXZlCj4gY2F1c2VkIHdyb25nIGNvbmZpZ3VyYXRpb24gdGhlcmUs IGJlY2F1c2UgZS5nLiAzMDAwMDAwMCBIeiBjb3VsZCBiZQo+IHJlcXVlc3RlZCBhbmQgcm91bmRl ZCB0byAyODAwMDAwMCBIei4gVGhlIGZvcm1lciBpcyBhIHRocmVzaG9sZCBmb3IKPiBzZXR0aW5n IHRoZSBTM0M2NFhYX1NQSV9DSF9IU19FTiBiaXQsIGJ1dCB0aGUgcmVhbCBmcmVxdWVuY3kgd291 bGRuJ3QKPiBhY3R1YWxseSByZXF1aXJlIHNldHRpbmcgaXQuCgpXcm9uZyBpcyBoZXJlIGRlc2Ny aWJpbmcgb25lIHRoaW5nIGFuZCBkb2luZyBtdWNoIG1vcmUuCgpCZXN0IHJlZ2FyZHMsCktyenlz enRvZgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LWFybS1rZXJuZWwK