From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.bootlin.com ([62.4.15.54]) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1fQwWt-00042z-4a for linux-mtd@lists.infradead.org; Thu, 07 Jun 2018 15:08:48 +0000 Date: Thu, 7 Jun 2018 17:08:24 +0200 From: Miquel Raynal To: Boris Brezillon Cc: David Woodhouse , Brian Norris , Marek Vasut , Richard Weinberger , linux-mtd@lists.infradead.org, Mark Brown , linux-spi@vger.kernel.org, Cyrille Pitchen , Vignesh R , Thomas Petazzoni Subject: Re: [RFC PATCH 2/2] mtd: m25p80: Use the SPI mem direct API to possibly improve performances Message-ID: <20180607170824.6c32bfc3@xps13> In-Reply-To: <20180601143603.4047-3-boris.brezillon@bootlin.com> References: <20180601143603.4047-1-boris.brezillon@bootlin.com> <20180601143603.4047-3-boris.brezillon@bootlin.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Hi Boris, On Fri, 1 Jun 2018 16:36:03 +0200, Boris Brezillon wrote: > Make use of the SPI mem direct mapping API. >=20 > Signed-off-by: Boris Brezillon > --- > drivers/mtd/devices/m25p80.c | 149 ++++++++++++++++++++++++++-----------= ------ > 1 file changed, 89 insertions(+), 60 deletions(-) >=20 > diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c > index 1dd5f0420b5a..285fc94118ae 100644 > --- a/drivers/mtd/devices/m25p80.c > +++ b/drivers/mtd/devices/m25p80.c > @@ -31,6 +31,10 @@ > struct m25p { > struct spi_mem *spimem; > struct spi_nor spi_nor; > + struct { > + struct spi_mem_dirmap_desc *write; > + struct spi_mem_dirmap_desc *read; > + } dirmap; > }; While reading this patch I was a bit confused with this naming. You refer these descriptors as 'flash->dirmap->read/write' which is confusing as this is not a function but a descriptor. Passing such variable to a function called spi_meme_dirmap_read/write() is also confusing IMHO (see below). Would you mind renaming them with something like "read/write_desc"? [...] > @@ -107,39 +81,66 @@ static ssize_t m25p80_read(struct spi_nor *nor, loff= _t from, size_t len, > u_char *buf) > { > struct m25p *flash =3D nor->priv; > - struct spi_mem_op op =3D > - SPI_MEM_OP(SPI_MEM_OP_CMD(nor->read_opcode, 1), > - SPI_MEM_OP_ADDR(nor->addr_width, from, 1), > - SPI_MEM_OP_DUMMY(nor->read_dummy, 1), > - SPI_MEM_OP_DATA_IN(len, buf, 1)); > - size_t remaining =3D len; > - int ret; > + > + return spi_mem_dirmap_read(flash->dirmap.read, from, len, buf); ^ The place where I had troubles understanding because of the naming. Thanks, Miqu=C3=A8l From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miquel Raynal Subject: Re: [RFC PATCH 2/2] mtd: m25p80: Use the SPI mem direct API to possibly improve performances Date: Thu, 7 Jun 2018 17:08:24 +0200 Message-ID: <20180607170824.6c32bfc3@xps13> References: <20180601143603.4047-1-boris.brezillon@bootlin.com> <20180601143603.4047-3-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Vignesh R , Richard Weinberger , Cyrille Pitchen , linux-spi@vger.kernel.org, Marek Vasut , Mark Brown , linux-mtd@lists.infradead.org, Thomas Petazzoni , Brian Norris , David Woodhouse To: Boris Brezillon Return-path: In-Reply-To: <20180601143603.4047-3-boris.brezillon@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+gldm-linux-mtd-36=gmane.org@lists.infradead.org List-Id: linux-spi.vger.kernel.org SGkgQm9yaXMsCgpPbiBGcmksICAxIEp1biAyMDE4IDE2OjM2OjAzICswMjAwLCBCb3JpcyBCcmV6 aWxsb24KPGJvcmlzLmJyZXppbGxvbkBib290bGluLmNvbT4gd3JvdGU6Cgo+IE1ha2UgdXNlIG9m IHRoZSBTUEkgbWVtIGRpcmVjdCBtYXBwaW5nIEFQSS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBCb3Jp cyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBib290bGluLmNvbT4KPiAtLS0KPiAgZHJpdmVy cy9tdGQvZGV2aWNlcy9tMjVwODAuYyB8IDE0OSArKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCA2MCBk ZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvZGV2aWNlcy9tMjVwODAu YyBiL2RyaXZlcnMvbXRkL2RldmljZXMvbTI1cDgwLmMKPiBpbmRleCAxZGQ1ZjA0MjBiNWEuLjI4 NWZjOTQxMThhZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL210ZC9kZXZpY2VzL20yNXA4MC5jCj4g KysrIGIvZHJpdmVycy9tdGQvZGV2aWNlcy9tMjVwODAuYwo+IEBAIC0zMSw2ICszMSwxMCBAQAo+ ICBzdHJ1Y3QgbTI1cCB7Cj4gIAlzdHJ1Y3Qgc3BpX21lbQkJKnNwaW1lbTsKPiAgCXN0cnVjdCBz cGlfbm9yCQlzcGlfbm9yOwo+ICsJc3RydWN0IHsKPiArCQlzdHJ1Y3Qgc3BpX21lbV9kaXJtYXBf ZGVzYyAqd3JpdGU7Cj4gKwkJc3RydWN0IHNwaV9tZW1fZGlybWFwX2Rlc2MgKnJlYWQ7Cj4gKwl9 IGRpcm1hcDsKPiAgfTsKCldoaWxlIHJlYWRpbmcgdGhpcyBwYXRjaCBJIHdhcyBhIGJpdCBjb25m dXNlZCB3aXRoIHRoaXMgbmFtaW5nLiBZb3UKcmVmZXIgdGhlc2UgZGVzY3JpcHRvcnMgYXMgJ2Zs YXNoLT5kaXJtYXAtPnJlYWQvd3JpdGUnIHdoaWNoIGlzCmNvbmZ1c2luZyBhcyB0aGlzIGlzIG5v dCBhIGZ1bmN0aW9uIGJ1dCBhIGRlc2NyaXB0b3IuIFBhc3Npbmcgc3VjaAp2YXJpYWJsZSB0byBh IGZ1bmN0aW9uIGNhbGxlZCBzcGlfbWVtZV9kaXJtYXBfcmVhZC93cml0ZSgpIGlzIGFsc28KY29u ZnVzaW5nIElNSE8gKHNlZSBiZWxvdykuCgpXb3VsZCB5b3UgbWluZCByZW5hbWluZyB0aGVtIHdp dGggc29tZXRoaW5nIGxpa2UgInJlYWQvd3JpdGVfZGVzYyI/CgpbLi4uXQoKPiBAQCAtMTA3LDM5 ICs4MSw2NiBAQCBzdGF0aWMgc3NpemVfdCBtMjVwODBfcmVhZChzdHJ1Y3Qgc3BpX25vciAqbm9y LCBsb2ZmX3QgZnJvbSwgc2l6ZV90IGxlbiwKPiAgCQkJICAgdV9jaGFyICpidWYpCj4gIHsKPiAg CXN0cnVjdCBtMjVwICpmbGFzaCA9IG5vci0+cHJpdjsKPiAtCXN0cnVjdCBzcGlfbWVtX29wIG9w ID0KPiAtCQkJU1BJX01FTV9PUChTUElfTUVNX09QX0NNRChub3ItPnJlYWRfb3Bjb2RlLCAxKSwK PiAtCQkJCSAgIFNQSV9NRU1fT1BfQUREUihub3ItPmFkZHJfd2lkdGgsIGZyb20sIDEpLAo+IC0J CQkJICAgU1BJX01FTV9PUF9EVU1NWShub3ItPnJlYWRfZHVtbXksIDEpLAo+IC0JCQkJICAgU1BJ X01FTV9PUF9EQVRBX0lOKGxlbiwgYnVmLCAxKSk7Cj4gLQlzaXplX3QgcmVtYWluaW5nID0gbGVu Owo+IC0JaW50IHJldDsKPiArCj4gKwlyZXR1cm4gc3BpX21lbV9kaXJtYXBfcmVhZChmbGFzaC0+ ZGlybWFwLnJlYWQsIGZyb20sIGxlbiwgYnVmKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgpUaGUgcGxhY2Ugd2hlcmUgSSBoYWQgdHJvdWJsZXMgdW5kZXJzdGFuZGluZyBi ZWNhdXNlIG9mIHRoZSBuYW1pbmcuCgoKVGhhbmtzLApNaXF1w6hsCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXggTVREIGRpc2N1c3Np b24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtbXRkLwo=