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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 73F2FC5AD49 for ; Mon, 26 May 2025 07:28:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=iUEApah32zOTecSL/l9dTlxMOaT/m3F0sLKdtbVsCAY=; b=aXUDFmE8gnd05b wzW6KDu6FNPJnFEYD+qoGLHmFyX/2L9Qb8GN6BqDkinTqvtAoOaYbol5lTH8nCWRLxFFF48ACVGtO CJVM+JUTH9cA6N7Ra5R9WTNZn+uq/0rayptf5zBahuOBYunLeO/4vH2OS//pxhWbukxmZNYFtZLIr e6hENKNmX+I2sGoerOkIDHb84mBFsrpRK5Gml88qR4WBHgXBKNa+nAh26BGHhMKP1Gg5Xq/nF18YW oWap3H/K8bOHjiiMko2C5G0NUV9rSMNDFGWHTa2h10a3l1l+sjMlDwSronxmBT+ySAMXm5VnQG9Kz OPZq7IEDzXT8jUHgCqjw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uJSG2-00000008HS6-0bhb; Mon, 26 May 2025 07:28:26 +0000 Received: from relay3-d.mail.gandi.net ([2001:4b98:dc4:8::223]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uJSFm-00000008HQY-3RJX for linux-mtd@lists.infradead.org; Mon, 26 May 2025 07:28:13 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 115C71FD57; Mon, 26 May 2025 07:28:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1748244486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JXhPQXCLhDCgYneej08WV86s5Giw6eGuE0pYiMGU66g=; b=m/nJKWziJhOQY9nl6l4s/wHgvsOUsW31W/CsW1ew99KrW/l8fWBmJq2Wlhztpa6lI7B3HT /NfHNwsT1rkc+/YgVCkWNLlbmmVIqaeM7wblJ/ZLiJPuke6FEITyLiCK05dSpIaJXVqpNR EOVhDdqBEfRetefABhjzpfOrIsK3UcVTlmp3862g6yloKHB/JpGkGX0brDclxszaaomYPo qnHlAjfD7L7pZTJcnlWqNsStcGrcOTp+CGe1NmdVK6EaYiOpJHjkTkFZ3gkKbQW29dWD5S LKCh7JIE10cAwk7+x7yPuUfQ8NDKuoulLmP/kSnre4EWXSSCVm3mk33sDGQzLg== From: Miquel Raynal To: =?utf-8?Q?=C3=81lvaro_Fern=C3=A1ndez?= Rojas Cc: linux-mtd@lists.infradead.org, dregan@broadcom.com, bcm-kernel-feedback-list@broadcom.com, florian.fainelli@broadcom.com, rafal@milecki.pl, computersforpeace@gmail.com, kamal.dasu@broadcom.com, dan.beygelman@broadcom.com, william.zhang@broadcom.com, frieder.schrempf@kontron.de, linux-kernel@vger.kernel.org, vigneshr@ti.com, richard@nod.at, bbrezillon@kernel.org, kdasu.kdev@gmail.com, jaimeliao.tw@gmail.com, kilobyte@angband.pl, jonas.gorski@gmail.com, dgcbueu@gmail.com Subject: Re: [PATCH v5] mtd: rawnand: brcmnand: legacy exec_op implementation In-Reply-To: (=?utf-8?Q?=22=C3=81lvaro_Fern=C3=A1ndez?= Rojas"'s message of "Fri, 23 May 2025 20:08:56 +0200") References: <20250521080325.581366-1-noltari@gmail.com> <87wma74ceh.fsf@bootlin.com> User-Agent: mu4e 1.12.7; emacs 29.4 Date: Mon, 26 May 2025 09:28:02 +0200 Message-ID: <874ix74yrh.fsf@bootlin.com> MIME-Version: 1.0 X-GND-State: clean X-GND-Score: 0 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgdduieelvdculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucenucfjughrpefhvfevufgjfhgffffkgggtgfesthhqredttderjeenucfhrhhomhepofhiqhhuvghlucftrgihnhgrlhcuoehmihhquhgvlhdrrhgrhihnrghlsegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeeftdehieelledvveduudelieeggeehkedvheeikeelkefhkeelffetffeitdethfenucffohhmrghinhepghhithhhuhgsrdgtohhmpdgvtggtrdhrvggrugenucfkphepledtrdekledrudeifedruddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeltddrkeelrdduieefrdduvdejpdhhvghloheplhhotggrlhhhohhsthdpmhgrihhlfhhrohhmpehmihhquhgvlhdrrhgrhihnrghlsegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvtddprhgtphhtthhopehnohhlthgrrhhisehgmhgrihhlrdgtohhmpdhrtghpthhtoheplhhinhhugidqmhhtugeslhhishhtshdrihhnfhhrrgguvggrugdrohhrghdprhgtphhtthhopegurhgvghgrnhessghrohgruggtohhmrdgtohhmpdhrtghpthhtohepsggtmhdqkhgvrhhnvghlqdhfvggvuggsrggtkhdqlhhishhtsegsrhhorggutghom hdrtghomhdprhgtphhtthhopehflhhorhhirghnrdhfrghinhgvlhhlihessghrohgruggtohhmrdgtohhmpdhrtghpthhtoheprhgrfhgrlhesmhhilhgvtghkihdrphhlpdhrtghpthhtoheptghomhhpuhhtvghrshhfohhrphgvrggtvgesghhmrghilhdrtghomhdprhgtphhtthhopehkrghmrghlrdgurghsuhessghrohgruggtohhmrdgtohhm X-GND-Sasl: miquel.raynal@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250526_002811_033962_39E374D2 X-CRM114-Status: GOOD ( 27.50 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org T24gMjMvMDUvMjAyNSBhdCAyMDowODo1NiArMDIsIMOBbHZhcm8gRmVybsOhbmRleiBSb2phcyA8 bm9sdGFyaUBnbWFpbC5jb20+IHdyb3RlOgoKPiBIaSBNaXF1w6hsLAo+Cj4gRWwgdmllLCAyMyBt YXkgMjAyNSBhIGxhcyAxNjo0MiwgTWlxdWVsIFJheW5hbAo+ICg8bWlxdWVsLnJheW5hbEBib290 bGluLmNvbT4pIGVzY3JpYmnDszoKPj4KPj4gT24gMjEvMDUvMjAyNSBhdCAxMDowMzoyNSArMDIs IMOBbHZhcm8gRmVybsOhbmRleiBSb2phcyA8bm9sdGFyaUBnbWFpbC5jb20+IHdyb3RlOgo+Pgo+ PiA+IENvbW1pdCAzYzgyNjBjZTc2NjMgKCJtdGQ6IHJhd25hbmQ6IGJyY21uYW5kOiBleGVjX29w IGltcGxlbWVudGF0aW9uIikKPj4gPiByZW1vdmVkIGxlZ2FjeSBpbnRlcmZhY2UgZnVuY3Rpb25z LCBicmVha2luZyA8IHY1LjAgY29udHJvbGxlcnMgc3VwcG9ydC4KPj4gPiBJbiBvcmRlciB0byBm aXggb2xkZXIgY29udHJvbGxlcnMgd2UgbmVlZCB0byBhZGQgYW4gYWx0ZXJuYXRpdmUgZXhlY19v cAo+PiA+IGltcGxlbWVudGF0aW9uIHdoaWNoIGRvZXNuJ3QgcmVseSBvbiBsb3cgbGV2ZWwgcmVn aXN0ZXJzLgo+PiA+Cj4+ID4gRml4ZXM6IDNjODI2MGNlNzY2MyAoIm10ZDogcmF3bmFuZDogYnJj bW5hbmQ6IGV4ZWNfb3AgaW1wbGVtZW50YXRpb24iKQo+PiA+IFNpZ25lZC1vZmYtYnk6IMOBbHZh cm8gRmVybsOhbmRleiBSb2phcyA8bm9sdGFyaUBnbWFpbC5jb20+Cj4+ID4gUmV2aWV3ZWQtYnk6 IERhdmlkIFJlZ2FuIDxkcmVnYW5AYnJvYWRjb20uY29tPgo+PiA+IC0tLQo+PiA+ICBkcml2ZXJz L210ZC9uYW5kL3Jhdy9icmNtbmFuZC9icmNtbmFuZC5jIHwgMjIyICsrKysrKysrKysrKysrKysr KysrKystCj4+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyMTUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlv bnMoLSkKPj4gPgo+PiA+ICB2NTogYWRkIGNoYW5nZXMgcmVxdWVzdGVkIGJ5IE1pcXXDqGwgUmF5 bmFsOgo+PiA+ICAgLSBNZW50aW9uIGFuZCBleHBsYWluIGxlZ2FjeSBpbiBuYXRpdmVfY21kX2Nv bnYuCj4+ID4gICAtIEVPUE5PVFNVUFAgaW5zdGVhZCBvZiBFSU5WQUwgZm9yIGluc3RyLT50eXBl IGVsc2UuCj4+ID4gICAtIEltcGxlbWVudCBtaXNzaW5nIGNoZWNrX29ubHkgZnVuY3Rpb25hbGl0 eS4KPj4gPgo+PiA+ICB2NDogYWRkIGNoYW5nZXMgcmVxdWVzdGVkIGJ5IEpvbmFzIEdvcnNraToK Pj4gPiAgIC0gQWRkIG1pc3NpbmcgYnJlYWtzIGluIGJyY21uYW5kX2V4ZWNfaW5zdHJ1Y3Rpb25z X2xlZ2FjeS4KPj4gPiAgIC0gUmVzdG9yZSBtaXNzaW5nIHJldCBhc3NpZ25tZW50IGluIGJyY21u YW5kX2V4ZWNfb3AuCj4+ID4KPj4gPiAgdjM6IGFkZCBjaGFuZ2VzIHJlcXVlc3RlZCBieSBGbG9y aWFuIGFuZCBvdGhlciBpbXByb3ZlbWVudHM6Cj4+ID4gICAtIEFkZCBhc3NvY2lhdGl2ZSBhcnJh eSBmb3IgbmF0aXZlIGNvbW1hbmQgY29udmVyc2lvbi4KPj4gPiAgIC0gQWRkIGZ1bmN0aW9uIHBv aW50ZXIgdG8gYnJjbW5hbmRfY29udHJvbGxlciBmb3IgZXhlY19pbnN0cgo+PiA+ICAgICBmdW5j dGlvbmFsaXR5Lgo+PiA+ICAgLSBGaXggQ01EX0JMT0NLX0VSQVNFIGFkZHJlc3MuCj4+ID4gICAt IERyb3AgTkFORF9DTURfUkVBRE9PQiBzdXBwb3J0Lgo+PiA+Cj4+ID4gIHYyOiBtdWx0aXBsZSBp bXByb3ZlbWVudHM6Cj4+ID4gICAtIFVzZSBwcm9wZXIgbmF0aXZlIGNvbW1hbmRzIGZvciBjaGVj a3MuCj4+ID4gICAtIEZpeCBOQU5EX0NNRF9QQVJBTS9OQU5EX0NNRF9STkRPVVQgYWRkciBjYWxj dWxhdGlvbi4KPj4gPiAgIC0gUmVtb3ZlIGhvc3QtPmxhc3RfYWRkciB1c2FnZS4KPj4gPiAgIC0g UmVtb3ZlIHNlY3Rvcl9zaXplXzFrIHNpbmNlIGl0IG9ubHkgYXBwbGllcyB0byB2NS4wKyBjb250 cm9sbGVycy4KPj4gPiAgIC0gUmVtb3ZlIGJyY21uYW5kX3dwIHNpbmNlIGl0IGRvZXNuJ3QgZXhp c3QgZm9yIDwgdjUuMCBjb250cm9sbGVycy4KPj4gPiAgIC0gVXNlIGogaW5zdGVhZCBvZiBpIGZv ciBmbGFzaF9jYWNoZSBsb29wLgo+PiA+Cj4+Cj4+IC4uLgo+Pgo+PiA+ICtzdGF0aWMgaW50IGJy Y21uYW5kX2NoZWNrX2luc3RydWN0aW9uc19sZWdhY3koc3RydWN0IG5hbmRfY2hpcCAqY2hpcCwK Pj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCBuYW5kX29wZXJhdGlvbiAqb3ApCj4+ID4gK3sKPj4gPiArICAgICBjb25zdCBzdHJ1Y3Qg bmFuZF9vcF9pbnN0ciAqaW5zdHI7Cj4+ID4gKyAgICAgdW5zaWduZWQgaW50IGk7Cj4+ID4gKyAg ICAgdTggY21kOwo+PiA+ICsKPj4gPiArICAgICBmb3IgKGkgPSAwOyBpIDwgb3AtPm5pbnN0cnM7 IGkrKykgewo+PiA+ICsgICAgICAgICAgICAgaW5zdHIgPSAmb3AtPmluc3Ryc1tpXTsKPj4gPiAr Cj4+ID4gKyAgICAgICAgICAgICBzd2l0Y2ggKGluc3RyLT50eXBlKSB7Cj4+ID4gKyAgICAgICAg ICAgICBjYXNlIE5BTkRfT1BfQ01EX0lOU1RSOgo+PiA+ICsgICAgICAgICAgICAgICAgICAgICBj bWQgPSBuYXRpdmVfY21kX2NvbnZbaW5zdHItPmN0eC5jbWQub3Bjb2RlXTsKPj4gPiArICAgICAg ICAgICAgICAgICAgICAgaWYgKGNtZCA9PSBDTURfTk9UX1NVUFBPUlRFRCkKPj4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVPUE5PVFNVUFA7Cj4+ID4gKyAgICAgICAg ICAgICAgICAgICAgIGJyZWFrOwo+PiA+ICsgICAgICAgICAgICAgY2FzZSBOQU5EX09QX0FERFJf SU5TVFI6Cj4+ID4gKyAgICAgICAgICAgICBjYXNlIE5BTkRfT1BfREFUQV9JTl9JTlNUUjoKPj4K Pj4gTm8gTkFORF9PUF9EQVRBX09VVF9JTlNUUj8KPgo+IEFGQUlLLCB0aGUgbGVnYWN5IGZ1bmN0 aW9ucyB3ZXJlIG9ubHkgdXNpbmcgaXQgZm9yCj4gTkFORF9DTURfU0VUX0ZFQVRVUkVTLCB3aGlj aCB3ZSBkb24ndCBzdXBwb3J0Ogo+IGh0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9i bG9iL2M4NmI2M2I4MmZkZTRmOTZlZTk0ZGRlODI3YTVmMjhmZjVhZGViNTcvZHJpdmVycy9tdGQv bmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYyNMMTkyMi1MMTkzOAo+Cj4gVGhlIG90aGVyIHVz ZXMgSSBjb3VsZCBmaW5kIGFyZSBhbHJlYWR5IGNvdmVyZWQgYnkgb3VyCj4gY2hpcC0+ZWNjLnJl YWQvd3JpdGUgZnVuY3Rpb25zLgo+Cj4gSW4gYW55IGNhc2UgSSd2ZSB0ZXN0ZWQgdGhlIHBhdGNo IGZvciByZWFkaW5nLCBlcmFzaW5nIGFuZCB3cml0aW5nIHRoZQo+IE5BTkQgYW5kIHNvIGZhciBJ IGhhdmVuJ3QgZm91bmQgYW55IHVuc3VwcG9ydGVkIGVycm9yIGFwYXJ0IGZyb20KPiBOQU5EX0NN RF9HRVRfRkVBVFVSRVMgd2l0aCBhIE1hY3Jvbml4IE5BTkQgaW4gdGhlIFNlcmNvbSBINTAwLXMK PiAoQkNNNjMyNjgpLgo+IEkgYmVsaWV2ZSBpdCdzIHVzZWQgZm9yIHVubG9ja2luZyB0aGUgTkFO RCwgd2hpY2ggaXNuJ3QgbmVlZGVkIGluIHRoYXQKPiBkZXZpY2UuCgpXZWxsLCB5b3UgYXJlIHJl c3RvcmluZyBhbiBvbGQgYmVoYXZpb3Igc28gSSB3b24ndCBhc2sgZm9yIGEgYmV0dGVyCnN1cHBv cnQsIGJ1dCB5b3Ugc2hvdWxkIG5vcm1hbGx5IGFsbG93IHNvZnR3YXJlIEVDQyBlbmdpbmVzIChh bmQgZXZlbiBubwplbmdpbmUgYXQgYWxsKSBhbmQgaW4gdGhpcyBjYXNlIHRoZSBjb3JlIHdpbGwg cmVxdWlyZSBhIHdyaXRlIHBhdGguIEkKaG9uZXN0bHkgdGhpbmsgaXQgaXMgbm90IHZlcnkgY29t cGxleCB0byBpbXBsZW1lbnQgYnV0IGlmIHNvbWVvbmUgaXMKbGFja2luZyB0aGlzIGZlYXR1cmUg aXQgY2FuIGJlIGFkZGVkIGxhdGVyLgoKUGxlYXNlIGp1c3QgZml4IHRoZSBicmFjZXMgaW4gdGhl IGZvciBsb29wIHRoYXQgd2FzIHJlcG9ydGVkLCBidXQgbm8KaHVycnksIEknbGwgb25seSB0YWtl IHRoaXMgYWZ0ZXIgLXJjMS4KClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1h aWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LW10ZC8K From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A7AD2136349 for ; Mon, 26 May 2025 07:28:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.195 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748244495; cv=none; b=ED1Ulqq32Nm04UZh3IZQkyhV9xT3VYV6PdkYBu2EJO6HhjBFJYeqBqCN6ZeZcX6IfTgY7uc7MqIFSsYDcdTFsfO81n/yYwWeZBJfYXpLk8dkSxc7KrCQEcmlBCXsPZvOZHzLOAg6U5ZI6ditvKgGLA9ki1aHaOcr18O/K9nOcwQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748244495; c=relaxed/simple; bh=UcDt4cPcuwjvzRJGvPkjzQK+Ga5UNyPVtCkAy/5rP2c=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=lFpeffVw8J9Wh5HsAuntqDF0+2xAFIJ18j1FLoxYh5JLHMzEM++4qw6jilN98b7wgAc0H0WbS67qARcsVF70a5B5g3tTSLzAjhxl3VFnkXM7eTCidobM4xSCDUKlR+3U1D5cxzfAsQ0jM943DIJX5sXymcZtijl5OKGrVTkrkkM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=m/nJKWzi; arc=none smtp.client-ip=217.70.183.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="m/nJKWzi" Received: by mail.gandi.net (Postfix) with ESMTPSA id 115C71FD57; Mon, 26 May 2025 07:28:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1748244486; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JXhPQXCLhDCgYneej08WV86s5Giw6eGuE0pYiMGU66g=; b=m/nJKWziJhOQY9nl6l4s/wHgvsOUsW31W/CsW1ew99KrW/l8fWBmJq2Wlhztpa6lI7B3HT /NfHNwsT1rkc+/YgVCkWNLlbmmVIqaeM7wblJ/ZLiJPuke6FEITyLiCK05dSpIaJXVqpNR EOVhDdqBEfRetefABhjzpfOrIsK3UcVTlmp3862g6yloKHB/JpGkGX0brDclxszaaomYPo qnHlAjfD7L7pZTJcnlWqNsStcGrcOTp+CGe1NmdVK6EaYiOpJHjkTkFZ3gkKbQW29dWD5S LKCh7JIE10cAwk7+x7yPuUfQ8NDKuoulLmP/kSnre4EWXSSCVm3mk33sDGQzLg== From: Miquel Raynal To: =?utf-8?Q?=C3=81lvaro_Fern=C3=A1ndez?= Rojas Cc: linux-mtd@lists.infradead.org, dregan@broadcom.com, bcm-kernel-feedback-list@broadcom.com, florian.fainelli@broadcom.com, rafal@milecki.pl, computersforpeace@gmail.com, kamal.dasu@broadcom.com, dan.beygelman@broadcom.com, william.zhang@broadcom.com, frieder.schrempf@kontron.de, linux-kernel@vger.kernel.org, vigneshr@ti.com, richard@nod.at, bbrezillon@kernel.org, kdasu.kdev@gmail.com, jaimeliao.tw@gmail.com, kilobyte@angband.pl, jonas.gorski@gmail.com, dgcbueu@gmail.com Subject: Re: [PATCH v5] mtd: rawnand: brcmnand: legacy exec_op implementation In-Reply-To: (=?utf-8?Q?=22=C3=81lvaro_Fern=C3=A1ndez?= Rojas"'s message of "Fri, 23 May 2025 20:08:56 +0200") References: <20250521080325.581366-1-noltari@gmail.com> <87wma74ceh.fsf@bootlin.com> User-Agent: mu4e 1.12.7; emacs 29.4 Date: Mon, 26 May 2025 09:28:02 +0200 Message-ID: <874ix74yrh.fsf@bootlin.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-GND-State: clean X-GND-Score: 0 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgdduieelvdculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucenucfjughrpefhvfevufgjfhgffffkgggtgfesthhqredttderjeenucfhrhhomhepofhiqhhuvghlucftrgihnhgrlhcuoehmihhquhgvlhdrrhgrhihnrghlsegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeeftdehieelledvveduudelieeggeehkedvheeikeelkefhkeelffetffeitdethfenucffohhmrghinhepghhithhhuhgsrdgtohhmpdgvtggtrdhrvggrugenucfkphepledtrdekledrudeifedruddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeltddrkeelrdduieefrdduvdejpdhhvghloheplhhotggrlhhhohhsthdpmhgrihhlfhhrohhmpehmihhquhgvlhdrrhgrhihnrghlsegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvtddprhgtphhtthhopehnohhlthgrrhhisehgmhgrihhlrdgtohhmpdhrtghpthhtoheplhhinhhugidqmhhtugeslhhishhtshdrihhnfhhrrgguvggrugdrohhrghdprhgtphhtthhopegurhgvghgrnhessghrohgruggtohhmrdgtohhmpdhrtghpthhtohepsggtmhdqkhgvrhhnvghlqdhfvggvuggsrggtkhdqlhhishhtsegsrhhorggutghom hdrtghomhdprhgtphhtthhopehflhhorhhirghnrdhfrghinhgvlhhlihessghrohgruggtohhmrdgtohhmpdhrtghpthhtoheprhgrfhgrlhesmhhilhgvtghkihdrphhlpdhrtghpthhtoheptghomhhpuhhtvghrshhfohhrphgvrggtvgesghhmrghilhdrtghomhdprhgtphhtthhopehkrghmrghlrdgurghsuhessghrohgruggtohhmrdgtohhm X-GND-Sasl: miquel.raynal@bootlin.com On 23/05/2025 at 20:08:56 +02, =C3=81lvaro Fern=C3=A1ndez Rojas wrote: > Hi Miqu=C3=A8l, > > El vie, 23 may 2025 a las 16:42, Miquel Raynal > () escribi=C3=B3: >> >> On 21/05/2025 at 10:03:25 +02, =C3=81lvaro Fern=C3=A1ndez Rojas wrote: >> >> > Commit 3c8260ce7663 ("mtd: rawnand: brcmnand: exec_op implementation") >> > removed legacy interface functions, breaking < v5.0 controllers suppor= t. >> > In order to fix older controllers we need to add an alternative exec_op >> > implementation which doesn't rely on low level registers. >> > >> > Fixes: 3c8260ce7663 ("mtd: rawnand: brcmnand: exec_op implementation") >> > Signed-off-by: =C3=81lvaro Fern=C3=A1ndez Rojas >> > Reviewed-by: David Regan >> > --- >> > drivers/mtd/nand/raw/brcmnand/brcmnand.c | 222 ++++++++++++++++++++++- >> > 1 file changed, 215 insertions(+), 7 deletions(-) >> > >> > v5: add changes requested by Miqu=C3=A8l Raynal: >> > - Mention and explain legacy in native_cmd_conv. >> > - EOPNOTSUPP instead of EINVAL for instr->type else. >> > - Implement missing check_only functionality. >> > >> > v4: add changes requested by Jonas Gorski: >> > - Add missing breaks in brcmnand_exec_instructions_legacy. >> > - Restore missing ret assignment in brcmnand_exec_op. >> > >> > v3: add changes requested by Florian and other improvements: >> > - Add associative array for native command conversion. >> > - Add function pointer to brcmnand_controller for exec_instr >> > functionality. >> > - Fix CMD_BLOCK_ERASE address. >> > - Drop NAND_CMD_READOOB support. >> > >> > v2: multiple improvements: >> > - Use proper native commands for checks. >> > - Fix NAND_CMD_PARAM/NAND_CMD_RNDOUT addr calculation. >> > - Remove host->last_addr usage. >> > - Remove sector_size_1k since it only applies to v5.0+ controllers. >> > - Remove brcmnand_wp since it doesn't exist for < v5.0 controllers. >> > - Use j instead of i for flash_cache loop. >> > >> >> ... >> >> > +static int brcmnand_check_instructions_legacy(struct nand_chip *chip, >> > + const struct nand_operatio= n *op) >> > +{ >> > + const struct nand_op_instr *instr; >> > + unsigned int i; >> > + u8 cmd; >> > + >> > + for (i =3D 0; i < op->ninstrs; i++) { >> > + instr =3D &op->instrs[i]; >> > + >> > + switch (instr->type) { >> > + case NAND_OP_CMD_INSTR: >> > + cmd =3D native_cmd_conv[instr->ctx.cmd.opcode]; >> > + if (cmd =3D=3D CMD_NOT_SUPPORTED) >> > + return -EOPNOTSUPP; >> > + break; >> > + case NAND_OP_ADDR_INSTR: >> > + case NAND_OP_DATA_IN_INSTR: >> >> No NAND_OP_DATA_OUT_INSTR? > > AFAIK, the legacy functions were only using it for > NAND_CMD_SET_FEATURES, which we don't support: > https://github.com/torvalds/linux/blob/c86b63b82fde4f96ee94dde827a5f28ff5= adeb57/drivers/mtd/nand/raw/brcmnand/brcmnand.c#L1922-L1938 > > The other uses I could find are already covered by our > chip->ecc.read/write functions. > > In any case I've tested the patch for reading, erasing and writing the > NAND and so far I haven't found any unsupported error apart from > NAND_CMD_GET_FEATURES with a Macronix NAND in the Sercom H500-s > (BCM63268). > I believe it's used for unlocking the NAND, which isn't needed in that > device. Well, you are restoring an old behavior so I won't ask for a better support, but you should normally allow software ECC engines (and even no engine at all) and in this case the core will require a write path. I honestly think it is not very complex to implement but if someone is lacking this feature it can be added later. Please just fix the braces in the for loop that was reported, but no hurry, I'll only take this after -rc1. Thanks, Miqu=C3=A8l