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=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS 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 DED1AC04AAC for ; Thu, 23 May 2019 06:42:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A1C8A2175B for ; Thu, 23 May 2019 06:42:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726440AbfEWGmd (ORCPT ); Thu, 23 May 2019 02:42:33 -0400 Received: from skedge04.snt-world.com ([91.208.41.69]:59396 "EHLO skedge04.snt-world.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725806AbfEWGmd (ORCPT ); Thu, 23 May 2019 02:42:33 -0400 Received: from sntmail10s.snt-is.com (unknown [10.203.32.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by skedge04.snt-world.com (Postfix) with ESMTPS id DD9C766117C; Thu, 23 May 2019 08:42:28 +0200 (CEST) Received: from sntmail12r.snt-is.com (10.203.32.182) by sntmail10s.snt-is.com (10.203.32.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 23 May 2019 08:42:28 +0200 Received: from sntmail12r.snt-is.com ([fe80::e551:8750:7bba:3305]) by sntmail12r.snt-is.com ([fe80::e551:8750:7bba:3305%3]) with mapi id 15.01.1713.004; Thu, 23 May 2019 08:42:28 +0200 From: Schrempf Frieder To: Jeff Kletsky , Miquel Raynal , Richard Weinberger , "David Woodhouse" , Brian Norris , Marek Vasut , Vignesh Raghavendra CC: "linux-mtd@lists.infradead.org" , "Jeff Kletsky" , kbuild test robot , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v4 3/3] mtd: spinand: Add support for GigaDevice GD5F1GQ4UFxxG Thread-Topic: [PATCH v4 3/3] mtd: spinand: Add support for GigaDevice GD5F1GQ4UFxxG Thread-Index: AQHVEOq8ofUdXvC9RUu5vDDV8HwpMaZ4IfUA Date: Thu, 23 May 2019 06:42:28 +0000 Message-ID: References: <20190522220555.11626-1-lede@allycomm.com> <20190522220555.11626-4-lede@allycomm.com> In-Reply-To: <20190522220555.11626-4-lede@allycomm.com> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.25.9.193] x-c2processedorg: 51b406b7-48a2-4d03-b652-521f56ac89f3 Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-SnT-MailScanner-Information: Please contact the ISP for more information X-SnT-MailScanner-ID: DD9C766117C.A3716 X-SnT-MailScanner: Not scanned: please contact your Internet E-Mail Service Provider for details X-SnT-MailScanner-SpamCheck: X-SnT-MailScanner-From: frieder.schrempf@kontron.de X-SnT-MailScanner-To: computersforpeace@gmail.com, dwmw2@infradead.org, git-commits@allycomm.com, lede@allycomm.com, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, lkp@intel.com, marek.vasut@gmail.com, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gMjMuMDUuMTkgMDA6MDUsIEplZmYgS2xldHNreSB3cm90ZToNCj4gRnJvbTogSmVmZiBLbGV0 c2t5IDxnaXQtY29tbWl0c0BhbGx5Y29tbS5jb20+DQo+IA0KPiBUaGUgR2lnYURldmljZSBHRDVG MUdRNFVGeHhHIFNQSSBOQU5EIGlzIGluIGN1cnJlbnQgcHJvZHVjdGlvbiBkZXZpY2VzDQo+IGFu ZCwgd2hpbGUgaXQgaGFzIHRoZSBzYW1lIGxvZ2ljYWwgbGF5b3V0IGFzIHRoZSBFLXNlcmllcyBk ZXZpY2VzLA0KPiBpdCBkaWZmZXJzIGluIHRoZSBTUEkgaW50ZXJmYWNpbmcgaW4gc2lnbmlmaWNh bnQgd2F5cy4NCj4gDQo+IFRoaXMgc3VwcG9ydCBpcyBjb250aW5nZW50IG9uIHByZXZpb3VzIGNv bW1pdHMgdG86DQo+IA0KPiAgICAqIEFkZCBzdXBwb3J0IGZvciB0d28tYnl0ZSBkZXZpY2UgSURz DQo+ICAgICogRGVmaW5lIG1hY3JvcyBmb3IgcGFnZS1yZWFkIG9wcyB3aXRoIHRocmVlLWJ5dGUg YWRkcmVzc2VzDQo+IA0KPiBodHRwOi8vd3d3LmdpZ2FkZXZpY2UuY29tL2RhdGFzaGVldC9nZDVm MWdxNHhmeHhnLw0KPiANCj4gU2lnbmVkLW9mZi1ieTogSmVmZiBLbGV0c2t5IDxnaXQtY29tbWl0 c0BhbGx5Y29tbS5jb20+DQoNClJldmlld2VkLWJ5OiBGcmllZGVyIFNjaHJlbXBmIDxmcmllZGVy LnNjaHJlbXBmQGtvbnRyb24uZGU+DQoNCj4gDQo+IFJlcG9ydGVkLWJ5OiBrYnVpbGQgdGVzdCBy b2JvdCA8bGtwQGludGVsLmNvbT4NCg0KSSBkb250J3QgdGhpbmsgdGhhdCB0aGlzIFJlcG9ydGVk LWJ5IHRhZyBzaG91bGQgYmUgdXNlZCBoZXJlLiBUaGUgYm90IA0KcmVwb3J0ZWQgYnVpbGQgZXJy b3JzIGNhdXNlZCBieSB5b3VyIHBhdGNoIGFuZCB5b3UgZml4ZWQgaXQgaW4gYSBuZXcgDQp2ZXJz aW9uLiBBcyBmYXIgYXMgSSB1bmRlcnN0YW5kIHRoaXMgdGFnLCBpdCByZWZlcmVuY2VzIHNvbWVv bmUgd2hvIA0KcmVwb3J0ZWQgYSBmbGF3L2J1ZyB0aGF0IGxlZCB0byB0aGlzIGNoYW5nZSBpbiB0 aGUgZmlyc3QgcGxhY2UuDQpUaGUgdmVyc2lvbiBoaXN0b3J5IG9mIHRoZSBjaGFuZ2VzIHdvbid0 IGJlIHZpc2libGUgaW4gdGhlIGdpdCBoaXN0b3J5IA0KbGF0ZXIsIGJ1dCB0aGUgdGFnIHdpbGwg YmUgYW5kIHdvdWxkIGJlIHJhdGhlciBjb25mdXNpbmcuDQoNCj4gLS0tDQo+ICAgZHJpdmVycy9t dGQvbmFuZC9zcGkvZ2lnYWRldmljZS5jIHwgNzkgKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMo LSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9uYW5kL3NwaS9naWdhZGV2aWNlLmMg Yi9kcml2ZXJzL210ZC9uYW5kL3NwaS9naWdhZGV2aWNlLmMNCj4gaW5kZXggZTU1ODYzOTAwMjZh Li5iMGMyNmViNWU4YjYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbXRkL25hbmQvc3BpL2dpZ2Fk ZXZpY2UuYw0KPiArKysgYi9kcml2ZXJzL210ZC9uYW5kL3NwaS9naWdhZGV2aWNlLmMNCj4gQEAg LTksMTEgKzksMTcgQEANCj4gICAjaW5jbHVkZSA8bGludXgvbXRkL3NwaW5hbmQuaD4NCj4gICAN Cj4gICAjZGVmaW5lIFNQSU5BTkRfTUZSX0dJR0FERVZJQ0UJCQkweEM4DQo+ICsNCj4gICAjZGVm aW5lIEdENUZYR1E0WEFfU1RBVFVTX0VDQ18xXzdfQklURkxJUFMJKDEgPDwgNCkNCj4gICAjZGVm aW5lIEdENUZYR1E0WEFfU1RBVFVTX0VDQ184X0JJVEZMSVBTCSgzIDw8IDQpDQo+ICAgDQo+ICAg I2RlZmluZSBHRDVGWEdRNFVFWFhHX1JFR19TVEFUVVMyCQkweGYwDQo+ICAgDQo+ICsjZGVmaW5l IEdENUZYR1E0VVhGWFhHX1NUQVRVU19FQ0NfTUFTSwkJKDcgPDwgNCkNCj4gKyNkZWZpbmUgR0Q1 RlhHUTRVWEZYWEdfU1RBVFVTX0VDQ19OT19CSVRGTElQUwkoMCA8PCA0KQ0KPiArI2RlZmluZSBH RDVGWEdRNFVYRlhYR19TVEFUVVNfRUNDXzFfM19CSVRGTElQUwkoMSA8PCA0KQ0KPiArI2RlZmlu ZSBHRDVGWEdRNFVYRlhYR19TVEFUVVNfRUNDX1VOQ09SX0VSUk9SCSg3IDw8IDQpDQo+ICsNCj4g ICBzdGF0aWMgU1BJTkFORF9PUF9WQVJJQU5UUyhyZWFkX2NhY2hlX3ZhcmlhbnRzLA0KPiAgIAkJ U1BJTkFORF9QQUdFX1JFQURfRlJPTV9DQUNIRV9RVUFESU9fT1AoMCwgMiwgTlVMTCwgMCksDQo+ ICAgCQlTUElOQU5EX1BBR0VfUkVBRF9GUk9NX0NBQ0hFX1g0X09QKDAsIDEsIE5VTEwsIDApLA0K PiBAQCAtMjIsNiArMjgsMTQgQEAgc3RhdGljIFNQSU5BTkRfT1BfVkFSSUFOVFMocmVhZF9jYWNo ZV92YXJpYW50cywNCj4gICAJCVNQSU5BTkRfUEFHRV9SRUFEX0ZST01fQ0FDSEVfT1AodHJ1ZSwg MCwgMSwgTlVMTCwgMCksDQo+ICAgCQlTUElOQU5EX1BBR0VfUkVBRF9GUk9NX0NBQ0hFX09QKGZh bHNlLCAwLCAxLCBOVUxMLCAwKSk7DQo+ICAgDQo+ICtzdGF0aWMgU1BJTkFORF9PUF9WQVJJQU5U UyhyZWFkX2NhY2hlX3ZhcmlhbnRzX2YsDQo+ICsJCVNQSU5BTkRfUEFHRV9SRUFEX0ZST01fQ0FD SEVfUVVBRElPX09QKDAsIDIsIE5VTEwsIDApLA0KPiArCQlTUElOQU5EX1BBR0VfUkVBRF9GUk9N X0NBQ0hFX1g0X09QXzNBKDAsIDEsIE5VTEwsIDApLA0KPiArCQlTUElOQU5EX1BBR0VfUkVBRF9G Uk9NX0NBQ0hFX0RVQUxJT19PUCgwLCAxLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFORF9QQUdFX1JF QURfRlJPTV9DQUNIRV9YMl9PUF8zQSgwLCAxLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFORF9QQUdF X1JFQURfRlJPTV9DQUNIRV9PUF8zQSh0cnVlLCAwLCAxLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFO RF9QQUdFX1JFQURfRlJPTV9DQUNIRV9PUF8zQShmYWxzZSwgMCwgMCwgTlVMTCwgMCkpOw0KPiAr DQo+ICAgc3RhdGljIFNQSU5BTkRfT1BfVkFSSUFOVFMod3JpdGVfY2FjaGVfdmFyaWFudHMsDQo+ ICAgCQlTUElOQU5EX1BST0dfTE9BRF9YNCh0cnVlLCAwLCBOVUxMLCAwKSwNCj4gICAJCVNQSU5B TkRfUFJPR19MT0FEKHRydWUsIDAsIE5VTEwsIDApKTsNCj4gQEAgLTU5LDYgKzczLDExIEBAIHN0 YXRpYyBpbnQgZ2Q1ZnhncTR4YV9vb2JsYXlvdXRfZnJlZShzdHJ1Y3QgbXRkX2luZm8gKm10ZCwg aW50IHNlY3Rpb24sDQo+ICAgCXJldHVybiAwOw0KPiAgIH0NCj4gICANCj4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgbXRkX29vYmxheW91dF9vcHMgZ2Q1ZnhncTR4YV9vb2JsYXlvdXQgPSB7DQo+ICsJ LmVjYyA9IGdkNWZ4Z3E0eGFfb29ibGF5b3V0X2VjYywNCj4gKwkuZnJlZSA9IGdkNWZ4Z3E0eGFf b29ibGF5b3V0X2ZyZWUsDQo+ICt9Ow0KPiArDQo+ICAgc3RhdGljIGludCBnZDVmeGdxNHhhX2Vj Y19nZXRfc3RhdHVzKHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCwNCj4gICAJCQkJCSB1 OCBzdGF0dXMpDQo+ICAgew0KPiBAQCAtODMsNyArMTAyLDcgQEAgc3RhdGljIGludCBnZDVmeGdx NHhhX2VjY19nZXRfc3RhdHVzKHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCwNCj4gICAJ cmV0dXJuIC1FSU5WQUw7DQo+ICAgfQ0KPiAgIA0KPiAtc3RhdGljIGludCBnZDVmeGdxNHVleHhn X29vYmxheW91dF9lY2Moc3RydWN0IG10ZF9pbmZvICptdGQsIGludCBzZWN0aW9uLA0KPiArc3Rh dGljIGludCBnZDVmeGdxNF92YXJpYW50Ml9vb2JsYXlvdXRfZWNjKHN0cnVjdCBtdGRfaW5mbyAq bXRkLCBpbnQgc2VjdGlvbiwNCj4gICAJCQkJICAgICAgIHN0cnVjdCBtdGRfb29iX3JlZ2lvbiAq cmVnaW9uKQ0KPiAgIHsNCj4gICAJaWYgKHNlY3Rpb24pDQo+IEBAIC05NSw3ICsxMTQsNyBAQCBz dGF0aWMgaW50IGdkNWZ4Z3E0dWV4eGdfb29ibGF5b3V0X2VjYyhzdHJ1Y3QgbXRkX2luZm8gKm10 ZCwgaW50IHNlY3Rpb24sDQo+ICAgCXJldHVybiAwOw0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyBp bnQgZ2Q1ZnhncTR1ZXh4Z19vb2JsYXlvdXRfZnJlZShzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgaW50 IHNlY3Rpb24sDQo+ICtzdGF0aWMgaW50IGdkNWZ4Z3E0X3ZhcmlhbnQyX29vYmxheW91dF9mcmVl KHN0cnVjdCBtdGRfaW5mbyAqbXRkLCBpbnQgc2VjdGlvbiwNCj4gICAJCQkJCXN0cnVjdCBtdGRf b29iX3JlZ2lvbiAqcmVnaW9uKQ0KPiAgIHsNCj4gICAJaWYgKHNlY3Rpb24pDQo+IEBAIC0xMDgs NiArMTI3LDExIEBAIHN0YXRpYyBpbnQgZ2Q1ZnhncTR1ZXh4Z19vb2JsYXlvdXRfZnJlZShzdHJ1 Y3QgbXRkX2luZm8gKm10ZCwgaW50IHNlY3Rpb24sDQo+ICAgCXJldHVybiAwOw0KPiAgIH0NCj4g ICANCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRkX29vYmxheW91dF9vcHMgZ2Q1ZnhncTRfdmFy aWFudDJfb29ibGF5b3V0ID0gew0KPiArCS5lY2MgPSBnZDVmeGdxNF92YXJpYW50Ml9vb2JsYXlv dXRfZWNjLA0KPiArCS5mcmVlID0gZ2Q1ZnhncTRfdmFyaWFudDJfb29ibGF5b3V0X2ZyZWUsDQo+ ICt9Ow0KPiArDQo+ICAgc3RhdGljIGludCBnZDVmeGdxNHVleHhnX2VjY19nZXRfc3RhdHVzKHN0 cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCwNCj4gICAJCQkJCXU4IHN0YXR1cykNCj4gICB7 DQo+IEBAIC0xNTAsMTUgKzE3NCwyNSBAQCBzdGF0aWMgaW50IGdkNWZ4Z3E0dWV4eGdfZWNjX2dl dF9zdGF0dXMoc3RydWN0IHNwaW5hbmRfZGV2aWNlICpzcGluYW5kLA0KPiAgIAlyZXR1cm4gLUVJ TlZBTDsNCj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IG10ZF9vb2JsYXlvdXRf b3BzIGdkNWZ4Z3E0eGFfb29ibGF5b3V0ID0gew0KPiAtCS5lY2MgPSBnZDVmeGdxNHhhX29vYmxh eW91dF9lY2MsDQo+IC0JLmZyZWUgPSBnZDVmeGdxNHhhX29vYmxheW91dF9mcmVlLA0KPiAtfTsN Cj4gK3N0YXRpYyBpbnQgZ2Q1ZnhncTR1Znh4Z19lY2NfZ2V0X3N0YXR1cyhzdHJ1Y3Qgc3BpbmFu ZF9kZXZpY2UgKnNwaW5hbmQsDQo+ICsJCQkJCXU4IHN0YXR1cykNCj4gK3sNCj4gKwlzd2l0Y2gg KHN0YXR1cyAmIEdENUZYR1E0VVhGWFhHX1NUQVRVU19FQ0NfTUFTSykgew0KPiArCWNhc2UgR0Q1 RlhHUTRVWEZYWEdfU1RBVFVTX0VDQ19OT19CSVRGTElQUzoNCj4gKwkJcmV0dXJuIDA7DQo+ICAg DQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IG10ZF9vb2JsYXlvdXRfb3BzIGdkNWZ4Z3E0dWV4eGdf b29ibGF5b3V0ID0gew0KPiAtCS5lY2MgPSBnZDVmeGdxNHVleHhnX29vYmxheW91dF9lY2MsDQo+ IC0JLmZyZWUgPSBnZDVmeGdxNHVleHhnX29vYmxheW91dF9mcmVlLA0KPiAtfTsNCj4gKwljYXNl IEdENUZYR1E0VVhGWFhHX1NUQVRVU19FQ0NfMV8zX0JJVEZMSVBTOg0KPiArCQlyZXR1cm4gMzsN Cj4gKw0KPiArCWNhc2UgR0Q1RlhHUTRVWEZYWEdfU1RBVFVTX0VDQ19VTkNPUl9FUlJPUjoNCj4g KwkJcmV0dXJuIC1FQkFETVNHOw0KPiArDQo+ICsJZGVmYXVsdDogLyogKDIgPDwgNCkgdGhyb3Vn aCAoNiA8PCA0KSBhcmUgNC04IGNvcnJlY3RlZCBlcnJvcnMgKi8NCj4gKwkJcmV0dXJuICgoc3Rh dHVzICYgR0Q1RlhHUTRVWEZYWEdfU1RBVFVTX0VDQ19NQVNLKSA+PiA0KSArIDI7DQo+ICsJfQ0K PiArDQo+ICsJcmV0dXJuIC1FSU5WQUw7DQo+ICt9DQo+ICAgDQo+ICAgc3RhdGljIGNvbnN0IHN0 cnVjdCBzcGluYW5kX2luZm8gZ2lnYWRldmljZV9zcGluYW5kX3RhYmxlW10gPSB7DQo+ICAgCVNQ SU5BTkRfSU5GTygiR0Q1RjFHUTR4QSIsIDB4RjEsDQo+IEBAIC0xOTUsMjUgKzIyOSw0MCBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHNwaW5hbmRfaW5mbyBnaWdhZGV2aWNlX3NwaW5hbmRfdGFibGVb XSA9IHsNCj4gICAJCQkJCSAgICAgICZ3cml0ZV9jYWNoZV92YXJpYW50cywNCj4gICAJCQkJCSAg ICAgICZ1cGRhdGVfY2FjaGVfdmFyaWFudHMpLA0KPiAgIAkJICAgICAwLA0KPiAtCQkgICAgIFNQ SU5BTkRfRUNDSU5GTygmZ2Q1ZnhncTR1ZXh4Z19vb2JsYXlvdXQsDQo+ICsJCSAgICAgU1BJTkFO RF9FQ0NJTkZPKCZnZDVmeGdxNF92YXJpYW50Ml9vb2JsYXlvdXQsDQo+ICAgCQkJCSAgICAgZ2Q1 ZnhncTR1ZXh4Z19lY2NfZ2V0X3N0YXR1cykpLA0KPiArCVNQSU5BTkRfSU5GTygiR0Q1RjFHUTRV Rnh4RyIsIDB4YjE0OCwNCj4gKwkJICAgICBOQU5EX01FTU9SRygxLCAyMDQ4LCAxMjgsIDY0LCAx MDI0LCAyMCwgMSwgMSwgMSksDQo+ICsJCSAgICAgTkFORF9FQ0NSRVEoOCwgNTEyKSwNCj4gKwkJ ICAgICBTUElOQU5EX0lORk9fT1BfVkFSSUFOVFMoJnJlYWRfY2FjaGVfdmFyaWFudHNfZiwNCj4g KwkJCQkJICAgICAgJndyaXRlX2NhY2hlX3ZhcmlhbnRzLA0KPiArCQkJCQkgICAgICAmdXBkYXRl X2NhY2hlX3ZhcmlhbnRzKSwNCj4gKwkJICAgICAwLA0KPiArCQkgICAgIFNQSU5BTkRfRUNDSU5G TygmZ2Q1ZnhncTRfdmFyaWFudDJfb29ibGF5b3V0LA0KPiArCQkJCSAgICAgZ2Q1ZnhncTR1Znh4 Z19lY2NfZ2V0X3N0YXR1cykpLA0KPiAgIH07DQo+ICAgDQo+ICAgc3RhdGljIGludCBnaWdhZGV2 aWNlX3NwaW5hbmRfZGV0ZWN0KHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCkNCj4gICB7 DQo+ICAgCXU4ICppZCA9IHNwaW5hbmQtPmlkLmRhdGE7DQo+ICsJdTE2IGRpZDsNCj4gICAJaW50 IHJldDsNCj4gICANCj4gICAJLyoNCj4gLQkgKiBGb3IgR0QgTkFORHMsIFRoZXJlIGlzIGFuIGFk ZHJlc3MgYnl0ZSBuZWVkZWQgdG8gc2hpZnQgaW4gYmVmb3JlIElEcw0KPiAtCSAqIGFyZSByZWFk IG91dCwgc28gdGhlIGZpcnN0IGJ5dGUgaW4gcmF3X2lkIGlzIGR1bW15Lg0KPiArCSAqIEVhcmxp ZXIgR0RGNS1zZXJpZXMgZGV2aWNlcyAoQSxFKSByZXR1cm4gWzBdW01JRF1bRElEXQ0KPiArCSAq IExhdGVyIChGKSBkZXZpY2VzIHJldHVybiBbTUlEXVtESUQxXVtESUQyXQ0KPiAgIAkgKi8NCj4g LQlpZiAoaWRbMV0gIT0gU1BJTkFORF9NRlJfR0lHQURFVklDRSkNCj4gKw0KPiArCWlmIChpZFsw XSA9PSBTUElOQU5EX01GUl9HSUdBREVWSUNFKQ0KPiArCQlkaWQgPSAoaWRbMV0gPDwgOCkgKyBp ZFsyXTsNCj4gKwllbHNlIGlmIChpZFswXSA9PSAwICYmIGlkWzFdID09IFNQSU5BTkRfTUZSX0dJ R0FERVZJQ0UpDQo+ICsJCWRpZCA9IGlkWzJdOw0KPiArCWVsc2UNCj4gICAJCXJldHVybiAwOw0K PiAgIA0KPiAgIAlyZXQgPSBzcGluYW5kX21hdGNoX2FuZF9pbml0KHNwaW5hbmQsIGdpZ2FkZXZp Y2Vfc3BpbmFuZF90YWJsZSwNCj4gICAJCQkJICAgICBBUlJBWV9TSVpFKGdpZ2FkZXZpY2Vfc3Bp bmFuZF90YWJsZSksDQo+IC0JCQkJICAgICBpZFsyXSk7DQo+ICsJCQkJICAgICBkaWQpOw0KPiAg IAlpZiAocmV0KQ0KPiAgIAkJcmV0dXJuIHJldDsNCj4gICANCj4g 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=-7.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,T_DKIMWL_WL_HIGH,URIBL_BLOCKED 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 9BB02C04AAC for ; Thu, 23 May 2019 06:42:47 +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 6C82020879 for ; Thu, 23 May 2019 06:42:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="sa1r5slR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6C82020879 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kontron.de 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:Content-ID:In-Reply-To: References:Message-ID:Date:Subject:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pBmhcq15B12NbBtC8ZXbi5noJ9D9KnJHxi3Cx+Ijp+8=; b=sa1r5slRD+4hMw YWQowfGd861j1mpyKch85j7jiwFspt6GG5UqE3oX36Vl+diKThqqCTp3rIDb/wAizdRquFXy0qSnT lYThwQEFrwD8yje24/bCVwmid+8Ss/H1xiyUbM6bqx3iqZzpDX8TLviv4/lyZ9Hv8fLJcwlUZ7n+f xFV5qiaWubs5JkOQdKRXETYAFlI1alzyqAC4xLxbVQL4nlG9KXCBHXUTjkwk7iXGrMy59u7Fdb9S4 RTMJ+0WMuZGrW8KZYPGgwRSqHxU2NM/qmHnS9an/c2nCTUQ+jR31uHRp2Gd/66XlMg8GqEN3kmGzQ j22pFca/Yh9Ztp4IRn8g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hThR6-0004gX-61; Thu, 23 May 2019 06:42:44 +0000 Received: from skedge04.snt-world.com ([91.208.41.69]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hThR1-0004fk-1T for linux-mtd@lists.infradead.org; Thu, 23 May 2019 06:42:41 +0000 Received: from sntmail10s.snt-is.com (unknown [10.203.32.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by skedge04.snt-world.com (Postfix) with ESMTPS id DD9C766117C; Thu, 23 May 2019 08:42:28 +0200 (CEST) Received: from sntmail12r.snt-is.com (10.203.32.182) by sntmail10s.snt-is.com (10.203.32.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 23 May 2019 08:42:28 +0200 Received: from sntmail12r.snt-is.com ([fe80::e551:8750:7bba:3305]) by sntmail12r.snt-is.com ([fe80::e551:8750:7bba:3305%3]) with mapi id 15.01.1713.004; Thu, 23 May 2019 08:42:28 +0200 From: Schrempf Frieder To: Jeff Kletsky , Miquel Raynal , Richard Weinberger , "David Woodhouse" , Brian Norris , Marek Vasut , Vignesh Raghavendra Subject: Re: [PATCH v4 3/3] mtd: spinand: Add support for GigaDevice GD5F1GQ4UFxxG Thread-Topic: [PATCH v4 3/3] mtd: spinand: Add support for GigaDevice GD5F1GQ4UFxxG Thread-Index: AQHVEOq8ofUdXvC9RUu5vDDV8HwpMaZ4IfUA Date: Thu, 23 May 2019 06:42:28 +0000 Message-ID: References: <20190522220555.11626-1-lede@allycomm.com> <20190522220555.11626-4-lede@allycomm.com> In-Reply-To: <20190522220555.11626-4-lede@allycomm.com> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.25.9.193] x-c2processedorg: 51b406b7-48a2-4d03-b652-521f56ac89f3 Content-ID: MIME-Version: 1.0 X-SnT-MailScanner-Information: Please contact the ISP for more information X-SnT-MailScanner-ID: DD9C766117C.A3716 X-SnT-MailScanner: Not scanned: please contact your Internet E-Mail Service Provider for details X-SnT-MailScanner-SpamCheck: X-SnT-MailScanner-From: frieder.schrempf@kontron.de X-SnT-MailScanner-To: computersforpeace@gmail.com, dwmw2@infradead.org, git-commits@allycomm.com, lede@allycomm.com, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, lkp@intel.com, marek.vasut@gmail.com, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190522_234239_426064_6BFB9AB0 X-CRM114-Status: GOOD ( 21.82 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jeff Kletsky , "linux-mtd@lists.infradead.org" , kbuild test robot , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org On 23.05.19 00:05, Jeff Kletsky wrote: > From: Jeff Kletsky > > The GigaDevice GD5F1GQ4UFxxG SPI NAND is in current production devices > and, while it has the same logical layout as the E-series devices, > it differs in the SPI interfacing in significant ways. > > This support is contingent on previous commits to: > > * Add support for two-byte device IDs > * Define macros for page-read ops with three-byte addresses > > http://www.gigadevice.com/datasheet/gd5f1gq4xfxxg/ > > Signed-off-by: Jeff Kletsky Reviewed-by: Frieder Schrempf > > Reported-by: kbuild test robot I dont't think that this Reported-by tag should be used here. The bot reported build errors caused by your patch and you fixed it in a new version. As far as I understand this tag, it references someone who reported a flaw/bug that led to this change in the first place. The version history of the changes won't be visible in the git history later, but the tag will be and would be rather confusing. > --- > drivers/mtd/nand/spi/gigadevice.c | 79 +++++++++++++++++++++++++------ > 1 file changed, 64 insertions(+), 15 deletions(-) > > diff --git a/drivers/mtd/nand/spi/gigadevice.c b/drivers/mtd/nand/spi/gigadevice.c > index e5586390026a..b0c26eb5e8b6 100644 > --- a/drivers/mtd/nand/spi/gigadevice.c > +++ b/drivers/mtd/nand/spi/gigadevice.c > @@ -9,11 +9,17 @@ > #include > > #define SPINAND_MFR_GIGADEVICE 0xC8 > + > #define GD5FXGQ4XA_STATUS_ECC_1_7_BITFLIPS (1 << 4) > #define GD5FXGQ4XA_STATUS_ECC_8_BITFLIPS (3 << 4) > > #define GD5FXGQ4UEXXG_REG_STATUS2 0xf0 > > +#define GD5FXGQ4UXFXXG_STATUS_ECC_MASK (7 << 4) > +#define GD5FXGQ4UXFXXG_STATUS_ECC_NO_BITFLIPS (0 << 4) > +#define GD5FXGQ4UXFXXG_STATUS_ECC_1_3_BITFLIPS (1 << 4) > +#define GD5FXGQ4UXFXXG_STATUS_ECC_UNCOR_ERROR (7 << 4) > + > static SPINAND_OP_VARIANTS(read_cache_variants, > SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0), > SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0), > @@ -22,6 +28,14 @@ static SPINAND_OP_VARIANTS(read_cache_variants, > SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0), > SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0)); > > +static SPINAND_OP_VARIANTS(read_cache_variants_f, > + SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0), > + SPINAND_PAGE_READ_FROM_CACHE_X4_OP_3A(0, 1, NULL, 0), > + SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0), > + SPINAND_PAGE_READ_FROM_CACHE_X2_OP_3A(0, 1, NULL, 0), > + SPINAND_PAGE_READ_FROM_CACHE_OP_3A(true, 0, 1, NULL, 0), > + SPINAND_PAGE_READ_FROM_CACHE_OP_3A(false, 0, 0, NULL, 0)); > + > static SPINAND_OP_VARIANTS(write_cache_variants, > SPINAND_PROG_LOAD_X4(true, 0, NULL, 0), > SPINAND_PROG_LOAD(true, 0, NULL, 0)); > @@ -59,6 +73,11 @@ static int gd5fxgq4xa_ooblayout_free(struct mtd_info *mtd, int section, > return 0; > } > > +static const struct mtd_ooblayout_ops gd5fxgq4xa_ooblayout = { > + .ecc = gd5fxgq4xa_ooblayout_ecc, > + .free = gd5fxgq4xa_ooblayout_free, > +}; > + > static int gd5fxgq4xa_ecc_get_status(struct spinand_device *spinand, > u8 status) > { > @@ -83,7 +102,7 @@ static int gd5fxgq4xa_ecc_get_status(struct spinand_device *spinand, > return -EINVAL; > } > > -static int gd5fxgq4uexxg_ooblayout_ecc(struct mtd_info *mtd, int section, > +static int gd5fxgq4_variant2_ooblayout_ecc(struct mtd_info *mtd, int section, > struct mtd_oob_region *region) > { > if (section) > @@ -95,7 +114,7 @@ static int gd5fxgq4uexxg_ooblayout_ecc(struct mtd_info *mtd, int section, > return 0; > } > > -static int gd5fxgq4uexxg_ooblayout_free(struct mtd_info *mtd, int section, > +static int gd5fxgq4_variant2_ooblayout_free(struct mtd_info *mtd, int section, > struct mtd_oob_region *region) > { > if (section) > @@ -108,6 +127,11 @@ static int gd5fxgq4uexxg_ooblayout_free(struct mtd_info *mtd, int section, > return 0; > } > > +static const struct mtd_ooblayout_ops gd5fxgq4_variant2_ooblayout = { > + .ecc = gd5fxgq4_variant2_ooblayout_ecc, > + .free = gd5fxgq4_variant2_ooblayout_free, > +}; > + > static int gd5fxgq4uexxg_ecc_get_status(struct spinand_device *spinand, > u8 status) > { > @@ -150,15 +174,25 @@ static int gd5fxgq4uexxg_ecc_get_status(struct spinand_device *spinand, > return -EINVAL; > } > > -static const struct mtd_ooblayout_ops gd5fxgq4xa_ooblayout = { > - .ecc = gd5fxgq4xa_ooblayout_ecc, > - .free = gd5fxgq4xa_ooblayout_free, > -}; > +static int gd5fxgq4ufxxg_ecc_get_status(struct spinand_device *spinand, > + u8 status) > +{ > + switch (status & GD5FXGQ4UXFXXG_STATUS_ECC_MASK) { > + case GD5FXGQ4UXFXXG_STATUS_ECC_NO_BITFLIPS: > + return 0; > > -static const struct mtd_ooblayout_ops gd5fxgq4uexxg_ooblayout = { > - .ecc = gd5fxgq4uexxg_ooblayout_ecc, > - .free = gd5fxgq4uexxg_ooblayout_free, > -}; > + case GD5FXGQ4UXFXXG_STATUS_ECC_1_3_BITFLIPS: > + return 3; > + > + case GD5FXGQ4UXFXXG_STATUS_ECC_UNCOR_ERROR: > + return -EBADMSG; > + > + default: /* (2 << 4) through (6 << 4) are 4-8 corrected errors */ > + return ((status & GD5FXGQ4UXFXXG_STATUS_ECC_MASK) >> 4) + 2; > + } > + > + return -EINVAL; > +} > > static const struct spinand_info gigadevice_spinand_table[] = { > SPINAND_INFO("GD5F1GQ4xA", 0xF1, > @@ -195,25 +229,40 @@ static const struct spinand_info gigadevice_spinand_table[] = { > &write_cache_variants, > &update_cache_variants), > 0, > - SPINAND_ECCINFO(&gd5fxgq4uexxg_ooblayout, > + SPINAND_ECCINFO(&gd5fxgq4_variant2_ooblayout, > gd5fxgq4uexxg_ecc_get_status)), > + SPINAND_INFO("GD5F1GQ4UFxxG", 0xb148, > + NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1), > + NAND_ECCREQ(8, 512), > + SPINAND_INFO_OP_VARIANTS(&read_cache_variants_f, > + &write_cache_variants, > + &update_cache_variants), > + 0, > + SPINAND_ECCINFO(&gd5fxgq4_variant2_ooblayout, > + gd5fxgq4ufxxg_ecc_get_status)), > }; > > static int gigadevice_spinand_detect(struct spinand_device *spinand) > { > u8 *id = spinand->id.data; > + u16 did; > int ret; > > /* > - * For GD NANDs, There is an address byte needed to shift in before IDs > - * are read out, so the first byte in raw_id is dummy. > + * Earlier GDF5-series devices (A,E) return [0][MID][DID] > + * Later (F) devices return [MID][DID1][DID2] > */ > - if (id[1] != SPINAND_MFR_GIGADEVICE) > + > + if (id[0] == SPINAND_MFR_GIGADEVICE) > + did = (id[1] << 8) + id[2]; > + else if (id[0] == 0 && id[1] == SPINAND_MFR_GIGADEVICE) > + did = id[2]; > + else > return 0; > > ret = spinand_match_and_init(spinand, gigadevice_spinand_table, > ARRAY_SIZE(gigadevice_spinand_table), > - id[2]); > + did); > if (ret) > return ret; > > ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/