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 DADE4C5320E for ; Tue, 27 Aug 2024 04:53:35 +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:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=iI6uUUHfzkHWu3x5YwpD1cTqz9lqCVoLzWevTcozBSY=; b=LzdWg6JubNumKy w16xNq7HjIITgBCAEXxGUOl0vxjYTCjzbNbXnLw6bEhP/avtwL3LXrsYBdQ/CTdadRZv8tGYt7WFl 5OpsXvDrZtGh/lAFTVLOcKlrc3c4oyEZ9Uq4ckQskdW9Km9YZG2b8x3ITi19FnmMW3zqYUGN0EztY ATaRFbpmciCFeSuES7hWGAw7ldusc7t59dHC9fDROzmx4nCvAe7u1zaNIpoXrKSHzqiC9ogJpfM9h vaTsC3apGwGYArk2nocT1uwkjFpg9ILKPJdR/FKEYdYBqsnGZZ6mxh4IClRmkRVwP1wpAmlb20X62 jzx/RScW1UA66Fqwy1dg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sioCv-00000009lVq-0PPw; Tue, 27 Aug 2024 04:53:29 +0000 Received: from hours.tkos.co.il ([84.110.109.230] helo=mail.tkos.co.il) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sioC5-00000009lLr-3IhB; Tue, 27 Aug 2024 04:52:40 +0000 Received: from localhost (unknown [10.0.8.3]) by mail.tkos.co.il (Postfix) with ESMTP id 07138440FD1; Tue, 27 Aug 2024 07:50:36 +0300 (IDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tkos.co.il; s=default; t=1724734236; bh=9WyFB9yd3fDx1n71EKn0NOUDm0SNyy+ugmA5x2v2FE8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=FI98ZrqFrkaPZNYHWGvjN821TTsf1l9dasleqTNzWX5CifjFUlZGK/dlYU1Wg2dKf zRPa8u5HMNs78KaGG3T69/cRMOh8AbRIqBtbFb3o9kWQdLXtIxh+AyFBL9vy+LZ+/2 2A5ycZJPBluf1fAsJ7U7stKNjxdl7nh8+4glxt8l6+kVK+26bXB09aUJzdJQ0wJofQ gnN4m4CuzwTE9jSfMsVg7bbJ0GKQOD/VJYGVjg+tr6El5tiuQfHN7bV32r06+TDz3a xv6DGTSn4e5mJ0VZcCom/Wil+aWl44XUvX7OoV66JMhYKIWNnpfMYZ4dGlfc2G5n5a 2DSR3UzHlCrFA== From: Baruch Siach To: Marek Szyprowski Cc: Christoph Hellwig , Catalin Marinas , Will Deacon , Robin Murphy , iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, Petr =?utf-8?B?VGVzYcWZw61r?= , Ramon Fried , Elad Nachman , linux-rockchip@lists.infradead.org Subject: Re: [PATCH v6 RESED 1/2] dma: replace zone_dma_bits by zone_dma_limit In-Reply-To: <53d988b1-bdce-422a-ae4e-158f305ad703@samsung.com> (Marek Szyprowski's message of "Mon, 26 Aug 2024 21:28:29 +0200") References: <17c067618b93e5d71f19c37826d54db4299621a3.1723359916.git.baruch@tkos.co.il> <53d988b1-bdce-422a-ae4e-158f305ad703@samsung.com> Date: Tue, 27 Aug 2024 07:52:27 +0300 Message-ID: <87mskyva7o.fsf@tarshish> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240826_215238_575586_4C596BA2 X-CRM114-Status: GOOD ( 27.89 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgTWFyZWssCgpUaGFua3MgZm9yIHlvdXIgcmVwb3J0LgoKT24gTW9uLCBBdWcgMjYgMjAyNCwg TWFyZWsgU3p5cHJvd3NraSB3cm90ZToKPiBPbiAxMS4wOC4yMDI0IDA5OjA5LCBCYXJ1Y2ggU2lh Y2ggd3JvdGU6Cj4+IEZyb206IENhdGFsaW4gTWFyaW5hcyA8Y2F0YWxpbi5tYXJpbmFzQGFybS5j b20+Cj4+Cj4+IEhhcmR3YXJlIERNQSBsaW1pdCBtaWdodCBub3QgYmUgcG93ZXIgb2YgMi4gV2hl biBSQU0gcmFuZ2Ugc3RhcnRzIGFib3ZlCj4+IDAsIHNheSA0R0IsIERNQSBsaW1pdCBvZiAzMCBi aXRzIHNob3VsZCBlbmQgYXQgNUdCLiBBIHNpbmdsZSBoaWdoIGJpdAo+PiBjYW4gbm90IGVuY29k ZSB0aGlzIGxpbWl0Lgo+Pgo+PiBVc2UgcGxhaW4gYWRkcmVzcyBmb3IgRE1BIHpvbmUgbGltaXQu Cj4+Cj4+IFNpbmNlIERNQSB6b25lIGNhbiBub3cgcG90ZW50aWFsbHkgc3BhbiBiZXlvbmQgNEdC IHBoeXNpY2FsIGxpbWl0IG9mCj4+IERNQTMyLCBtYWtlIHN1cmUgdG8gdXNlIERNQSB6b25lIGZv ciBHRlBfRE1BMzIgYWxsb2NhdGlvbnMgaW4gdGhhdCBjYXNlLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5 OiBDYXRhbGluIE1hcmluYXMgPGNhdGFsaW4ubWFyaW5hc0Bhcm0uY29tPgo+PiBDby1kZXZlbG9w ZWQtYnk6IEJhcnVjaCBTaWFjaCA8YmFydWNoQHRrb3MuY28uaWw+Cj4+IFNpZ25lZC1vZmYtYnk6 IEJhcnVjaCBTaWFjaCA8YmFydWNoQHRrb3MuY28uaWw+Cj4+IC0tLQo+Cj4gVGhpcyBwYXRjaCBs YW5kZWQgcmVjZW50bHkgaW4gbGludXgtbmV4dCBhcyBjb21taXQgYmEwZmI0NGFlZDQ3IAo+ICgi ZG1hLW1hcHBpbmc6IHJlcGxhY2Ugem9uZV9kbWFfYml0cyBieSB6b25lX2RtYV9saW1pdCIpLiBE dXJpbmcgbXkgCj4gdGVzdHMgSSBmb3VuZCB0aGF0IGl0IGludHJvZHVjZXMgdGhlIGZvbGxvd2lu ZyB3YXJuaW5nIG9uIEFSTTY0L1JvY2tjaGlwIAo+IGJhc2VkIE9kcm9pZCBNMSBib2FyZCAoYXJj aC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9yazM1Njgtb2Ryb2lkLW0xLmR0cyk6CgpEb2VzIHRo aXMgd2FybmluZyBnbyBhd2F5IGlmIHlvdSByZXZlcnQgYm90aCAzYmU5Yjg0Njg5NmQgYW5kIGJh MGZiNDRhZWQ0Nz8KClVwc3RyZWFtIHJvY2tjaGlwIERUcyBoYXZlIG5vIGRtYS1yYW5nZXMgcHJv cGVydHkuIElzIHRoYXQgdGhlIGNhc2UgZm9yCnlvdXIgcGxhdGZvcm0gYXMgd2VsbD8KCkNhbiB5 b3Ugc2hhcmUga2VybmVsIHJlcG9ydCBvZiBETUEgem9uZXMgYW5kIHN3aW90bGI/IE9uIG15IHBs YXRmb3JtIEkgZ2V0OgoKWyAgICAwLjAwMDAwMF0gWm9uZSByYW5nZXM6ClsgICAgMC4wMDAwMDBd ICAgRE1BICAgICAgW21lbSAweDAwMDAwMDA4MDAwMDAwMDAtMHgwMDAwMDAwODNmZmZmZmZmXQpb ICAgIDAuMDAwMDAwXSAgIERNQTMyICAgIGVtcHR5ClsgICAgMC4wMDAwMDBdICAgTm9ybWFsICAg W21lbSAweDAwMDAwMDA4NDAwMDAwMDAtMHgwMDAwMDAwZmZmZmZmZmZmXQouLi4KWyAgICAwLjAw MDAwMF0gc29mdHdhcmUgSU8gVExCOiBhcmVhIG51bSA4LgpbICAgIDAuMDAwMDAwXSBzb2Z0d2Fy ZSBJTyBUTEI6IG1hcHBlZCBbbWVtIDB4MDAwMDAwMDgzYmUzODAwMC0weDAwMDAwMDA4M2ZlMzgw MDBdICg2NE1CKQoKV2hhdCBkbyB5b3UgZ2V0IGF0IHlvdXIgZW5kPwoKPiAtLS0tLS0tLS0tLS1b IGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KPiBkd21tY19yb2NrY2hpcCBmZTJiMDAwMC5tbWM6IHN3 aW90bGIgYWRkciAweDAwMDAwMDAxZmFmMDAwMDArNDA5NiAKPiBvdmVyZmxvdyAobWFzayBmZmZm ZmZmZiwgYnVzIGxpbWl0IDApLgo+IFdBUk5JTkc6IENQVTogMyBQSUQ6IDEgYXQga2VybmVsL2Rt YS9zd2lvdGxiLmM6MTU5NCBzd2lvdGxiX21hcCsweDJmMC8weDMwOAo+IE1vZHVsZXMgbGlua2Vk IGluOgo+IENQVTogMyBVSUQ6IDAgUElEOiAxIENvbW06IHN3YXBwZXIvMCBOb3QgdGFpbnRlZCA2 LjExLjAtcmM0KyAjMTUyNzgKPiBIYXJkd2FyZSBuYW1lOiBIYXJka2VybmVsIE9EUk9JRC1NMSAo RFQpCj4gcHN0YXRlOiA2MDQwMDAwOSAoblpDdiBkYWlmICtQQU4gLVVBTyAtVENPIC1ESVQgLVNT QlMgQlRZUEU9LS0pCj4gcGMgOiBzd2lvdGxiX21hcCsweDJmMC8weDMwOAo+IGxyIDogc3dpb3Rs Yl9tYXArMHgyZjAvMHgzMDgKPiAuLi4KPiBDYWxsIHRyYWNlOgo+ICDCoHN3aW90bGJfbWFwKzB4 MmYwLzB4MzA4Cj4gIMKgZG1hX2RpcmVjdF9tYXBfc2crMHg5Yy8weDJlNAo+ICDCoF9fZG1hX21h cF9zZ19hdHRycysweDI4LzB4OTQKPiAgwqBkbWFfbWFwX3NnX2F0dHJzKzB4MTAvMHgyNAo+ICDC oGR3X21jaV9wcmVfZG1hX3RyYW5zZmVyKzB4YjgvMHhmNAo+ICDCoGR3X21jaV9wcmVfcmVxKzB4 NTAvMHg2OAo+ICDCoG1tY19ibGtfbXFfaXNzdWVfcnErMHgzZTAvMHg5NjQKPiAgwqBtbWNfbXFf cXVldWVfcnErMHgxMTgvMHgyYjQKPiAgwqBibGtfbXFfZGlzcGF0Y2hfcnFfbGlzdCsweDIxYy8w eDcxNAo+ICDCoF9fYmxrX21xX3NjaGVkX2Rpc3BhdGNoX3JlcXVlc3RzKzB4NDkwLzB4NThjCj4g IMKgYmxrX21xX3NjaGVkX2Rpc3BhdGNoX3JlcXVlc3RzKzB4MzAvMHg2Ywo+ICDCoGJsa19tcV9y dW5faHdfcXVldWUrMHgyODQvMHg0MGMKPiAgwqBibGtfbXFfZmx1c2hfcGx1Z19saXN0LnBhcnQu MCsweDE5MC8weDk3NAo+ICDCoGJsa19tcV9mbHVzaF9wbHVnX2xpc3QrMHgxYy8weDJjCj4gIMKg X19ibGtfZmx1c2hfcGx1ZysweGU0LzB4MTQwCj4gIMKgYmxrX2ZpbmlzaF9wbHVnKzB4MzgvMHg0 Ywo+ICDCoF9fZXh0NF9nZXRfaW5vZGVfbG9jKzB4MjJjLzB4NjU0Cj4gIMKgX19leHQ0X2dldF9p bm9kZV9sb2Nfbm9pbm1lbSsweDQwLzB4YTgKPiAgwqBfX2V4dDRfaWdldCsweDE1NC8weGNjMAo+ ICDCoGV4dDRfZ2V0X2pvdXJuYWxfaW5vZGUrMHgzMC8weDExMAo+ICDCoGV4dDRfbG9hZF9hbmRf aW5pdF9qb3VybmFsKzB4OWMvMHhhZjAKPiAgwqBleHQ0X2ZpbGxfc3VwZXIrMHgxZmVjLzB4MmQ5 MAo+ICDCoGdldF90cmVlX2JkZXYrMHgxNDAvMHgxZDgKPiAgwqBleHQ0X2dldF90cmVlKzB4MTgv MHgyNAo+ICDCoHZmc19nZXRfdHJlZSsweDI4LzB4ZTgKPiAgwqBwYXRoX21vdW50KzB4M2U4LzB4 YjdjCj4gIMKgaW5pdF9tb3VudCsweDY4LzB4YWMKPiAgwqBkb19tb3VudF9yb290KzB4MTA4LzB4 MWRjCj4gIMKgbW91bnRfcm9vdF9nZW5lcmljKzB4MTAwLzB4MzMwCj4gIMKgbW91bnRfcm9vdCsw eDE2MC8weDJkMAo+ICDCoGluaXRyZF9sb2FkKzB4MWYwLzB4MmEwCj4gIMKgcHJlcGFyZV9uYW1l c3BhY2UrMHg0Yy8weDI5Ywo+ICDCoGtlcm5lbF9pbml0X2ZyZWVhYmxlKzB4NGI0LzB4NTBjCj4g IMKga2VybmVsX2luaXQrMHgyMC8weDFkOAo+ICDCoHJldF9mcm9tX2ZvcmsrMHgxMC8weDIwCj4g aXJxIGV2ZW50IHN0YW1wOiAxMzA1NjgyCj4gaGFyZGlycXMgbGFzdMKgIGVuYWJsZWQgYXQgKDEz MDU2ODEpOiBbPGZmZmY4MDAwODAwZTMzMmM+XSAKPiBjb25zb2xlX3VubG9jaysweDEyNC8weDEz MAo+IGhhcmRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDEzMDU2ODIpOiBbPGZmZmY4MDAwODEyNGU2 ODQ+XSBlbDFfZGJnKzB4MjQvMHg4Ywo+IHNvZnRpcnFzIGxhc3TCoCBlbmFibGVkIGF0ICgxMzA1 Njc4KTogWzxmZmZmODAwMDgwMDViZTFjPl0gCj4gaGFuZGxlX3NvZnRpcnFzKzB4NGNjLzB4NGU0 Cj4gc29mdGlycXMgbGFzdCBkaXNhYmxlZCBhdCAoMTMwNTY2NSk6IFs8ZmZmZjgwMDA4MDAxMDVi MD5dIAo+IF9fZG9fc29mdGlycSsweDE0LzB4MjAKPiAtLS1bIGVuZCB0cmFjZSAwMDAwMDAwMDAw MDAwMDAwIF0tLS0KPgo+IFRoaXMgImJ1cyBsaW1pdCAwIiBzZWVtcyB0byBiZSBhIGJpdCBzdXNw aWNpb3VzIHRvIG1lIGFzIHdlbGwgYXMgdGhlIAo+IGZhY3QgdGhhdCBzd2lvdGxiIGlzIHVzZWQg Zm9yIHRoZSBNTUMgRE1BLiBJIHdpbGwgaW52ZXN0aWdhdGUgdGhpcyAKPiBmdXJ0aGVyIHRvbW9y cm93LiBUaGUgYm9hcmQgYm9vdHMgZmluZSB0aG91Z2guCgpMb29raW5nIGF0IHRoZSBjb2RlIEkg Z3Vlc3MgdGhhdCBidXNfZG1hX2xpbWl0IHNldCB0byAwIG1lYW5zIG5vIGJ1cwpsaW1pdC4gQnV0 IGRtYV9tYXNrIGZvciB5b3VyIGRldmljZSBpbmRpY2F0ZXMgMzItYml0IGRldmljZSBsaW1pdC4g VGhpcwpjYW4ndCB3b3JrIHdpdGggYWRkcmVzcyBhYm92ZSA0R0IuIEZvciBzb21lIHJlYXNvbiBE TUEgY29kZSB0cmllcyB0bwphbGxvY2F0ZSBmcm9tIGhpZ2hlciBhZGRyZXNzLiBUaGlzIGlzIG1v c3QgbGlrZWx5IHRoZSByZWFzb24KZG1hX2NhcGFibGUoKSByZXR1cm5zIGZhbHNlLgoKVGhhbmtz LApiYXJ1Y2gKCj4+ICAgYXJjaC9hcm02NC9tbS9pbml0LmMgICAgICAgfCAzMCArKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0KPj4gICBhcmNoL3Bvd2VycGMvbW0vbWVtLmMgICAgICB8ICA1 ICsrKystCj4+ICAgYXJjaC9zMzkwL21tL2luaXQuYyAgICAgICAgfCAgMiArLQo+PiAgIGluY2x1 ZGUvbGludXgvZG1hLWRpcmVjdC5oIHwgIDIgKy0KPj4gICBrZXJuZWwvZG1hL2RpcmVjdC5jICAg ICAgICB8ICA2ICsrKy0tLQo+PiAgIGtlcm5lbC9kbWEvcG9vbC5jICAgICAgICAgIHwgIDQgKyst LQo+PiAgIGtlcm5lbC9kbWEvc3dpb3RsYi5jICAgICAgIHwgIDYgKysrLS0tCj4+ICAgNyBmaWxl cyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAt LWdpdCBhL2FyY2gvYXJtNjQvbW0vaW5pdC5jIGIvYXJjaC9hcm02NC9tbS9pbml0LmMKPj4gaW5k ZXggOWI1YWI2ODE4ZjdmLi5jNDVlMjE1MmNhOWUgMTAwNjQ0Cj4+IC0tLSBhL2FyY2gvYXJtNjQv bW0vaW5pdC5jCj4+ICsrKyBiL2FyY2gvYXJtNjQvbW0vaW5pdC5jCj4+IEBAIC0xMTUsMzUgKzEx NSwzNSBAQCBzdGF0aWMgdm9pZCBfX2luaXQgYXJjaF9yZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQp Cj4+ICAgfQo+PiAgIAo+PiAgIC8qCj4+IC0gKiBSZXR1cm4gdGhlIG1heGltdW0gcGh5c2ljYWwg YWRkcmVzcyBmb3IgYSB6b25lIGFjY2Vzc2libGUgYnkgdGhlIGdpdmVuIGJpdHMKPj4gLSAqIGxp bWl0LiBJZiBEUkFNIHN0YXJ0cyBhYm92ZSAzMi1iaXQsIGV4cGFuZCB0aGUgem9uZSB0byB0aGUg bWF4aW11bQo+PiArICogUmV0dXJuIHRoZSBtYXhpbXVtIHBoeXNpY2FsIGFkZHJlc3MgZm9yIGEg em9uZSBnaXZlbiBpdHMgbGltaXQuCj4+ICsgKiBJZiBEUkFNIHN0YXJ0cyBhYm92ZSAzMi1iaXQs IGV4cGFuZCB0aGUgem9uZSB0byB0aGUgbWF4aW11bQo+PiAgICAqIGF2YWlsYWJsZSBtZW1vcnks IG90aGVyd2lzZSBjYXAgaXQgYXQgMzItYml0Lgo+PiAgICAqLwo+PiAtc3RhdGljIHBoeXNfYWRk cl90IF9faW5pdCBtYXhfem9uZV9waHlzKHVuc2lnbmVkIGludCB6b25lX2JpdHMpCj4+ICtzdGF0 aWMgcGh5c19hZGRyX3QgX19pbml0IG1heF96b25lX3BoeXMocGh5c19hZGRyX3Qgem9uZV9saW1p dCkKPj4gICB7Cj4+IC0JcGh5c19hZGRyX3Qgem9uZV9tYXNrID0gRE1BX0JJVF9NQVNLKHpvbmVf Yml0cyk7Cj4+ICAgCXBoeXNfYWRkcl90IHBoeXNfc3RhcnQgPSBtZW1ibG9ja19zdGFydF9vZl9E UkFNKCk7Cj4+ICAgCj4+ICAgCWlmIChwaHlzX3N0YXJ0ID4gVTMyX01BWCkKPj4gLQkJem9uZV9t YXNrID0gUEhZU19BRERSX01BWDsKPj4gLQllbHNlIGlmIChwaHlzX3N0YXJ0ID4gem9uZV9tYXNr KQo+PiAtCQl6b25lX21hc2sgPSBVMzJfTUFYOwo+PiArCQl6b25lX2xpbWl0ID0gUEhZU19BRERS X01BWDsKPj4gKwllbHNlIGlmIChwaHlzX3N0YXJ0ID4gem9uZV9saW1pdCkKPj4gKwkJem9uZV9s aW1pdCA9IFUzMl9NQVg7Cj4+ICAgCj4+IC0JcmV0dXJuIG1pbih6b25lX21hc2ssIG1lbWJsb2Nr X2VuZF9vZl9EUkFNKCkgLSAxKSArIDE7Cj4+ICsJcmV0dXJuIG1pbih6b25lX2xpbWl0LCBtZW1i bG9ja19lbmRfb2ZfRFJBTSgpIC0gMSkgKyAxOwo+PiAgIH0KPj4gICAKPj4gICBzdGF0aWMgdm9p ZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCj4+ICAgewo+PiAgIAl1bnNpZ25lZCBsb25n IG1heF96b25lX3BmbnNbTUFYX05SX1pPTkVTXSAgPSB7MH07Cj4+IC0JdW5zaWduZWQgaW50IF9f bWF5YmVfdW51c2VkIGFjcGlfem9uZV9kbWFfYml0czsKPj4gLQl1bnNpZ25lZCBpbnQgX19tYXli ZV91bnVzZWQgZHRfem9uZV9kbWFfYml0czsKPj4gLQlwaHlzX2FkZHJfdCBfX21heWJlX3VudXNl ZCBkbWEzMl9waHlzX2xpbWl0ID0gbWF4X3pvbmVfcGh5cygzMik7Cj4+ICsJcGh5c19hZGRyX3Qg X19tYXliZV91bnVzZWQgYWNwaV96b25lX2RtYV9saW1pdDsKPj4gKwlwaHlzX2FkZHJfdCBfX21h eWJlX3VudXNlZCBkdF96b25lX2RtYV9saW1pdDsKPj4gKwlwaHlzX2FkZHJfdCBfX21heWJlX3Vu dXNlZCBkbWEzMl9waHlzX2xpbWl0ID0KPj4gKwkJbWF4X3pvbmVfcGh5cyhETUFfQklUX01BU0so MzIpKTsKPj4gICAKPj4gICAjaWZkZWYgQ09ORklHX1pPTkVfRE1BCj4+IC0JYWNwaV96b25lX2Rt YV9iaXRzID0gZmxzNjQoYWNwaV9pb3J0X2RtYV9nZXRfbWF4X2NwdV9hZGRyZXNzKCkpOwo+PiAt CWR0X3pvbmVfZG1hX2JpdHMgPSBmbHM2NChvZl9kbWFfZ2V0X21heF9jcHVfYWRkcmVzcyhOVUxM KSk7Cj4+IC0Jem9uZV9kbWFfYml0cyA9IG1pbjMoMzJVLCBkdF96b25lX2RtYV9iaXRzLCBhY3Bp X3pvbmVfZG1hX2JpdHMpOwo+PiAtCWFybTY0X2RtYV9waHlzX2xpbWl0ID0gbWF4X3pvbmVfcGh5 cyh6b25lX2RtYV9iaXRzKTsKPj4gKwlhY3BpX3pvbmVfZG1hX2xpbWl0ID0gYWNwaV9pb3J0X2Rt YV9nZXRfbWF4X2NwdV9hZGRyZXNzKCk7Cj4+ICsJZHRfem9uZV9kbWFfbGltaXQgPSBvZl9kbWFf Z2V0X21heF9jcHVfYWRkcmVzcyhOVUxMKTsKPj4gKwl6b25lX2RtYV9saW1pdCA9IG1pbihkdF96 b25lX2RtYV9saW1pdCwgYWNwaV96b25lX2RtYV9saW1pdCk7Cj4+ICsJYXJtNjRfZG1hX3BoeXNf bGltaXQgPSBtYXhfem9uZV9waHlzKHpvbmVfZG1hX2xpbWl0KTsKPj4gICAJbWF4X3pvbmVfcGZu c1taT05FX0RNQV0gPSBQRk5fRE9XTihhcm02NF9kbWFfcGh5c19saW1pdCk7Cj4+ICAgI2VuZGlm Cj4+ICAgI2lmZGVmIENPTkZJR19aT05FX0RNQTMyCj4+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2Vy cGMvbW0vbWVtLmMgYi9hcmNoL3Bvd2VycGMvbW0vbWVtLmMKPj4gaW5kZXggZDMyNTIxN2FiMjAx Li4wNWI3ZjcwMmIzZjcgMTAwNjQ0Cj4+IC0tLSBhL2FyY2gvcG93ZXJwYy9tbS9tZW0uYwo+PiAr KysgYi9hcmNoL3Bvd2VycGMvbW0vbWVtLmMKPj4gQEAgLTIxNiw3ICsyMTYsNyBAQCBzdGF0aWMg aW50IF9faW5pdCBtYXJrX25vbnJhbV9ub3NhdmUodm9pZCkKPj4gICAgKiBldmVyeXRoaW5nIGVs c2UuIEdGUF9ETUEzMiBwYWdlIGFsbG9jYXRpb25zIGF1dG9tYXRpY2FsbHkgZmFsbCBiYWNrIHRv Cj4+ICAgICogWk9ORV9ETUEuCj4+ICAgICoKPj4gLSAqIEJ5IHVzaW5nIDMxLWJpdCB1bmNvbmRp dGlvbmFsbHksIHdlIGNhbiBleHBsb2l0IHpvbmVfZG1hX2JpdHMgdG8gaW5mb3JtIHRoZQo+PiAr ICogQnkgdXNpbmcgMzEtYml0IHVuY29uZGl0aW9uYWxseSwgd2UgY2FuIGV4cGxvaXQgem9uZV9k bWFfbGltaXQgdG8gaW5mb3JtIHRoZQo+PiAgICAqIGdlbmVyaWMgRE1BIG1hcHBpbmcgY29kZS4g IDMyLWJpdCBvbmx5IGRldmljZXMgKGlmIG5vdCBoYW5kbGVkIGJ5IGFuIElPTU1VCj4+ICAgICog YW55d2F5KSB3aWxsIHRha2UgYSBmaXJzdCBkaXAgaW50byBaT05FX05PUk1BTCBhbmQgZ2V0IG90 aGVyd2lzZSBzZXJ2ZWQgYnkKPj4gICAgKiBaT05FX0RNQS4KPj4gQEAgLTIzMCw2ICsyMzAsNyBA QCB2b2lkIF9faW5pdCBwYWdpbmdfaW5pdCh2b2lkKQo+PiAgIHsKPj4gICAJdW5zaWduZWQgbG9u ZyBsb25nIHRvdGFsX3JhbSA9IG1lbWJsb2NrX3BoeXNfbWVtX3NpemUoKTsKPj4gICAJcGh5c19h ZGRyX3QgdG9wX29mX3JhbSA9IG1lbWJsb2NrX2VuZF9vZl9EUkFNKCk7Cj4+ICsJaW50IHpvbmVf ZG1hX2JpdHM7Cj4+ICAgCj4+ICAgI2lmZGVmIENPTkZJR19ISUdITUVNCj4+ICAgCXVuc2lnbmVk IGxvbmcgdiA9IF9fZml4X3RvX3ZpcnQoRklYX0tNQVBfRU5EKTsKPj4gQEAgLTI1Niw2ICsyNTcs OCBAQCB2b2lkIF9faW5pdCBwYWdpbmdfaW5pdCh2b2lkKQo+PiAgIAllbHNlCj4+ICAgCQl6b25l X2RtYV9iaXRzID0gMzE7Cj4+ICAgCj4+ICsJem9uZV9kbWFfbGltaXQgPSBETUFfQklUX01BU0so em9uZV9kbWFfYml0cyk7Cj4+ICsKPj4gICAjaWZkZWYgQ09ORklHX1pPTkVfRE1BCj4+ICAgCW1h eF96b25lX3BmbnNbWk9ORV9ETUFdCT0gbWluKG1heF9sb3dfcGZuLAo+PiAgIAkJCQkgICAgICAx VUwgPDwgKHpvbmVfZG1hX2JpdHMgLSBQQUdFX1NISUZUKSk7Cj4+IGRpZmYgLS1naXQgYS9hcmNo L3MzOTAvbW0vaW5pdC5jIGIvYXJjaC9zMzkwL21tL2luaXQuYwo+PiBpbmRleCBkZGNkMzllZjQz NDYuLjkxZmMyYjkxYWRmYyAxMDA2NDQKPj4gLS0tIGEvYXJjaC9zMzkwL21tL2luaXQuYwo+PiAr KysgYi9hcmNoL3MzOTAvbW0vaW5pdC5jCj4+IEBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgX19pbml0 IHBhZ2luZ19pbml0KHZvaWQpCj4+ICAgCj4+ICAgCXZtZW1fbWFwX2luaXQoKTsKPj4gICAJc3Bh cnNlX2luaXQoKTsKPj4gLQl6b25lX2RtYV9iaXRzID0gMzE7Cj4+ICsJem9uZV9kbWFfbGltaXQg PSBETUFfQklUX01BU0soMzEpOwo+PiAgIAltZW1zZXQobWF4X3pvbmVfcGZucywgMCwgc2l6ZW9m KG1heF96b25lX3BmbnMpKTsKPj4gICAJbWF4X3pvbmVfcGZuc1taT05FX0RNQV0gPSB2aXJ0X3Rv X3BmbihNQVhfRE1BX0FERFJFU1MpOwo+PiAgIAltYXhfem9uZV9wZm5zW1pPTkVfTk9STUFMXSA9 IG1heF9sb3dfcGZuOwo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kbWEtZGlyZWN0Lmgg Yi9pbmNsdWRlL2xpbnV4L2RtYS1kaXJlY3QuaAo+PiBpbmRleCBlZGJlMTNkMDA3NzYuLmQ3ZTMw ZDRmNzUwMyAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9saW51eC9kbWEtZGlyZWN0LmgKPj4gKysr IGIvaW5jbHVkZS9saW51eC9kbWEtZGlyZWN0LmgKPj4gQEAgLTEyLDcgKzEyLDcgQEAKPj4gICAj aW5jbHVkZSA8bGludXgvbWVtX2VuY3J5cHQuaD4KPj4gICAjaW5jbHVkZSA8bGludXgvc3dpb3Rs Yi5oPgo+PiAgIAo+PiAtZXh0ZXJuIHVuc2lnbmVkIGludCB6b25lX2RtYV9iaXRzOwo+PiArZXh0 ZXJuIHU2NCB6b25lX2RtYV9saW1pdDsKPj4gICAKPj4gICAvKgo+PiAgICAqIFJlY29yZCB0aGUg bWFwcGluZyBvZiBDUFUgcGh5c2ljYWwgdG8gRE1BIGFkZHJlc3NlcyBmb3IgYSBnaXZlbiByZWdp b24uCj4+IGRpZmYgLS1naXQgYS9rZXJuZWwvZG1hL2RpcmVjdC5jIGIva2VybmVsL2RtYS9kaXJl Y3QuYwo+PiBpbmRleCA0NDgwYTNjZDkyZTAuLmYyYmEwNzRhNmE1NCAxMDA2NDQKPj4gLS0tIGEv a2VybmVsL2RtYS9kaXJlY3QuYwo+PiArKysgYi9rZXJuZWwvZG1hL2RpcmVjdC5jCj4+IEBAIC0y MCw3ICsyMCw3IEBACj4+ICAgICogaXQgZm9yIGVudGlyZWx5IGRpZmZlcmVudCByZWdpb25zLiBJ biB0aGF0IGNhc2UgdGhlIGFyY2ggY29kZSBuZWVkcyB0bwo+PiAgICAqIG92ZXJyaWRlIHRoZSB2 YXJpYWJsZSBiZWxvdyBmb3IgZG1hLWRpcmVjdCB0byB3b3JrIHByb3Blcmx5Lgo+PiAgICAqLwo+ PiAtdW5zaWduZWQgaW50IHpvbmVfZG1hX2JpdHMgX19yb19hZnRlcl9pbml0ID0gMjQ7Cj4+ICt1 NjQgem9uZV9kbWFfbGltaXQgX19yb19hZnRlcl9pbml0ID0gRE1BX0JJVF9NQVNLKDI0KTsKPj4g ICAKPj4gICBzdGF0aWMgaW5saW5lIGRtYV9hZGRyX3QgcGh5c190b19kbWFfZGlyZWN0KHN0cnVj dCBkZXZpY2UgKmRldiwKPj4gICAJCXBoeXNfYWRkcl90IHBoeXMpCj4+IEBAIC01OSw3ICs1OSw3 IEBAIHN0YXRpYyBnZnBfdCBkbWFfZGlyZWN0X29wdGltYWxfZ2ZwX21hc2soc3RydWN0IGRldmlj ZSAqZGV2LCB1NjQgKnBoeXNfbGltaXQpCj4+ICAgCSAqIHpvbmVzLgo+PiAgIAkgKi8KPj4gICAJ KnBoeXNfbGltaXQgPSBkbWFfdG9fcGh5cyhkZXYsIGRtYV9saW1pdCk7Cj4+IC0JaWYgKCpwaHlz X2xpbWl0IDw9IERNQV9CSVRfTUFTSyh6b25lX2RtYV9iaXRzKSkKPj4gKwlpZiAoKnBoeXNfbGlt aXQgPD0gem9uZV9kbWFfbGltaXQpCj4+ICAgCQlyZXR1cm4gR0ZQX0RNQTsKPj4gICAJaWYgKCpw aHlzX2xpbWl0IDw9IERNQV9CSVRfTUFTSygzMikpCj4+ICAgCQlyZXR1cm4gR0ZQX0RNQTMyOwo+ PiBAQCAtNTgwLDcgKzU4MCw3IEBAIGludCBkbWFfZGlyZWN0X3N1cHBvcnRlZChzdHJ1Y3QgZGV2 aWNlICpkZXYsIHU2NCBtYXNrKQo+PiAgIAkgKiBwYXJ0IG9mIHRoZSBjaGVjay4KPj4gICAJICov Cj4+ICAgCWlmIChJU19FTkFCTEVEKENPTkZJR19aT05FX0RNQSkpCj4+IC0JCW1pbl9tYXNrID0g bWluX3QodTY0LCBtaW5fbWFzaywgRE1BX0JJVF9NQVNLKHpvbmVfZG1hX2JpdHMpKTsKPj4gKwkJ bWluX21hc2sgPSBtaW5fdCh1NjQsIG1pbl9tYXNrLCB6b25lX2RtYV9saW1pdCk7Cj4+ICAgCXJl dHVybiBtYXNrID49IHBoeXNfdG9fZG1hX3VuZW5jcnlwdGVkKGRldiwgbWluX21hc2spOwo+PiAg IH0KPj4gICAKPj4gZGlmZiAtLWdpdCBhL2tlcm5lbC9kbWEvcG9vbC5jIGIva2VybmVsL2RtYS9w b29sLmMKPj4gaW5kZXggZDEwNjEzZWIwZjYzLi43YjA0Zjc1NzU3OTYgMTAwNjQ0Cj4+IC0tLSBh L2tlcm5lbC9kbWEvcG9vbC5jCj4+ICsrKyBiL2tlcm5lbC9kbWEvcG9vbC5jCj4+IEBAIC03MCw5 ICs3MCw5IEBAIHN0YXRpYyBib29sIGNtYV9pbl96b25lKGdmcF90IGdmcCkKPj4gICAJLyogQ01B IGNhbid0IGNyb3NzIHpvbmUgYm91bmRhcmllcywgc2VlIGNtYV9hY3RpdmF0ZV9hcmVhKCkgKi8K Pj4gICAJZW5kID0gY21hX2dldF9iYXNlKGNtYSkgKyBzaXplIC0gMTsKPj4gICAJaWYgKElTX0VO QUJMRUQoQ09ORklHX1pPTkVfRE1BKSAmJiAoZ2ZwICYgR0ZQX0RNQSkpCj4+IC0JCXJldHVybiBl bmQgPD0gRE1BX0JJVF9NQVNLKHpvbmVfZG1hX2JpdHMpOwo+PiArCQlyZXR1cm4gZW5kIDw9IHpv bmVfZG1hX2xpbWl0Owo+PiAgIAlpZiAoSVNfRU5BQkxFRChDT05GSUdfWk9ORV9ETUEzMikgJiYg KGdmcCAmIEdGUF9ETUEzMikpCj4+IC0JCXJldHVybiBlbmQgPD0gRE1BX0JJVF9NQVNLKDMyKTsK Pj4gKwkJcmV0dXJuIGVuZCA8PSBtYXgoRE1BX0JJVF9NQVNLKDMyKSwgem9uZV9kbWFfbGltaXQp Owo+PiAgIAlyZXR1cm4gdHJ1ZTsKPj4gICB9Cj4+ICAgCj4+IGRpZmYgLS1naXQgYS9rZXJuZWwv ZG1hL3N3aW90bGIuYyBiL2tlcm5lbC9kbWEvc3dpb3RsYi5jCj4+IGluZGV4IGRmNjhkMjk3NDBh MC4uYWJjZjNmYTYzYTU2IDEwMDY0NAo+PiAtLS0gYS9rZXJuZWwvZG1hL3N3aW90bGIuYwo+PiAr KysgYi9rZXJuZWwvZG1hL3N3aW90bGIuYwo+PiBAQCAtNDUwLDkgKzQ1MCw5IEBAIGludCBzd2lv dGxiX2luaXRfbGF0ZShzaXplX3Qgc2l6ZSwgZ2ZwX3QgZ2ZwX21hc2ssCj4+ICAgCWlmICghcmVt YXApCj4+ICAgCQlpb190bGJfZGVmYXVsdF9tZW0uY2FuX2dyb3cgPSB0cnVlOwo+PiAgIAlpZiAo SVNfRU5BQkxFRChDT05GSUdfWk9ORV9ETUEpICYmIChnZnBfbWFzayAmIF9fR0ZQX0RNQSkpCj4+ IC0JCWlvX3RsYl9kZWZhdWx0X21lbS5waHlzX2xpbWl0ID0gRE1BX0JJVF9NQVNLKHpvbmVfZG1h X2JpdHMpOwo+PiArCQlpb190bGJfZGVmYXVsdF9tZW0ucGh5c19saW1pdCA9IHpvbmVfZG1hX2xp bWl0Owo+PiAgIAllbHNlIGlmIChJU19FTkFCTEVEKENPTkZJR19aT05FX0RNQTMyKSAmJiAoZ2Zw X21hc2sgJiBfX0dGUF9ETUEzMikpCj4+IC0JCWlvX3RsYl9kZWZhdWx0X21lbS5waHlzX2xpbWl0 ID0gRE1BX0JJVF9NQVNLKDMyKTsKPj4gKwkJaW9fdGxiX2RlZmF1bHRfbWVtLnBoeXNfbGltaXQg PSBtYXgoRE1BX0JJVF9NQVNLKDMyKSwgem9uZV9kbWFfbGltaXQpOwo+PiAgIAllbHNlCj4+ICAg CQlpb190bGJfZGVmYXVsdF9tZW0ucGh5c19saW1pdCA9IHZpcnRfdG9fcGh5cyhoaWdoX21lbW9y eSAtIDEpOwo+PiAgICNlbmRpZgo+PiBAQCAtNjI5LDcgKzYyOSw3IEBAIHN0YXRpYyBzdHJ1Y3Qg cGFnZSAqc3dpb3RsYl9hbGxvY190bGIoc3RydWN0IGRldmljZSAqZGV2LCBzaXplX3QgYnl0ZXMs Cj4+ICAgCX0KPj4gICAKPj4gICAJZ2ZwICY9IH5HRlBfWk9ORU1BU0s7Cj4+IC0JaWYgKHBoeXNf bGltaXQgPD0gRE1BX0JJVF9NQVNLKHpvbmVfZG1hX2JpdHMpKQo+PiArCWlmIChwaHlzX2xpbWl0 IDw9IHpvbmVfZG1hX2xpbWl0KQo+PiAgIAkJZ2ZwIHw9IF9fR0ZQX0RNQTsKPj4gICAJZWxzZSBp ZiAocGh5c19saW1pdCA8PSBETUFfQklUX01BU0soMzIpKQo+PiAgIAkJZ2ZwIHw9IF9fR0ZQX0RN QTMyOwo+Cj4gQmVzdCByZWdhcmRzCgotLSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+LiAufiAgIFRrIE9wZW4gU3lzdGVtcwo9fS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLW9vTy0tVS0tT29vLS0tLS0t LS0tLS0tez0KICAgLSBiYXJ1Y2hAdGtvcy5jby5pbCAtIHRlbDogKzk3Mi41Mi4zNjguNDY1Niwg aHR0cDovL3d3dy50a29zLmNvLmlsIC0KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hp cEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtcm9ja2NoaXAK