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=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 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 5DFC9C07E94 for ; Fri, 4 Jun 2021 12:51:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2C55261412 for ; Fri, 4 Jun 2021 12:51:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230049AbhFDMw7 (ORCPT ); Fri, 4 Jun 2021 08:52:59 -0400 Received: from esa.microchip.iphmx.com ([68.232.153.233]:35759 "EHLO esa.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229718AbhFDMw6 (ORCPT ); Fri, 4 Jun 2021 08:52:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1622811072; x=1654347072; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=lRKzQsixmSyyGSVpUwF0bj4nEBs9wdPsIGfEfVk1dDo=; b=Rbuxe32uZLmjoWKEjXTrZSEX5n+WG8U21LEcwNTM6FzRQ9BUvqLIx52p 8KO/XjIOdmaJ89bVcHbG/ylMCTlaFd/rPFAPiuf6avJO0zJI669HJfAnu qfo8aNXWmHHYxSX3ScN0ZlxID62zHNys4/TVcaIFIciYT2wVi2zWptgb6 +SweKoXrTWhsHna+GlE2bFd0M39NQmuE4hdE09yEY3FHGoQAeU8tvFnsr oJwSHrYzs1WfujHuqnxgT8XVuwEkJv4bW1r1P7U2CTe7fISErOw+6eui4 b1/yqD96DYST6/+/AlQfu5OZ6BBmFLUUvDyO55dCBGMDLKmQ+qkKUhsDO w==; IronPort-SDR: vplrv+VEQYlEC32Kv6RM10+aVB02mXtjscDdzkwHGiZZ94GUDaCzxLabD/tFAkRBEZS5EHsDjG HKZSDskFZxSWx9ECzwmxPpo/Lo7iM1viguUz5ttvv598BAHGcXMsI6zaOted5/QKwhIIuc51Lf dp/nx8sChFzBUzmrfdEEccdJuDEsbSkgclg3NuKg1K2Do7PJ8x1wZ85CDJvTd2MAYkjRl0acXI CIki75VCuMLD//5fq6+A7SRv/S6sDU0rhB8C3CKQcwoDZCprsyoxE1inUzQ1BqzTcgxXEqfEVe LE0= X-IronPort-AV: E=Sophos;i="5.83,248,1616482800"; d="scan'208";a="123552048" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 04 Jun 2021 05:51:12 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Fri, 4 Jun 2021 05:51:11 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2 via Frontend Transport; Fri, 4 Jun 2021 05:51:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XGRUhY21leX7vovBDnnv7xblcPYTQgAv5opXUR6Sq+SvqDeFzvbsEFtg6G44jo5suEpXHgyYo55h4Wpl3cMcKbShK5BW7pCJqsIAUuJpDmM5taO3m1EdTqHaDQAooi53LUbvfSkwESixgFyiPcVG/uJfUMepTXrglMMh0YbYghARnNIOP0RGvuGMtA0BoOIdBl8H89mIxoDp7G0F+rR5/JZbvecuQSfWC+uvltNgFuCq1IoWYTMiXENyRNvXG2MrLv1Lf4mQG08q1O9gId0VPkRX2MmnDvF8RsUqVif5rOZQDimTcFbEfh1s1htBZ++8rLmZTA8NShrPZlqONCArWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lRKzQsixmSyyGSVpUwF0bj4nEBs9wdPsIGfEfVk1dDo=; b=kh/RmKfJMBxGaidEsVhO4+aWy44qaqJfRnTMezdZGlzYHc2xPvrGAymIiGpEszlA2bKunOoRbNoyQS1mAs0uQRtS4QsZtSy4MV5LAZEeDCIlG8YItDOxCQjNuRLqZ9GBwIu57ex8/B1OexYBP8jiRu7UkO+bPleEVPiwXU2dmAlaYyq3sw07Dn7ee53vQA5dNzvL8CTOoMF76ydRGvbTDmrvHLtm3HufMVb//Ek1aik1a0elMofhDRiBnd+dSMMWzJGnmeielpQFEWnSCMQcEBie/UbkVRrYrzOoyM3ptkxRdbFw3s4cNz/97wAR1N9mNeh3OsZiS0Zg9mPFSKOGww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lRKzQsixmSyyGSVpUwF0bj4nEBs9wdPsIGfEfVk1dDo=; b=s8Kc7E42RWdCinb7LH9pJ6trL26n8dB2DV4paKIIVX4l+IqcviTz8sKVVNduEK80xKZzlWKVD8e/xvLo6u/SBQIMb1JBQRxOrInhdzH4fkN2ZxsH5crvXjEbQshyeC0TyrnBneHqh1Hsh96JHXWk2WzVXkwOr4EAfWboSmeglqU= Received: from CO1PR11MB4865.namprd11.prod.outlook.com (2603:10b6:303:9c::9) by MWHPR11MB1407.namprd11.prod.outlook.com (2603:10b6:300:26::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.24; Fri, 4 Jun 2021 12:51:07 +0000 Received: from CO1PR11MB4865.namprd11.prod.outlook.com ([fe80::1c4:1014:a541:e370]) by CO1PR11MB4865.namprd11.prod.outlook.com ([fe80::1c4:1014:a541:e370%4]) with mapi id 15.20.4195.024; Fri, 4 Jun 2021 12:51:07 +0000 From: To: , , CC: , , , Subject: Re: [PATCH v5 5/5] mtd: spi-nor: otp: implement erase for Winbond and similar flashes Thread-Topic: [PATCH v5 5/5] mtd: spi-nor: otp: implement erase for Winbond and similar flashes Thread-Index: AQHXWUBIr2GjRJwDcE6xSP4dVP0iHA== Date: Fri, 4 Jun 2021 12:51:07 +0000 Message-ID: <2e9a403d-e38a-32d8-e46c-c9a0a79d6576@microchip.com> References: <20210604100252.9975-1-michael@walle.cc> <20210604100252.9975-6-michael@walle.cc> In-Reply-To: <20210604100252.9975-6-michael@walle.cc> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 authentication-results: walle.cc; dkim=none (message not signed) header.d=none;walle.cc; dmarc=none action=none header.from=microchip.com; x-originating-ip: [94.177.32.157] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ac49d679-b201-4970-80ad-08d927576be1 x-ms-traffictypediagnostic: MWHPR11MB1407: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3383; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: J65d28uUUxltW9+CdUJSVmOFlWutaOwGhi06VDWhKaRYFzNdy1pf45lAlk4LJ5j68Sd2l+Uj/NAwIedCfq/wRLpOlVCXlWptN96fPVQqypLx/+kgnoSXKgvaIbl1CKHQkcn3lFKMofFBGhW+H3gz6DWTiiwjtaIq4JCyFIKMuQvFYP6Q8hmAG+B7BlWkN9z4u5/Q9SeyRz8zLC0GOtyIcEaRIeiaddCOk7Tk+iZcIF7o8da1PMOM2V/vx6JmgxvqgwpeZsX3ULoQ2o7LRjyb+PrpfaSBZCMmrERnyB+B5wGt56C2w+/nKtF8YgpgT6n0h46NoRiGXAGplGrLYOz6dxEGAOI++mfPuYSJVoavpVTDjquHe/Av4hyMHYC0X1xzTHhOuyiTysm+P7/5IQArLXcjamMIRJu5k3KsJj35FpHAxFmlvjyUrZBzw/8V6jL0Z4gdaraZR8XDzCmlRsLV5sBm0GlZ7RJYYKHxzRU6JhLwucUcrJlayu3OLgSBaFBod0LBJA+aRbfv9LfHn878fs0dyY8BXhNARlHJ5mRB7si/ddOAaPz8FADRQRD36xr4xsZP4sqVM/fDQtNY1uqcMDKgp/WyvVOhp//9jIS6XSH/vYi1bYC8VkPKmU4AbATvJm27eN4X/XXMbPUTydokVrh+aXVbSdNHSYtfM7iSQTiXua+V5iAS5Lah23ZQMDif x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4865.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(376002)(136003)(396003)(39860400002)(366004)(122000001)(38100700002)(8936002)(71200400001)(6506007)(31696002)(53546011)(8676002)(6512007)(83380400001)(26005)(6486002)(478600001)(86362001)(4326008)(186003)(2906002)(316002)(110136005)(54906003)(31686004)(66946007)(91956017)(36756003)(66476007)(5660300002)(2616005)(64756008)(66556008)(76116006)(66446008)(43740500002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?NnMwYWVEMUhjc2R3bktBY29ZVGgzZEJFclRvYU1wRXNKTGZXVG9laTJoYnBL?= =?utf-8?B?R3I4b3ZGbmxxMjhKYUlIZEtqVkRGY3ptZG9MZ2hyQ1NIcTA3TGlSbWYzeGdu?= =?utf-8?B?QnErTldqZFFlN2xydjJtN2FPMmZyeWNaeTdvZldhbVBPVjZkMUcxZUd3OTFR?= =?utf-8?B?K00rUG15ejh2V2NaOU9NbW1rd2lWMkE5cWtQUnNGWnlrZ09DL1Y2RkZBZStL?= =?utf-8?B?YUNFOXhZQWU3UzBxMGJ0ZmdNRldmUHJwK0lmMWh5dDV1dzQycmtqT2E5MHFF?= =?utf-8?B?TTNIeExVdzQ1dzNNbndQYmRSMGovc2ZtQjFORkhGTUFLbnRHT2U2S2RDczE5?= =?utf-8?B?WVVsL2ZJdVhuMEhCVWdFVERMVkdWdHZzVHpoN2Z5Z3hKdHZjRm5MNmt1Rmpk?= =?utf-8?B?YXFPUXlWSjJiSllpdGkreGFsUitWblR0bWlMWlY4Uit1aUozcFFkanRYTmk1?= =?utf-8?B?dUJuMGhrMEVzaEM1ZmxVMytnOWZjRWNnYzd6UGxwV0d1TnVwSjkwMDlxNGQw?= =?utf-8?B?ZjV1bzQxNFVVSSt2M3lGTnlRd0pBWGpHVDNvVkZqNytXV3IrcXh4ZElqS0hn?= =?utf-8?B?VG5QYkdlV1RRc3pLSm5XVTJFQmtaV0VtU3RFQklYaFVaNU9hcXRqK3R1VVdv?= =?utf-8?B?S1ZRb08rcFZWbkF3K09NMFlMY1d5VUhLRW9rYmhaZUZBQjUzaTR1aHFUTXQ1?= =?utf-8?B?Z0hDWXYxVkVaTzdiV3V1QWJKRVRSSU1QdHBIMXVtd3JjdnEzMUhuN1JWcTVi?= =?utf-8?B?M1RGQnphbFNFQ2dPemVxQ3pCeXVnbGhML0RLWVdGaENMeW9mZk44MHZvNUM0?= =?utf-8?B?Y1hBRGFPek9NYy9iSUwxNHY4VXJtaGNmd1lEbTVzdVpzMyswK3RFOUVCUEM0?= =?utf-8?B?dzAwOHVPSVJGTnVRR0EvLzFRQjJwdVdXSFdxRC9FdlVpVEN0R3JYeU81L0s2?= =?utf-8?B?RzZwYVlvTkx5NEh3WUJKejJtVHlCUVRoZGRaeXh5cXg4RXBQK1RRdVZYN2sr?= =?utf-8?B?Ti9adVcrY2JqYjJ2RmFzY0ZWL1VUVXFpMWFzd2FTcjFjY2dXNm1YY3MxT1pC?= =?utf-8?B?YXBBbWd4TmtEQUFvNm8yVTdmTi9vRVQ5ZlI3cUlYa2I5Ty92aGc3bUc4ems4?= =?utf-8?B?dDBoWVNlUDFidmxKZFJka0Vsb2VSRW1JK0Z3Rkdpa0k3Uzl0MGpRdzhwNlpx?= =?utf-8?B?QVJ3eXpmZmtNTVRKelFNaWJKTHY5cUpTb0E5b1ZHaitxYVkzeUNhdFhrMVBS?= =?utf-8?B?RkpXU0U2YWtFeVdKV0gwQlVHdnpKKy9PQWhrdnpMYVR4Y2JoOXU5d3lSU3BP?= =?utf-8?B?YlJObEpCV0ZQSDZwVGlNNEJWcGZHdmszaHErRWU4T3MxeWgwaHE0YUVKRTJP?= =?utf-8?B?djAxUmNhSjhIWFk4QnRYbXAxdzRHRGJTTjM3OTdYZ0FGblBhUXhtS3RZcTlJ?= =?utf-8?B?ZzlMSyt2aFl1UEp0K2RYYjE4VENDMmdaU3M4V1AyRjhaamtvNDlneG9vb0s4?= =?utf-8?B?YmlvdjBMYjNMK0h0OE83U0Q5djVPRCtIVjBwNDE1dHMrSzF6Q0xxcFd4eEov?= =?utf-8?B?bWR5NXQ0NFdWb1VnT3hyYzJDMi9UcGVzUzJZbWlPVmlHUU5oYjR4b3ZMNXE3?= =?utf-8?B?dk1GN0lhK1Q5SFA1WmF5RWZ1UFVMclBtbmVMcG8wYXdLbnJOOEZlcmxGaU55?= =?utf-8?B?N3dzaDNTZGFKdG9iaU82NjFPbjB0UzE4amkwTXMwblpKU0xUc0Q3S1FTbk1U?= =?utf-8?Q?zlbRqmT9Ya7RA+hHe4=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <7E42EB8E1428474EB0A7AAD980E5DE00@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4865.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac49d679-b201-4970-80ad-08d927576be1 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2021 12:51:07.1212 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: icgwbI/iZ9ZqrLx+FR/4Ddy2rNfHE5woOEFMQRKg7Ls4wOLXH4yKd9z4XGOXKrj0U7w5TlZc9vA6/WYg86ckF/5UX0XLXbdj+DfskjaZME0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1407 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gNi80LzIxIDE6MDIgUE0sIE1pY2hhZWwgV2FsbGUgd3JvdGU6DQo+IEVYVEVSTkFMIEVNQUlM OiBEbyBub3QgY2xpY2sgbGlua3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91IGtub3cg dGhlIGNvbnRlbnQgaXMgc2FmZQ0KPiANCj4gV2luYm9uZCBmbGFzaGVzIHdpdGggT1RQIHN1cHBv cnQgcHJvdmlkZSBhIGNvbW1hbmQgdG8gZXJhc2UgdGhlIE9UUA0KPiBkYXRhLiBUaGlzIG1pZ2h0 IGNvbWUgaW4gaGFuZHkgZHVyaW5nIGRldmVsb3BtZW50Lg0KPiANCj4gVGhpcyB3YXMgdGVzdGVk IHdpdGggYSBXaW5ib25kIFcyNVEzMkpXIG9uIGEgTFMxMDI4QSBTb0Mgd2l0aCB0aGUNCj4gTlhQ IEZTUEkgY29udHJvbGxlci4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgV2FsbGUgPG1p Y2hhZWxAd2FsbGUuY2M+DQo+IFJldmlld2VkLWJ5OiBQcmF0eXVzaCBZYWRhdiA8cC55YWRhdkB0 aS5jb20+DQoNClJldmlld2VkLWJ5OiBUdWRvciBBbWJhcnVzIDx0dWRvci5hbWJhcnVzQG1pY3Jv Y2hpcC5jb20+DQoNCj4gLS0tDQo+ICBkcml2ZXJzL210ZC9zcGktbm9yL2NvcmUuYyAgICB8ICAy ICstDQo+ICBkcml2ZXJzL210ZC9zcGktbm9yL2NvcmUuaCAgICB8ICA0ICsrDQo+ICBkcml2ZXJz L210ZC9zcGktbm9yL290cC5jICAgICB8IDg2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrDQo+ICBkcml2ZXJzL210ZC9zcGktbm9yL3dpbmJvbmQuYyB8ICAxICsNCj4gIDQgZmls ZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiANCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbXRkL3NwaS1ub3IvY29yZS5jIGIvZHJpdmVycy9tdGQvc3BpLW5vci9j b3JlLmMNCj4gaW5kZXggZjZhNmVmMmQ4YmQ4Li5hMjFiMDA4NWRlMDUgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvbXRkL3NwaS1ub3IvY29yZS5jDQo+ICsrKyBiL2RyaXZlcnMvbXRkL3NwaS1ub3Iv Y29yZS5jDQo+IEBAIC0xMzE4LDcgKzEzMTgsNyBAQCBzdGF0aWMgdTMyIHNwaV9ub3JfY29udmVy dF9hZGRyKHN0cnVjdCBzcGlfbm9yICpub3IsIGxvZmZfdCBhZGRyKQ0KPiAgLyoNCj4gICAqIElu aXRpYXRlIHRoZSBlcmFzdXJlIG9mIGEgc2luZ2xlIHNlY3Rvcg0KPiAgICovDQo+IC1zdGF0aWMg aW50IHNwaV9ub3JfZXJhc2Vfc2VjdG9yKHN0cnVjdCBzcGlfbm9yICpub3IsIHUzMiBhZGRyKQ0K PiAraW50IHNwaV9ub3JfZXJhc2Vfc2VjdG9yKHN0cnVjdCBzcGlfbm9yICpub3IsIHUzMiBhZGRy KQ0KPiAgew0KPiAgICAgICAgIGludCBpOw0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRk L3NwaS1ub3IvY29yZS5oIGIvZHJpdmVycy9tdGQvc3BpLW5vci9jb3JlLmgNCj4gaW5kZXggMjhh MmUwYmU5N2EzLi45Mzk4YTg3Mzg4NTcgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbXRkL3NwaS1u b3IvY29yZS5oDQo+ICsrKyBiL2RyaXZlcnMvbXRkL3NwaS1ub3IvY29yZS5oDQo+IEBAIC0yMDcs NiArMjA3LDcgQEAgc3RydWN0IHNwaV9ub3Jfb3RwX29yZ2FuaXphdGlvbiB7DQo+ICAgKiBAcmVh ZDogICAgICByZWFkIGZyb20gdGhlIFNQSSBOT1IgT1RQIGFyZWEuDQo+ICAgKiBAd3JpdGU6ICAg ICB3cml0ZSB0byB0aGUgU1BJIE5PUiBPVFAgYXJlYS4NCj4gICAqIEBsb2NrOiAgICAgIGxvY2sg YW4gT1RQIHJlZ2lvbi4NCj4gKyAqIEBlcmFzZTogICAgIGVyYXNlIGFuIE9UUCByZWdpb24uDQo+ ICAgKiBAaXNfbG9ja2VkOiBjaGVjayBpZiBhbiBPVFAgcmVnaW9uIG9mIHRoZSBTUEkgTk9SIGlz IGxvY2tlZC4NCj4gICAqLw0KPiAgc3RydWN0IHNwaV9ub3Jfb3RwX29wcyB7DQo+IEBAIC0yMTQs NiArMjE1LDcgQEAgc3RydWN0IHNwaV9ub3Jfb3RwX29wcyB7DQo+ICAgICAgICAgaW50ICgqd3Jp dGUpKHN0cnVjdCBzcGlfbm9yICpub3IsIGxvZmZfdCBhZGRyLCBzaXplX3QgbGVuLA0KPiAgICAg ICAgICAgICAgICAgICAgICBjb25zdCB1OCAqYnVmKTsNCj4gICAgICAgICBpbnQgKCpsb2NrKShz dHJ1Y3Qgc3BpX25vciAqbm9yLCB1bnNpZ25lZCBpbnQgcmVnaW9uKTsNCj4gKyAgICAgICBpbnQg KCplcmFzZSkoc3RydWN0IHNwaV9ub3IgKm5vciwgbG9mZl90IGFkZHIpOw0KPiAgICAgICAgIGlu dCAoKmlzX2xvY2tlZCkoc3RydWN0IHNwaV9ub3IgKm5vciwgdW5zaWduZWQgaW50IHJlZ2lvbik7 DQo+ICB9Ow0KPiANCj4gQEAgLTUwMywxMCArNTA1LDEyIEBAIHNzaXplX3Qgc3BpX25vcl9yZWFk X2RhdGEoc3RydWN0IHNwaV9ub3IgKm5vciwgbG9mZl90IGZyb20sIHNpemVfdCBsZW4sDQo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgdTggKmJ1Zik7DQo+ICBzc2l6ZV90IHNwaV9ub3Jfd3Jp dGVfZGF0YShzdHJ1Y3Qgc3BpX25vciAqbm9yLCBsb2ZmX3QgdG8sIHNpemVfdCBsZW4sDQo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHU4ICpidWYpOw0KPiAraW50IHNwaV9ub3Jf ZXJhc2Vfc2VjdG9yKHN0cnVjdCBzcGlfbm9yICpub3IsIHUzMiBhZGRyKTsNCj4gDQo+ICBpbnQg c3BpX25vcl9vdHBfcmVhZF9zZWNyKHN0cnVjdCBzcGlfbm9yICpub3IsIGxvZmZfdCBhZGRyLCBz aXplX3QgbGVuLCB1OCAqYnVmKTsNCj4gIGludCBzcGlfbm9yX290cF93cml0ZV9zZWNyKHN0cnVj dCBzcGlfbm9yICpub3IsIGxvZmZfdCBhZGRyLCBzaXplX3QgbGVuLA0KPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCB1OCAqYnVmKTsNCj4gK2ludCBzcGlfbm9yX290cF9lcmFzZV9z ZWNyKHN0cnVjdCBzcGlfbm9yICpub3IsIGxvZmZfdCBhZGRyKTsNCj4gIGludCBzcGlfbm9yX290 cF9sb2NrX3NyMihzdHJ1Y3Qgc3BpX25vciAqbm9yLCB1bnNpZ25lZCBpbnQgcmVnaW9uKTsNCj4g IGludCBzcGlfbm9yX290cF9pc19sb2NrZWRfc3IyKHN0cnVjdCBzcGlfbm9yICpub3IsIHVuc2ln bmVkIGludCByZWdpb24pOw0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL3NwaS1ub3Iv b3RwLmMgYi9kcml2ZXJzL210ZC9zcGktbm9yL290cC5jDQo+IGluZGV4IDg5ZmU1MmUzODUxYS4u OTgzZTQwYjE5MTM0IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL210ZC9zcGktbm9yL290cC5jDQo+ ICsrKyBiL2RyaXZlcnMvbXRkL3NwaS1ub3Ivb3RwLmMNCj4gQEAgLTEyMCw2ICsxMjAsMzggQEAg aW50IHNwaV9ub3Jfb3RwX3dyaXRlX3NlY3Ioc3RydWN0IHNwaV9ub3IgKm5vciwgbG9mZl90IGFk ZHIsIHNpemVfdCBsZW4sDQo+ICAgICAgICAgcmV0dXJuIHJldCA/OiB3cml0dGVuOw0KPiAgfQ0K PiANCj4gKy8qKg0KPiArICogc3BpX25vcl9vdHBfZXJhc2Vfc2VjcigpIC0gZXJhc2UgYSBzZWN1 cml0eSByZWdpc3Rlcg0KPiArICogQG5vcjogICAgICAgIHBvaW50ZXIgdG8gJ3N0cnVjdCBzcGlf bm9yJw0KPiArICogQGFkZHI6ICAgICAgIG9mZnNldCBvZiB0aGUgc2VjdXJpdHkgcmVnaXN0ZXIg dG8gYmUgZXJhc2VkDQo+ICsgKg0KPiArICogRXJhc2UgYSBzZWN1cml0eSByZWdpc3RlciBieSB1 c2luZyB0aGUgU1BJTk9SX09QX0VTRUNSIGNvbW1hbmQuDQo+ICsgKg0KPiArICogRm9yIG1vcmUg aW5mb3JtYXRpb24gb24gdGhlIHRlcm0gInNlY3VyaXR5IHJlZ2lzdGVyIiwgc2VlIHRoZSBkb2N1 bWVudGF0aW9uDQo+ICsgKiBvZiBzcGlfbm9yX290cF9yZWFkX3NlY3IoKS4NCj4gKyAqDQo+ICsg KiBUaGlzIG1ldGhvZCBpcyB1c2VkIG9uIEdpZ2FEZXZpY2UgYW5kIFdpbmJvbmQgZmxhc2hlcy4N Cj4gKyAqDQo+ICsgKiBSZXR1cm46IDAgb24gc3VjY2VzcywgLWVycm5vIG90aGVyd2lzZQ0KPiAr ICovDQo+ICtpbnQgc3BpX25vcl9vdHBfZXJhc2Vfc2VjcihzdHJ1Y3Qgc3BpX25vciAqbm9yLCBs b2ZmX3QgYWRkcikNCj4gK3sNCj4gKyAgICAgICB1OCBlcmFzZV9vcGNvZGUgPSBub3ItPmVyYXNl X29wY29kZTsNCj4gKyAgICAgICBpbnQgcmV0Ow0KPiArDQo+ICsgICAgICAgcmV0ID0gc3BpX25v cl93cml0ZV9lbmFibGUobm9yKTsNCj4gKyAgICAgICBpZiAocmV0KQ0KPiArICAgICAgICAgICAg ICAgcmV0dXJuIHJldDsNCj4gKw0KPiArICAgICAgIG5vci0+ZXJhc2Vfb3Bjb2RlID0gU1BJTk9S X09QX0VTRUNSOw0KPiArICAgICAgIHJldCA9IHNwaV9ub3JfZXJhc2Vfc2VjdG9yKG5vciwgYWRk cik7DQo+ICsgICAgICAgbm9yLT5lcmFzZV9vcGNvZGUgPSBlcmFzZV9vcGNvZGU7DQo+ICsgICAg ICAgaWYgKHJldCkNCj4gKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ICsNCj4gKyAgICAg ICByZXR1cm4gc3BpX25vcl93YWl0X3RpbGxfcmVhZHkobm9yKTsNCj4gK30NCj4gKw0KPiAgc3Rh dGljIGludCBzcGlfbm9yX290cF9sb2NrX2JpdF9jcih1bnNpZ25lZCBpbnQgcmVnaW9uKQ0KPiAg ew0KPiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgbG9ja19iaXRzW10gPSB7IFNSMl9MQjEsIFNS Ml9MQjIsIFNSMl9MQjMgfTsNCj4gQEAgLTM2MCw2ICszOTIsNTkgQEAgc3RhdGljIGludCBzcGlf bm9yX210ZF9vdHBfd3JpdGUoc3RydWN0IG10ZF9pbmZvICptdGQsIGxvZmZfdCB0bywgc2l6ZV90 IGxlbiwNCj4gICAgICAgICByZXR1cm4gc3BpX25vcl9tdGRfb3RwX3JlYWRfd3JpdGUobXRkLCB0 bywgbGVuLCByZXRsZW4sIGJ1ZiwgdHJ1ZSk7DQo+ICB9DQo+IA0KPiArc3RhdGljIGludCBzcGlf bm9yX210ZF9vdHBfZXJhc2Uoc3RydWN0IG10ZF9pbmZvICptdGQsIGxvZmZfdCBmcm9tLCBzaXpl X3QgbGVuKQ0KPiArew0KPiArICAgICAgIHN0cnVjdCBzcGlfbm9yICpub3IgPSBtdGRfdG9fc3Bp X25vcihtdGQpOw0KPiArICAgICAgIGNvbnN0IHN0cnVjdCBzcGlfbm9yX290cF9vcHMgKm9wcyA9 IG5vci0+cGFyYW1zLT5vdHAub3BzOw0KPiArICAgICAgIGNvbnN0IHNpemVfdCBybGVuID0gc3Bp X25vcl9vdHBfcmVnaW9uX2xlbihub3IpOw0KPiArICAgICAgIHVuc2lnbmVkIGludCByZWdpb247 DQo+ICsgICAgICAgbG9mZl90IHJzdGFydDsNCj4gKyAgICAgICBpbnQgcmV0Ow0KPiArDQo+ICsg ICAgICAgLyogT1RQIGVyYXNlIGlzIG9wdGlvbmFsICovDQo+ICsgICAgICAgaWYgKCFvcHMtPmVy YXNlKQ0KPiArICAgICAgICAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOw0KPiArDQo+ICsgICAg ICAgaWYgKCFsZW4pDQo+ICsgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gKw0KPiArICAgICAg IGlmIChmcm9tIDwgMCB8fCAoZnJvbSArIGxlbikgPiBzcGlfbm9yX290cF9zaXplKG5vcikpDQo+ ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiArICAgICAgIC8qIHRoZSB1 c2VyIGhhcyB0byBleHBsaWNpdGx5IGFzayBmb3Igd2hvbGUgcmVnaW9ucyAqLw0KPiArICAgICAg IGlmICghSVNfQUxJR05FRChsZW4sIHJsZW4pIHx8ICFJU19BTElHTkVEKGZyb20sIHJsZW4pKQ0K PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKyAgICAgICByZXQgPSBz cGlfbm9yX2xvY2tfYW5kX3ByZXAobm9yKTsNCj4gKyAgICAgICBpZiAocmV0KQ0KPiArICAgICAg ICAgICAgICAgcmV0dXJuIHJldDsNCj4gKw0KPiArICAgICAgIHJldCA9IHNwaV9ub3JfbXRkX290 cF9yYW5nZV9pc19sb2NrZWQobm9yLCBmcm9tLCBsZW4pOw0KPiArICAgICAgIGlmIChyZXQgPCAw KSB7DQo+ICsgICAgICAgICAgICAgICBnb3RvIG91dDsNCj4gKyAgICAgICB9IGVsc2UgaWYgKHJl dCkgew0KPiArICAgICAgICAgICAgICAgcmV0ID0gLUVST0ZTOw0KPiArICAgICAgICAgICAgICAg Z290byBvdXQ7DQo+ICsgICAgICAgfQ0KPiArDQo+ICsgICAgICAgd2hpbGUgKGxlbikgew0KPiAr ICAgICAgICAgICAgICAgcmVnaW9uID0gc3BpX25vcl9vdHBfb2Zmc2V0X3RvX3JlZ2lvbihub3Is IGZyb20pOw0KPiArICAgICAgICAgICAgICAgcnN0YXJ0ID0gc3BpX25vcl9vdHBfcmVnaW9uX3N0 YXJ0KG5vciwgcmVnaW9uKTsNCj4gKw0KPiArICAgICAgICAgICAgICAgcmV0ID0gb3BzLT5lcmFz ZShub3IsIHJzdGFydCk7DQo+ICsgICAgICAgICAgICAgICBpZiAocmV0KQ0KPiArICAgICAgICAg ICAgICAgICAgICAgICBnb3RvIG91dDsNCj4gKw0KPiArICAgICAgICAgICAgICAgbGVuIC09IHJs ZW47DQo+ICsgICAgICAgICAgICAgICBmcm9tICs9IHJsZW47DQo+ICsgICAgICAgfQ0KPiArDQo+ ICtvdXQ6DQo+ICsgICAgICAgc3BpX25vcl91bmxvY2tfYW5kX3VucHJlcChub3IpOw0KPiArDQo+ ICsgICAgICAgcmV0dXJuIHJldDsNCj4gK30NCj4gKw0KPiAgc3RhdGljIGludCBzcGlfbm9yX210 ZF9vdHBfbG9jayhzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgbG9mZl90IGZyb20sIHNpemVfdCBsZW4p DQo+ICB7DQo+ICAgICAgICAgc3RydWN0IHNwaV9ub3IgKm5vciA9IG10ZF90b19zcGlfbm9yKG10 ZCk7DQo+IEBAIC00MTgsNCArNTAzLDUgQEAgdm9pZCBzcGlfbm9yX290cF9pbml0KHN0cnVjdCBz cGlfbm9yICpub3IpDQo+ICAgICAgICAgbXRkLT5fcmVhZF91c2VyX3Byb3RfcmVnID0gc3BpX25v cl9tdGRfb3RwX3JlYWQ7DQo+ICAgICAgICAgbXRkLT5fd3JpdGVfdXNlcl9wcm90X3JlZyA9IHNw aV9ub3JfbXRkX290cF93cml0ZTsNCj4gICAgICAgICBtdGQtPl9sb2NrX3VzZXJfcHJvdF9yZWcg PSBzcGlfbm9yX210ZF9vdHBfbG9jazsNCj4gKyAgICAgICBtdGQtPl9lcmFzZV91c2VyX3Byb3Rf cmVnID0gc3BpX25vcl9tdGRfb3RwX2VyYXNlOw0KPiAgfQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tdGQvc3BpLW5vci93aW5ib25kLmMgYi9kcml2ZXJzL210ZC9zcGktbm9yL3dpbmJvbmQuYw0K PiBpbmRleCA5YTgxYzY3YTYwYzYuLjk2NTczZjYxY2FmNSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVy cy9tdGQvc3BpLW5vci93aW5ib25kLmMNCj4gKysrIGIvZHJpdmVycy9tdGQvc3BpLW5vci93aW5i b25kLmMNCj4gQEAgLTEzOSw2ICsxMzksNyBAQCBzdGF0aWMgaW50IHdpbmJvbmRfc2V0XzRieXRl X2FkZHJfbW9kZShzdHJ1Y3Qgc3BpX25vciAqbm9yLCBib29sIGVuYWJsZSkNCj4gIHN0YXRpYyBj b25zdCBzdHJ1Y3Qgc3BpX25vcl9vdHBfb3BzIHdpbmJvbmRfb3RwX29wcyA9IHsNCj4gICAgICAg ICAucmVhZCA9IHNwaV9ub3Jfb3RwX3JlYWRfc2VjciwNCj4gICAgICAgICAud3JpdGUgPSBzcGlf bm9yX290cF93cml0ZV9zZWNyLA0KPiArICAgICAgIC5lcmFzZSA9IHNwaV9ub3Jfb3RwX2VyYXNl X3NlY3IsDQo+ICAgICAgICAgLmxvY2sgPSBzcGlfbm9yX290cF9sb2NrX3NyMiwNCj4gICAgICAg ICAuaXNfbG9ja2VkID0gc3BpX25vcl9vdHBfaXNfbG9ja2VkX3NyMiwNCj4gIH07DQo+IC0tDQo+ IDIuMjAuMQ0KPiANCg0K 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=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 2B532C07E94 for ; Fri, 4 Jun 2021 12:52:23 +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 C9CA560FDA for ; Fri, 4 Jun 2021 12:52:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C9CA560FDA Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.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.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-ID:In-Reply-To: References:Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=XogiOV68peIb8ID63W1sAe1T3JVFMQ1SWVthe6mxqPQ=; b=4mkPisvwkyHcto E/kDBpM4fwZY/olFiAT7bFLthNDIP/Z4Fim9wLnICD48chIXpt/7321eWZyiyh+zImh/H0GhSno/z Yf2HXdyYWsNIsADmCIBqsbWITT3zO7KDfcbvOVVMnrqc65siPUb5yilCEIv2XNG6MhFXW0MwUD5vJ 6iM1ydNxLjP/ch/GmDxMaPIUjUOLskCbBuXIwmQgtpuC/TDdezpYJNVpKBh+N4CJUVq6Byk/zjWJv cg+QfvuO13kM+7XYFnaLgTpYOKwwqX1mvleU+ZWspD0gHvSDw/7I/7DZyhN5B9kG7EYocii23r4lw r32KIaAN198dyagWwwzQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lp9IH-00DZTn-Gl; Fri, 04 Jun 2021 12:51:21 +0000 Received: from esa.microchip.iphmx.com ([68.232.153.233]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lp9IC-00DZT2-MW for linux-mtd@lists.infradead.org; Fri, 04 Jun 2021 12:51:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1622811077; x=1654347077; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=lRKzQsixmSyyGSVpUwF0bj4nEBs9wdPsIGfEfVk1dDo=; b=ddI5YUg1MPao13H37AHQ6VAlEEV9YpVWHC3tgNYQeWdwS+f9/Z3qZ62z RXF/EJkU5N6RUaRRElAuiv/c7lXSCQ2ZjW3tvzLT7nGZ4lYZM6ApVPA4e oi1mQt/lS4IFBGQMTDb+aY6pk/wVfTItsvym9PL176XsOA8gBhjn70nFZ 2btfN6gLYwoVQ8WbXe1AucNjuSKncB0S4kf6vYySazMsaKbOF/DefqED/ 2Q1If68O23NHD+fKN7L18RrN6+rz3HbZEKtX22oM2IEAlCZ3Ynu22E3TR d6bbVL5EFCtB97U60UurzNOdFn7UqRFldHSeRwMmYPtZbdDxUymHWdk2V A==; IronPort-SDR: vplrv+VEQYlEC32Kv6RM10+aVB02mXtjscDdzkwHGiZZ94GUDaCzxLabD/tFAkRBEZS5EHsDjG HKZSDskFZxSWx9ECzwmxPpo/Lo7iM1viguUz5ttvv598BAHGcXMsI6zaOted5/QKwhIIuc51Lf dp/nx8sChFzBUzmrfdEEccdJuDEsbSkgclg3NuKg1K2Do7PJ8x1wZ85CDJvTd2MAYkjRl0acXI CIki75VCuMLD//5fq6+A7SRv/S6sDU0rhB8C3CKQcwoDZCprsyoxE1inUzQ1BqzTcgxXEqfEVe LE0= X-IronPort-AV: E=Sophos;i="5.83,248,1616482800"; d="scan'208";a="123552048" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 04 Jun 2021 05:51:12 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Fri, 4 Jun 2021 05:51:11 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2 via Frontend Transport; Fri, 4 Jun 2021 05:51:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XGRUhY21leX7vovBDnnv7xblcPYTQgAv5opXUR6Sq+SvqDeFzvbsEFtg6G44jo5suEpXHgyYo55h4Wpl3cMcKbShK5BW7pCJqsIAUuJpDmM5taO3m1EdTqHaDQAooi53LUbvfSkwESixgFyiPcVG/uJfUMepTXrglMMh0YbYghARnNIOP0RGvuGMtA0BoOIdBl8H89mIxoDp7G0F+rR5/JZbvecuQSfWC+uvltNgFuCq1IoWYTMiXENyRNvXG2MrLv1Lf4mQG08q1O9gId0VPkRX2MmnDvF8RsUqVif5rOZQDimTcFbEfh1s1htBZ++8rLmZTA8NShrPZlqONCArWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lRKzQsixmSyyGSVpUwF0bj4nEBs9wdPsIGfEfVk1dDo=; b=kh/RmKfJMBxGaidEsVhO4+aWy44qaqJfRnTMezdZGlzYHc2xPvrGAymIiGpEszlA2bKunOoRbNoyQS1mAs0uQRtS4QsZtSy4MV5LAZEeDCIlG8YItDOxCQjNuRLqZ9GBwIu57ex8/B1OexYBP8jiRu7UkO+bPleEVPiwXU2dmAlaYyq3sw07Dn7ee53vQA5dNzvL8CTOoMF76ydRGvbTDmrvHLtm3HufMVb//Ek1aik1a0elMofhDRiBnd+dSMMWzJGnmeielpQFEWnSCMQcEBie/UbkVRrYrzOoyM3ptkxRdbFw3s4cNz/97wAR1N9mNeh3OsZiS0Zg9mPFSKOGww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lRKzQsixmSyyGSVpUwF0bj4nEBs9wdPsIGfEfVk1dDo=; b=s8Kc7E42RWdCinb7LH9pJ6trL26n8dB2DV4paKIIVX4l+IqcviTz8sKVVNduEK80xKZzlWKVD8e/xvLo6u/SBQIMb1JBQRxOrInhdzH4fkN2ZxsH5crvXjEbQshyeC0TyrnBneHqh1Hsh96JHXWk2WzVXkwOr4EAfWboSmeglqU= Received: from CO1PR11MB4865.namprd11.prod.outlook.com (2603:10b6:303:9c::9) by MWHPR11MB1407.namprd11.prod.outlook.com (2603:10b6:300:26::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.24; Fri, 4 Jun 2021 12:51:07 +0000 Received: from CO1PR11MB4865.namprd11.prod.outlook.com ([fe80::1c4:1014:a541:e370]) by CO1PR11MB4865.namprd11.prod.outlook.com ([fe80::1c4:1014:a541:e370%4]) with mapi id 15.20.4195.024; Fri, 4 Jun 2021 12:51:07 +0000 From: To: , , CC: , , , Subject: Re: [PATCH v5 5/5] mtd: spi-nor: otp: implement erase for Winbond and similar flashes Thread-Topic: [PATCH v5 5/5] mtd: spi-nor: otp: implement erase for Winbond and similar flashes Thread-Index: AQHXWUBIr2GjRJwDcE6xSP4dVP0iHA== Date: Fri, 4 Jun 2021 12:51:07 +0000 Message-ID: <2e9a403d-e38a-32d8-e46c-c9a0a79d6576@microchip.com> References: <20210604100252.9975-1-michael@walle.cc> <20210604100252.9975-6-michael@walle.cc> In-Reply-To: <20210604100252.9975-6-michael@walle.cc> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 authentication-results: walle.cc; dkim=none (message not signed) header.d=none;walle.cc; dmarc=none action=none header.from=microchip.com; x-originating-ip: [94.177.32.157] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ac49d679-b201-4970-80ad-08d927576be1 x-ms-traffictypediagnostic: MWHPR11MB1407: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3383; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: J65d28uUUxltW9+CdUJSVmOFlWutaOwGhi06VDWhKaRYFzNdy1pf45lAlk4LJ5j68Sd2l+Uj/NAwIedCfq/wRLpOlVCXlWptN96fPVQqypLx/+kgnoSXKgvaIbl1CKHQkcn3lFKMofFBGhW+H3gz6DWTiiwjtaIq4JCyFIKMuQvFYP6Q8hmAG+B7BlWkN9z4u5/Q9SeyRz8zLC0GOtyIcEaRIeiaddCOk7Tk+iZcIF7o8da1PMOM2V/vx6JmgxvqgwpeZsX3ULoQ2o7LRjyb+PrpfaSBZCMmrERnyB+B5wGt56C2w+/nKtF8YgpgT6n0h46NoRiGXAGplGrLYOz6dxEGAOI++mfPuYSJVoavpVTDjquHe/Av4hyMHYC0X1xzTHhOuyiTysm+P7/5IQArLXcjamMIRJu5k3KsJj35FpHAxFmlvjyUrZBzw/8V6jL0Z4gdaraZR8XDzCmlRsLV5sBm0GlZ7RJYYKHxzRU6JhLwucUcrJlayu3OLgSBaFBod0LBJA+aRbfv9LfHn878fs0dyY8BXhNARlHJ5mRB7si/ddOAaPz8FADRQRD36xr4xsZP4sqVM/fDQtNY1uqcMDKgp/WyvVOhp//9jIS6XSH/vYi1bYC8VkPKmU4AbATvJm27eN4X/XXMbPUTydokVrh+aXVbSdNHSYtfM7iSQTiXua+V5iAS5Lah23ZQMDif x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR11MB4865.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(376002)(136003)(396003)(39860400002)(366004)(122000001)(38100700002)(8936002)(71200400001)(6506007)(31696002)(53546011)(8676002)(6512007)(83380400001)(26005)(6486002)(478600001)(86362001)(4326008)(186003)(2906002)(316002)(110136005)(54906003)(31686004)(66946007)(91956017)(36756003)(66476007)(5660300002)(2616005)(64756008)(66556008)(76116006)(66446008)(43740500002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?NnMwYWVEMUhjc2R3bktBY29ZVGgzZEJFclRvYU1wRXNKTGZXVG9laTJoYnBL?= =?utf-8?B?R3I4b3ZGbmxxMjhKYUlIZEtqVkRGY3ptZG9MZ2hyQ1NIcTA3TGlSbWYzeGdu?= =?utf-8?B?QnErTldqZFFlN2xydjJtN2FPMmZyeWNaeTdvZldhbVBPVjZkMUcxZUd3OTFR?= =?utf-8?B?K00rUG15ejh2V2NaOU9NbW1rd2lWMkE5cWtQUnNGWnlrZ09DL1Y2RkZBZStL?= =?utf-8?B?YUNFOXhZQWU3UzBxMGJ0ZmdNRldmUHJwK0lmMWh5dDV1dzQycmtqT2E5MHFF?= =?utf-8?B?TTNIeExVdzQ1dzNNbndQYmRSMGovc2ZtQjFORkhGTUFLbnRHT2U2S2RDczE5?= =?utf-8?B?WVVsL2ZJdVhuMEhCVWdFVERMVkdWdHZzVHpoN2Z5Z3hKdHZjRm5MNmt1Rmpk?= =?utf-8?B?YXFPUXlWSjJiSllpdGkreGFsUitWblR0bWlMWlY4Uit1aUozcFFkanRYTmk1?= =?utf-8?B?dUJuMGhrMEVzaEM1ZmxVMytnOWZjRWNnYzd6UGxwV0d1TnVwSjkwMDlxNGQw?= =?utf-8?B?ZjV1bzQxNFVVSSt2M3lGTnlRd0pBWGpHVDNvVkZqNytXV3IrcXh4ZElqS0hn?= =?utf-8?B?VG5QYkdlV1RRc3pLSm5XVTJFQmtaV0VtU3RFQklYaFVaNU9hcXRqK3R1VVdv?= =?utf-8?B?S1ZRb08rcFZWbkF3K09NMFlMY1d5VUhLRW9rYmhaZUZBQjUzaTR1aHFUTXQ1?= =?utf-8?B?Z0hDWXYxVkVaTzdiV3V1QWJKRVRSSU1QdHBIMXVtd3JjdnEzMUhuN1JWcTVi?= =?utf-8?B?M1RGQnphbFNFQ2dPemVxQ3pCeXVnbGhML0RLWVdGaENMeW9mZk44MHZvNUM0?= =?utf-8?B?Y1hBRGFPek9NYy9iSUwxNHY4VXJtaGNmd1lEbTVzdVpzMyswK3RFOUVCUEM0?= =?utf-8?B?dzAwOHVPSVJGTnVRR0EvLzFRQjJwdVdXSFdxRC9FdlVpVEN0R3JYeU81L0s2?= =?utf-8?B?RzZwYVlvTkx5NEh3WUJKejJtVHlCUVRoZGRaeXh5cXg4RXBQK1RRdVZYN2sr?= =?utf-8?B?Ti9adVcrY2JqYjJ2RmFzY0ZWL1VUVXFpMWFzd2FTcjFjY2dXNm1YY3MxT1pC?= =?utf-8?B?YXBBbWd4TmtEQUFvNm8yVTdmTi9vRVQ5ZlI3cUlYa2I5Ty92aGc3bUc4ems4?= =?utf-8?B?dDBoWVNlUDFidmxKZFJka0Vsb2VSRW1JK0Z3Rkdpa0k3Uzl0MGpRdzhwNlpx?= =?utf-8?B?QVJ3eXpmZmtNTVRKelFNaWJKTHY5cUpTb0E5b1ZHaitxYVkzeUNhdFhrMVBS?= =?utf-8?B?RkpXU0U2YWtFeVdKV0gwQlVHdnpKKy9PQWhrdnpMYVR4Y2JoOXU5d3lSU3BP?= =?utf-8?B?YlJObEpCV0ZQSDZwVGlNNEJWcGZHdmszaHErRWU4T3MxeWgwaHE0YUVKRTJP?= =?utf-8?B?djAxUmNhSjhIWFk4QnRYbXAxdzRHRGJTTjM3OTdYZ0FGblBhUXhtS3RZcTlJ?= =?utf-8?B?ZzlMSyt2aFl1UEp0K2RYYjE4VENDMmdaU3M4V1AyRjhaamtvNDlneG9vb0s4?= =?utf-8?B?YmlvdjBMYjNMK0h0OE83U0Q5djVPRCtIVjBwNDE1dHMrSzF6Q0xxcFd4eEov?= =?utf-8?B?bWR5NXQ0NFdWb1VnT3hyYzJDMi9UcGVzUzJZbWlPVmlHUU5oYjR4b3ZMNXE3?= =?utf-8?B?dk1GN0lhK1Q5SFA1WmF5RWZ1UFVMclBtbmVMcG8wYXdLbnJOOEZlcmxGaU55?= =?utf-8?B?N3dzaDNTZGFKdG9iaU82NjFPbjB0UzE4amkwTXMwblpKU0xUc0Q3S1FTbk1U?= =?utf-8?Q?zlbRqmT9Ya7RA+hHe4=3D?= Content-ID: <7E42EB8E1428474EB0A7AAD980E5DE00@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4865.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac49d679-b201-4970-80ad-08d927576be1 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2021 12:51:07.1212 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: icgwbI/iZ9ZqrLx+FR/4Ddy2rNfHE5woOEFMQRKg7Ls4wOLXH4yKd9z4XGOXKrj0U7w5TlZc9vA6/WYg86ckF/5UX0XLXbdj+DfskjaZME0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1407 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210604_055116_778445_9767D6D1 X-CRM114-Status: GOOD ( 26.86 ) 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="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org On 6/4/21 1:02 PM, Michael Walle wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > Winbond flashes with OTP support provide a command to erase the OTP > data. This might come in handy during development. > > This was tested with a Winbond W25Q32JW on a LS1028A SoC with the > NXP FSPI controller. > > Signed-off-by: Michael Walle > Reviewed-by: Pratyush Yadav Reviewed-by: Tudor Ambarus > --- > drivers/mtd/spi-nor/core.c | 2 +- > drivers/mtd/spi-nor/core.h | 4 ++ > drivers/mtd/spi-nor/otp.c | 86 +++++++++++++++++++++++++++++++++++ > drivers/mtd/spi-nor/winbond.c | 1 + > 4 files changed, 92 insertions(+), 1 deletion(-) > > diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c > index f6a6ef2d8bd8..a21b0085de05 100644 > --- a/drivers/mtd/spi-nor/core.c > +++ b/drivers/mtd/spi-nor/core.c > @@ -1318,7 +1318,7 @@ static u32 spi_nor_convert_addr(struct spi_nor *nor, loff_t addr) > /* > * Initiate the erasure of a single sector > */ > -static int spi_nor_erase_sector(struct spi_nor *nor, u32 addr) > +int spi_nor_erase_sector(struct spi_nor *nor, u32 addr) > { > int i; > > diff --git a/drivers/mtd/spi-nor/core.h b/drivers/mtd/spi-nor/core.h > index 28a2e0be97a3..9398a8738857 100644 > --- a/drivers/mtd/spi-nor/core.h > +++ b/drivers/mtd/spi-nor/core.h > @@ -207,6 +207,7 @@ struct spi_nor_otp_organization { > * @read: read from the SPI NOR OTP area. > * @write: write to the SPI NOR OTP area. > * @lock: lock an OTP region. > + * @erase: erase an OTP region. > * @is_locked: check if an OTP region of the SPI NOR is locked. > */ > struct spi_nor_otp_ops { > @@ -214,6 +215,7 @@ struct spi_nor_otp_ops { > int (*write)(struct spi_nor *nor, loff_t addr, size_t len, > const u8 *buf); > int (*lock)(struct spi_nor *nor, unsigned int region); > + int (*erase)(struct spi_nor *nor, loff_t addr); > int (*is_locked)(struct spi_nor *nor, unsigned int region); > }; > > @@ -503,10 +505,12 @@ ssize_t spi_nor_read_data(struct spi_nor *nor, loff_t from, size_t len, > u8 *buf); > ssize_t spi_nor_write_data(struct spi_nor *nor, loff_t to, size_t len, > const u8 *buf); > +int spi_nor_erase_sector(struct spi_nor *nor, u32 addr); > > int spi_nor_otp_read_secr(struct spi_nor *nor, loff_t addr, size_t len, u8 *buf); > int spi_nor_otp_write_secr(struct spi_nor *nor, loff_t addr, size_t len, > const u8 *buf); > +int spi_nor_otp_erase_secr(struct spi_nor *nor, loff_t addr); > int spi_nor_otp_lock_sr2(struct spi_nor *nor, unsigned int region); > int spi_nor_otp_is_locked_sr2(struct spi_nor *nor, unsigned int region); > > diff --git a/drivers/mtd/spi-nor/otp.c b/drivers/mtd/spi-nor/otp.c > index 89fe52e3851a..983e40b19134 100644 > --- a/drivers/mtd/spi-nor/otp.c > +++ b/drivers/mtd/spi-nor/otp.c > @@ -120,6 +120,38 @@ int spi_nor_otp_write_secr(struct spi_nor *nor, loff_t addr, size_t len, > return ret ?: written; > } > > +/** > + * spi_nor_otp_erase_secr() - erase a security register > + * @nor: pointer to 'struct spi_nor' > + * @addr: offset of the security register to be erased > + * > + * Erase a security register by using the SPINOR_OP_ESECR command. > + * > + * For more information on the term "security register", see the documentation > + * of spi_nor_otp_read_secr(). > + * > + * This method is used on GigaDevice and Winbond flashes. > + * > + * Return: 0 on success, -errno otherwise > + */ > +int spi_nor_otp_erase_secr(struct spi_nor *nor, loff_t addr) > +{ > + u8 erase_opcode = nor->erase_opcode; > + int ret; > + > + ret = spi_nor_write_enable(nor); > + if (ret) > + return ret; > + > + nor->erase_opcode = SPINOR_OP_ESECR; > + ret = spi_nor_erase_sector(nor, addr); > + nor->erase_opcode = erase_opcode; > + if (ret) > + return ret; > + > + return spi_nor_wait_till_ready(nor); > +} > + > static int spi_nor_otp_lock_bit_cr(unsigned int region) > { > static const int lock_bits[] = { SR2_LB1, SR2_LB2, SR2_LB3 }; > @@ -360,6 +392,59 @@ static int spi_nor_mtd_otp_write(struct mtd_info *mtd, loff_t to, size_t len, > return spi_nor_mtd_otp_read_write(mtd, to, len, retlen, buf, true); > } > > +static int spi_nor_mtd_otp_erase(struct mtd_info *mtd, loff_t from, size_t len) > +{ > + struct spi_nor *nor = mtd_to_spi_nor(mtd); > + const struct spi_nor_otp_ops *ops = nor->params->otp.ops; > + const size_t rlen = spi_nor_otp_region_len(nor); > + unsigned int region; > + loff_t rstart; > + int ret; > + > + /* OTP erase is optional */ > + if (!ops->erase) > + return -EOPNOTSUPP; > + > + if (!len) > + return 0; > + > + if (from < 0 || (from + len) > spi_nor_otp_size(nor)) > + return -EINVAL; > + > + /* the user has to explicitly ask for whole regions */ > + if (!IS_ALIGNED(len, rlen) || !IS_ALIGNED(from, rlen)) > + return -EINVAL; > + > + ret = spi_nor_lock_and_prep(nor); > + if (ret) > + return ret; > + > + ret = spi_nor_mtd_otp_range_is_locked(nor, from, len); > + if (ret < 0) { > + goto out; > + } else if (ret) { > + ret = -EROFS; > + goto out; > + } > + > + while (len) { > + region = spi_nor_otp_offset_to_region(nor, from); > + rstart = spi_nor_otp_region_start(nor, region); > + > + ret = ops->erase(nor, rstart); > + if (ret) > + goto out; > + > + len -= rlen; > + from += rlen; > + } > + > +out: > + spi_nor_unlock_and_unprep(nor); > + > + return ret; > +} > + > static int spi_nor_mtd_otp_lock(struct mtd_info *mtd, loff_t from, size_t len) > { > struct spi_nor *nor = mtd_to_spi_nor(mtd); > @@ -418,4 +503,5 @@ void spi_nor_otp_init(struct spi_nor *nor) > mtd->_read_user_prot_reg = spi_nor_mtd_otp_read; > mtd->_write_user_prot_reg = spi_nor_mtd_otp_write; > mtd->_lock_user_prot_reg = spi_nor_mtd_otp_lock; > + mtd->_erase_user_prot_reg = spi_nor_mtd_otp_erase; > } > diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c > index 9a81c67a60c6..96573f61caf5 100644 > --- a/drivers/mtd/spi-nor/winbond.c > +++ b/drivers/mtd/spi-nor/winbond.c > @@ -139,6 +139,7 @@ static int winbond_set_4byte_addr_mode(struct spi_nor *nor, bool enable) > static const struct spi_nor_otp_ops winbond_otp_ops = { > .read = spi_nor_otp_read_secr, > .write = spi_nor_otp_write_secr, > + .erase = spi_nor_otp_erase_secr, > .lock = spi_nor_otp_lock_sr2, > .is_locked = spi_nor_otp_is_locked_sr2, > }; > -- > 2.20.1 > ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/