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.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,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 80B3EC433E9 for ; Fri, 5 Mar 2021 10:59:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4459465017 for ; Fri, 5 Mar 2021 10:59:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229493AbhCEK7A (ORCPT ); Fri, 5 Mar 2021 05:59:00 -0500 Received: from 4.mo173.mail-out.ovh.net ([46.105.34.219]:48214 "EHLO 4.mo173.mail-out.ovh.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229563AbhCEK60 (ORCPT ); Fri, 5 Mar 2021 05:58:26 -0500 X-Greylist: delayed 2018 seconds by postgrey-1.27 at vger.kernel.org; Fri, 05 Mar 2021 05:58:26 EST Received: from player787.ha.ovh.net (unknown [10.110.103.133]) by mo173.mail-out.ovh.net (Postfix) with ESMTP id 6BE501605C7 for ; Fri, 5 Mar 2021 11:39:47 +0100 (CET) Received: from milecki.pl (ip-194-187-74-233.konfederacka.maverick.com.pl [194.187.74.233]) (Authenticated sender: rafal@milecki.pl) by player787.ha.ovh.net (Postfix) with ESMTPSA id 46D2E1BE6FC32; Fri, 5 Mar 2021 10:39:37 +0000 (UTC) Authentication-Results: garm.ovh; auth=pass (GARM-97G002147fd398-b58b-41e1-ab1a-00ab95efaa5d, 4F7D11A3904BD8E553EC742B87CBB6774FEDAA0F) smtp.auth=rafal@milecki.pl X-OVh-ClientIp: 194.187.74.233 Subject: Re: [PATCH 2/2] nvmem: iomap: new driver exposing NVMEM accessible using I/O mapping To: Srinivas Kandagatla , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Rob Herring Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Florian Fainelli , Vivek Unune , bcm-kernel-feedback-list@broadcom.com, linux-kernel@vger.kernel.org References: <20210304144132.24098-1-zajec5@gmail.com> <20210304144132.24098-2-zajec5@gmail.com> <047bced8-6c20-4a0a-c7ea-e0ad83318461@linaro.org> <93708a21-3444-f68e-c834-a4f769a0acba@milecki.pl> <35e498b6-3b2c-d154-db00-d755af339b60@linaro.org> From: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Message-ID: Date: Fri, 5 Mar 2021 11:39:36 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: <35e498b6-3b2c-d154-db00-d755af339b60@linaro.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 752945565747678743 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduledruddtiedgudekucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepuffvfhfhkffffgggjggtgfesthekredttdefjeenucfhrhhomheptfgrfhgrlhcuofhilhgvtghkihcuoehrrghfrghlsehmihhlvggtkhhirdhplheqnecuggftrfgrthhtvghrnhepkeduheejheffudefhffghfegjeejleetkeevueelveegkefhhfffieehleelgfevnecukfhppedtrddtrddtrddtpdduleegrddukeejrdejgedrvdeffeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphdqohhuthdphhgvlhhopehplhgrhigvrhejkeejrdhhrgdrohhvhhdrnhgvthdpihhnvghtpedtrddtrddtrddtpdhmrghilhhfrhhomheprhgrfhgrlhesmhhilhgvtghkihdrphhlpdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhg Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05.03.2021 11:33, Srinivas Kandagatla wrote: > On 05/03/2021 10:24, Rafał Miłecki wrote: >>>> >>>> +static int iomap_read(void *context, unsigned int offset, void *val, >>>> +              size_t bytes) >>>> +{ >>>> +    struct iomap *priv = context; >>>> +    u8 *src = priv->base + offset; >>>> +    u8 *dst = val; >>>> +    size_t tmp; >>>> + >>>> +    tmp = offset % 4; >>>> +    memcpy_fromio(dst, src, tmp); >>>> +    dst += tmp; >>>> +    src += tmp; >>>> +    bytes -= tmp; >>>> + >>>> +    tmp = rounddown(bytes, 4); >>>> +    __ioread32_copy(dst, src, tmp / 4); >>>> +    dst += tmp; >>>> +    src += tmp; >>>> +    bytes -= tmp; >>>> + >>>> +    memcpy_fromio(dst, src, bytes); >>>> + >>> >>> >>> You could just do this! >>> >>>      while (bytes--) >>>          *val++ = readb(priv->base + offset + i++); >> >> Do you mean that as replacement for "memcpy_fromio" or the whole >> function code? > > Yes please! > >> The reason for using __ioread32_copy() was to improve reading >> performance (using aligned 32 bit access where possible). I'm not sure >> if that really matters? > > Just simple while loop is much readable than the previous code TBH! > >> > >> P.S. >> Please don't yell at me in every sentence :( Makes me a bit sad :( > Sorry!! I did not mean anything as such! :-) All clear (I hope)! Thanks for your review! 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.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,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 9558AC433DB for ; Fri, 5 Mar 2021 10:42:48 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 0B35164FDF for ; Fri, 5 Mar 2021 10:42:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0B35164FDF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=milecki.pl 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=desiato.20200630; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=WYBq4rqOXHG0+qHon7lVnjuRr5mTSd/MhN18p9YSnpI=; b=Kbxbb+Ak5bJYNavUqVSA8XHeP pbrYaAEFRsMc9tBkxllPh1FiyVBN8wgq9hJhZt/njOvplqU53NSiWbrzVLt6R4slkbaTEBVlNjCBM G3K6b0KoseaGGYqpaB6EQXddJL2BiPiU5JASU6ip+GV027fS/On4+1bIHlqgOliYrar+hWhxIrABE ETSqzWMwaY76aXZFPIWIr8tloqQvz7INGLNAawPuiQvk8Q0qHOrNtb+i6k+6JSbqqMye+/JXB2e2C SYXLnUU1LA/VxLggKUudYClEV3/sKS3YQ/ngDT/k+4W0TcFoVUn7hCGV5iy+YsOx+9A2gLAbUP5BX IExPMLPHw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lI7sI-00Ebhs-LB; Fri, 05 Mar 2021 10:40:03 +0000 Received: from 10.mo6.mail-out.ovh.net ([87.98.157.236]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lI7s7-00Ebfl-2a for linux-arm-kernel@lists.infradead.org; Fri, 05 Mar 2021 10:39:55 +0000 Received: from player787.ha.ovh.net (unknown [10.109.138.83]) by mo6.mail-out.ovh.net (Postfix) with ESMTP id 84F96244FE1 for ; Fri, 5 Mar 2021 11:39:47 +0100 (CET) Received: from milecki.pl (ip-194-187-74-233.konfederacka.maverick.com.pl [194.187.74.233]) (Authenticated sender: rafal@milecki.pl) by player787.ha.ovh.net (Postfix) with ESMTPSA id 46D2E1BE6FC32; Fri, 5 Mar 2021 10:39:37 +0000 (UTC) Authentication-Results: garm.ovh; auth=pass (GARM-97G002147fd398-b58b-41e1-ab1a-00ab95efaa5d, 4F7D11A3904BD8E553EC742B87CBB6774FEDAA0F) smtp.auth=rafal@milecki.pl X-OVh-ClientIp: 194.187.74.233 Subject: Re: [PATCH 2/2] nvmem: iomap: new driver exposing NVMEM accessible using I/O mapping To: Srinivas Kandagatla , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Rob Herring Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, Florian Fainelli , Vivek Unune , bcm-kernel-feedback-list@broadcom.com, linux-kernel@vger.kernel.org References: <20210304144132.24098-1-zajec5@gmail.com> <20210304144132.24098-2-zajec5@gmail.com> <047bced8-6c20-4a0a-c7ea-e0ad83318461@linaro.org> <93708a21-3444-f68e-c834-a4f769a0acba@milecki.pl> <35e498b6-3b2c-d154-db00-d755af339b60@linaro.org> From: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Message-ID: Date: Fri, 5 Mar 2021 11:39:36 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: <35e498b6-3b2c-d154-db00-d755af339b60@linaro.org> Content-Language: en-US X-Ovh-Tracer-Id: 752945565747678743 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduledruddtiedgudekucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepuffvfhfhkffffgggjggtgfesthekredttdefjeenucfhrhhomheptfgrfhgrlhcuofhilhgvtghkihcuoehrrghfrghlsehmihhlvggtkhhirdhplheqnecuggftrfgrthhtvghrnhepkeduheejheffudefhffghfegjeejleetkeevueelveegkefhhfffieehleelgfevnecukfhppedtrddtrddtrddtpdduleegrddukeejrdejgedrvdeffeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphdqohhuthdphhgvlhhopehplhgrhigvrhejkeejrdhhrgdrohhvhhdrnhgvthdpihhnvghtpedtrddtrddtrddtpdhmrghilhhfrhhomheprhgrfhgrlhesmhhilhgvtghkihdrphhlpdhrtghpthhtoheplhhinhhugidqrghrmhdqkhgvrhhnvghlsehlihhsthhsrdhinhhfrhgruggvrggurdhorhhg X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210305_103953_400634_8EA1B3F9 X-CRM114-Status: GOOD ( 16.06 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMDUuMDMuMjAyMSAxMTozMywgU3Jpbml2YXMgS2FuZGFnYXRsYSB3cm90ZToKPiBPbiAwNS8w My8yMDIxIDEwOjI0LCBSYWZhxYIgTWnFgmVja2kgd3JvdGU6Cj4+Pj4KPj4+PiArc3RhdGljIGlu dCBpb21hcF9yZWFkKHZvaWQgKmNvbnRleHQsIHVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKnZh bCwKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2l6ZV90IGJ5dGVzKQo+Pj4+ICt7 Cj4+Pj4gK8KgwqDCoCBzdHJ1Y3QgaW9tYXAgKnByaXYgPSBjb250ZXh0Owo+Pj4+ICvCoMKgwqAg dTggKnNyYyA9IHByaXYtPmJhc2UgKyBvZmZzZXQ7Cj4+Pj4gK8KgwqDCoCB1OCAqZHN0ID0gdmFs Owo+Pj4+ICvCoMKgwqAgc2l6ZV90IHRtcDsKPj4+PiArCj4+Pj4gK8KgwqDCoCB0bXAgPSBvZmZz ZXQgJSA0Owo+Pj4+ICvCoMKgwqAgbWVtY3B5X2Zyb21pbyhkc3QsIHNyYywgdG1wKTsKPj4+PiAr wqDCoMKgIGRzdCArPSB0bXA7Cj4+Pj4gK8KgwqDCoCBzcmMgKz0gdG1wOwo+Pj4+ICvCoMKgwqAg Ynl0ZXMgLT0gdG1wOwo+Pj4+ICsKPj4+PiArwqDCoMKgIHRtcCA9IHJvdW5kZG93bihieXRlcywg NCk7Cj4+Pj4gK8KgwqDCoCBfX2lvcmVhZDMyX2NvcHkoZHN0LCBzcmMsIHRtcCAvIDQpOwo+Pj4+ ICvCoMKgwqAgZHN0ICs9IHRtcDsKPj4+PiArwqDCoMKgIHNyYyArPSB0bXA7Cj4+Pj4gK8KgwqDC oCBieXRlcyAtPSB0bXA7Cj4+Pj4gKwo+Pj4+ICvCoMKgwqAgbWVtY3B5X2Zyb21pbyhkc3QsIHNy YywgYnl0ZXMpOwo+Pj4+ICsKPj4+Cj4+Pgo+Pj4gWW91IGNvdWxkIGp1c3QgZG8gdGhpcyEKPj4+ Cj4+PiDCoMKgwqDCoMKgd2hpbGUgKGJ5dGVzLS0pCj4+PiDCoMKgwqDCoMKgwqDCoMKgICp2YWwr KyA9IHJlYWRiKHByaXYtPmJhc2UgKyBvZmZzZXQgKyBpKyspOwo+Pgo+PiBEbyB5b3UgbWVhbiB0 aGF0IGFzIHJlcGxhY2VtZW50IGZvciAibWVtY3B5X2Zyb21pbyIgb3IgdGhlIHdob2xlCj4+IGZ1 bmN0aW9uIGNvZGU/Cj4gCj4gWWVzIHBsZWFzZSEKPiAKPj4gVGhlIHJlYXNvbiBmb3IgdXNpbmcg X19pb3JlYWQzMl9jb3B5KCkgd2FzIHRvIGltcHJvdmUgcmVhZGluZwo+PiBwZXJmb3JtYW5jZSAo dXNpbmcgYWxpZ25lZCAzMiBiaXQgYWNjZXNzIHdoZXJlIHBvc3NpYmxlKS4gSSdtIG5vdCBzdXJl Cj4+IGlmIHRoYXQgcmVhbGx5IG1hdHRlcnM/Cj4gCj4gSnVzdCBzaW1wbGUgd2hpbGUgbG9vcCBp cyBtdWNoIHJlYWRhYmxlIHRoYW4gdGhlIHByZXZpb3VzIGNvZGUgVEJIIQo+IAo+Pgo+IAo+PiBQ LlMuCj4+IFBsZWFzZSBkb24ndCB5ZWxsIGF0IG1lIGluIGV2ZXJ5IHNlbnRlbmNlIDooIE1ha2Vz IG1lIGEgYml0IHNhZCA6KAo+IFNvcnJ5ISEgSSBkaWQgbm90IG1lYW4gYW55dGhpbmcgYXMgc3Vj aCEgOi0pCgpBbGwgY2xlYXIgKEkgaG9wZSkhIFRoYW5rcyBmb3IgeW91ciByZXZpZXchCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg==