From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2B9E7C7EE23 for ; Thu, 8 Jun 2023 06:18:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc: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=r5bBmuoGSI4jzpUHgV1vrS6z7hX2CFrPSLngEUGcsvY=; b=NXY9Y1KgIVJMf7 /8wlaXcmwGUQVpM36wOQ5aIewGWa8r49fzym7vXkv9mMvHz/Fnp85Sckj2tmy2Idd8s8dTdt6lWE8 HW1px2JKIrpoWMu2wsGZJ9MSvlprqMr9k/ulOpBc1LwD4oYmkMgVDjcD1krB0dE63AiX/sZH2np6P tb8qeMo7LKjuiUkP7Cesos5b7+lMRz0fQMcGCjtR1aQ9zbF93r88g0kJtbqiqIcP1lyuQAhyBiwbw ZJfCeBVmro1y+E/DqYalUl25GeFEILywYqdZazmi1nZjvmkUsJmrcJPNhi48Mc38GoOmcC4EUIRg6 6Y1lY/2UUjzAK9poflFw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q78ye-008Ed4-1j; Thu, 08 Jun 2023 06:18:32 +0000 Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q78yb-008Ebl-0x; Thu, 08 Jun 2023 06:18:31 +0000 X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1686205103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZBph/fxT2399OO/NgDACkdHPcHG/E5AHNbxytMOUvjo=; b=BxXywoy32gVAYmo8v0EBWUCpfiTlEXz1RG4n6ocpkeHQPVz4Ew/GBUO7Geeo0AOAuBFGp+ 12w1ly/8UgfvxdRUN89ovqTz3DrH3X8lhTGl4SNj85xfzPp1791WOavgyilHYFblpGBSV7 GyAoz7OBaMVWVXGhhhRV95OIbdXzcwNWV+6N0XKPKd9NQpDSeNSESWj+7j8F0NbvWF1S3B BAqIDbsdRdByZLHu0IwT1j7xjgYcuVLGmV6BOO4kFlpnmmitifvUcdUxAFDCdXNV1igrY3 8ffrBA1iQRPd05Vv1qJl4tI1h97JWD9H6dYkrrnZrGal+Cdh+AJZPjBV/pu2Kw== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 28CF020002; Thu, 8 Jun 2023 06:18:21 +0000 (UTC) Date: Thu, 8 Jun 2023 08:18:21 +0200 From: Miquel Raynal To: William Zhang Cc: Broadcom Kernel List , Linux MTD List , f.fainelli@gmail.com, rafal@milecki.pl, kursad.oney@broadcom.com, joel.peshkin@broadcom.com, computersforpeace@gmail.com, anand.gore@broadcom.com, dregan@mail.com, kamal.dasu@broadcom.com, tomer.yacoby@broadcom.com, dan.beygelman@broadcom.com, linux-kernel@vger.kernel.org, Vignesh Raghavendra , Richard Weinberger , Kamal Dasu , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 10/12] mtd: rawnand: brcmnand: Add BCMBCA read data bus interface Message-ID: <20230608081821.1de5a50b@xps-13> In-Reply-To: <7b393f47-4053-a8c7-f32e-3881d8130d80@broadcom.com> References: <20230606231252.94838-1-william.zhang@broadcom.com> <20230606231252.94838-11-william.zhang@broadcom.com> <20230607102232.17c4a27b@xps-13> <7b393f47-4053-a8c7-f32e-3881d8130d80@broadcom.com> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; 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-20230607_231829_604000_06EE424D X-CRM114-Status: GOOD ( 37.60 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgV2lsbGlhbSwKCndpbGxpYW0uemhhbmdAYnJvYWRjb20uY29tIHdyb3RlIG9uIFdlZCwgNyBK dW4gMjAyMyAxMzoyNDoyMyAtMDcwMDoKCj4gSGkgTWlxdWVsLAo+IAo+IE9uIDA2LzA3LzIwMjMg MDE6MjIgQU0sIE1pcXVlbCBSYXluYWwgd3JvdGU6Cj4gPiBIaSBXaWxsaWFtLAo+ID4gCj4gPiB3 aWxsaWFtLnpoYW5nQGJyb2FkY29tLmNvbSB3cm90ZSBvbiBUdWUsICA2IEp1biAyMDIzIDE2OjEy OjUwIC0wNzAwOgo+ID4gICAKPiA+PiBUaGUgQkNNQkNBIGJyb2FkYmFuZCBTb0MgaW50ZWdyYXRl cyB0aGUgTkFORCBjb250cm9sbGVyIGRpZmZlcmVudGx5IHRoYW4KPiA+PiBTVEIsIGlQcm9jIGFu ZCBvdGhlciBTb0NzLiAgSXQgaGFzIGRpZmZlcmVudCBlbmRpYW5uZXNzIGZvciBOQU5EIGNhY2hl Cj4gPj4gZGF0YSBhbmQgT05GSSBwYXJhbWV0ZXIgZGF0YS4KPiA+Pgo+ID4+IEFkZCBhIFNvQyBy ZWFkIGRhdGEgYnVzIHNoaW0gZm9yIEJDTUJDQSB0byBtZWV0IHRoZSBzcGVjaWZpYyBTb0MgbmVl ZAo+ID4+IGFuZCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCB1c2luZyB0aGUgb3B0aW1pemVkIG1l bWNweSBmdW5jdGlvbiBvbiBOQU5ECj4gPj4gY2FjaGUgbWVtb3J5Lgo+ID4+Cj4gPj4gU2lnbmVk LW9mZi1ieTogV2lsbGlhbSBaaGFuZyA8d2lsbGlhbS56aGFuZ0Bicm9hZGNvbS5jb20+Cj4gPj4g LS0tCj4gPj4KPiA+PiAgIGRyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JjbWJjYV9uYW5k LmMgfCAzNiArKysrKysrKysrKysrKysrKwo+ID4+ICAgZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJj bW5hbmQvYnJjbW5hbmQuYyAgICB8IDQ0ICsrKysrKysrKysrKysrLS0tLS0tLQo+ID4+ICAgZHJp dmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuaCAgICB8ICAyICsKPiA+PiAgIDMg ZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCj4gPj4KPiA+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYmNtYmNhX25hbmQu YyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JjbWJjYV9uYW5kLmMKPiA+PiBpbmRl eCA3ZTQ4YjZhMGJmYTIuLjg5OTEwM2E2MmM5OCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL210 ZC9uYW5kL3Jhdy9icmNtbmFuZC9iY21iY2FfbmFuZC5jCj4gPj4gKysrIGIvZHJpdmVycy9tdGQv bmFuZC9yYXcvYnJjbW5hbmQvYmNtYmNhX25hbmQuYwo+ID4+IEBAIC0yNiw2ICsyNiwxOCBAQCBl bnVtIHsKPiA+PiAgIAlCQ01CQ0FfQ1RMUkRZCQk9IEJJVCg0KSwKPiA+PiAgIH07ICAKPiA+PiAg ID4+ICsjaWYgZGVmaW5lZChDT05GSUdfQVJNNjQpICAKPiA+PiArI2RlZmluZSBBTElHTl9SRVEJ CTgKPiA+PiArI2Vsc2UKPiA+PiArI2RlZmluZSBBTElHTl9SRVEJCTQKPiA+PiArI2VuZGlmCj4g Pj4gKwo+ID4+ICtzdGF0aWMgaW5saW5lIGJvb2wgYmNtYmNhX25hbmRfaXNfYnVmX2FsaWduZWQo dm9pZCAqZmxhc2hfY2FjaGUsICB2b2lkICpidWZmZXIpCj4gPj4gK3sKPiA+PiArCXJldHVybiBJ U19BTElHTkVEKCh1aW50cHRyX3QpYnVmZmVyLCBBTElHTl9SRVEpICYmCj4gPj4gKwkJCQlJU19B TElHTkVEKCh1aW50cHRyX3QpZmxhc2hfY2FjaGUsIEFMSUdOX1JFUSk7Cj4gPj4gK30KPiA+PiAr Cj4gPj4gICBzdGF0aWMgYm9vbCBiY21iY2FfbmFuZF9pbnRjX2FjayhzdHJ1Y3QgYnJjbW5hbmRf c29jICpzb2MpCj4gPj4gICB7Cj4gPj4gICAJc3RydWN0IGJjbWJjYV9uYW5kX3NvYyAqcHJpdiA9 Cj4gPj4gQEAgLTU2LDYgKzY4LDI5IEBAIHN0YXRpYyB2b2lkIGJjbWJjYV9uYW5kX2ludGNfc2V0 KHN0cnVjdCBicmNtbmFuZF9zb2MgKnNvYywgYm9vbCBlbikKPiA+PiAgIAlicmNtbmFuZF93cml0 ZWwodmFsLCBtbWlvKTsKPiA+PiAgIH0gIAo+ID4+ICAgPj4gK3N0YXRpYyB2b2lkIGJjbWJjYV9y ZWFkX2RhdGFfYnVzKHN0cnVjdCBicmNtbmFuZF9zb2MgKnNvYywgIAo+ID4+ICsJCQkJIHZvaWQg X19pb21lbSAqZmxhc2hfY2FjaGUsICB1MzIgKmJ1ZmZlciwKPiA+PiArCQkJCSBpbnQgZmNfd29y ZHMsIGJvb2wgaXNfcGFyYW0pCj4gPj4gK3sKPiA+PiArCWludCBpOwo+ID4+ICsKPiA+PiArCWlm ICghaXNfcGFyYW0pIHsKPiA+PiArCQkvKgo+ID4+ICsJCSAqIG1lbWNweSBjYW4gZG8gdW5hbGln bmVkIGFsaWduZWQgYWNjZXNzIGRlcGVuZGluZyBvbiBzb3VyY2UKPiA+PiArCQkgKiBhbmQgZGVz dCBhZGRyZXNzLCB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBuYW5kIGNhY2hlLiBGYWxsYmFj awo+ID4+ICsJCSAqIHRvIHRoZSBtZW1jcHkgZm9yIGlvIHZlcnNpb24KPiA+PiArCQkgKi8KPiA+ PiArCQlpZiAoYmNtYmNhX25hbmRfaXNfYnVmX2FsaWduZWQoZmxhc2hfY2FjaGUsIGJ1ZmZlcikp Cj4gPj4gKwkJCW1lbWNweSgodm9pZCAqKWJ1ZmZlciwgKHZvaWQgKilmbGFzaF9jYWNoZSwgZmNf d29yZHMgKiA0KTsKPiA+PiArCQllbHNlCj4gPj4gKwkJCW1lbWNweV9mcm9taW8oKHZvaWQgKili dWZmZXIsICh2b2lkICopZmxhc2hfY2FjaGUsIGZjX3dvcmRzICogNCk7Cj4gPj4gKwl9IGVsc2Ug ewo+ID4+ICsJCS8qIEZsYXNoIGNhY2hlIGhhcyBzYW1lIGVuZGlhbiBhcyB0aGUgaG9zdCBmb3Ig cGFyYW1ldGVyIHBhZ2VzICovCj4gPj4gKwkJZm9yIChpID0gMDsgaSA8IGZjX3dvcmRzOyBpKyss IGJ1ZmZlcisrKQo+ID4+ICsJCQkqYnVmZmVyID0gX19yYXdfcmVhZGwoZmxhc2hfY2FjaGUgKyBp ICogNCk7Cj4gPj4gKwl9Cj4gPj4gK30KPiA+PiArCj4gPj4gICBzdGF0aWMgaW50IGJjbWJjYV9u YW5kX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPj4gICB7Cj4gPj4gICAJ c3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKPiA+PiBAQCAtNzUsNiArMTEwLDcgQEAg c3RhdGljIGludCBiY21iY2FfbmFuZF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KSAgCj4gPj4gICA+PiAgIAlzb2MtPmN0bHJkeV9hY2sgPSBiY21iY2FfbmFuZF9pbnRjX2Fjazsg IAo+ID4+ICAgCXNvYy0+Y3RscmR5X3NldF9lbmFibGVkID0gYmNtYmNhX25hbmRfaW50Y19zZXQ7 Cj4gPj4gKwlzb2MtPnJlYWRfZGF0YV9idXMgPSBiY21iY2FfcmVhZF9kYXRhX2J1czsgIAo+ID4+ ICAgPj4gICAJcmV0dXJuIGJyY21uYW5kX3Byb2JlKHBkZXYsIHNvYyk7ICAKPiA+PiAgIH0KPiA+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYyBi L2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMKPiA+PiBpbmRleCBkOTIw ZTg4YzdmNWIuLjY1NmJlNGQ3MzAxNiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL210ZC9uYW5k L3Jhdy9icmNtbmFuZC9icmNtbmFuZC5jCj4gPj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcv YnJjbW5hbmQvYnJjbW5hbmQuYwo+ID4+IEBAIC04MTQsNiArODE0LDMwIEBAIHN0YXRpYyBpbmxp bmUgdTMyIGVkdV9yZWFkbChzdHJ1Y3QgYnJjbW5hbmRfY29udHJvbGxlciAqY3RybCwKPiA+PiAg IAlyZXR1cm4gYnJjbW5hbmRfcmVhZGwoY3RybC0+ZWR1X2Jhc2UgKyBvZmZzKTsKPiA+PiAgIH0g IAo+ID4+ICAgPj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBicmNtbmFuZF9yZWFkX2RhdGFfYnVzKHN0 cnVjdCBicmNtbmFuZF9jb250cm9sbGVyICpjdHJsLCAgCj4gPj4gKwkJCQkJICAgdm9pZCBfX2lv bWVtICpmbGFzaF9jYWNoZSwgdTMyICpidWZmZXIsCj4gPj4gKwkJCQkJICAgaW50IGZjX3dvcmRz LCBib29sIGlzX3BhcmFtKQo+ID4+ICt7Cj4gPj4gKwlzdHJ1Y3QgYnJjbW5hbmRfc29jICpzb2Mg PSBjdHJsLT5zb2M7Cj4gPj4gKwlpbnQgaTsKPiA+PiArCj4gPj4gKwlpZiAoc29jLT5yZWFkX2Rh dGFfYnVzKSB7Cj4gPj4gKwkJc29jLT5yZWFkX2RhdGFfYnVzKHNvYywgZmxhc2hfY2FjaGUsIGJ1 ZmZlciwgZmNfd29yZHMsIGlzX3BhcmFtKTsKPiA+PiArCX0gZWxzZSB7Cj4gPj4gKwkJaWYgKCFp c19wYXJhbSkgewo+ID4+ICsJCQlmb3IgKGkgPSAwOyBpIDwgZmNfd29yZHM7IGkrKywgYnVmZmVy KyspCj4gPj4gKwkJCQkqYnVmZmVyID0gYnJjbW5hbmRfcmVhZF9mYyhjdHJsLCBpKTsKPiA+PiAr CQl9IGVsc2Ugewo+ID4+ICsJCQlmb3IgKGkgPSAwOyBpIDwgZmNfd29yZHM7IGkrKykKPiA+PiAr CQkJCS8qCj4gPj4gKwkJCQkgKiBGbGFzaCBjYWNoZSBpcyBiaWcgZW5kaWFuIGZvciBwYXJhbWV0 ZXIgcGFnZXMsIGF0Cj4gPj4gKwkJCQkgKiBsZWFzdCBvbiBTVEIgU29Dcwo+ID4+ICsJCQkJICov Cj4gPj4gKwkJCQlidWZmZXJbaV0gPSBiZTMyX3RvX2NwdShicmNtbmFuZF9yZWFkX2ZjKGN0cmws IGkpKTsKPiA+PiArCQl9Cj4gPj4gKwl9ICAKPiA+IAo+ID4gUGVyaGFwcyB3ZSBjb3VsZCBoYXZl IGEgc2luZ2xlIGZ1bmN0aW9uIHRoYXQgaXMgc3RhdGljYWxseSBhc3NpZ25lZCBhdAo+ID4gcHJv YmUgdGltZSBpbnN0ZWFkIG9mIGEgZmlyc3QgaGVscGVyIHdpdGggdHdvIGNvbmRpdGlvbnMgd2hp Y2ggY2FsbHMgaW4KPiA+IG9uZSBjYXNlIGFub3RoZXIgaG9vay4uLiBUaGlzIGNhbiBiZSBzaW1w bGlmaWVkIEkgZ3Vlc3MuCj4gPiAgIAo+IFdlbGwgdGhpcyB3aWxsIG5lZWQgdG8gYmUgZG9uZSBh dCB0aGUgU29DIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIGxldmVsIChiY208eHh4Pl9uYW5kLmMp IGFuZCBlYWNoIFNvQyB3aWxsIG5lZWQgdG8gaGF2ZSBlaXRoZXIgZ2VuZXJhbCBkYXRhIGJ1cyBy ZWFkIGZ1bmMgd2l0aCBpc19wYXJhbSBvcHRpb24gb3IgZGF0YV9idXNfcmVhZF9wYWdlLCBkYXRh X2J1c19yZWFkX3BhcmFtLgoKWW91IHRvbGQgbWUgaW4gY2FzZSB3ZSB3b3VsZCB1c2UgZXhlY19v cCB3ZSBjb3VsZCBhdm9pZCB0aGUgcGFyYW0KY2FjaGUuIElmIHRoYXQncyB0cnVlIHRoZW4gdGhl IHdob2xlIHN1cHBvcnQgY2FuIGJlIHNpbXBsaWZpZWQuCgo+ICBOb3Qgc3VyZSBob3cgbXVjaCB0 aGlzIGNhbiBiZSBzaW1wbGlmaWVkLi4uIE9yIHdlIGhhdmUgZGVmYXVsdAo+IGltcGxlbWVudGF0 aW9uIGluIGJyY21uYW5kLmMgYnV0IHRoZW4gdGhlcmUgaXMgb25lIGNvbmRpdGlvbiBjaGVjawo+ IHRvby4gUGFnZSByZWFkIGlzIGRvbmUgYXQgNTEyIGJ5dGVzIGJ1cnN0LiBPbmUgb3IgdHdvIGNv bmRpdGlvbnMKPiBjaGVjayBvdXRzaWRlIG9mIHRoZSBwZXIgNTEyIGJ5dGVzIHJlYWQgbG9vcCBk b2VzIG5vdCBzb3VuZHMgdG9vIGJhZAo+IGlmIHBlcmZvcm1hbmNlIGlzIGNvbmNlcm4uCgpJdCBp cyB1bnJlYWRhYmxlLiBUaGF0IGlzIG15IG1haW4gY29uY2Vybi4KCj4gCj4gPj4gK30KPiA+PiAr Cj4gPj4gICBzdGF0aWMgdm9pZCBicmNtbmFuZF9jbGVhcl9lY2NfYWRkcihzdHJ1Y3QgYnJjbW5h bmRfY29udHJvbGxlciAqY3RybCkKPiA+PiAgIHsgIAo+ID4+ICAgPj4gQEAgLTE4MTEsMjAgKzE4 MzUsMTEgQEAgc3RhdGljIHZvaWQgYnJjbW5hbmRfY21kZnVuYyhzdHJ1Y3QgbmFuZF9jaGlwICpj aGlwLCB1bnNpZ25lZCBjb21tYW5kLCAgCj4gPj4gICAJCQluYXRpdmVfY21kID09IENNRF9QQVJB TUVURVJfQ0hBTkdFX0NPTCkgewo+ID4+ICAgCQkvKiBDb3B5IGZsYXNoIGNhY2hlIHdvcmQtd2lz ZSAqLwo+ID4+ICAgCQl1MzIgKmZsYXNoX2NhY2hlID0gKHUzMiAqKWN0cmwtPmZsYXNoX2NhY2hl Owo+ID4+IC0JCWludCBpOyAgCj4gPj4gICA+PiAgIAkJYnJjbW5hbmRfc29jX2RhdGFfYnVzX3By ZXBhcmUoY3RybC0+c29jLCB0cnVlKTsKPiA+PiAgID4+IC0JCS8qICAKPiA+PiAtCQkgKiBNdXN0 IGNhY2hlIHRoZSBGTEFTSF9DQUNIRSBub3csIHNpbmNlIGNoYW5nZXMgaW4KPiA+PiAtCQkgKiBT RUNUT1JfU0laRV8xSyBtYXkgaW52YWxpZGF0ZSBpdAo+ID4+IC0JCSAqLwo+ID4+IC0JCWZvciAo aSA9IDA7IGkgPCBGQ19XT1JEUzsgaSsrKQo+ID4+IC0JCQkvKgo+ID4+IC0JCQkgKiBGbGFzaCBj YWNoZSBpcyBiaWcgZW5kaWFuIGZvciBwYXJhbWV0ZXIgcGFnZXMsIGF0Cj4gPj4gLQkJCSAqIGxl YXN0IG9uIFNUQiBTb0NzCj4gPj4gLQkJCSAqLwo+ID4+IC0JCQlmbGFzaF9jYWNoZVtpXSA9IGJl MzJfdG9fY3B1KGJyY21uYW5kX3JlYWRfZmMoY3RybCwgaSkpOwo+ID4+ICsJCWJyY21uYW5kX3Jl YWRfZGF0YV9idXMoY3RybCwgY3RybC0+bmFuZF9mYywgZmxhc2hfY2FjaGUsCj4gPj4gKwkJCQkg ICBGQ19XT1JEUywgdHJ1ZSk7ICAKPiA+PiAgID4+ICAgCQlicmNtbmFuZF9zb2NfZGF0YV9idXNf dW5wcmVwYXJlKGN0cmwtPnNvYywgdHJ1ZSk7Cj4gPj4gICA+PiBAQCAtMjEzNyw3ICsyMTUyLDcg QEAgc3RhdGljIGludCBicmNtbmFuZF9yZWFkX2J5X3BpbyhzdHJ1Y3QgbXRkX2luZm8gKm10ZCwg c3RydWN0IG5hbmRfY2hpcCAqY2hpcCwgIAo+ID4+ICAgewo+ID4+ICAgCXN0cnVjdCBicmNtbmFu ZF9ob3N0ICpob3N0ID0gbmFuZF9nZXRfY29udHJvbGxlcl9kYXRhKGNoaXApOwo+ID4+ICAgCXN0 cnVjdCBicmNtbmFuZF9jb250cm9sbGVyICpjdHJsID0gaG9zdC0+Y3RybDsKPiA+PiAtCWludCBp LCBqLCByZXQgPSAwOwo+ID4+ICsJaW50IGksIHJldCA9IDA7ICAKPiA+PiAgID4+ICAgCWJyY21u YW5kX2NsZWFyX2VjY19hZGRyKGN0cmwpOwo+ID4+ICAgPj4gQEAgLTIxNTAsOCArMjE2NSw5IEBA IHN0YXRpYyBpbnQgYnJjbW5hbmRfcmVhZF9ieV9waW8oc3RydWN0IG10ZF9pbmZvICptdGQsIHN0 cnVjdCBuYW5kX2NoaXAgKmNoaXAsICAKPiA+PiAgIAkJaWYgKGxpa2VseShidWYpKSB7Cj4gPj4g ICAJCQlicmNtbmFuZF9zb2NfZGF0YV9idXNfcHJlcGFyZShjdHJsLT5zb2MsIGZhbHNlKTsgIAo+ ID4+ICAgPj4gLQkJCWZvciAoaiA9IDA7IGogPCBGQ19XT1JEUzsgaisrLCBidWYrKykgIAo+ID4+ IC0JCQkJKmJ1ZiA9IGJyY21uYW5kX3JlYWRfZmMoY3RybCwgaik7Cj4gPj4gKwkJCWJyY21uYW5k X3JlYWRfZGF0YV9idXMoY3RybCwgY3RybC0+bmFuZF9mYywgYnVmLAo+ID4+ICsJCQkJCUZDX1dP UkRTLCBmYWxzZSk7Cj4gPj4gKwkJCWJ1ZiArPSBGQ19XT1JEUzsgIAo+ID4+ICAgPj4gICAJCQli cmNtbmFuZF9zb2NfZGF0YV9idXNfdW5wcmVwYXJlKGN0cmwtPnNvYywgZmFsc2UpOyAgCj4gPj4g ICAJCX0KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJj bW5hbmQuaCBiL2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmgKPiA+PiBp bmRleCBmMWY5M2Q4NWY1MGQuLjg4ODE5YmMzOTVmOCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJz L210ZC9uYW5kL3Jhdy9icmNtbmFuZC9icmNtbmFuZC5oCj4gPj4gKysrIGIvZHJpdmVycy9tdGQv bmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuaAo+ID4+IEBAIC0yNCw2ICsyNCw4IEBAIHN0cnVj dCBicmNtbmFuZF9zb2Mgewo+ID4+ICAgCXZvaWQgKCpjdGxyZHlfc2V0X2VuYWJsZWQpKHN0cnVj dCBicmNtbmFuZF9zb2MgKnNvYywgYm9vbCBlbik7Cj4gPj4gICAJdm9pZCAoKnByZXBhcmVfZGF0 YV9idXMpKHN0cnVjdCBicmNtbmFuZF9zb2MgKnNvYywgYm9vbCBwcmVwYXJlLAo+ID4+ICAgCQkJ CSBib29sIGlzX3BhcmFtKTsKPiA+PiArCXZvaWQgKCpyZWFkX2RhdGFfYnVzKShzdHJ1Y3QgYnJj bW5hbmRfc29jICpzb2MsIHZvaWQgX19pb21lbSAqZmxhc2hfY2FjaGUsCj4gPj4gKwkJCQkgdTMy ICpidWZmZXIsIGludCBmY193b3JkcywgYm9vbCBpc19wYXJhbSk7Cj4gPj4gICAJY29uc3Qgc3Ry dWN0IGJyY21uYW5kX2lvX29wcyAqb3BzOwo+ID4+ICAgfTsgIAo+ID4+ICAgPiA+ICAgCj4gPiBU aGFua3MsCj4gPiBNaXF1w6hsCj4gPiAgIAoKClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=