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=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 autolearn=ham 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 BF73DC433E0 for ; Fri, 22 May 2020 11:22:29 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 825A82065C for ; Fri, 22 May 2020 11:22: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="hBfzY3HB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 825A82065C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: 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=sFMAojCcn810yPYmnWcpfH4dDMk7kKlkr4XmzJQP4D0=; b=hBfzY3HBV73ixC VkVTCV4DP3pmhxSB88hd/x1YDtWOzSnnu/GIYbYbnJ1bXfYVV/N/ITTdhvn/oPQlh955QO9TC94mY Dq+i0HV9HobIvsLIkyqYxuQLGsQzvMZgv7/sz4Ro0ypTJ7zBkmIEvv24cm9lXiwBNacGTH9FMtU5T ZtRepEV4gjQHN50H23CO7qoqoNwD2ueRkh+9flahOH5sgiHJzR1+hmm37GjrLraE2OILAT7ruPYIo Ye25IuwE0ddJKA+gsArVkw9aIWfIDWy2/wfOGSzyar17T05tiyWQtsCRfdvf74zuky4E9S/lptB2U 8iAZhf4Pi7tTfxS24DiQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jc5ks-00008Y-Ij; Fri, 22 May 2020 11:22:22 +0000 Received: from relay12.mail.gandi.net ([217.70.178.232]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jc5kp-00007y-2n for linux-mtd@lists.infradead.org; Fri, 22 May 2020 11:22:20 +0000 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay12.mail.gandi.net (Postfix) with ESMTPSA id C9369200009; Fri, 22 May 2020 11:22:15 +0000 (UTC) Date: Fri, 22 May 2020 13:22:11 +0200 From: Miquel Raynal To: =?UTF-8?B?w4FsdmFybyBGZXJuw6FuZGV6?= Rojas Subject: Re: [PATCH v3 5/5] nand: brcmnand: support v2.1-v2.2 controllers Message-ID: <20200522132211.16c657aa@xps13> In-Reply-To: <20200522072525.3919332-6-noltari@gmail.com> References: <20200512073329.742893-1-noltari@gmail.com> <20200522072525.3919332-1-noltari@gmail.com> <20200522072525.3919332-6-noltari@gmail.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200522_042219_393583_3899CAA1 X-CRM114-Status: GOOD ( 16.20 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: vigneshr@ti.com, kdasu.kdev@gmail.com, richard@nod.at, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, linux-mtd@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, computersforpeace@gmail.com, sumit.semwal@linaro.org, linux-media@vger.kernel.org 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 SGkgw4FsdmFybywKCsOBbHZhcm8gRmVybsOhbmRleiBSb2phcyA8bm9sdGFyaUBnbWFpbC5jb20+ IHdyb3RlIG9uIEZyaSwgMjIgTWF5IDIwMjAKMDk6MjU6MjUgKzAyMDA6Cgo+IHYyLjE6IHRlc3Rl ZCBvbiBOZXRnZWFyIERHTkQzNzAwdjEgKEJDTTYzNjgpCj4gdjIuMjogdGVzdGVkIG9uIE5ldGdl YXIgREdORDM3MDB2MiAoQkNNNjM2MikKPiAKPiBTaWduZWQtb2ZmLWJ5OiDDgWx2YXJvIEZlcm7D oW5kZXogUm9qYXMgPG5vbHRhcmlAZ21haWwuY29tPgo+IC0tLQo+ICB2MzogZml4IHBhZ2Ugc2l6 ZSBzaGlmdCBmb3IgdjIuMSBjb250cm9sbGVycy4KCllvdSBjaGFuZ2VkIHRoZSBzdWJqZWN0IHRp dGxlIHRvbyB3aGljaCBpcyBub3QgYWNjdXJhdGUgYW55bW9yZSwgYW55CnJlYXNvbiB0byBkbyB0 aGF0PyBBbnl0aGluZyBlbHNlIGNoYW5nZWQgaW4gdGhpcyBzZXJpZXMgdGhhdCBJIGFtIG5vdAph d2FyZSBvZj8KCj4gIHYyOiBzcGxpdCBwYWdlIHNpemVzIHJlbmFtZSBpbnRvIGEgZGlmZmVyZW50 IHBhdGNoLgo+ICAgICAgbmFtZSBhbGwgYmxvY2sgYW5kIHBhZ2Ugc2l6ZXMgdmVyc2lvbnMuCj4g Cj4gIGRyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMgfCA4NSArKysrKysr KysrKysrKysrKysrKystLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKyksIDkg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21u YW5kL2JyY21uYW5kLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9icmNtbmFuZC9icmNtbmFuZC5j Cj4gaW5kZXggZWY2MGRiYmVhYzJiLi4yYzhhNDY4YzJlMzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYwo+ICsrKyBiL2RyaXZlcnMvbXRkL25h bmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMKPiBAQCAtMjY0LDYgKzI2NCw3IEBAIHN0cnVjdCBi cmNtbmFuZF9jb250cm9sbGVyIHsKPiAgCWNvbnN0IHVuc2lnbmVkIGludAkqYmxvY2tfc2l6ZXM7 Cj4gIAl1bnNpZ25lZCBpbnQJCW1heF9wYWdlX3NpemU7Cj4gIAljb25zdCB1bnNpZ25lZCBpbnQJ KnBhZ2Vfc2l6ZXM7Cj4gKwl1bnNpZ25lZCBpbnQJCXBhZ2Vfc2l6ZV9zaGlmdDsKPiAgCXVuc2ln bmVkIGludAkJbWF4X29vYjsKPiAgCXUzMgkJCWZlYXR1cmVzOwo+ICAKPiBAQCAtMzM4LDYgKzMz OSwzNiBAQCBlbnVtIGJyY21uYW5kX3JlZyB7Cj4gIAlCUkNNTkFORF9GQ19CQVNFLAo+ICB9Owo+ ICAKPiArLyogQlJDTU5BTkQgdjIuMS12Mi4yICovCj4gK3N0YXRpYyBjb25zdCB1MTYgYnJjbW5h bmRfcmVnc192MjFbXSA9IHsKPiArCVtCUkNNTkFORF9DTURfU1RBUlRdCQk9ICAweDA0LAo+ICsJ W0JSQ01OQU5EX0NNRF9FWFRfQUREUkVTU10JPSAgMHgwOCwKPiArCVtCUkNNTkFORF9DTURfQURE UkVTU10JCT0gIDB4MGMsCj4gKwlbQlJDTU5BTkRfSU5URkNfU1RBVFVTXQkJPSAgMHg1YywKPiAr CVtCUkNNTkFORF9DU19TRUxFQ1RdCQk9ICAweDE0LAo+ICsJW0JSQ01OQU5EX0NTX1hPUl0JCT0g IDB4MTgsCj4gKwlbQlJDTU5BTkRfTExfT1BdCQk9ICAgICAwLAo+ICsJW0JSQ01OQU5EX0NTMF9C QVNFXQkJPSAgMHg0MCwKPiArCVtCUkNNTkFORF9DUzFfQkFTRV0JCT0gICAgIDAsCj4gKwlbQlJD TU5BTkRfQ09SUl9USFJFU0hPTERdCT0gICAgIDAsCj4gKwlbQlJDTU5BTkRfQ09SUl9USFJFU0hP TERfRVhUXQk9ICAgICAwLAo+ICsJW0JSQ01OQU5EX1VOQ09SUl9DT1VOVF0JCT0gICAgIDAsCj4g KwlbQlJDTU5BTkRfQ09SUl9DT1VOVF0JCT0gICAgIDAsCj4gKwlbQlJDTU5BTkRfQ09SUl9FWFRf QUREUl0JPSAgMHg2MCwKPiArCVtCUkNNTkFORF9DT1JSX0FERFJdCQk9ICAweDY0LAo+ICsJW0JS Q01OQU5EX1VOQ09SUl9FWFRfQUREUl0JPSAgMHg2OCwKPiArCVtCUkNNTkFORF9VTkNPUlJfQURE Ul0JCT0gIDB4NmMsCj4gKwlbQlJDTU5BTkRfU0VNQVBIT1JFXQkJPSAgMHg1MCwKPiArCVtCUkNN TkFORF9JRF0JCQk9ICAweDU0LAo+ICsJW0JSQ01OQU5EX0lEX0VYVF0JCT0gICAgIDAsCj4gKwlb QlJDTU5BTkRfTExfUkRBVEFdCQk9ICAgICAwLAo+ICsJW0JSQ01OQU5EX09PQl9SRUFEX0JBU0Vd CT0gIDB4MjAsCj4gKwlbQlJDTU5BTkRfT09CX1JFQURfMTBfQkFTRV0JPSAgICAgMCwKPiArCVtC UkNNTkFORF9PT0JfV1JJVEVfQkFTRV0JPSAgMHgzMCwKPiArCVtCUkNNTkFORF9PT0JfV1JJVEVf MTBfQkFTRV0JPSAgICAgMCwKPiArCVtCUkNNTkFORF9GQ19CQVNFXQkJPSAweDIwMCwKPiArfTsK PiArCj4gIC8qIEJSQ01OQU5EIHYzLjMtdjQuMCAqLwo+ICBzdGF0aWMgY29uc3QgdTE2IGJyY21u YW5kX3JlZ3NfdjMzW10gPSB7Cj4gIAlbQlJDTU5BTkRfQ01EX1NUQVJUXQkJPSAgMHgwNCwKPiBA QCAtNTM2LDYgKzU2Nyw5IEBAIGVudW0gewo+ICAJQ0ZHX0JVU19XSURUSAkJCT0gQklUKENGR19C VVNfV0lEVEhfU0hJRlQpLAo+ICAJQ0ZHX0RFVklDRV9TSVpFX1NISUZUCQk9IDI0LAo+ICAKPiAr CS8qIE9ubHkgZm9yIHYyLjEgKi8KPiArCUNGR19QQUdFX1NJWkVfU0hJRlRfdjJfMQk9IDMwLAo+ ICsKPiAgCS8qIE9ubHkgZm9yIHByZS12Ny4xICh3aXRoIG5vIENGR19FWFQgcmVnaXN0ZXIpICov Cj4gIAlDRkdfUEFHRV9TSVpFX1NISUZUCQk9IDIwLAo+ICAJQ0ZHX0JMS19TSVpFX1NISUZUCQk9 IDI4LAo+IEBAIC01NzEsMTIgKzYwNSwxNiBAQCBzdGF0aWMgaW50IGJyY21uYW5kX3JldmlzaW9u X2luaXQoc3RydWN0IGJyY21uYW5kX2NvbnRyb2xsZXIgKmN0cmwpCj4gIHsKPiAgCXN0YXRpYyBj b25zdCB1bnNpZ25lZCBpbnQgYmxvY2tfc2l6ZXNfdjZbXSA9IHsgOCwgMTYsIDEyOCwgMjU2LCA1 MTIsIDEwMjQsIDIwNDgsIDAgfTsKPiAgCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgYmxvY2tf c2l6ZXNfdjRbXSA9IHsgMTYsIDEyOCwgOCwgNTEyLCAyNTYsIDEwMjQsIDIwNDgsIDAgfTsKPiAr CXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgYmxvY2tfc2l6ZXNfdjJfMltdID0geyAxNiwgMTI4 LCA4LCA1MTIsIDI1NiwgMCB9Owo+ICsJc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBibG9ja19z aXplc192Ml8xW10gPSB7IDE2LCAxMjgsIDgsIDUxMiwgMCB9Owo+ICAJc3RhdGljIGNvbnN0IHVu c2lnbmVkIGludCBwYWdlX3NpemVzX3YzXzRbXSA9IHsgNTEyLCAyMDQ4LCA0MDk2LCA4MTkyLCAw IH07Cj4gKwlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IHBhZ2Vfc2l6ZXNfdjJfMltdID0geyA1 MTIsIDIwNDgsIDQwOTYsIDAgfTsKPiArCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgcGFnZV9z aXplc192Ml8xW10gPSB7IDUxMiwgMjA0OCwgMCB9Owo+ICAKPiAgCWN0cmwtPm5hbmRfdmVyc2lv biA9IG5hbmRfcmVhZHJlZyhjdHJsLCAwKSAmIDB4ZmZmZjsKPiAgCj4gLQkvKiBPbmx5IHN1cHBv cnQgdjQuMCs/ICovCj4gLQlpZiAoY3RybC0+bmFuZF92ZXJzaW9uIDwgMHgwNDAwKSB7Cj4gKwkv KiBPbmx5IHN1cHBvcnQgdjIuMSsgKi8KPiArCWlmIChjdHJsLT5uYW5kX3ZlcnNpb24gPCAweDAy MDEpIHsKPiAgCQlkZXZfZXJyKGN0cmwtPmRldiwgInZlcnNpb24gJSN4IG5vdCBzdXBwb3J0ZWRc biIsCj4gIAkJCWN0cmwtPm5hbmRfdmVyc2lvbik7Cj4gIAkJcmV0dXJuIC1FTk9ERVY7Cj4gQEAg LTU5Myw2ICs2MzEsOCBAQCBzdGF0aWMgaW50IGJyY21uYW5kX3JldmlzaW9uX2luaXQoc3RydWN0 IGJyY21uYW5kX2NvbnRyb2xsZXIgKmN0cmwpCj4gIAkJY3RybC0+cmVnX29mZnNldHMgPSBicmNt bmFuZF9yZWdzX3Y1MDsKPiAgCWVsc2UgaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA+PSAweDAzMDMp Cj4gIAkJY3RybC0+cmVnX29mZnNldHMgPSBicmNtbmFuZF9yZWdzX3YzMzsKPiArCWVsc2UgaWYg KGN0cmwtPm5hbmRfdmVyc2lvbiA+PSAweDAyMDEpCj4gKwkJY3RybC0+cmVnX29mZnNldHMgPSBi cmNtbmFuZF9yZWdzX3YyMTsKPiAgCj4gIAkvKiBDaGlwLXNlbGVjdCBzdHJpZGUgKi8KPiAgCWlm IChjdHJsLT5uYW5kX3ZlcnNpb24gPj0gMHgwNzAxKQo+IEBAIC02MTgsMTQgKzY1OCwzMiBAQCBz dGF0aWMgaW50IGJyY21uYW5kX3JldmlzaW9uX2luaXQoc3RydWN0IGJyY21uYW5kX2NvbnRyb2xs ZXIgKmN0cmwpCj4gIAkJY3RybC0+bWF4X3BhZ2Vfc2l6ZSA9IDE2ICogMTAyNDsKPiAgCQljdHJs LT5tYXhfYmxvY2tfc2l6ZSA9IDIgKiAxMDI0ICogMTAyNDsKPiAgCX0gZWxzZSB7Cj4gLQkJY3Ry bC0+cGFnZV9zaXplcyA9IHBhZ2Vfc2l6ZXNfdjNfNDsKPiArCQlpZiAoY3RybC0+bmFuZF92ZXJz aW9uID49IDB4MDMwNCkKPiArCQkJY3RybC0+cGFnZV9zaXplcyA9IHBhZ2Vfc2l6ZXNfdjNfNDsK PiArCQllbHNlIGlmIChjdHJsLT5uYW5kX3ZlcnNpb24gPj0gMHgwMjAyKQo+ICsJCQljdHJsLT5w YWdlX3NpemVzID0gcGFnZV9zaXplc192Ml8yOwo+ICsJCWVsc2UKPiArCQkJY3RybC0+cGFnZV9z aXplcyA9IHBhZ2Vfc2l6ZXNfdjJfMTsKPiArCj4gKwkJaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA+ PSAweDAyMDIpCj4gKwkJCWN0cmwtPnBhZ2Vfc2l6ZV9zaGlmdCA9IENGR19QQUdFX1NJWkVfU0hJ RlQ7Cj4gKwkJZWxzZQo+ICsJCQljdHJsLT5wYWdlX3NpemVfc2hpZnQgPSBDRkdfUEFHRV9TSVpF X1NISUZUX3YyXzE7Cj4gKwo+ICAJCWlmIChjdHJsLT5uYW5kX3ZlcnNpb24gPj0gMHgwNjAwKQo+ ICAJCQljdHJsLT5ibG9ja19zaXplcyA9IGJsb2NrX3NpemVzX3Y2Owo+IC0JCWVsc2UKPiArCQll bHNlIGlmIChjdHJsLT5uYW5kX3ZlcnNpb24gPj0gMHgwNDAwKQo+ICAJCQljdHJsLT5ibG9ja19z aXplcyA9IGJsb2NrX3NpemVzX3Y0Owo+ICsJCWVsc2UgaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA+ PSAweDAyMDIpCj4gKwkJCWN0cmwtPmJsb2NrX3NpemVzID0gYmxvY2tfc2l6ZXNfdjJfMjsKPiAr CQllbHNlCj4gKwkJCWN0cmwtPmJsb2NrX3NpemVzID0gYmxvY2tfc2l6ZXNfdjJfMTsKPiAgCj4g IAkJaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA8IDB4MDQwMCkgewo+IC0JCQljdHJsLT5tYXhfcGFn ZV9zaXplID0gNDA5NjsKPiArCQkJaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA8IDB4MDIwMikKPiAr CQkJCWN0cmwtPm1heF9wYWdlX3NpemUgPSAyMDQ4Owo+ICsJCQllbHNlCj4gKwkJCQljdHJsLT5t YXhfcGFnZV9zaXplID0gNDA5NjsKPiAgCQkJY3RybC0+bWF4X2Jsb2NrX3NpemUgPSA1MTIgKiAx MDI0Owo+ICAJCX0KPiAgCX0KPiBAQCAtODExLDYgKzg2OSw5IEBAIHN0YXRpYyB2b2lkIGJyY21u YW5kX3dyX2NvcnJfdGhyZXNoKHN0cnVjdCBicmNtbmFuZF9ob3N0ICpob3N0LCB1OCB2YWwpCj4g IAllbnVtIGJyY21uYW5kX3JlZyByZWcgPSBCUkNNTkFORF9DT1JSX1RIUkVTSE9MRDsKPiAgCWlu dCBjcyA9IGhvc3QtPmNzOwo+ICAKPiArCWlmICghY3RybC0+cmVnX29mZnNldHNbcmVnXSkKPiAr CQlyZXR1cm47Cj4gKwo+ICAJaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA9PSAweDA3MDIpCj4gIAkJ Yml0cyA9IDc7Cj4gIAllbHNlIGlmIChjdHJsLT5uYW5kX3ZlcnNpb24gPj0gMHgwNjAwKQo+IEBA IC04NjksOCArOTMwLDEwIEBAIHN0YXRpYyBpbmxpbmUgdTMyIGJyY21uYW5kX3NwYXJlX2FyZWFf bWFzayhzdHJ1Y3QgYnJjbW5hbmRfY29udHJvbGxlciAqY3RybCkKPiAgCQlyZXR1cm4gR0VOTUFT Syg3LCAwKTsKPiAgCWVsc2UgaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA+PSAweDA2MDApCj4gIAkJ cmV0dXJuIEdFTk1BU0soNiwgMCk7Cj4gLQllbHNlCj4gKwllbHNlIGlmIChjdHJsLT5uYW5kX3Zl cnNpb24gPj0gMHgwMzAzKQo+ICAJCXJldHVybiBHRU5NQVNLKDUsIDApOwo+ICsJZWxzZQo+ICsJ CXJldHVybiBHRU5NQVNLKDQsIDApOwo+ICB9Cj4gIAo+ICAjZGVmaW5lIE5BTkRfQUNDX0NPTlRS T0xfRUNDX1NISUZUCTE2Cj4gQEAgLTIzNzgsNyArMjQ0MSw3IEBAIHN0YXRpYyBpbnQgYnJjbW5h bmRfc2V0X2NmZyhzdHJ1Y3QgYnJjbW5hbmRfaG9zdCAqaG9zdCwKPiAgCQkoISEoY2ZnLT5kZXZp Y2Vfd2lkdGggPT0gMTYpIDw8IENGR19CVVNfV0lEVEhfU0hJRlQpIHwKPiAgCQkoZGV2aWNlX3Np emUgPDwgQ0ZHX0RFVklDRV9TSVpFX1NISUZUKTsKPiAgCWlmIChjZmdfb2ZmcyA9PSBjZmdfZXh0 X29mZnMpIHsKPiAtCQl0bXAgfD0gKHBhZ2Vfc2l6ZSA8PCBDRkdfUEFHRV9TSVpFX1NISUZUKSB8 Cj4gKwkJdG1wIHw9IChwYWdlX3NpemUgPDwgY3RybC0+cGFnZV9zaXplX3NoaWZ0KSB8Cj4gIAkJ ICAgICAgIChibG9ja19zaXplIDw8IENGR19CTEtfU0laRV9TSElGVCk7Cj4gIAkJbmFuZF93cml0 ZXJlZyhjdHJsLCBjZmdfb2ZmcywgdG1wKTsKPiAgCX0gZWxzZSB7Cj4gQEAgLTIzOTAsOSArMjQ1 MywxMSBAQCBzdGF0aWMgaW50IGJyY21uYW5kX3NldF9jZmcoc3RydWN0IGJyY21uYW5kX2hvc3Qg Kmhvc3QsCj4gIAo+ICAJdG1wID0gbmFuZF9yZWFkcmVnKGN0cmwsIGFjY19jb250cm9sX29mZnMp Owo+ICAJdG1wICY9IH5icmNtbmFuZF9lY2NfbGV2ZWxfbWFzayhjdHJsKTsKPiAtCXRtcCB8PSBj ZmctPmVjY19sZXZlbCA8PCBOQU5EX0FDQ19DT05UUk9MX0VDQ19TSElGVDsKPiAgCXRtcCAmPSB+ YnJjbW5hbmRfc3BhcmVfYXJlYV9tYXNrKGN0cmwpOwo+IC0JdG1wIHw9IGNmZy0+c3BhcmVfYXJl YV9zaXplOwo+ICsJaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA+PSAweDAzMDIpIHsKPiArCQl0bXAg fD0gY2ZnLT5lY2NfbGV2ZWwgPDwgTkFORF9BQ0NfQ09OVFJPTF9FQ0NfU0hJRlQ7Cj4gKwkJdG1w IHw9IGNmZy0+c3BhcmVfYXJlYV9zaXplOwo+ICsJfQo+ICAJbmFuZF93cml0ZXJlZyhjdHJsLCBh Y2NfY29udHJvbF9vZmZzLCB0bXApOwo+ICAKPiAgCWJyY21uYW5kX3NldF9zZWN0b3Jfc2l6ZV8x ayhob3N0LCBjZmctPnNlY3Rvcl9zaXplXzFrKTsKPiBAQCAtMjc2Niw2ICsyODMxLDggQEAgY29u c3Qgc3RydWN0IGRldl9wbV9vcHMgYnJjbW5hbmRfcG1fb3BzID0gewo+ICBFWFBPUlRfU1lNQk9M X0dQTChicmNtbmFuZF9wbV9vcHMpOwo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgYnJjbW5hbmRfb2ZfbWF0Y2hbXSA9IHsKPiArCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxi cmNtbmFuZC12Mi4xIiB9LAo+ICsJeyAuY29tcGF0aWJsZSA9ICJicmNtLGJyY21uYW5kLXYyLjIi IH0sCj4gIAl7IC5jb21wYXRpYmxlID0gImJyY20sYnJjbW5hbmQtdjQuMCIgfSwKPiAgCXsgLmNv bXBhdGlibGUgPSAiYnJjbSxicmNtbmFuZC12NS4wIiB9LAo+ICAJeyAuY29tcGF0aWJsZSA9ICJi cmNtLGJyY21uYW5kLXY2LjAiIH0sCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo= 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=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable 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 1CCF5C433E0 for ; Sat, 23 May 2020 09:33:51 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 E9C9520727 for ; Sat, 23 May 2020 09:33:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E9C9520727 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 293446E1A7; Sat, 23 May 2020 09:33:38 +0000 (UTC) Received: from relay12.mail.gandi.net (relay12.mail.gandi.net [217.70.178.232]) by gabe.freedesktop.org (Postfix) with ESMTPS id B3FF76E3E5 for ; Fri, 22 May 2020 11:22:19 +0000 (UTC) Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay12.mail.gandi.net (Postfix) with ESMTPSA id C9369200009; Fri, 22 May 2020 11:22:15 +0000 (UTC) Date: Fri, 22 May 2020 13:22:11 +0200 From: Miquel Raynal To: =?UTF-8?B?w4FsdmFybyBGZXJuw6FuZGV6?= Rojas Subject: Re: [PATCH v3 5/5] nand: brcmnand: support v2.1-v2.2 controllers Message-ID: <20200522132211.16c657aa@xps13> In-Reply-To: <20200522072525.3919332-6-noltari@gmail.com> References: <20200512073329.742893-1-noltari@gmail.com> <20200522072525.3919332-1-noltari@gmail.com> <20200522072525.3919332-6-noltari@gmail.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Mailman-Approved-At: Sat, 23 May 2020 09:33:36 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: vigneshr@ti.com, kdasu.kdev@gmail.com, richard@nod.at, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, linux-mtd@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, computersforpeace@gmail.com, linux-media@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgw4FsdmFybywKCsOBbHZhcm8gRmVybsOhbmRleiBSb2phcyA8bm9sdGFyaUBnbWFpbC5jb20+ IHdyb3RlIG9uIEZyaSwgMjIgTWF5IDIwMjAKMDk6MjU6MjUgKzAyMDA6Cgo+IHYyLjE6IHRlc3Rl ZCBvbiBOZXRnZWFyIERHTkQzNzAwdjEgKEJDTTYzNjgpCj4gdjIuMjogdGVzdGVkIG9uIE5ldGdl YXIgREdORDM3MDB2MiAoQkNNNjM2MikKPiAKPiBTaWduZWQtb2ZmLWJ5OiDDgWx2YXJvIEZlcm7D oW5kZXogUm9qYXMgPG5vbHRhcmlAZ21haWwuY29tPgo+IC0tLQo+ICB2MzogZml4IHBhZ2Ugc2l6 ZSBzaGlmdCBmb3IgdjIuMSBjb250cm9sbGVycy4KCllvdSBjaGFuZ2VkIHRoZSBzdWJqZWN0IHRp dGxlIHRvbyB3aGljaCBpcyBub3QgYWNjdXJhdGUgYW55bW9yZSwgYW55CnJlYXNvbiB0byBkbyB0 aGF0PyBBbnl0aGluZyBlbHNlIGNoYW5nZWQgaW4gdGhpcyBzZXJpZXMgdGhhdCBJIGFtIG5vdAph d2FyZSBvZj8KCj4gIHYyOiBzcGxpdCBwYWdlIHNpemVzIHJlbmFtZSBpbnRvIGEgZGlmZmVyZW50 IHBhdGNoLgo+ICAgICAgbmFtZSBhbGwgYmxvY2sgYW5kIHBhZ2Ugc2l6ZXMgdmVyc2lvbnMuCj4g Cj4gIGRyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMgfCA4NSArKysrKysr KysrKysrKysrKysrKystLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKyksIDkg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21u YW5kL2JyY21uYW5kLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9icmNtbmFuZC9icmNtbmFuZC5j Cj4gaW5kZXggZWY2MGRiYmVhYzJiLi4yYzhhNDY4YzJlMzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYwo+ICsrKyBiL2RyaXZlcnMvbXRkL25h bmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMKPiBAQCAtMjY0LDYgKzI2NCw3IEBAIHN0cnVjdCBi cmNtbmFuZF9jb250cm9sbGVyIHsKPiAgCWNvbnN0IHVuc2lnbmVkIGludAkqYmxvY2tfc2l6ZXM7 Cj4gIAl1bnNpZ25lZCBpbnQJCW1heF9wYWdlX3NpemU7Cj4gIAljb25zdCB1bnNpZ25lZCBpbnQJ KnBhZ2Vfc2l6ZXM7Cj4gKwl1bnNpZ25lZCBpbnQJCXBhZ2Vfc2l6ZV9zaGlmdDsKPiAgCXVuc2ln bmVkIGludAkJbWF4X29vYjsKPiAgCXUzMgkJCWZlYXR1cmVzOwo+ICAKPiBAQCAtMzM4LDYgKzMz OSwzNiBAQCBlbnVtIGJyY21uYW5kX3JlZyB7Cj4gIAlCUkNNTkFORF9GQ19CQVNFLAo+ICB9Owo+ ICAKPiArLyogQlJDTU5BTkQgdjIuMS12Mi4yICovCj4gK3N0YXRpYyBjb25zdCB1MTYgYnJjbW5h bmRfcmVnc192MjFbXSA9IHsKPiArCVtCUkNNTkFORF9DTURfU1RBUlRdCQk9ICAweDA0LAo+ICsJ W0JSQ01OQU5EX0NNRF9FWFRfQUREUkVTU10JPSAgMHgwOCwKPiArCVtCUkNNTkFORF9DTURfQURE UkVTU10JCT0gIDB4MGMsCj4gKwlbQlJDTU5BTkRfSU5URkNfU1RBVFVTXQkJPSAgMHg1YywKPiAr CVtCUkNNTkFORF9DU19TRUxFQ1RdCQk9ICAweDE0LAo+ICsJW0JSQ01OQU5EX0NTX1hPUl0JCT0g IDB4MTgsCj4gKwlbQlJDTU5BTkRfTExfT1BdCQk9ICAgICAwLAo+ICsJW0JSQ01OQU5EX0NTMF9C QVNFXQkJPSAgMHg0MCwKPiArCVtCUkNNTkFORF9DUzFfQkFTRV0JCT0gICAgIDAsCj4gKwlbQlJD TU5BTkRfQ09SUl9USFJFU0hPTERdCT0gICAgIDAsCj4gKwlbQlJDTU5BTkRfQ09SUl9USFJFU0hP TERfRVhUXQk9ICAgICAwLAo+ICsJW0JSQ01OQU5EX1VOQ09SUl9DT1VOVF0JCT0gICAgIDAsCj4g KwlbQlJDTU5BTkRfQ09SUl9DT1VOVF0JCT0gICAgIDAsCj4gKwlbQlJDTU5BTkRfQ09SUl9FWFRf QUREUl0JPSAgMHg2MCwKPiArCVtCUkNNTkFORF9DT1JSX0FERFJdCQk9ICAweDY0LAo+ICsJW0JS Q01OQU5EX1VOQ09SUl9FWFRfQUREUl0JPSAgMHg2OCwKPiArCVtCUkNNTkFORF9VTkNPUlJfQURE Ul0JCT0gIDB4NmMsCj4gKwlbQlJDTU5BTkRfU0VNQVBIT1JFXQkJPSAgMHg1MCwKPiArCVtCUkNN TkFORF9JRF0JCQk9ICAweDU0LAo+ICsJW0JSQ01OQU5EX0lEX0VYVF0JCT0gICAgIDAsCj4gKwlb QlJDTU5BTkRfTExfUkRBVEFdCQk9ICAgICAwLAo+ICsJW0JSQ01OQU5EX09PQl9SRUFEX0JBU0Vd CT0gIDB4MjAsCj4gKwlbQlJDTU5BTkRfT09CX1JFQURfMTBfQkFTRV0JPSAgICAgMCwKPiArCVtC UkNNTkFORF9PT0JfV1JJVEVfQkFTRV0JPSAgMHgzMCwKPiArCVtCUkNNTkFORF9PT0JfV1JJVEVf MTBfQkFTRV0JPSAgICAgMCwKPiArCVtCUkNNTkFORF9GQ19CQVNFXQkJPSAweDIwMCwKPiArfTsK PiArCj4gIC8qIEJSQ01OQU5EIHYzLjMtdjQuMCAqLwo+ICBzdGF0aWMgY29uc3QgdTE2IGJyY21u YW5kX3JlZ3NfdjMzW10gPSB7Cj4gIAlbQlJDTU5BTkRfQ01EX1NUQVJUXQkJPSAgMHgwNCwKPiBA QCAtNTM2LDYgKzU2Nyw5IEBAIGVudW0gewo+ICAJQ0ZHX0JVU19XSURUSAkJCT0gQklUKENGR19C VVNfV0lEVEhfU0hJRlQpLAo+ICAJQ0ZHX0RFVklDRV9TSVpFX1NISUZUCQk9IDI0LAo+ICAKPiAr CS8qIE9ubHkgZm9yIHYyLjEgKi8KPiArCUNGR19QQUdFX1NJWkVfU0hJRlRfdjJfMQk9IDMwLAo+ ICsKPiAgCS8qIE9ubHkgZm9yIHByZS12Ny4xICh3aXRoIG5vIENGR19FWFQgcmVnaXN0ZXIpICov Cj4gIAlDRkdfUEFHRV9TSVpFX1NISUZUCQk9IDIwLAo+ICAJQ0ZHX0JMS19TSVpFX1NISUZUCQk9 IDI4LAo+IEBAIC01NzEsMTIgKzYwNSwxNiBAQCBzdGF0aWMgaW50IGJyY21uYW5kX3JldmlzaW9u X2luaXQoc3RydWN0IGJyY21uYW5kX2NvbnRyb2xsZXIgKmN0cmwpCj4gIHsKPiAgCXN0YXRpYyBj b25zdCB1bnNpZ25lZCBpbnQgYmxvY2tfc2l6ZXNfdjZbXSA9IHsgOCwgMTYsIDEyOCwgMjU2LCA1 MTIsIDEwMjQsIDIwNDgsIDAgfTsKPiAgCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgYmxvY2tf c2l6ZXNfdjRbXSA9IHsgMTYsIDEyOCwgOCwgNTEyLCAyNTYsIDEwMjQsIDIwNDgsIDAgfTsKPiAr CXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgYmxvY2tfc2l6ZXNfdjJfMltdID0geyAxNiwgMTI4 LCA4LCA1MTIsIDI1NiwgMCB9Owo+ICsJc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBibG9ja19z aXplc192Ml8xW10gPSB7IDE2LCAxMjgsIDgsIDUxMiwgMCB9Owo+ICAJc3RhdGljIGNvbnN0IHVu c2lnbmVkIGludCBwYWdlX3NpemVzX3YzXzRbXSA9IHsgNTEyLCAyMDQ4LCA0MDk2LCA4MTkyLCAw IH07Cj4gKwlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IHBhZ2Vfc2l6ZXNfdjJfMltdID0geyA1 MTIsIDIwNDgsIDQwOTYsIDAgfTsKPiArCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgcGFnZV9z aXplc192Ml8xW10gPSB7IDUxMiwgMjA0OCwgMCB9Owo+ICAKPiAgCWN0cmwtPm5hbmRfdmVyc2lv biA9IG5hbmRfcmVhZHJlZyhjdHJsLCAwKSAmIDB4ZmZmZjsKPiAgCj4gLQkvKiBPbmx5IHN1cHBv cnQgdjQuMCs/ICovCj4gLQlpZiAoY3RybC0+bmFuZF92ZXJzaW9uIDwgMHgwNDAwKSB7Cj4gKwkv KiBPbmx5IHN1cHBvcnQgdjIuMSsgKi8KPiArCWlmIChjdHJsLT5uYW5kX3ZlcnNpb24gPCAweDAy MDEpIHsKPiAgCQlkZXZfZXJyKGN0cmwtPmRldiwgInZlcnNpb24gJSN4IG5vdCBzdXBwb3J0ZWRc biIsCj4gIAkJCWN0cmwtPm5hbmRfdmVyc2lvbik7Cj4gIAkJcmV0dXJuIC1FTk9ERVY7Cj4gQEAg LTU5Myw2ICs2MzEsOCBAQCBzdGF0aWMgaW50IGJyY21uYW5kX3JldmlzaW9uX2luaXQoc3RydWN0 IGJyY21uYW5kX2NvbnRyb2xsZXIgKmN0cmwpCj4gIAkJY3RybC0+cmVnX29mZnNldHMgPSBicmNt bmFuZF9yZWdzX3Y1MDsKPiAgCWVsc2UgaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA+PSAweDAzMDMp Cj4gIAkJY3RybC0+cmVnX29mZnNldHMgPSBicmNtbmFuZF9yZWdzX3YzMzsKPiArCWVsc2UgaWYg KGN0cmwtPm5hbmRfdmVyc2lvbiA+PSAweDAyMDEpCj4gKwkJY3RybC0+cmVnX29mZnNldHMgPSBi cmNtbmFuZF9yZWdzX3YyMTsKPiAgCj4gIAkvKiBDaGlwLXNlbGVjdCBzdHJpZGUgKi8KPiAgCWlm IChjdHJsLT5uYW5kX3ZlcnNpb24gPj0gMHgwNzAxKQo+IEBAIC02MTgsMTQgKzY1OCwzMiBAQCBz dGF0aWMgaW50IGJyY21uYW5kX3JldmlzaW9uX2luaXQoc3RydWN0IGJyY21uYW5kX2NvbnRyb2xs ZXIgKmN0cmwpCj4gIAkJY3RybC0+bWF4X3BhZ2Vfc2l6ZSA9IDE2ICogMTAyNDsKPiAgCQljdHJs LT5tYXhfYmxvY2tfc2l6ZSA9IDIgKiAxMDI0ICogMTAyNDsKPiAgCX0gZWxzZSB7Cj4gLQkJY3Ry bC0+cGFnZV9zaXplcyA9IHBhZ2Vfc2l6ZXNfdjNfNDsKPiArCQlpZiAoY3RybC0+bmFuZF92ZXJz aW9uID49IDB4MDMwNCkKPiArCQkJY3RybC0+cGFnZV9zaXplcyA9IHBhZ2Vfc2l6ZXNfdjNfNDsK PiArCQllbHNlIGlmIChjdHJsLT5uYW5kX3ZlcnNpb24gPj0gMHgwMjAyKQo+ICsJCQljdHJsLT5w YWdlX3NpemVzID0gcGFnZV9zaXplc192Ml8yOwo+ICsJCWVsc2UKPiArCQkJY3RybC0+cGFnZV9z aXplcyA9IHBhZ2Vfc2l6ZXNfdjJfMTsKPiArCj4gKwkJaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA+ PSAweDAyMDIpCj4gKwkJCWN0cmwtPnBhZ2Vfc2l6ZV9zaGlmdCA9IENGR19QQUdFX1NJWkVfU0hJ RlQ7Cj4gKwkJZWxzZQo+ICsJCQljdHJsLT5wYWdlX3NpemVfc2hpZnQgPSBDRkdfUEFHRV9TSVpF X1NISUZUX3YyXzE7Cj4gKwo+ICAJCWlmIChjdHJsLT5uYW5kX3ZlcnNpb24gPj0gMHgwNjAwKQo+ ICAJCQljdHJsLT5ibG9ja19zaXplcyA9IGJsb2NrX3NpemVzX3Y2Owo+IC0JCWVsc2UKPiArCQll bHNlIGlmIChjdHJsLT5uYW5kX3ZlcnNpb24gPj0gMHgwNDAwKQo+ICAJCQljdHJsLT5ibG9ja19z aXplcyA9IGJsb2NrX3NpemVzX3Y0Owo+ICsJCWVsc2UgaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA+ PSAweDAyMDIpCj4gKwkJCWN0cmwtPmJsb2NrX3NpemVzID0gYmxvY2tfc2l6ZXNfdjJfMjsKPiAr CQllbHNlCj4gKwkJCWN0cmwtPmJsb2NrX3NpemVzID0gYmxvY2tfc2l6ZXNfdjJfMTsKPiAgCj4g IAkJaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA8IDB4MDQwMCkgewo+IC0JCQljdHJsLT5tYXhfcGFn ZV9zaXplID0gNDA5NjsKPiArCQkJaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA8IDB4MDIwMikKPiAr CQkJCWN0cmwtPm1heF9wYWdlX3NpemUgPSAyMDQ4Owo+ICsJCQllbHNlCj4gKwkJCQljdHJsLT5t YXhfcGFnZV9zaXplID0gNDA5NjsKPiAgCQkJY3RybC0+bWF4X2Jsb2NrX3NpemUgPSA1MTIgKiAx MDI0Owo+ICAJCX0KPiAgCX0KPiBAQCAtODExLDYgKzg2OSw5IEBAIHN0YXRpYyB2b2lkIGJyY21u YW5kX3dyX2NvcnJfdGhyZXNoKHN0cnVjdCBicmNtbmFuZF9ob3N0ICpob3N0LCB1OCB2YWwpCj4g IAllbnVtIGJyY21uYW5kX3JlZyByZWcgPSBCUkNNTkFORF9DT1JSX1RIUkVTSE9MRDsKPiAgCWlu dCBjcyA9IGhvc3QtPmNzOwo+ICAKPiArCWlmICghY3RybC0+cmVnX29mZnNldHNbcmVnXSkKPiAr CQlyZXR1cm47Cj4gKwo+ICAJaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA9PSAweDA3MDIpCj4gIAkJ Yml0cyA9IDc7Cj4gIAllbHNlIGlmIChjdHJsLT5uYW5kX3ZlcnNpb24gPj0gMHgwNjAwKQo+IEBA IC04NjksOCArOTMwLDEwIEBAIHN0YXRpYyBpbmxpbmUgdTMyIGJyY21uYW5kX3NwYXJlX2FyZWFf bWFzayhzdHJ1Y3QgYnJjbW5hbmRfY29udHJvbGxlciAqY3RybCkKPiAgCQlyZXR1cm4gR0VOTUFT Syg3LCAwKTsKPiAgCWVsc2UgaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA+PSAweDA2MDApCj4gIAkJ cmV0dXJuIEdFTk1BU0soNiwgMCk7Cj4gLQllbHNlCj4gKwllbHNlIGlmIChjdHJsLT5uYW5kX3Zl cnNpb24gPj0gMHgwMzAzKQo+ICAJCXJldHVybiBHRU5NQVNLKDUsIDApOwo+ICsJZWxzZQo+ICsJ CXJldHVybiBHRU5NQVNLKDQsIDApOwo+ICB9Cj4gIAo+ICAjZGVmaW5lIE5BTkRfQUNDX0NPTlRS T0xfRUNDX1NISUZUCTE2Cj4gQEAgLTIzNzgsNyArMjQ0MSw3IEBAIHN0YXRpYyBpbnQgYnJjbW5h bmRfc2V0X2NmZyhzdHJ1Y3QgYnJjbW5hbmRfaG9zdCAqaG9zdCwKPiAgCQkoISEoY2ZnLT5kZXZp Y2Vfd2lkdGggPT0gMTYpIDw8IENGR19CVVNfV0lEVEhfU0hJRlQpIHwKPiAgCQkoZGV2aWNlX3Np emUgPDwgQ0ZHX0RFVklDRV9TSVpFX1NISUZUKTsKPiAgCWlmIChjZmdfb2ZmcyA9PSBjZmdfZXh0 X29mZnMpIHsKPiAtCQl0bXAgfD0gKHBhZ2Vfc2l6ZSA8PCBDRkdfUEFHRV9TSVpFX1NISUZUKSB8 Cj4gKwkJdG1wIHw9IChwYWdlX3NpemUgPDwgY3RybC0+cGFnZV9zaXplX3NoaWZ0KSB8Cj4gIAkJ ICAgICAgIChibG9ja19zaXplIDw8IENGR19CTEtfU0laRV9TSElGVCk7Cj4gIAkJbmFuZF93cml0 ZXJlZyhjdHJsLCBjZmdfb2ZmcywgdG1wKTsKPiAgCX0gZWxzZSB7Cj4gQEAgLTIzOTAsOSArMjQ1 MywxMSBAQCBzdGF0aWMgaW50IGJyY21uYW5kX3NldF9jZmcoc3RydWN0IGJyY21uYW5kX2hvc3Qg Kmhvc3QsCj4gIAo+ICAJdG1wID0gbmFuZF9yZWFkcmVnKGN0cmwsIGFjY19jb250cm9sX29mZnMp Owo+ICAJdG1wICY9IH5icmNtbmFuZF9lY2NfbGV2ZWxfbWFzayhjdHJsKTsKPiAtCXRtcCB8PSBj ZmctPmVjY19sZXZlbCA8PCBOQU5EX0FDQ19DT05UUk9MX0VDQ19TSElGVDsKPiAgCXRtcCAmPSB+ YnJjbW5hbmRfc3BhcmVfYXJlYV9tYXNrKGN0cmwpOwo+IC0JdG1wIHw9IGNmZy0+c3BhcmVfYXJl YV9zaXplOwo+ICsJaWYgKGN0cmwtPm5hbmRfdmVyc2lvbiA+PSAweDAzMDIpIHsKPiArCQl0bXAg fD0gY2ZnLT5lY2NfbGV2ZWwgPDwgTkFORF9BQ0NfQ09OVFJPTF9FQ0NfU0hJRlQ7Cj4gKwkJdG1w IHw9IGNmZy0+c3BhcmVfYXJlYV9zaXplOwo+ICsJfQo+ICAJbmFuZF93cml0ZXJlZyhjdHJsLCBh Y2NfY29udHJvbF9vZmZzLCB0bXApOwo+ICAKPiAgCWJyY21uYW5kX3NldF9zZWN0b3Jfc2l6ZV8x ayhob3N0LCBjZmctPnNlY3Rvcl9zaXplXzFrKTsKPiBAQCAtMjc2Niw2ICsyODMxLDggQEAgY29u c3Qgc3RydWN0IGRldl9wbV9vcHMgYnJjbW5hbmRfcG1fb3BzID0gewo+ICBFWFBPUlRfU1lNQk9M X0dQTChicmNtbmFuZF9wbV9vcHMpOwo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgYnJjbW5hbmRfb2ZfbWF0Y2hbXSA9IHsKPiArCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxi cmNtbmFuZC12Mi4xIiB9LAo+ICsJeyAuY29tcGF0aWJsZSA9ICJicmNtLGJyY21uYW5kLXYyLjIi IH0sCj4gIAl7IC5jb21wYXRpYmxlID0gImJyY20sYnJjbW5hbmQtdjQuMCIgfSwKPiAgCXsgLmNv bXBhdGlibGUgPSAiYnJjbSxicmNtbmFuZC12NS4wIiB9LAo+ICAJeyAuY29tcGF0aWJsZSA9ICJi cmNtLGJyY21uYW5kLXY2LjAiIH0sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo= 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=-8.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_2 autolearn=unavailable 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 16643C433E1 for ; Fri, 22 May 2020 11:22:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EBCE52065C for ; Fri, 22 May 2020 11:22:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728871AbgEVLWU convert rfc822-to-8bit (ORCPT ); Fri, 22 May 2020 07:22:20 -0400 Received: from relay12.mail.gandi.net ([217.70.178.232]:48083 "EHLO relay12.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728281AbgEVLWU (ORCPT ); Fri, 22 May 2020 07:22:20 -0400 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay12.mail.gandi.net (Postfix) with ESMTPSA id C9369200009; Fri, 22 May 2020 11:22:15 +0000 (UTC) Date: Fri, 22 May 2020 13:22:11 +0200 From: Miquel Raynal To: =?UTF-8?B?w4FsdmFybyBGZXJuw6FuZGV6?= Rojas Cc: computersforpeace@gmail.com, kdasu.kdev@gmail.com, richard@nod.at, vigneshr@ti.com, sumit.semwal@linaro.org, linux-mtd@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org Subject: Re: [PATCH v3 5/5] nand: brcmnand: support v2.1-v2.2 controllers Message-ID: <20200522132211.16c657aa@xps13> In-Reply-To: <20200522072525.3919332-6-noltari@gmail.com> References: <20200512073329.742893-1-noltari@gmail.com> <20200522072525.3919332-1-noltari@gmail.com> <20200522072525.3919332-6-noltari@gmail.com> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Hi Álvaro, Álvaro Fernández Rojas wrote on Fri, 22 May 2020 09:25:25 +0200: > v2.1: tested on Netgear DGND3700v1 (BCM6368) > v2.2: tested on Netgear DGND3700v2 (BCM6362) > > Signed-off-by: Álvaro Fernández Rojas > --- > v3: fix page size shift for v2.1 controllers. You changed the subject title too which is not accurate anymore, any reason to do that? Anything else changed in this series that I am not aware of? > v2: split page sizes rename into a different patch. > name all block and page sizes versions. > > drivers/mtd/nand/raw/brcmnand/brcmnand.c | 85 +++++++++++++++++++++--- > 1 file changed, 76 insertions(+), 9 deletions(-) > > diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > index ef60dbbeac2b..2c8a468c2e38 100644 > --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c > +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > @@ -264,6 +264,7 @@ struct brcmnand_controller { > const unsigned int *block_sizes; > unsigned int max_page_size; > const unsigned int *page_sizes; > + unsigned int page_size_shift; > unsigned int max_oob; > u32 features; > > @@ -338,6 +339,36 @@ enum brcmnand_reg { > BRCMNAND_FC_BASE, > }; > > +/* BRCMNAND v2.1-v2.2 */ > +static const u16 brcmnand_regs_v21[] = { > + [BRCMNAND_CMD_START] = 0x04, > + [BRCMNAND_CMD_EXT_ADDRESS] = 0x08, > + [BRCMNAND_CMD_ADDRESS] = 0x0c, > + [BRCMNAND_INTFC_STATUS] = 0x5c, > + [BRCMNAND_CS_SELECT] = 0x14, > + [BRCMNAND_CS_XOR] = 0x18, > + [BRCMNAND_LL_OP] = 0, > + [BRCMNAND_CS0_BASE] = 0x40, > + [BRCMNAND_CS1_BASE] = 0, > + [BRCMNAND_CORR_THRESHOLD] = 0, > + [BRCMNAND_CORR_THRESHOLD_EXT] = 0, > + [BRCMNAND_UNCORR_COUNT] = 0, > + [BRCMNAND_CORR_COUNT] = 0, > + [BRCMNAND_CORR_EXT_ADDR] = 0x60, > + [BRCMNAND_CORR_ADDR] = 0x64, > + [BRCMNAND_UNCORR_EXT_ADDR] = 0x68, > + [BRCMNAND_UNCORR_ADDR] = 0x6c, > + [BRCMNAND_SEMAPHORE] = 0x50, > + [BRCMNAND_ID] = 0x54, > + [BRCMNAND_ID_EXT] = 0, > + [BRCMNAND_LL_RDATA] = 0, > + [BRCMNAND_OOB_READ_BASE] = 0x20, > + [BRCMNAND_OOB_READ_10_BASE] = 0, > + [BRCMNAND_OOB_WRITE_BASE] = 0x30, > + [BRCMNAND_OOB_WRITE_10_BASE] = 0, > + [BRCMNAND_FC_BASE] = 0x200, > +}; > + > /* BRCMNAND v3.3-v4.0 */ > static const u16 brcmnand_regs_v33[] = { > [BRCMNAND_CMD_START] = 0x04, > @@ -536,6 +567,9 @@ enum { > CFG_BUS_WIDTH = BIT(CFG_BUS_WIDTH_SHIFT), > CFG_DEVICE_SIZE_SHIFT = 24, > > + /* Only for v2.1 */ > + CFG_PAGE_SIZE_SHIFT_v2_1 = 30, > + > /* Only for pre-v7.1 (with no CFG_EXT register) */ > CFG_PAGE_SIZE_SHIFT = 20, > CFG_BLK_SIZE_SHIFT = 28, > @@ -571,12 +605,16 @@ static int brcmnand_revision_init(struct brcmnand_controller *ctrl) > { > static const unsigned int block_sizes_v6[] = { 8, 16, 128, 256, 512, 1024, 2048, 0 }; > static const unsigned int block_sizes_v4[] = { 16, 128, 8, 512, 256, 1024, 2048, 0 }; > + static const unsigned int block_sizes_v2_2[] = { 16, 128, 8, 512, 256, 0 }; > + static const unsigned int block_sizes_v2_1[] = { 16, 128, 8, 512, 0 }; > static const unsigned int page_sizes_v3_4[] = { 512, 2048, 4096, 8192, 0 }; > + static const unsigned int page_sizes_v2_2[] = { 512, 2048, 4096, 0 }; > + static const unsigned int page_sizes_v2_1[] = { 512, 2048, 0 }; > > ctrl->nand_version = nand_readreg(ctrl, 0) & 0xffff; > > - /* Only support v4.0+? */ > - if (ctrl->nand_version < 0x0400) { > + /* Only support v2.1+ */ > + if (ctrl->nand_version < 0x0201) { > dev_err(ctrl->dev, "version %#x not supported\n", > ctrl->nand_version); > return -ENODEV; > @@ -593,6 +631,8 @@ static int brcmnand_revision_init(struct brcmnand_controller *ctrl) > ctrl->reg_offsets = brcmnand_regs_v50; > else if (ctrl->nand_version >= 0x0303) > ctrl->reg_offsets = brcmnand_regs_v33; > + else if (ctrl->nand_version >= 0x0201) > + ctrl->reg_offsets = brcmnand_regs_v21; > > /* Chip-select stride */ > if (ctrl->nand_version >= 0x0701) > @@ -618,14 +658,32 @@ static int brcmnand_revision_init(struct brcmnand_controller *ctrl) > ctrl->max_page_size = 16 * 1024; > ctrl->max_block_size = 2 * 1024 * 1024; > } else { > - ctrl->page_sizes = page_sizes_v3_4; > + if (ctrl->nand_version >= 0x0304) > + ctrl->page_sizes = page_sizes_v3_4; > + else if (ctrl->nand_version >= 0x0202) > + ctrl->page_sizes = page_sizes_v2_2; > + else > + ctrl->page_sizes = page_sizes_v2_1; > + > + if (ctrl->nand_version >= 0x0202) > + ctrl->page_size_shift = CFG_PAGE_SIZE_SHIFT; > + else > + ctrl->page_size_shift = CFG_PAGE_SIZE_SHIFT_v2_1; > + > if (ctrl->nand_version >= 0x0600) > ctrl->block_sizes = block_sizes_v6; > - else > + else if (ctrl->nand_version >= 0x0400) > ctrl->block_sizes = block_sizes_v4; > + else if (ctrl->nand_version >= 0x0202) > + ctrl->block_sizes = block_sizes_v2_2; > + else > + ctrl->block_sizes = block_sizes_v2_1; > > if (ctrl->nand_version < 0x0400) { > - ctrl->max_page_size = 4096; > + if (ctrl->nand_version < 0x0202) > + ctrl->max_page_size = 2048; > + else > + ctrl->max_page_size = 4096; > ctrl->max_block_size = 512 * 1024; > } > } > @@ -811,6 +869,9 @@ static void brcmnand_wr_corr_thresh(struct brcmnand_host *host, u8 val) > enum brcmnand_reg reg = BRCMNAND_CORR_THRESHOLD; > int cs = host->cs; > > + if (!ctrl->reg_offsets[reg]) > + return; > + > if (ctrl->nand_version == 0x0702) > bits = 7; > else if (ctrl->nand_version >= 0x0600) > @@ -869,8 +930,10 @@ static inline u32 brcmnand_spare_area_mask(struct brcmnand_controller *ctrl) > return GENMASK(7, 0); > else if (ctrl->nand_version >= 0x0600) > return GENMASK(6, 0); > - else > + else if (ctrl->nand_version >= 0x0303) > return GENMASK(5, 0); > + else > + return GENMASK(4, 0); > } > > #define NAND_ACC_CONTROL_ECC_SHIFT 16 > @@ -2378,7 +2441,7 @@ static int brcmnand_set_cfg(struct brcmnand_host *host, > (!!(cfg->device_width == 16) << CFG_BUS_WIDTH_SHIFT) | > (device_size << CFG_DEVICE_SIZE_SHIFT); > if (cfg_offs == cfg_ext_offs) { > - tmp |= (page_size << CFG_PAGE_SIZE_SHIFT) | > + tmp |= (page_size << ctrl->page_size_shift) | > (block_size << CFG_BLK_SIZE_SHIFT); > nand_writereg(ctrl, cfg_offs, tmp); > } else { > @@ -2390,9 +2453,11 @@ static int brcmnand_set_cfg(struct brcmnand_host *host, > > tmp = nand_readreg(ctrl, acc_control_offs); > tmp &= ~brcmnand_ecc_level_mask(ctrl); > - tmp |= cfg->ecc_level << NAND_ACC_CONTROL_ECC_SHIFT; > tmp &= ~brcmnand_spare_area_mask(ctrl); > - tmp |= cfg->spare_area_size; > + if (ctrl->nand_version >= 0x0302) { > + tmp |= cfg->ecc_level << NAND_ACC_CONTROL_ECC_SHIFT; > + tmp |= cfg->spare_area_size; > + } > nand_writereg(ctrl, acc_control_offs, tmp); > > brcmnand_set_sector_size_1k(host, cfg->sector_size_1k); > @@ -2766,6 +2831,8 @@ const struct dev_pm_ops brcmnand_pm_ops = { > EXPORT_SYMBOL_GPL(brcmnand_pm_ops); > > static const struct of_device_id brcmnand_of_match[] = { > + { .compatible = "brcm,brcmnand-v2.1" }, > + { .compatible = "brcm,brcmnand-v2.2" }, > { .compatible = "brcm,brcmnand-v4.0" }, > { .compatible = "brcm,brcmnand-v5.0" }, > { .compatible = "brcm,brcmnand-v6.0" },