From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhang, Jerry (Junwei)" Subject: Re: [PATCH v6 4/5] drm/amdgpu: use bulk moves for efficient VM LRU handling (v6) Date: Thu, 23 Aug 2018 11:27:19 +0800 Message-ID: <5B7E2997.8050307@amd.com> References: <1534932736-24577-1-git-send-email-ray.huang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1534932736-24577-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Huang Rui , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= T24gMDgvMjIvMjAxOCAwNjoxMiBQTSwgSHVhbmcgUnVpIHdyb3RlOgo+IEkgY29udGludWUgdG8g d29yayBmb3IgYnVsayBtb3ZpbmcgdGhhdCBiYXNlZCBvbiB0aGUgcHJvcG9zYWwgYnkgQ2hyaXN0 aWFuLgo+Cj4gQmFja2dyb3VuZDoKPiBhbWRncHUgZHJpdmVyIHdpbGwgbW92ZSBhbGwgUEQvUFQg YW5kIFBlclZNIEJPcyBpbnRvIGlkbGUgbGlzdC4gVGhlbiBtb3ZlIGFsbCBvZgo+IHRoZW0gb24g dGhlIGVuZCBvZiBMUlUgbGlzdCBvbmUgYnkgb25lLiBUaHVzLCB0aGF0IGNhdXNlIHNvIG1hbnkg Qk9zIG1vdmVkIHRvCj4gdGhlIGVuZCBvZiB0aGUgTFJVLCBhbmQgaW1wYWN0IHBlcmZvcm1hbmNl IHNlcmlvdXNseS4KPgo+IFRoZW4gQ2hyaXN0aWFuIHByb3ZpZGVkIGEgd29ya2Fyb3VuZCB0byBu b3QgbW92ZSBQRC9QVCBCT3Mgb24gTFJVIHdpdGggYmVsb3cKPiBwYXRjaDoKPiBDb21taXQgMGJi ZjMyMDI2Y2Y1YmE0MWU5OTIyYjMwZTI2ZTFiZWQxZWNkMzhhZSAoImRybS9hbWRncHU6IGJhbmQg YWlkCj4gdmFsaWRhdGluZyBWTSBQVHMiKQo+Cj4gSG93ZXZlciwgdGhlIGZpbmFsIHNvbHV0aW9u IHNob3VsZCBidWxrIG1vdmUgYWxsIFBEL1BUIGFuZCBQZXJWTSBCT3Mgb24gdGhlIExSVQo+IGlu c3RlYWQgb2Ygb25lIGJ5IG9uZS4KPgo+IFdoZW5ldmVyIGFtZGdwdV92bV92YWxpZGF0ZV9wdF9i b3MoKSBpcyBjYWxsZWQgYW5kIHdlIGhhdmUgQk9zIHdoaWNoIG5lZWQgdG8gYmUKPiB2YWxpZGF0 ZWQgd2UgbW92ZSBhbGwgQk9zIHRvZ2V0aGVyIHRvIHRoZSBlbmQgb2YgdGhlIExSVSB3aXRob3V0 IGRyb3BwaW5nIHRoZQo+IGxvY2sgZm9yIHRoZSBMUlUuCj4KPiBXaGlsZSBkb2luZyBzbyB3ZSBu b3RlIHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZiB0aGlzIGJsb2NrIGluIHRoZSBMUlUgbGlzdC4K Pgo+IE5vdyB3aGVuIGFtZGdwdV92bV92YWxpZGF0ZV9wdF9ib3MoKSBpcyBjYWxsZWQgYW5kIHdl IGRvbid0IGhhdmUgYW55dGhpbmcgdG8gZG8sCj4gd2UgZG9uJ3QgbW92ZSBldmVyeSBCTyBvbmUg Ynkgb25lLCBidXQgaW5zdGVhZCBjdXQgdGhlIExSVSBsaXN0IGludG8gcGllY2VzIHNvCj4gdGhh dCB3ZSBidWxrIG1vdmUgZXZlcnl0aGluZyB0byB0aGUgZW5kIGluIGp1c3Qgb25lIG9wZXJhdGlv bi4KPgo+IFRlc3QgZGF0YToKPiArLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+IHwgICAg ICAgICAgICAgIHxUaGUgVGFsb3MgICAgICAgIHxDbHBlYWsoT0NMKXxCdXNTcGVlZFJlYWRiYWNr KE9DTCkgICAgICAgICAgICAgICAgICB8Cj4gfCAgICAgICAgICAgICAgfFByaW5jaXBsZShWdWxr YW4pfCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+IHwgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgIHwwLjMxOSBtcygxaykgMC4zMTQgbXMoMkspIDAuMzA4IG1z KDRLKSB8Cj4gfCBPcmlnaW5hbCAgICAgfCAgMTQ3LjcgRlBTICAgICAgfCAgNzYuODYgdXMgfDAu MzA3IG1zKDhLKSAwLjMxMCBtcygxNkspICAgICAgICAgICAgIHwKPiArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKwo+IHwgT3JpZ25pYWwgKyBXQXwgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgIHwwLjI1NCBtcygxSykgMC4yNDEgbXMoMkspICAgICAgICAgICAgICB8Cj4gfChkb24ndCBt b3ZlICAgfCAgMTYyLjEgRlBTICAgICAgfCAgNDIuMTUgdXMgfDAuMjMwIG1zKDRLKSAwLjIyMyBt cyg4SykgMC4yMDQgbXMoMTZLKXwKPiB8UFQgQk9zIG9uIExSVSl8ICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAo+ICst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gfCBCdWxrIG1vdmUgICAgfCAgMTYzLjEgRlBT ICAgICAgfCAgNDAuNTIgdXMgfDAuMjQ0IG1zKDFLKSAwLjI1MiBtcygySykgMC4yMTMgbXMoNEsp IHwKPiB8ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8MC4yMTQg bXMoOEspIDAuMjI1IG1zKDE2SykgICAgICAgICAgICAgfAo+ICstLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rCj4KPiBBZnRlciB0ZXN0IHRoZW0gd2l0aCBhYm92ZSB0aHJlZSBiZW5jaG1hcmtz IGluY2x1ZGUgdnVsa2FuIGFuZCBvcGVuY2wuIFdlIGNhbgo+IHNlZSB0aGUgdmlzaWJsZSBpbXBy b3ZlbWVudCB0aGFuIG9yaWdpbmFsLCBhbmQgZXZlbiBiZXR0ZXIgdGhhbiBvcmlnaW5hbCB3aXRo Cj4gd29ya2Fyb3VuZC4KPgo+IHYyOiBtb3ZlIGFsbCBCT3MgaW5jbHVkZSBpZGxlLCByZWxvY2F0 ZWQsIGFuZCBtb3ZlZCBsaXN0IHRvIHRoZSBlbmQgb2YgTFJVIGFuZAo+IHB1dCB0aGVtIHRvZ2V0 aGVyLgo+IHYzOiByZW1vdmUgdW51c2VkIHBhcmFtZXRlciBhbmQgdXNlIGxpc3RfZm9yX2VhY2hf ZW50cnkgaW5zdGVhZCBvZiB0aGUgb25lIHdpdGgKPiBzYXZlIGVudHJ5Lgo+IHY0OiBtb3ZlIHRo ZSBhbWRncHVfdm1fbW92ZV90b19scnVfdGFpbCBhZnRlciBjb21tYW5kIHN1Ym1pc3Npb24sIGF0 IHRoYXQgdGltZSwKPiBhbGwgYm8gd2lsbCBiZSBiYWNrIG9uIGlkbGUgbGlzdC4KPiB2NTogcmVt b3ZlIGFtZGdwdV92bV9tb3ZlX3RvX2xydV90YWlsX2J5X2xpc3QoKSwgdXNlIGJ1bGtfbW92ZWFi bGUgaW5zdHJlYWQgb2YKPiB2YWxpZGF0ZWQsIGFuZCBtb3ZlIHR0bV9ib19idWxrX21vdmVfbHJ1 X3RhaWwoKSBhbHNvIGludG8KPiBhbWRncHVfdm1fbW92ZV90b19scnVfdGFpbCgpLgo+IHY2OiBj bGVhbiB1cCBhbmQgZml4IHJldHVybiB2YWx1ZS4KPgo+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlh biBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBIdWFu ZyBSdWkgPHJheS5odWFuZ0BhbWQuY29tPgo+IFRlc3RlZC1ieTogTWlrZSBMb3RoaWFuIDxtaWtl QGZpcmVidXJuLmNvLnVrPgo+IFRlc3RlZC1ieTogRGlldGVyIE7DvHR6ZWwgPERpZXRlckBudWV0 emVsLWhoLmRlPgo+IEFja2VkLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQuY29t Pgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgfCAgMyAr Kwo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgfCA2NCArKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdm0uaCB8IDExICsrKysrLQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRp b25zKCspLCAyMSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9jcy5jCj4gaW5kZXggNTAyYjk0Zi4uOGE1ZTU1NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9jcy5jCj4gQEAgLTEyNjYsNiArMTI2Niw3IEBAIGludCBhbWRncHVfY3Nf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxl ICpmaWxwKQo+ICAgCXVuaW9uIGRybV9hbWRncHVfY3MgKmNzID0gZGF0YTsKPiAgIAlzdHJ1Y3Qg YW1kZ3B1X2NzX3BhcnNlciBwYXJzZXIgPSB7fTsKPiAgIAlib29sIHJlc2VydmVkX2J1ZmZlcnMg PSBmYWxzZTsKPiArCXN0cnVjdCBhbWRncHVfZnByaXYgKmZwcml2Owo+ICAgCWludCBpLCByOwo+ Cj4gICAJaWYgKCFhZGV2LT5hY2NlbF93b3JraW5nKQo+IEBAIC0xMzEwLDYgKzEzMTEsOCBAQCBp bnQgYW1kZ3B1X2NzX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0 cnVjdCBkcm1fZmlsZSAqZmlscCkKPgo+ICAgCXIgPSBhbWRncHVfY3Nfc3VibWl0KCZwYXJzZXIs IGNzKTsKPgo+ICsJZnByaXYgPSBmaWxwLT5kcml2ZXJfcHJpdjsKCkEgdHJpdmlhbCB0aGluZyBp cyB0aGF0IGNvdWxkIGJlIGFzc2lnbmVkIGluIGRlZmluaXRpb24uCmFueXdheSwgaXQncwoKUmV2 aWV3ZWQtYnk6IEp1bndlaSBaaGFuZyA8SmVycnkuWmhhbmdAYW1kLmNvbT4KCj4gKwlhbWRncHVf dm1fbW92ZV90b19scnVfdGFpbChhZGV2LCAmZnByaXYtPnZtKTsKPiAgIG91dDoKPiAgIAlhbWRn cHVfY3NfcGFyc2VyX2ZpbmkoJnBhcnNlciwgciwgcmVzZXJ2ZWRfYnVmZmVycyk7Cj4gICAJcmV0 dXJuIHI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92 bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKPiBpbmRleCA5Yzg0 NzcwLi5kYWFlMGZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV92bS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMK PiBAQCAtMjY4LDYgKzI2OCw0NyBAQCB2b2lkIGFtZGdwdV92bV9nZXRfcGRfYm8oc3RydWN0IGFt ZGdwdV92bSAqdm0sCj4gICB9Cj4KPiAgIC8qKgo+ICsgKiBhbWRncHVfdm1fbW92ZV90b19scnVf dGFpbCAtIG1vdmUgYWxsIEJPcyB0byB0aGUgZW5kIG9mIExSVQo+ICsgKgo+ICsgKiBAYWRldjog YW1kZ3B1IGRldmljZSBwb2ludGVyCj4gKyAqIEB2bTogdm0gcHJvdmlkaW5nIHRoZSBCT3MKPiAr ICoKPiArICogTW92ZSBhbGwgQk9zIHRvIHRoZSBlbmQgb2YgTFJVIGFuZCByZW1lbWJlciB0aGVp ciBwb3NpdGlvbnMgdG8gcHV0IHRoZW0KPiArICogdG9nZXRoZXIuCj4gKyAqLwo+ICt2b2lkIGFt ZGdwdV92bV9tb3ZlX3RvX2xydV90YWlsKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICsJ CQkJc3RydWN0IGFtZGdwdV92bSAqdm0pCj4gK3sKPiArCXN0cnVjdCB0dG1fYm9fZ2xvYmFsICpn bG9iID0gYWRldi0+bW1hbi5iZGV2Lmdsb2I7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X3ZtX2JvX2Jhc2Ug KmJvX2Jhc2U7Cj4gKwo+ICsJaWYgKHZtLT5idWxrX21vdmVhYmxlKSB7Cj4gKwkJc3Bpbl9sb2Nr KCZnbG9iLT5scnVfbG9jayk7Cj4gKwkJdHRtX2JvX2J1bGtfbW92ZV9scnVfdGFpbCgmdm0tPmxy dV9idWxrX21vdmUpOwo+ICsJCXNwaW5fdW5sb2NrKCZnbG9iLT5scnVfbG9jayk7Cj4gKwkJcmV0 dXJuOwo+ICsJfQo+ICsKPiArCW1lbXNldCgmdm0tPmxydV9idWxrX21vdmUsIDAsIHNpemVvZih2 bS0+bHJ1X2J1bGtfbW92ZSkpOwo+ICsKPiArCXNwaW5fbG9jaygmZ2xvYi0+bHJ1X2xvY2spOwo+ ICsJbGlzdF9mb3JfZWFjaF9lbnRyeShib19iYXNlLCAmdm0tPmlkbGUsIHZtX3N0YXR1cykgewo+ ICsJCXN0cnVjdCBhbWRncHVfYm8gKmJvID0gYm9fYmFzZS0+Ym87Cj4gKwo+ICsJCWlmICghYm8t PnBhcmVudCkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCXR0bV9ib19tb3ZlX3RvX2xydV90YWls KCZiby0+dGJvLCAmdm0tPmxydV9idWxrX21vdmUpOwo+ICsJCWlmIChiby0+c2hhZG93KQo+ICsJ CQl0dG1fYm9fbW92ZV90b19scnVfdGFpbCgmYm8tPnNoYWRvdy0+dGJvLAo+ICsJCQkJCQkmdm0t PmxydV9idWxrX21vdmUpOwo+ICsJfQo+ICsJc3Bpbl91bmxvY2soJmdsb2ItPmxydV9sb2NrKTsK PiArCj4gKwl2bS0+YnVsa19tb3ZlYWJsZSA9IHRydWU7Cj4gK30KPiArCj4gKy8qKgo+ICAgICog YW1kZ3B1X3ZtX3ZhbGlkYXRlX3B0X2JvcyAtIHZhbGlkYXRlIHRoZSBwYWdlIHRhYmxlIEJPcwo+ ICAgICoKPiAgICAqIEBhZGV2OiBhbWRncHUgZGV2aWNlIHBvaW50ZXIKPiBAQCAtMjg0LDEwICsz MjUsMTEgQEAgaW50IGFtZGdwdV92bV92YWxpZGF0ZV9wdF9ib3Moc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZtLAo+ICAgCQkJICAgICAgaW50ICgqdmFsaWRh dGUpKHZvaWQgKnAsIHN0cnVjdCBhbWRncHVfYm8gKmJvKSwKPiAgIAkJCSAgICAgIHZvaWQgKnBh cmFtKQo+ICAgewo+IC0Jc3RydWN0IHR0bV9ib19nbG9iYWwgKmdsb2IgPSBhZGV2LT5tbWFuLmJk ZXYuZ2xvYjsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X3ZtX2JvX2Jhc2UgKmJvX2Jhc2UsICp0bXA7Cj4g ICAJaW50IHIgPSAwOwo+Cj4gKwl2bS0+YnVsa19tb3ZlYWJsZSAmPSBsaXN0X2VtcHR5KCZ2bS0+ ZXZpY3RlZCk7Cj4gKwo+ICAgCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShib19iYXNlLCB0bXAs ICZ2bS0+ZXZpY3RlZCwgdm1fc3RhdHVzKSB7Cj4gICAJCXN0cnVjdCBhbWRncHVfYm8gKmJvID0g Ym9fYmFzZS0+Ym87Cj4KPiBAQCAtMjk1LDEyICszMzcsNiBAQCBpbnQgYW1kZ3B1X3ZtX3ZhbGlk YXRlX3B0X2JvcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAq dm0sCj4gICAJCQlyID0gdmFsaWRhdGUocGFyYW0sIGJvKTsKPiAgIAkJCWlmIChyKQo+ICAgCQkJ CWJyZWFrOwo+IC0KPiAtCQkJc3Bpbl9sb2NrKCZnbG9iLT5scnVfbG9jayk7Cj4gLQkJCXR0bV9i b19tb3ZlX3RvX2xydV90YWlsKCZiby0+dGJvLCBOVUxMKTsKPiAtCQkJaWYgKGJvLT5zaGFkb3cp Cj4gLQkJCQl0dG1fYm9fbW92ZV90b19scnVfdGFpbCgmYm8tPnNoYWRvdy0+dGJvLCBOVUxMKTsK PiAtCQkJc3Bpbl91bmxvY2soJmdsb2ItPmxydV9sb2NrKTsKPiAgIAkJfQo+Cj4gICAJCWlmIChi by0+dGJvLnR5cGUgIT0gdHRtX2JvX3R5cGVfa2VybmVsKSB7Cj4gQEAgLTMxMiwxOSArMzQ4LDYg QEAgaW50IGFtZGdwdV92bV92YWxpZGF0ZV9wdF9ib3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZtLAo+ICAgCQl9Cj4gICAJfQo+Cj4gLQlzcGluX2xvY2so Jmdsb2ItPmxydV9sb2NrKTsKPiAtCWxpc3RfZm9yX2VhY2hfZW50cnkoYm9fYmFzZSwgJnZtLT5p ZGxlLCB2bV9zdGF0dXMpIHsKPiAtCQlzdHJ1Y3QgYW1kZ3B1X2JvICpibyA9IGJvX2Jhc2UtPmJv Owo+IC0KPiAtCQlpZiAoIWJvLT5wYXJlbnQpCj4gLQkJCWNvbnRpbnVlOwo+IC0KPiAtCQl0dG1f Ym9fbW92ZV90b19scnVfdGFpbCgmYm8tPnRibywgTlVMTCk7Cj4gLQkJaWYgKGJvLT5zaGFkb3cp Cj4gLQkJCXR0bV9ib19tb3ZlX3RvX2xydV90YWlsKCZiby0+c2hhZG93LT50Ym8sIE5VTEwpOwo+ IC0JfQo+IC0Jc3Bpbl91bmxvY2soJmdsb2ItPmxydV9sb2NrKTsKPiAtCj4gICAJcmV0dXJuIHI7 Cj4gICB9Cj4KPiBAQCAtMjU5Niw2ICsyNjE5LDcgQEAgaW50IGFtZGdwdV92bV9pbml0KHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKPiAgIAkJcmV0dXJu IHI7Cj4KPiAgIAl2bS0+cHRlX3N1cHBvcnRfYXRzID0gZmFsc2U7Cj4gKwl2bS0+YnVsa19tb3Zl YWJsZSA9IHRydWU7Cj4KPiAgIAlpZiAodm1fY29udGV4dCA9PSBBTURHUFVfVk1fQ09OVEVYVF9D T01QVVRFKSB7Cj4gICAJCXZtLT51c2VfY3B1X2Zvcl91cGRhdGUgPSAhIShhZGV2LT52bV9tYW5h Z2VyLnZtX3VwZGF0ZV9tb2RlICYKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3ZtLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u aAo+IGluZGV4IDY3YTE1ZDQuLmJiZGRlNDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdm0uaAo+IEBAIC0yOSw2ICsyOSw3IEBACj4gICAjaW5jbHVkZSA8bGludXgvcmJ0 cmVlLmg+Cj4gICAjaW5jbHVkZSA8ZHJtL2dwdV9zY2hlZHVsZXIuaD4KPiAgICNpbmNsdWRlIDxk cm0vZHJtX2ZpbGUuaD4KPiArI2luY2x1ZGUgPGRybS90dG0vdHRtX2JvX2RyaXZlci5oPgo+Cj4g ICAjaW5jbHVkZSAiYW1kZ3B1X3N5bmMuaCIKPiAgICNpbmNsdWRlICJhbWRncHVfcmluZy5oIgo+ IEBAIC0yMjYsNiArMjI3LDExIEBAIHN0cnVjdCBhbWRncHVfdm0gewo+Cj4gICAJLyogU29tZSBi YXNpYyBpbmZvIGFib3V0IHRoZSB0YXNrICovCj4gICAJc3RydWN0IGFtZGdwdV90YXNrX2luZm8g dGFza19pbmZvOwo+ICsKPiArCS8qIFN0b3JlIHBvc2l0aW9ucyBvZiBncm91cCBvZiBCT3MgKi8K PiArCXN0cnVjdCB0dG1fbHJ1X2J1bGtfbW92ZSBscnVfYnVsa19tb3ZlOwo+ICsJLyogbWFyayB3 aGV0aGVyIGNhbiBkbyB0aGUgYnVsayBtb3ZlICovCj4gKwlib29sCQkJYnVsa19tb3ZlYWJsZTsK PiAgIH07Cj4KPiAgIHN0cnVjdCBhbWRncHVfdm1fbWFuYWdlciB7Cj4gQEAgLTMzMCw4ICszMzYs MTEgQEAgYm9vbCBhbWRncHVfdm1fbmVlZF9waXBlbGluZV9zeW5jKHN0cnVjdCBhbWRncHVfcmlu ZyAqcmluZywKPiAgIHZvaWQgYW1kZ3B1X3ZtX2NoZWNrX2NvbXB1dGVfYnVnKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2KTsKPgo+ICAgdm9pZCBhbWRncHVfdm1fZ2V0X3Rhc2tfaW5mbyhzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgaW50IHBhc2lkLAo+IC0JCQkgc3RydWN0 IGFtZGdwdV90YXNrX2luZm8gKnRhc2tfaW5mbyk7Cj4gKwkJCSAgICAgc3RydWN0IGFtZGdwdV90 YXNrX2luZm8gKnRhc2tfaW5mbyk7Cj4KPiAgIHZvaWQgYW1kZ3B1X3ZtX3NldF90YXNrX2luZm8o c3RydWN0IGFtZGdwdV92bSAqdm0pOwo+Cj4gK3ZvaWQgYW1kZ3B1X3ZtX21vdmVfdG9fbHJ1X3Rh aWwoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gKwkJCQlzdHJ1Y3QgYW1kZ3B1X3ZtICp2 bSk7Cj4gKwo+ICAgI2VuZGlmCj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQt Z2Z4Cg==