From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bjorn Helgaas Subject: Re: [PATCH v3 1/2] dma-mapping: move dma configuration to bus infrastructure Date: Tue, 10 Apr 2018 14:20:41 -0500 Message-ID: <20180410192041.GA54986@bhelgaas-glaptop.roam.corp.google.com> References: <1520868292-2479-1-git-send-email-nipun.gupta@nxp.com> <1522396485-10248-1-git-send-email-nipun.gupta@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1522396485-10248-1-git-send-email-nipun.gupta@nxp.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Nipun Gupta Cc: zajec5@gmail.com, linux-pci@vger.kernel.org, jarkko.sakkinen@linux.intel.com, david.brown@linaro.org, thierry.reding@gmail.com, frowand.list@gmail.com, hch@lst.de, m.szyprowski@samsung.com, vinod.koul@intel.com, bharat.bhushan@nxp.com, rafael.j.wysocki@intel.com, linux@armlinux.org.uk, andy.gross@linaro.org, msuchanek@suse.de, devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-arm-msm@vger.kernel.org, johan@kernel.org, robh+dt@kernel.org, dri-devel@lists.freedesktop.org, bhelgaas@google.com, dan.j.williams@intel.com, linux-soc@vger.kernel.org, gregkh@linuxfoundation.org, dmitry.torokhov@gmail.com, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, leoyang.li@nxp.com, iommu@lists.linux-foundation.org, dmaengine@vger.kernel.org, robin.murphy@arm.com List-Id: devicetree@vger.kernel.org T24gRnJpLCBNYXIgMzAsIDIwMTggYXQgMDE6MjQ6NDRQTSArMDUzMCwgTmlwdW4gR3VwdGEgd3Jv dGU6Cj4gSXQgaXMgYnVzIHNwZWNpZmljIGFzcGVjdCB0byBtYXAgYSBnaXZlbiBkZXZpY2Ugb24g dGhlIGJ1cyBhbmQKPiByZWxldmFudCBmaXJtd2FyZSBkZXNjcmlwdGlvbiBvZiBpdHMgRE1BIGNv bmZpZ3VyYXRpb24uCj4gU28sIHRoaXMgY2hhbmdlIGludHJvZHVjZXMgJ2RtYV9jb25maWd1cmUn IGFzIGJ1cyBjYWxsYmFjawo+IGdpdmluZyBmbGV4aWJpbGl0eSB0byBidXNzZXMgZm9yIGltcGxl bWVudGluZyBpdHMgb3duIGRtYQo+IGNvbmZpZ3VyYXRpb24gZnVuY3Rpb24uCj4gCj4gVGhlIGNo YW5nZSBlYXNlcyB0aGUgYWRkaXRpb24gb2YgbmV3IGJ1c3NlcyB3LnIudC4gYWRkaW5nIHRoZSBk bWEKPiBjb25maWd1cmF0aW9uIGZ1bmN0aW9uYWxpdHkuCj4gCj4gVGhpcyBwYXRjaCBhbHNvIHVw ZGF0ZXMgdGhlIFBDSSwgUGxhdGZvcm0sIEFDUEkgYW5kIGhvc3QxeCBidXMgdG8KPiB1c2UgbmV3 IGludHJvZHVjZWQgY2FsbGJhY2tzLgoKcy9kbWEvRE1BLyBjb25zaXN0ZW50bHkgYWJvdmUuCgo+ IFN1Z2dlc3RlZC1ieTogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+Cj4gU2lnbmVkLW9m Zi1ieTogTmlwdW4gR3VwdGEgPG5pcHVuLmd1cHRhQG54cC5jb20+Cj4gUmV2aWV3ZWQtYnk6IEdy ZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+CgpBY2tlZC1ieTog Qmpvcm4gSGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT4gICMgUENJIHBhcnRzCgpJIGFzc3Vt ZSB5b3UnbGwgbWVyZ2UgdGhpcyB2aWEgc29tZSBub24tUENJIHRyZWUuICBMZXQgbWUga25vdyBp ZiB5b3UKbmVlZCBhbnl0aGluZyBlbHNlIGZyb20gbWUuCgo+IC0tLQo+ICAtIFRoZSBwYXRjaGVz IGFyZSBiYXNlZCBvbiB0aGUgY29tbWVudHMgb246Cj4gICAgaHR0cHM6Ly9wYXRjaHdvcmsua2Vy bmVsLm9yZy9wYXRjaC8xMDI1OTA4Ny8KPiAKPiBDaGFuZ2VzIGluIHYyOgo+ICAgLSBEbyBub3Qg aGF2ZSBkbWFfZGVjb25maWd1cmUgY2FsbGJhY2sKPiAgIC0gSGF2ZSAnL2RtYV9jb21tb25fY29u ZmlndXJlLycgQVBJIHRvIHByb3ZpZGUgYSBjb21tb24gRE1BCj4gICAgIGNvbmZpZ3VyYXRpb24g d2hpY2ggY2FuIGJlIHVzZWQgYnkgYnVzc2VzIGlmIGl0IHN1aXRzIHRoZW0uCj4gICAtIFBsYXRm b3JtIGFuZCBBQ1BJIGJ1cyB0byB1c2UgJy9kbWFfY29tbW9uX2NvbmZpZ3VyZS8nIGluCj4gICAg ICcvZG1hX2NvbmZpZ3VyZS8nIGNhbGxiYWNrLgo+ICAgLSBVcGRhdGVkIGNvbW1pdCBtZXNzYWdl Cj4gICAtIFVwZGF0ZWQgcGNpX2RtYV9jb25maWd1cmUgQVBJIHdpdGggY2hhbmdlcyBzdWdnZXN0 ZWQgYnkgUm9iaW4KPiAKPiBDaGFuZ2VzIGluIHYzCj4gICAtIE1vdmUgZG1hX2NvbW1vbl9jb25m aWd1cmUoKSB3aXRoaW4gcGxhdGZvcm1fZG1hX2NvbmZpZ3VyZSgpIGFuZAo+ICAgICByZXVzZSBw bGF0b2ZybV9kbWFfY29uZmlndXJlKCkgZm9yIEFNQkEgYnVzIHRvbwo+ICAgLSBEZWNsYXJlICdh dHRyJyBpbiBwY2lfZG1hX2NvbmZpZ3VyZSgpIGluc2lkZSB0aGUgZWxzZSBzdGF0ZW1lbnQKPiAg ICAgd2hlcmUgaXQgaXMgdXNlZC4KPiAKPiAgZHJpdmVycy9hbWJhL2J1cy5jICAgICAgICAgICAg ICB8ICA0ICsrKysKPiAgZHJpdmVycy9iYXNlL2RtYS1tYXBwaW5nLmMgICAgICB8IDMxICsrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9iYXNlL3BsYXRmb3JtLmMgICAg ICAgICB8IDE3ICsrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2hvc3QxeC9idXMuYyAg ICAgICAgfCAgOCArKysrKysrKwo+ICBkcml2ZXJzL3BjaS9wY2ktZHJpdmVyLmMgICAgICAgIHwg MzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9saW51eC9kZXZp Y2UuaCAgICAgICAgICB8ICA0ICsrKysKPiAgaW5jbHVkZS9saW51eC9wbGF0Zm9ybV9kZXZpY2Uu aCB8ICAyICsrCj4gIDcgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRp b25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYW1iYS9idXMuYyBiL2RyaXZlcnMvYW1i YS9idXMuYwo+IGluZGV4IDU5NGMyMjguLjg2N2RjMmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9h bWJhL2J1cy5jCj4gKysrIGIvZHJpdmVycy9hbWJhL2J1cy5jCj4gQEAgLTIwLDYgKzIwLDcgQEAK PiAgI2luY2x1ZGUgPGxpbnV4L3NpemVzLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9saW1pdHMuaD4K PiAgI2luY2x1ZGUgPGxpbnV4L2Nsay9jbGstY29uZi5oPgo+ICsjaW5jbHVkZSA8bGludXgvcGxh dGZvcm1fZGV2aWNlLmg+Cj4gIAo+ICAjaW5jbHVkZSA8YXNtL2lycS5oPgo+ICAKPiBAQCAtMTg4 LDEyICsxODksMTUgQEAgc3RhdGljIGludCBhbWJhX3BtX3J1bnRpbWVfcmVzdW1lKHN0cnVjdCBk ZXZpY2UgKmRldikKPiAgLyoKPiAgICogUHJpbWVjZWxscyBhcmUgcGFydCBvZiB0aGUgQWR2YW5j ZWQgTWljcm9jb250cm9sbGVyIEJ1cyBBcmNoaXRlY3R1cmUsCj4gICAqIHNvIHdlIGNhbGwgdGhl IGJ1cyAiYW1iYSIuCj4gKyAqIERNQSBjb25maWd1cmF0aW9uIGZvciBwbGF0Zm9ybSBhbmQgQU1C QSBidXMgaXMgc2FtZS4gU28gaGVyZSB3ZSByZXVzZQo+ICsgKiBwbGF0Zm9ybSdzIERNQSBjb25m aWcgcm91dGluZS4KPiAgICovCj4gIHN0cnVjdCBidXNfdHlwZSBhbWJhX2J1c3R5cGUgPSB7Cj4g IAkubmFtZQkJPSAiYW1iYSIsCj4gIAkuZGV2X2dyb3Vwcwk9IGFtYmFfZGV2X2dyb3VwcywKPiAg CS5tYXRjaAkJPSBhbWJhX21hdGNoLAo+ICAJLnVldmVudAkJPSBhbWJhX3VldmVudCwKPiArCS5k bWFfY29uZmlndXJlCT0gcGxhdGZvcm1fZG1hX2NvbmZpZ3VyZSwKPiAgCS5wbQkJPSAmYW1iYV9w bSwKPiAgCS5mb3JjZV9kbWEJPSB0cnVlLAo+ICB9Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Jh c2UvZG1hLW1hcHBpbmcuYyBiL2RyaXZlcnMvYmFzZS9kbWEtbWFwcGluZy5jCj4gaW5kZXggM2Ix MTgzNS4uZmRjMTUwMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2Jhc2UvZG1hLW1hcHBpbmcuYwo+ ICsrKyBiL2RyaXZlcnMvYmFzZS9kbWEtbWFwcGluZy5jCj4gQEAgLTMzMSwzNiArMzMxLDEzIEBA IHZvaWQgZG1hX2NvbW1vbl9mcmVlX3JlbWFwKHZvaWQgKmNwdV9hZGRyLCBzaXplX3Qgc2l6ZSwg dW5zaWduZWQgbG9uZyB2bV9mbGFncykKPiAgI2VuZGlmCj4gIAo+ICAvKgo+IC0gKiBDb21tb24g Y29uZmlndXJhdGlvbiB0byBlbmFibGUgRE1BIEFQSSB1c2UgZm9yIGEgZGV2aWNlCj4gKyAqIGVu YWJsZXMgRE1BIEFQSSB1c2UgZm9yIGEgZGV2aWNlCj4gICAqLwo+IC0jaW5jbHVkZSA8bGludXgv cGNpLmg+Cj4gLQo+ICBpbnQgZG1hX2NvbmZpZ3VyZShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIHsK PiAtCXN0cnVjdCBkZXZpY2UgKmJyaWRnZSA9IE5VTEwsICpkbWFfZGV2ID0gZGV2Owo+IC0JZW51 bSBkZXZfZG1hX2F0dHIgYXR0cjsKPiAtCWludCByZXQgPSAwOwo+IC0KPiAtCWlmIChkZXZfaXNf cGNpKGRldikpIHsKPiAtCQlicmlkZ2UgPSBwY2lfZ2V0X2hvc3RfYnJpZGdlX2RldmljZSh0b19w Y2lfZGV2KGRldikpOwo+IC0JCWRtYV9kZXYgPSBicmlkZ2U7Cj4gLQkJaWYgKElTX0VOQUJMRUQo Q09ORklHX09GKSAmJiBkbWFfZGV2LT5wYXJlbnQgJiYKPiAtCQkgICAgZG1hX2Rldi0+cGFyZW50 LT5vZl9ub2RlKQo+IC0JCQlkbWFfZGV2ID0gZG1hX2Rldi0+cGFyZW50Owo+IC0JfQo+IC0KPiAt CWlmIChkbWFfZGV2LT5vZl9ub2RlKSB7Cj4gLQkJcmV0ID0gb2ZfZG1hX2NvbmZpZ3VyZShkZXYs IGRtYV9kZXYtPm9mX25vZGUpOwo+IC0JfSBlbHNlIGlmIChoYXNfYWNwaV9jb21wYW5pb24oZG1h X2RldikpIHsKPiAtCQlhdHRyID0gYWNwaV9nZXRfZG1hX2F0dHIodG9fYWNwaV9kZXZpY2Vfbm9k ZShkbWFfZGV2LT5md25vZGUpKTsKPiAtCQlpZiAoYXR0ciAhPSBERVZfRE1BX05PVF9TVVBQT1JU RUQpCj4gLQkJCXJldCA9IGFjcGlfZG1hX2NvbmZpZ3VyZShkZXYsIGF0dHIpOwo+IC0JfQo+IC0K PiAtCWlmIChicmlkZ2UpCj4gLQkJcGNpX3B1dF9ob3N0X2JyaWRnZV9kZXZpY2UoYnJpZGdlKTsK PiAtCj4gLQlyZXR1cm4gcmV0Owo+ICsJaWYgKGRldi0+YnVzLT5kbWFfY29uZmlndXJlKQo+ICsJ CXJldHVybiBkZXYtPmJ1cy0+ZG1hX2NvbmZpZ3VyZShkZXYpOwo+ICsJcmV0dXJuIDA7Cj4gIH0K PiAgCj4gIHZvaWQgZG1hX2RlY29uZmlndXJlKHN0cnVjdCBkZXZpY2UgKmRldikKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9iYXNlL3BsYXRmb3JtLmMgYi9kcml2ZXJzL2Jhc2UvcGxhdGZvcm0uYwo+ IGluZGV4IGYxYmY3YjMuLjcyZmRiZjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9iYXNlL3BsYXRm b3JtLmMKPiArKysgYi9kcml2ZXJzL2Jhc2UvcGxhdGZvcm0uYwo+IEBAIC0xMTMwLDYgKzExMzAs MjIgQEAgaW50IHBsYXRmb3JtX3BtX3Jlc3RvcmUoc3RydWN0IGRldmljZSAqZGV2KQo+ICAKPiAg I2VuZGlmIC8qIENPTkZJR19ISUJFUk5BVEVfQ0FMTEJBQ0tTICovCj4gIAo+ICtpbnQgcGxhdGZv cm1fZG1hX2NvbmZpZ3VyZShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gK3sKPiArCWVudW0gZGV2X2Rt YV9hdHRyIGF0dHI7Cj4gKwlpbnQgcmV0ID0gMDsKPiArCj4gKwlpZiAoZGV2LT5vZl9ub2RlKSB7 Cj4gKwkJcmV0ID0gb2ZfZG1hX2NvbmZpZ3VyZShkZXYsIGRldi0+b2Zfbm9kZSk7Cj4gKwl9IGVs c2UgaWYgKGhhc19hY3BpX2NvbXBhbmlvbihkZXYpKSB7Cj4gKwkJYXR0ciA9IGFjcGlfZ2V0X2Rt YV9hdHRyKHRvX2FjcGlfZGV2aWNlX25vZGUoZGV2LT5md25vZGUpKTsKPiArCQlpZiAoYXR0ciAh PSBERVZfRE1BX05PVF9TVVBQT1JURUQpCj4gKwkJCXJldCA9IGFjcGlfZG1hX2NvbmZpZ3VyZShk ZXYsIGF0dHIpOwo+ICsJfQo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBwbGF0Zm9ybV9kZXZfcG1fb3BzID0gewo+ICAJLnJ1bnRp bWVfc3VzcGVuZCA9IHBtX2dlbmVyaWNfcnVudGltZV9zdXNwZW5kLAo+ICAJLnJ1bnRpbWVfcmVz dW1lID0gcG1fZ2VuZXJpY19ydW50aW1lX3Jlc3VtZSwKPiBAQCAtMTE0MSw2ICsxMTU3LDcgQEAg c3RydWN0IGJ1c190eXBlIHBsYXRmb3JtX2J1c190eXBlID0gewo+ICAJLmRldl9ncm91cHMJPSBw bGF0Zm9ybV9kZXZfZ3JvdXBzLAo+ICAJLm1hdGNoCQk9IHBsYXRmb3JtX21hdGNoLAo+ICAJLnVl dmVudAkJPSBwbGF0Zm9ybV91ZXZlbnQsCj4gKwkuZG1hX2NvbmZpZ3VyZQk9IHBsYXRmb3JtX2Rt YV9jb25maWd1cmUsCj4gIAkucG0JCT0gJnBsYXRmb3JtX2Rldl9wbV9vcHMsCj4gIAkuZm9yY2Vf ZG1hCT0gdHJ1ZSwKPiAgfTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvaG9zdDF4L2J1cy5j IGIvZHJpdmVycy9ncHUvaG9zdDF4L2J1cy5jCj4gaW5kZXggODhhMzU1OC4uYTllYzk5ZCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9ob3N0MXgvYnVzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9o b3N0MXgvYnVzLmMKPiBAQCAtMzE0LDYgKzMxNCwxMyBAQCBzdGF0aWMgaW50IGhvc3QxeF9kZXZp Y2VfbWF0Y2goc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2RyaXZlciAqZHJ2KQo+ ICAJcmV0dXJuIHN0cmNtcChkZXZfbmFtZShkZXYpLCBkcnYtPm5hbWUpID09IDA7Cj4gIH0KPiAg Cj4gK3N0YXRpYyBpbnQgaG9zdDF4X2RtYV9jb25maWd1cmUoc3RydWN0IGRldmljZSAqZGV2KQo+ ICt7Cj4gKwlpZiAoZGV2LT5vZl9ub2RlKQo+ICsJCXJldHVybiBvZl9kbWFfY29uZmlndXJlKGRl diwgZGV2LT5vZl9ub2RlKTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICBzdGF0aWMgY29uc3Qg c3RydWN0IGRldl9wbV9vcHMgaG9zdDF4X2RldmljZV9wbV9vcHMgPSB7Cj4gIAkuc3VzcGVuZCA9 IHBtX2dlbmVyaWNfc3VzcGVuZCwKPiAgCS5yZXN1bWUgPSBwbV9nZW5lcmljX3Jlc3VtZSwKPiBA QCAtMzI2LDYgKzMzMyw3IEBAIHN0YXRpYyBpbnQgaG9zdDF4X2RldmljZV9tYXRjaChzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYpCj4gIHN0cnVjdCBidXNfdHlw ZSBob3N0MXhfYnVzX3R5cGUgPSB7Cj4gIAkubmFtZSA9ICJob3N0MXgiLAo+ICAJLm1hdGNoID0g aG9zdDF4X2RldmljZV9tYXRjaCwKPiArCS5kbWFfY29uZmlndXJlCT0gaG9zdDF4X2RtYV9jb25m aWd1cmUsCj4gIAkucG0gPSAmaG9zdDF4X2RldmljZV9wbV9vcHMsCj4gIAkuZm9yY2VfZG1hID0g dHJ1ZSwKPiAgfTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvcGNpLWRyaXZlci5jIGIvZHJp dmVycy9wY2kvcGNpLWRyaXZlci5jCj4gaW5kZXggM2JlZDZiZS4uNzhlNTA3ZiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL3BjaS9wY2ktZHJpdmVyLmMKPiArKysgYi9kcml2ZXJzL3BjaS9wY2ktZHJp dmVyLmMKPiBAQCAtMTgsNiArMTgsOCBAQAo+ICAjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5o Pgo+ICAjaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgo+ICAjaW5jbHVkZSA8bGludXgva2V4ZWMu aD4KPiArI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvYWNw aS5oPgo+ICAjaW5jbHVkZSAicGNpLmgiCj4gIAo+ICBzdHJ1Y3QgcGNpX2R5bmlkIHsKPiBAQCAt MTUyMiw2ICsxNTI0LDM1IEBAIHN0YXRpYyBpbnQgcGNpX2J1c19udW1fdmYoc3RydWN0IGRldmlj ZSAqZGV2KQo+ICAJcmV0dXJuIHBjaV9udW1fdmYodG9fcGNpX2RldihkZXYpKTsKPiAgfQo+ICAK PiArLyoqCj4gKyAqIHBjaV9kbWFfY29uZmlndXJlIC0gU2V0dXAgRE1BIGNvbmZpZ3VyYXRpb24K PiArICogQGRldjogcHRyIHRvIGRldiBzdHJ1Y3R1cmUKPiArICoKPiArICogRnVuY3Rpb24gdG8g dXBkYXRlIFBDSSBkZXZpY2VzJ3MgRE1BIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIHNhbWUKPiAr ICogaW5mbyBmcm9tIHRoZSBPRiBub2RlIG9yIEFDUEkgbm9kZSBvZiBob3N0IGJyaWRnZSdzIHBh cmVudCAoaWYgYW55KS4KPiArICovCj4gK3N0YXRpYyBpbnQgcGNpX2RtYV9jb25maWd1cmUoc3Ry dWN0IGRldmljZSAqZGV2KQo+ICt7Cj4gKwlzdHJ1Y3QgZGV2aWNlICpicmlkZ2U7Cj4gKwlpbnQg cmV0ID0gMDsKPiArCj4gKwlicmlkZ2UgPSBwY2lfZ2V0X2hvc3RfYnJpZGdlX2RldmljZSh0b19w Y2lfZGV2KGRldikpOwo+ICsKPiArCWlmIChJU19FTkFCTEVEKENPTkZJR19PRikgJiYgYnJpZGdl LT5wYXJlbnQgJiYKPiArCSAgICBicmlkZ2UtPnBhcmVudC0+b2Zfbm9kZSkgewo+ICsJCXJldCA9 IG9mX2RtYV9jb25maWd1cmUoZGV2LCBicmlkZ2UtPnBhcmVudC0+b2Zfbm9kZSk7Cj4gKwl9IGVs c2UgaWYgKGhhc19hY3BpX2NvbXBhbmlvbihicmlkZ2UpKSB7Cj4gKwkJc3RydWN0IGFjcGlfZGV2 aWNlICphZGV2ID0gdG9fYWNwaV9kZXZpY2Vfbm9kZShicmlkZ2UtPmZ3bm9kZSk7Cj4gKwkJZW51 bSBkZXZfZG1hX2F0dHIgYXR0ciA9IGFjcGlfZ2V0X2RtYV9hdHRyKGFkZXYpOwo+ICsKPiArCQlp ZiAoYXR0ciAhPSBERVZfRE1BX05PVF9TVVBQT1JURUQpCj4gKwkJCXJldCA9IGFjcGlfZG1hX2Nv bmZpZ3VyZShkZXYsIGF0dHIpOwo+ICsJfQo+ICsKPiArCXBjaV9wdXRfaG9zdF9icmlkZ2VfZGV2 aWNlKGJyaWRnZSk7Cj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICBzdHJ1Y3QgYnVzX3R5cGUg cGNpX2J1c190eXBlID0gewo+ICAJLm5hbWUJCT0gInBjaSIsCj4gIAkubWF0Y2gJCT0gcGNpX2J1 c19tYXRjaCwKPiBAQCAtMTUzNCw2ICsxNTY1LDcgQEAgc3RydWN0IGJ1c190eXBlIHBjaV9idXNf dHlwZSA9IHsKPiAgCS5kcnZfZ3JvdXBzCT0gcGNpX2Rydl9ncm91cHMsCj4gIAkucG0JCT0gUENJ X1BNX09QU19QVFIsCj4gIAkubnVtX3ZmCQk9IHBjaV9idXNfbnVtX3ZmLAo+ICsJLmRtYV9jb25m aWd1cmUJPSBwY2lfZG1hX2NvbmZpZ3VyZSwKPiAgCS5mb3JjZV9kbWEJPSB0cnVlLAo+ICB9Owo+ ICBFWFBPUlRfU1lNQk9MKHBjaV9idXNfdHlwZSk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvZGV2aWNlLmggYi9pbmNsdWRlL2xpbnV4L2RldmljZS5oCj4gaW5kZXggYjA5MzQwNS4uMTgz MmQ5MCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2RldmljZS5oCj4gKysrIGIvaW5jbHVk ZS9saW51eC9kZXZpY2UuaAo+IEBAIC04OCw2ICs4OCw4IEBAIGV4dGVybiBpbnQgX19tdXN0X2No ZWNrIGJ1c19jcmVhdGVfZmlsZShzdHJ1Y3QgYnVzX3R5cGUgKiwKPiAgICogQHJlc3VtZToJQ2Fs bGVkIHRvIGJyaW5nIGEgZGV2aWNlIG9uIHRoaXMgYnVzIG91dCBvZiBzbGVlcCBtb2RlLgo+ICAg KiBAbnVtX3ZmOglDYWxsZWQgdG8gZmluZCBvdXQgaG93IG1hbnkgdmlydHVhbCBmdW5jdGlvbnMg YSBkZXZpY2Ugb24gdGhpcwo+ICAgKgkJYnVzIHN1cHBvcnRzLgo+ICsgKiBAZG1hX2NvbmZpZ3Vy ZToJQ2FsbGVkIHRvIHNldHVwIERNQSBjb25maWd1cmF0aW9uIG9uIGEgZGV2aWNlIG9uCj4gKwkJ CXRoaXMgYnVzLgo+ICAgKiBAcG06CQlQb3dlciBtYW5hZ2VtZW50IG9wZXJhdGlvbnMgb2YgdGhp cyBidXMsIGNhbGxiYWNrIHRoZSBzcGVjaWZpYwo+ICAgKgkJZGV2aWNlIGRyaXZlcidzIHBtLW9w cy4KPiAgICogQGlvbW11X29wczogIElPTU1VIHNwZWNpZmljIG9wZXJhdGlvbnMgZm9yIHRoaXMg YnVzLCB1c2VkIHRvIGF0dGFjaCBJT01NVQo+IEBAIC0xMzAsNiArMTMyLDggQEAgc3RydWN0IGJ1 c190eXBlIHsKPiAgCj4gIAlpbnQgKCpudW1fdmYpKHN0cnVjdCBkZXZpY2UgKmRldik7Cj4gIAo+ ICsJaW50ICgqZG1hX2NvbmZpZ3VyZSkoc3RydWN0IGRldmljZSAqZGV2KTsKPiArCj4gIAljb25z dCBzdHJ1Y3QgZGV2X3BtX29wcyAqcG07Cj4gIAo+ICAJY29uc3Qgc3RydWN0IGlvbW11X29wcyAq aW9tbXVfb3BzOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BsYXRmb3JtX2RldmljZS5o IGIvaW5jbHVkZS9saW51eC9wbGF0Zm9ybV9kZXZpY2UuaAo+IGluZGV4IDQ5ZjYzNGQuLjMwOTdj OTQgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9wbGF0Zm9ybV9kZXZpY2UuaAo+ICsrKyBi L2luY2x1ZGUvbGludXgvcGxhdGZvcm1fZGV2aWNlLmgKPiBAQCAtMzU2LDYgKzM1Niw4IEBAIHN0 YXRpYyBpbmxpbmUgY2hhciAqZWFybHlfcGxhdGZvcm1fZHJpdmVyX3NldHVwX2Z1bmModm9pZCkJ CVwKPiAgI2RlZmluZSBwbGF0Zm9ybV9wbV9yZXN0b3JlCQlOVUxMCj4gICNlbmRpZgo+ICAKPiAr ZXh0ZXJuIGludCBwbGF0Zm9ybV9kbWFfY29uZmlndXJlKHN0cnVjdCBkZXZpY2UgKmRldik7Cj4g Kwo+ICAjaWZkZWYgQ09ORklHX1BNX1NMRUVQCj4gICNkZWZpbmUgVVNFX1BMQVRGT1JNX1BNX1NM RUVQX09QUyBcCj4gIAkuc3VzcGVuZCA9IHBsYXRmb3JtX3BtX3N1c3BlbmQsIFwKPiAtLSAKPiAx LjkuMQo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK