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 A63CCC7EE23 for ; Thu, 8 Jun 2023 06:15:52 +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=yCv663LfMMgecF+71ibETJEjKYL8wpMhpC0RLmGRHuc=; b=ux0FIqSL02Rm1x mLC4ToO6OXWh0jaCTIGYo3nYx5oNsM9PiPO+y0bkScbB/YM/e2Ipeq9hWdfpWCArlzyi4cMs1jiOk Ky+n2jhqYfsYmIqGg7bEUQr8h9lF5lLQdEW56WJf7OJQYyIGz4a+1YcgL/Ga2C1xU8Bb8k0jKWsxI AgHDhqqgtXjaJhKhrWbrLB7gwpAmFXXUSXCWSE6fG1lLxQTt17yLF13J/JD+q15+EPNCvsCfD0Czi OiKe/N/krMfbVDT5o4Lxvg5CPyxYFXxEivfSGLZxbDvZXfkhM3Q51Mk7HUSfmCDMtTRxtLpfFUJu3 8ILAVIvYSyiQyMy29qlw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q78vc-008E70-2I; Thu, 08 Jun 2023 06:15:24 +0000 Received: from relay9-d.mail.gandi.net ([2001:4b98:dc4:8::229]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q78vY-008E5j-1G; Thu, 08 Jun 2023 06:15:22 +0000 X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1686204916; 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=7t59aesvioWdyAbdyEBuOAeoddZ3/oqLnKZdNI13uCA=; b=lEZBhrZMIt4xSORfHBtP47kskrP8CzB4m/YFvTV5WYwLcgdrm+htCGKSX+jfM2KOHpx2gt Nr5ZNChNHi63Det4EvULCqlpe/GznOMQ8kjFGauHoqb6voGrQsLdqUn/8Zf6wEqv7OUgDP AOLHsCAP13zIGN5FtsoPHxrdNQVSgGfcP7JR4XgnYfyh1gJfdb8fXyQ/l0eV/Dqam76UBo hEk8WAAl7PJaRbqCXDJUal6xg3BAsOl/i20L3o3adAvk/hMpvpIw/uaDs+NfoZJsUBtCpY NLe9V7cy8nzKioGUGPYa5pgJLgvvdbNmzdqk4rZ4BMuJCcj8tjkP51IdROnDeA== 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 CFDDAFF80B; Thu, 8 Jun 2023 06:15:12 +0000 (UTC) Date: Thu, 8 Jun 2023 08:15:12 +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: <20230608081512.52fa07fb@xps-13> In-Reply-To: <11a7132c-7f10-ee47-0a23-d444ed29d980@broadcom.com> References: <20230606231252.94838-1-william.zhang@broadcom.com> <20230606231252.94838-11-william.zhang@broadcom.com> <20230607102056.5b1bfa5b@xps-13> <11a7132c-7f10-ee47-0a23-d444ed29d980@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_231520_741383_ABD868A4 X-CRM114-Status: GOOD ( 38.65 ) 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 dW4gMjAyMyAxMzoxMjowMiAtMDcwMDoKCj4gSGkgTWlxdWVsLAo+IAo+IE9uIDA2LzA3LzIwMjMg MDE6MjAgQU0sIE1pcXVlbCBSYXluYWwgd3JvdGU6Cj4gPiBIaSBXaWxsaWFtLAo+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 LCBib29sIGlzX3BhcmFtKSAgCj4gPiAKPiA+IEkgc3Ryb25nbHkgZGlzbGlrZSB0aGlzICJpc19w YXJhbSIgYm9vbGVhbi4KPiA+IAo+ID4gV2hlbiBpcyB0aGUgZGF0YSBpbiBob3N0IGVuZGlhbm5l c3M/IFdoZW4gaXMgaXQgbm90PyAgCj4gVGhpcyBpcyBsaXR0bGUgYml0IGNvbXBsaWNhdGVkLiAg V2UgaGF2ZSB0d28gdHlwZSBkYXRhIHJlYWQgZnJvbSBuYW5kIGNhY2hlLiBPbmUgZm9yIHBhZ2Ug cmVhZCBhbmQgdGhlIG90aGVyIGZvciBwYXJhbWV0ZXIgYW5kIG9uZmkgZGF0YSByZWFkIGZyb20g dGhlIGNvbnRyb2xsZXIgc2lkZS4gQnV0IGl0IGRlcGVuZHMgb24gaG93IFNvQyBpbnRlZ3JhdGUg dGhlIG5hbmQgY2FjaGUgdG8gc3lzdGVtLiBJbiBicm9hZGJhbmQgU29DLCBib3RoIHBhZ2UgYW5k IHBhcmFtZXRlciBkYXRhIGFyZSBpbiBob3N0IGVuZGlhbmVzcyBidXQgb3RoZXIgU29DcyBpcyBu b3QgdGhlIHNhbWUuCj4gCj4gSSBhbSBvcGVuIHRvIHN1Z2dlc3Rpb24gZm9yIGlzX3BhcmFtIGZ1 bmN0aW9uIGFyZ3VtZW50IGJ1dCB0byBmYWN0b3Igb3V0IHRoaXMgY29tbW9uIGNvZGUgaW4gbW9y ZSBzdHJ1Y3R1cmVkIHdheSwgSSBkb24ndCBzZWUgb3RoZXIgd2F5IGFyb3VuZC4KCkFscmlnaHQs IHNvIHRoaXMgaXMgU29DIGRlcGVuZGVudCwgdmVyeSB3ZWxsIC0+IGEgKHN1Yiljb21wYXRpYmxl IHBlcgpTb0MgKyBwbGF0Zm9ybSBkYXRhIGFzc29jaWF0ZWQgdG8gaXQgd2l0aCB0aGUgcmlnaHQg ZnVuY3Rpb24uCgo+ID4gSWYgd2UgdGhpbmsgYWJvdXQgYW4gZXhlY19vcCgpIGNvbnZlcnNpb24g YW5kIGRyb3AgY21kZnVuYygpLCB3aGF0Cj4gPiB3b3VsZCBiZSB0aGUgZGlzY3JpbWluYW50Pwo+ ID4gICAKPiBJZiB3ZSBuZWVkIHRvIGltcGxlbWVudCBleGVjX29wIGluIHRoZSBmdXR1cmUsICB0 aGUgZGF0YSBpcyBub3QgY29taW5nIGZyb20gbmFuZCBjYWNoZSBidXQgc29tZSBvdGhlciBsb3cg bGV2ZWwgZGF0YSByZWdpc3RlciB3aGljaCBtYXkgbm90IHN1YmplY3QgdG8gdGhlIGVuZGlhbmVz cyBpc3N1ZS4KCkNhbid0IHlvdSB1c2UgdGhlIHNhbWUgY2FjaGUgYWxsIHRoZSB0aW1lIGhlcmUg YXMgd2VsbCB0aGVuPyBBbmQgYXZvaWQKdGhlIG5lZWQgZm9yIHRoaXMgb3Zlcmx5IGNvbXBsZXgg bG9naWM/Cgo+IAo+ID4+ICt7Cj4gPj4gKwlzdHJ1Y3QgYnJjbW5hbmRfc29jICpzb2MgPSBjdHJs LT5zb2M7Cj4gPj4gKwlpbnQgaTsKPiA+PiArCj4gPj4gKwlpZiAoc29jLT5yZWFkX2RhdGFfYnVz KSB7Cj4gPj4gKwkJc29jLT5yZWFkX2RhdGFfYnVzKHNvYywgZmxhc2hfY2FjaGUsIGJ1ZmZlciwg ZmNfd29yZHMsIGlzX3BhcmFtKTsKPiA+PiArCX0gZWxzZSB7Cj4gPj4gKwkJaWYgKCFpc19wYXJh bSkgewo+ID4+ICsJCQlmb3IgKGkgPSAwOyBpIDwgZmNfd29yZHM7IGkrKywgYnVmZmVyKyspCj4g Pj4gKwkJCQkqYnVmZmVyID0gYnJjbW5hbmRfcmVhZF9mYyhjdHJsLCBpKTsKPiA+PiArCQl9IGVs c2Ugewo+ID4+ICsJCQlmb3IgKGkgPSAwOyBpIDwgZmNfd29yZHM7IGkrKykKPiA+PiArCQkJCS8q Cj4gPj4gKwkJCQkgKiBGbGFzaCBjYWNoZSBpcyBiaWcgZW5kaWFuIGZvciBwYXJhbWV0ZXIgcGFn ZXMsIGF0Cj4gPj4gKwkJCQkgKiBsZWFzdCBvbiBTVEIgU29Dcwo+ID4+ICsJCQkJICovCj4gPj4g KwkJCQlidWZmZXJbaV0gPSBiZTMyX3RvX2NwdShicmNtbmFuZF9yZWFkX2ZjKGN0cmwsIGkpKTsK PiA+PiArCQl9Cj4gPj4gKwl9Cj4gPj4gK30KPiA+PiArCj4gPj4gICBzdGF0aWMgdm9pZCBicmNt bmFuZF9jbGVhcl9lY2NfYWRkcihzdHJ1Y3QgYnJjbW5hbmRfY29udHJvbGxlciAqY3RybCkKPiA+ PiAgIHsgIAo+ID4+ICAgPj4gQEAgLTE4MTEsMjAgKzE4MzUsMTEgQEAgc3RhdGljIHZvaWQgYnJj bW5hbmRfY21kZnVuYyhzdHJ1Y3QgbmFuZF9jaGlwICpjaGlwLCB1bnNpZ25lZCBjb21tYW5kLCAg Cj4gPj4gICAJCQluYXRpdmVfY21kID09IENNRF9QQVJBTUVURVJfQ0hBTkdFX0NPTCkgewo+ID4+ ICAgCQkvKiBDb3B5IGZsYXNoIGNhY2hlIHdvcmQtd2lzZSAqLwo+ID4+ICAgCQl1MzIgKmZsYXNo X2NhY2hlID0gKHUzMiAqKWN0cmwtPmZsYXNoX2NhY2hlOwo+ID4+IC0JCWludCBpOyAgCj4gPj4g ICA+PiAgIAkJYnJjbW5hbmRfc29jX2RhdGFfYnVzX3ByZXBhcmUoY3RybC0+c29jLCB0cnVlKTsK PiA+PiAgID4+IC0JCS8qICAKPiA+PiAtCQkgKiBNdXN0IGNhY2hlIHRoZSBGTEFTSF9DQUNIRSBu b3csIHNpbmNlIGNoYW5nZXMgaW4KPiA+PiAtCQkgKiBTRUNUT1JfU0laRV8xSyBtYXkgaW52YWxp ZGF0ZSBpdAo+ID4+IC0JCSAqLwo+ID4+IC0JCWZvciAoaSA9IDA7IGkgPCBGQ19XT1JEUzsgaSsr KQo+ID4+IC0JCQkvKgo+ID4+IC0JCQkgKiBGbGFzaCBjYWNoZSBpcyBiaWcgZW5kaWFuIGZvciBw YXJhbWV0ZXIgcGFnZXMsIGF0Cj4gPj4gLQkJCSAqIGxlYXN0IG9uIFNUQiBTb0NzCj4gPj4gLQkJ CSAqLwo+ID4+IC0JCQlmbGFzaF9jYWNoZVtpXSA9IGJlMzJfdG9fY3B1KGJyY21uYW5kX3JlYWRf ZmMoY3RybCwgaSkpOwo+ID4+ICsJCWJyY21uYW5kX3JlYWRfZGF0YV9idXMoY3RybCwgY3RybC0+ bmFuZF9mYywgZmxhc2hfY2FjaGUsCj4gPj4gKwkJCQkgICBGQ19XT1JEUywgdHJ1ZSk7ICAKPiA+ PiAgID4+ICAgCQlicmNtbmFuZF9zb2NfZGF0YV9idXNfdW5wcmVwYXJlKGN0cmwtPnNvYywgdHJ1 ZSk7Cj4gPj4gICA+PiBAQCAtMjEzNyw3ICsyMTUyLDcgQEAgc3RhdGljIGludCBicmNtbmFuZF9y ZWFkX2J5X3BpbyhzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgc3RydWN0IG5hbmRfY2hpcCAqY2hpcCwg IAo+ID4+ICAgewo+ID4+ICAgCXN0cnVjdCBicmNtbmFuZF9ob3N0ICpob3N0ID0gbmFuZF9nZXRf Y29udHJvbGxlcl9kYXRhKGNoaXApOwo+ID4+ICAgCXN0cnVjdCBicmNtbmFuZF9jb250cm9sbGVy ICpjdHJsID0gaG9zdC0+Y3RybDsKPiA+PiAtCWludCBpLCBqLCByZXQgPSAwOwo+ID4+ICsJaW50 IGksIHJldCA9IDA7ICAKPiA+PiAgID4+ICAgCWJyY21uYW5kX2NsZWFyX2VjY19hZGRyKGN0cmwp Owo+ID4+ICAgPj4gQEAgLTIxNTAsOCArMjE2NSw5IEBAIHN0YXRpYyBpbnQgYnJjbW5hbmRfcmVh ZF9ieV9waW8oc3RydWN0IG10ZF9pbmZvICptdGQsIHN0cnVjdCBuYW5kX2NoaXAgKmNoaXAsICAK PiA+PiAgIAkJaWYgKGxpa2VseShidWYpKSB7Cj4gPj4gICAJCQlicmNtbmFuZF9zb2NfZGF0YV9i dXNfcHJlcGFyZShjdHJsLT5zb2MsIGZhbHNlKTsgIAo+ID4+ICAgPj4gLQkJCWZvciAoaiA9IDA7 IGogPCBGQ19XT1JEUzsgaisrLCBidWYrKykgIAo+ID4+IC0JCQkJKmJ1ZiA9IGJyY21uYW5kX3Jl YWRfZmMoY3RybCwgaik7Cj4gPj4gKwkJCWJyY21uYW5kX3JlYWRfZGF0YV9idXMoY3RybCwgY3Ry bC0+bmFuZF9mYywgYnVmLAo+ID4+ICsJCQkJCUZDX1dPUkRTLCBmYWxzZSk7Cj4gPj4gKwkJCWJ1 ZiArPSBGQ19XT1JEUzsgIAo+ID4+ICAgPj4gICAJCQlicmNtbmFuZF9zb2NfZGF0YV9idXNfdW5w cmVwYXJlKGN0cmwtPnNvYywgZmFsc2UpOyAgCj4gPj4gICAJCX0KPiA+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuaCBiL2RyaXZlcnMvbXRkL25h bmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmgKPiA+PiBpbmRleCBmMWY5M2Q4NWY1MGQuLjg4ODE5 YmMzOTVmOCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL210ZC9uYW5kL3Jhdy9icmNtbmFuZC9i cmNtbmFuZC5oCj4gPj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5h bmQuaAo+ID4+IEBAIC0yNCw2ICsyNCw4IEBAIHN0cnVjdCBicmNtbmFuZF9zb2Mgewo+ID4+ICAg CXZvaWQgKCpjdGxyZHlfc2V0X2VuYWJsZWQpKHN0cnVjdCBicmNtbmFuZF9zb2MgKnNvYywgYm9v bCBlbik7Cj4gPj4gICAJdm9pZCAoKnByZXBhcmVfZGF0YV9idXMpKHN0cnVjdCBicmNtbmFuZF9z b2MgKnNvYywgYm9vbCBwcmVwYXJlLAo+ID4+ICAgCQkJCSBib29sIGlzX3BhcmFtKTsKPiA+PiAr CXZvaWQgKCpyZWFkX2RhdGFfYnVzKShzdHJ1Y3QgYnJjbW5hbmRfc29jICpzb2MsIHZvaWQgX19p b21lbSAqZmxhc2hfY2FjaGUsCj4gPj4gKwkJCQkgdTMyICpidWZmZXIsIGludCBmY193b3Jkcywg Ym9vbCBpc19wYXJhbSk7Cj4gPj4gICAJY29uc3Qgc3RydWN0IGJyY21uYW5kX2lvX29wcyAqb3Bz Owo+ID4+ICAgfTsgIAo+ID4+ICAgPiA+ICAgCj4gPiBUaGFua3MsCj4gPiBNaXF1w6hsCj4gPiAg IAoKClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=