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=-14.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,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 D66E8C4338F for ; Wed, 11 Aug 2021 15:00:46 +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 7A24F60FC0 for ; Wed, 11 Aug 2021 15:00:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7A24F60FC0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=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:References:In-Reply-To: Subject:Cc:To:From:Message-ID:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=+sKcMM6+bIV26dbMKTdsYk5aW8c6FmNJgsDc3mZWBR4=; b=awg09fVzD8KlyO br3ov0Xv/pS8ICpxcCaSm3hurbAuLd8cUuUDreqTT3/Jp7bQI0l21wLdYtXxX66JzClTQn+xYW1uR b1z6N+F0oV66kZ/wMp2KVC76YrbyCSET06uIlwzpn64Wn3mzT5+z5tioiA4avV4FjZ6yPnaExe73R KDSS1zGCw9QnLmuzsSfKISaFW2yUbNaw8hVWwQrbcax/MLMN9PJ1Ir/iu9GyVMKmAE5lUwI5Xbj1z m4nzBTbOcaw8LZxBNolA1+obwBrbTZS7kpa0ENNETvB/gnW+TH3aeRg6X8sS7bFoNTFrY50I7z+5s Vu7hKe/M8Ua0rRXQf//Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mDpge-007Upk-K5; Wed, 11 Aug 2021 14:58:32 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mDpgY-007UoN-3w for linux-arm-kernel@lists.infradead.org; Wed, 11 Aug 2021 14:58:29 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6C36460FA0; Wed, 11 Aug 2021 14:58:25 +0000 (UTC) Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1mDpgV-004MOX-FV; Wed, 11 Aug 2021 15:58:23 +0100 Date: Wed, 11 Aug 2021 15:58:23 +0100 Message-ID: <87k0ks9gfk.wl-maz@kernel.org> From: Marc Zyngier To: Kishon Vijay Abraham I Cc: Lorenzo Pieralisi , Rob Herring , Bjorn Helgaas , Lokesh Vutla , , , , Subject: Re: [PATCH 2/2] PCI: j721e: Add PCI legacy interrupt support for J7200 In-Reply-To: <20210811123846.31921-3-kishon@ti.com> References: <20210811123846.31921-1-kishon@ti.com> <20210811123846.31921-3-kishon@ti.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: kishon@ti.com, lorenzo.pieralisi@arm.com, robh@kernel.org, bhelgaas@google.com, lokeshvutla@ti.com, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210811_075826_236513_E1BB8995 X-CRM114-Status: GOOD ( 35.68 ) 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 T24gV2VkLCAxMSBBdWcgMjAyMSAxMzozODo0NiArMDEwMCwKS2lzaG9uIFZpamF5IEFicmFoYW0g SSA8a2lzaG9uQHRpLmNvbT4gd3JvdGU6Cj4gCj4gQWRkIFBDSSBsZWdhY3kgaW50ZXJydXB0IHN1 cHBvcnQgZm9yIEo3MjAwLiBKNzIwMCBoYXMgYSBzaW5nbGUgSFcKPiBpbnRlcnJ1cHQgbGluZSBm b3IgYWxsIHRoZSBmb3VyIGxlZ2FjeSBpbnRlcnJ1cHRzIElOVEEvSU5UQi9JTlRDL0lOVEQuCj4g VGhlIEhXIGludGVycnVwdCBsaW5lIGNvbm5lY3RlZCB0byBHSUMgaXMgYSBwdWxzZSBpbnRlcnJ1 cHQgd2hlcmVhcwo+IHRoZSBsZWdhY3kgaW50ZXJydXB0cyBieSBkZWZpbml0aW9uIGlzIGxldmVs IGludGVycnVwdC4gSW4gb3JkZXIgdG8KPiBwcm92aWRlIGxldmVsIGludGVycnVwdCBmdW5jdGlv bmFsaXR5IHRvIGVkZ2UgaW50ZXJydXB0IGxpbmUsIFBDSWUKPiBpbiBKNzIwMCBoYXMgcHJvdmlk ZWQgVVNFUl9FT0lfUkVHIHJlZ2lzdGVyLiBXaGVuIHRoZSBTVyB3cml0ZXMgdG8KPiBVU0VSX0VP SV9SRUcgcmVnaXN0ZXIgYWZ0ZXIgaGFuZGxpbmcgdGhlIGludGVycnVwdCwgdGhlIElQIGNoZWNr cyB0aGUKPiBzdGF0ZSBvZiBsZWdhY3kgaW50ZXJydXB0IGFuZCByZS10cmlnZ2VycyBwdWxzZSBp bnRlcnJ1cHQgaW52b2tpbmcKPiB0aGUgaGFuZGxlciBhZ2Fpbi4KPiAKPiBEdWUgdG8gRXJyYXRh IElEICNpMjA5NCAoWzFdKSwgRU9JIGZlYXR1cmUgaXMgbm90IGVuYWJsZWQgaW4gSjcyMUUKPiBh bmQgb25seSBhIHNpbmdsZSBwdWxzZSBpbnRlcnJ1cHQgd2lsbCBiZSBnZW5lcmF0ZWQgZm9yIGV2 ZXJ5Cj4gQVNTRVJUX0lOVHgvREVBU1NFUlRfSU5UeC4gSGVuY2UgbGVnYWN5IGludGVycnVwdCBp cyBub3QgZW5hYmxlZCBpbgo+IEo3MjFFLgoKSG93IGRvIHlvdSBwcmV2ZW50IHRoaXMgZnJvbSBi ZWluZyBlbmFibGVkIG9uIGFuIGFmZmVjdGVkIHBsYXRmb3JtPwpKdXN0IGJ5IHZpcnR1ZSBvZiBu b3QgaGF2aW5nIHRoZSBpbnRlcnJ1cHQtY29udHJvbGxlciBwcm9wZXJ0eSBpbiBEVD8KSW4gd2hp Y2ggY2FzZSwgaXQgbWF5IGJlIHVzZWZ1bCB0byBjbGFyaWZ5IHRoaXMgaW4gdGhlIERUIGJpbmRp bmcgYW5kCnNheSB0aGF0IGl0IGlzIG9ubHkgdmFsaWQgb24gSjcyMDAuCgo+IAo+IFsxXSAtPiBK NzIxRSBEUkE4MjkvVERBNFZNIFByb2Nlc3NvcnMgU2lsaWNvbiBSZXZpc2lvbiAxLjEvMS4wIFNQ Ulo0NTVBIOKAkwo+ICAgICAgICBERUNFTUJFUiAyMDIwIOKAkyBSRVZJU0VEIEFVR1VTVCAyMDIx Cj4gICAgICAgIChodHRwczovL3d3dy50aS5jb20vbGl0L2VyL3Nwcno0NTVhL3Nwcno0NTVhLnBk ZikKPiAKPiBTaWduZWQtb2ZmLWJ5OiBLaXNob24gVmlqYXkgQWJyYWhhbSBJIDxraXNob25AdGku Y29tPgo+IC0tLQo+ICBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2NhZGVuY2UvcGNpLWo3MjFlLmMg fCAxMTkgKysrKysrKysrKysrKysrKysrKysrCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMTkgaW5zZXJ0 aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2NhZGVuY2Uv cGNpLWo3MjFlLmMgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2NhZGVuY2UvcGNpLWo3MjFlLmMK PiBpbmRleCBmZmIxNzZkMjg4Y2QuLjRlNzg2ZDZiODllMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L3BjaS9jb250cm9sbGVyL2NhZGVuY2UvcGNpLWo3MjFlLmMKPiArKysgYi9kcml2ZXJzL3BjaS9j b250cm9sbGVyL2NhZGVuY2UvcGNpLWo3MjFlLmMKPiBAQCAtMjksMTIgKzI5LDI0IEBACj4gICNk ZWZpbmUgTElOS19ET1dOCQlCSVQoMSkKPiAgI2RlZmluZSBKNzIwMF9MSU5LX0RPV04JCUJJVCgx MCkKPiAgCj4gKyNkZWZpbmUgRU5BQkxFX1JFR19TWVNfMQkweDEwNAo+ICsjZGVmaW5lIFNUQVRV U19SRUdfU1lTXzEJMHg1MDQKPiArI2RlZmluZSBTWVMxX0lOVHhfRU4obnVtKQkoMSA8PCAoMjIg KyAobnVtKSkpCj4gKwo+ICAjZGVmaW5lIEo3MjFFX1BDSUVfVVNFUl9DTURfU1RBVFVTCTB4NAo+ ICAjZGVmaW5lIExJTktfVFJBSU5JTkdfRU5BQkxFCQlCSVQoMCkKPiAgCj4gICNkZWZpbmUgSjcy MUVfUENJRV9VU0VSX0xJTktTVEFUVVMJMHgxNAo+ICAjZGVmaW5lIExJTktfU1RBVFVTCQkJR0VO TUFTSygxLCAwKQo+ICAKPiArI2RlZmluZSBVU0VSX0VPSV9SRUcJCTB4QzgKPiArZW51bSBlb2lf cmVnIHsKPiArCUVPSV9ET1dOU1RSRUFNX0lOVEVSUlVQVCwKPiArCUVPSV9GTFJfSU5URVJSVVBU LAo+ICsJRU9JX0xFR0FDWV9JTlRFUlJVUFQsCj4gKwlFT0lfUE9XRVJfU1RBVEVfSU5URVJSVVBU LAo+ICt9Owo+ICsKPiAgZW51bSBsaW5rX3N0YXR1cyB7Cj4gIAlOT19SRUNFSVZFUlNfREVURUNU RUQsCj4gIAlMSU5LX1RSQUlOSU5HX0lOX1BST0dSRVNTLAo+IEBAIC01OSw2ICs3MSw3IEBAIHN0 cnVjdCBqNzIxZV9wY2llIHsKPiAgCXZvaWQgX19pb21lbQkJKnVzZXJfY2ZnX2Jhc2U7Cj4gIAl2 b2lkIF9faW9tZW0JCSppbnRkX2NmZ19iYXNlOwo+ICAJdTMyCQkJbGlua2Rvd25faXJxX3JlZ2Zp ZWxkOwo+ICsJc3RydWN0IGlycV9kb21haW4JKmxlZ2FjeV9pcnFfZG9tYWluOwo+ICB9Owo+ICAK PiAgZW51bSBqNzIxZV9wY2llX21vZGUgewo+IEBAIC0xMjEsNiArMTM0LDEwOCBAQCBzdGF0aWMg dm9pZCBqNzIxZV9wY2llX2NvbmZpZ19saW5rX2lycShzdHJ1Y3QgajcyMWVfcGNpZSAqcGNpZSkK PiAgCWo3MjFlX3BjaWVfaW50ZF93cml0ZWwocGNpZSwgRU5BQkxFX1JFR19TWVNfMiwgcmVnKTsK PiAgfQo+ICAKPiArc3RhdGljIHZvaWQgajcyMWVfcGNpZV9sZWdhY3lfaXJxX2hhbmRsZXIoc3Ry dWN0IGlycV9kZXNjICpkZXNjKQo+ICt7Cj4gKwlzdHJ1Y3QgajcyMWVfcGNpZSAqcGNpZSA9IGly cV9kZXNjX2dldF9oYW5kbGVyX2RhdGEoZGVzYyk7Cj4gKwlzdHJ1Y3QgaXJxX2NoaXAgKmNoaXAg PSBpcnFfZGVzY19nZXRfY2hpcChkZXNjKTsKPiArCWludCBpLCB2aXJxOwo+ICsJdTMyIHJlZzsK PiArCj4gKwljaGFpbmVkX2lycV9lbnRlcihjaGlwLCBkZXNjKTsKPiArCj4gKwlyZWcgPSBqNzIx ZV9wY2llX2ludGRfcmVhZGwocGNpZSwgU1RBVFVTX1JFR19TWVNfMSk7Cj4gKwlmb3IgKGkgPSAw OyBpIDwgUENJX05VTV9JTlRYOyBpKyspIHsKPiArCQlpZiAoIShyZWcgJiBTWVMxX0lOVHhfRU4o aSkpKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJdmlycSA9IGlycV9maW5kX21hcHBpbmcocGNp ZS0+bGVnYWN5X2lycV9kb21haW4sIGkpOwo+ICsJCWdlbmVyaWNfaGFuZGxlX2lycSh2aXJxKTsK ClBsZWFzZSB1c2UgZ2VuZXJpY19oYW5kbGVfZG9tYWluX2lycSgpLgoKPiArCX0KPiArCj4gKwlj aGFpbmVkX2lycV9leGl0KGNoaXAsIGRlc2MpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBqNzIx ZV9wY2llX2lycV9lb2koc3RydWN0IGlycV9kYXRhICpkYXRhKQo+ICt7Cj4gKwlzdHJ1Y3Qgajcy MWVfcGNpZSAqcGNpZSA9IGlycV9kYXRhX2dldF9pcnFfY2hpcF9kYXRhKGRhdGEpOwo+ICsKPiAr CWo3MjFlX3BjaWVfdXNlcl93cml0ZWwocGNpZSwgVVNFUl9FT0lfUkVHLCBFT0lfTEVHQUNZX0lO VEVSUlVQVCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGo3MjFlX3BjaWVfaXJxX2VuYWJsZShz dHJ1Y3QgaXJxX2RhdGEgKmRhdGEpCj4gK3sKPiArCXN0cnVjdCBqNzIxZV9wY2llICpwY2llID0g aXJxX2RhdGFfZ2V0X2lycV9jaGlwX2RhdGEoZGF0YSk7Cj4gKwl1MzIgcmVnOwo+ICsKPiArCXJl ZyA9IGo3MjFlX3BjaWVfaW50ZF9yZWFkbChwY2llLCBFTkFCTEVfUkVHX1NZU18xKTsKPiArCXJl ZyB8PSBTWVMxX0lOVHhfRU4oaXJxZF90b19od2lycShkYXRhKSk7Cj4gKwlqNzIxZV9wY2llX2lu dGRfd3JpdGVsKHBjaWUsIEVOQUJMRV9SRUdfU1lTXzEsIHJlZyk7CgpSTVcgb2YgYSByZWdpc3Rl ciBzaGFyZWQgYmV0d2VlbiBpbnRlcnJ1cHRzIHdpdGhvdXQgYSBsb2NrLiBJdCB3aWxsCmV2ZW50 dWFsbHkgZW5kIGJhZGx5LgoKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgajcyMWVfcGNpZV9pcnFf ZGlzYWJsZShzdHJ1Y3QgaXJxX2RhdGEgKmRhdGEpCj4gK3sKPiArCXN0cnVjdCBqNzIxZV9wY2ll ICpwY2llID0gaXJxX2RhdGFfZ2V0X2lycV9jaGlwX2RhdGEoZGF0YSk7Cj4gKwl1MzIgcmVnOwo+ ICsKPiArCXJlZyA9IGo3MjFlX3BjaWVfaW50ZF9yZWFkbChwY2llLCBFTkFCTEVfUkVHX1NZU18x KTsKPiArCXJlZyAmPSB+U1lTMV9JTlR4X0VOKGlycWRfdG9faHdpcnEoZGF0YSkpOwo+ICsJajcy MWVfcGNpZV9pbnRkX3dyaXRlbChwY2llLCBFTkFCTEVfUkVHX1NZU18xLCByZWcpOwoKU2FtZSB0 aGluZy4KCj4gK30KPiArCj4gK3N0cnVjdCBpcnFfY2hpcCBqNzIxZV9wY2llX2lycV9jaGlwID0g ewo+ICsJLm5hbWUJCT0gIko3MjFFLVBDSUUtSU5UWCIsCj4gKwkuaXJxX2VvaQk9IGo3MjFlX3Bj aWVfaXJxX2VvaSwKPiArCS5pcnFfZW5hYmxlCT0gajcyMWVfcGNpZV9pcnFfZW5hYmxlLAo+ICsJ LmlycV9kaXNhYmxlCT0gajcyMWVfcGNpZV9pcnFfZGlzYWJsZSwKPiArfTsKPiArCj4gK3N0YXRp YyBpbnQgajcyMWVfcGNpZV9pbnR4X21hcChzdHJ1Y3QgaXJxX2RvbWFpbiAqZG9tYWluLCB1bnNp Z25lZCBpbnQgaXJxLCBpcnFfaHdfbnVtYmVyX3QgaHdpcnEpCj4gK3sKPiArCXN0cnVjdCBqNzIx ZV9wY2llICpwY2llID0gZG9tYWluLT5ob3N0X2RhdGE7Cj4gKwo+ICsJaXJxX3NldF9jaGlwX2Fu ZF9oYW5kbGVyKGlycSwgJmo3MjFlX3BjaWVfaXJxX2NoaXAsIGhhbmRsZV9mYXN0ZW9pX2lycSk7 Cj4gKwlpcnFfc2V0X2NoaXBfZGF0YShpcnEsIHBjaWUpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGlycV9kb21haW5fb3BzIGo3MjFlX3BjaWVfaW50 eF9kb21haW5fb3BzID0gewo+ICsJLm1hcCA9IGo3MjFlX3BjaWVfaW50eF9tYXAsCj4gK307Cj4g Kwo+ICtzdGF0aWMgaW50IGo3MjFlX3BjaWVfY29uZmlnX2xlZ2FjeV9pcnEoc3RydWN0IGo3MjFl X3BjaWUgKnBjaWUpCj4gK3sKPiArCXN0cnVjdCBpcnFfZG9tYWluICpsZWdhY3lfaXJxX2RvbWFp bjsKPiArCXN0cnVjdCBkZXZpY2UgKmRldiA9IHBjaWUtPmRldjsKPiArCXN0cnVjdCBkZXZpY2Vf bm9kZSAqbm9kZSA9IGRldi0+b2Zfbm9kZTsKPiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqaW50Y19u b2RlOwo+ICsJaW50IGlycTsKPiArCj4gKwlpbnRjX25vZGUgPSBvZl9nZXRfY2hpbGRfYnlfbmFt ZShub2RlLCAiaW50ZXJydXB0LWNvbnRyb2xsZXIiKTsKPiArCWlmICghaW50Y19ub2RlKSB7Cj4g KwkJZGV2X2RiZyhkZXYsICJpbnRlcnJ1cHQtY29udHJvbGxlciBub2RlIGlzIGFic2VudC4gTGVn YWN5IElOVFIgbm90IHN1cHBvcnRlZFxuIik7Cj4gKwkJcmV0dXJuIDA7Cj4gKwl9Cj4gKwo+ICsJ aXJxID0gaXJxX29mX3BhcnNlX2FuZF9tYXAoaW50Y19ub2RlLCAwKTsKPiArCWlmICghaXJxKSB7 Cj4gKwkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gcGFyc2UgYW5kIG1hcCBsZWdhY3kgaXJxXG4i KTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwlpcnFfc2V0X2NoYWluZWRfaGFu ZGxlcl9hbmRfZGF0YShpcnEsIGo3MjFlX3BjaWVfbGVnYWN5X2lycV9oYW5kbGVyLCBwY2llKTsK CkF0IHRoaXMgc3RhZ2UsIHlvdSBub3cgaGF2ZSBlbmFibGVkIHRoZSBtdXggaW50ZXJydXB0LCBh bmQgaXQgY2FuIGZpcmUKYXQgd2lsbCAod2hvIGtub3dzIHdoYXQgc3RhdGUgdGhlIGVuYWJsZWQg Yml0cyBhcmUsIGdpdmVuIHRoYXQgeW91CmRvbid0IGluaXRpYWxpc2UgdGhlbT8pLiBIb3dldmVy LCB5b3Ugc3RpbGwgaGF2ZW4ndCBhbGxvY2F0ZWQgdGhlCmRvbWFpbi4gV2hhdCBjb3VsZCBwb3Nz aWJseSBnbyB3cm9uZz8KClBsZWFzZSBpbml0aWFsaXNlIGFsbCB0aGUgaW50ZXJydXB0cyB0byB0 aGVpciBkaXNhYmxlZCBzdGF0ZSwgYW5kIG9ubHkKcmVnaXN0ZXIgdGhlIGhhbmRsZXIgb25jZSBh bGwgdGhlIGRhdGEgc3RydWN0dXJlcyBoYXZlIGJlZW4gcG9wdWxhdGVkLgoKPiArCj4gKwlsZWdh Y3lfaXJxX2RvbWFpbiA9IGlycV9kb21haW5fYWRkX2xpbmVhcihpbnRjX25vZGUsIFBDSV9OVU1f SU5UWCwKPiArCQkJCQkJICAmajcyMWVfcGNpZV9pbnR4X2RvbWFpbl9vcHMsIHBjaWUpOwo+ICsJ aWYgKCFsZWdhY3lfaXJxX2RvbWFpbikgewo+ICsJCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGFk ZCBpcnEgZG9tYWluIGZvciBsZWdhY3kgaXJxc1xuIik7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4g Kwl9Cj4gKwlwY2llLT5sZWdhY3lfaXJxX2RvbWFpbiA9IGxlZ2FjeV9pcnFfZG9tYWluOwo+ICsK PiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50IGo3MjFlX3BjaWVfc3RhcnRfbGlu ayhzdHJ1Y3QgY2Ruc19wY2llICpjZG5zX3BjaWUpCj4gIHsKPiAgCXN0cnVjdCBqNzIxZV9wY2ll ICpwY2llID0gZGV2X2dldF9kcnZkYXRhKGNkbnNfcGNpZS0+ZGV2KTsKPiBAQCAtNDMzLDYgKzU0 OCwxMCBAQCBzdGF0aWMgaW50IGo3MjFlX3BjaWVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKPiAgCQkJZ290byBlcnJfZ2V0X3N5bmM7Cj4gIAkJfQo+ICAKPiArCQlyZXQgPSBq NzIxZV9wY2llX2NvbmZpZ19sZWdhY3lfaXJxKHBjaWUpOwo+ICsJCWlmIChyZXQgPCAwKQo+ICsJ CQlnb3RvIGVycl9nZXRfc3luYzsKPiArCj4gIAkJYnJpZGdlID0gZGV2bV9wY2lfYWxsb2NfaG9z dF9icmlkZ2UoZGV2LCBzaXplb2YoKnJjKSk7Cj4gIAkJaWYgKCFicmlkZ2UpIHsKPiAgCQkJcmV0 ID0gLUVOT01FTTsKClRoYW5rcywKCglNLgoKLS0gCldpdGhvdXQgZGV2aWF0aW9uIGZyb20gdGhl IG5vcm0sIHByb2dyZXNzIGlzIG5vdCBwb3NzaWJsZS4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK