From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhoucm1 Subject: Re: [PATCH 2/2] drm/amdgpu: bind GTT on demand Date: Tue, 6 Sep 2016 17:53:36 +0800 Message-ID: <57CE9220.8060403@amd.com> References: <1473154866-2448-1-git-send-email-deathsimple@vodafone.de> <1473154866-2448-2-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1473154866-2448-2-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@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: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org CgpPbiAyMDE25bm0MDnmnIgwNuaXpSAxNzo0MSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiBG cm9tOiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4KPiBXZSBk b24ndCByZWFsbHkgbmVlZCB0aGUgR1RUIHRhYmxlIGFueSBtb3JlIG1vc3Qgb2YgdGhlIHRpbWUu CldoeT8gSSB0aG91Z2h0IEdUVCBibyBpcyBhbHdheXMgbmVlZGVkIHRvIGJlIGJvdW5kIHdoZW4g R1BVIGlzIHRyeWluZyB0byAKYWNjZXNzIGl0LCBkb2Vzbid0IGl0PwoKUmVnYXJkcywKRGF2aWQg WmhvdQo+ICAgU28gYmluZCBpdAo+IG9ubHkgb24gZGVtYW5kLgo+Cj4gU2lnbmVkLW9mZi1ieTog Q2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+IC0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAgICAgIHwgIDEgKwo+ICAgZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgICAgIHwgMzQgKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2Jq ZWN0LmMgfCAgNyArKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90 dG0uYyAgICB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmggICAgfCAgMyArKysKPiAgIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYyAgICB8ICA0ICsrKysKPiAgIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y2UuYyAgICB8ICA2ICsrKysrLQo+ICAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgICAgIHwgIDMgKystCj4gICA4IGZpbGVzIGNo YW5nZWQsIDg0IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHUuaAo+IGluZGV4IDlkMzlmYTguLjI4ZDRhNjcgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+IEBAIC0yNTIxLDYgKzI1MjEsNyBAQCBzdGF0aWMgaW5s aW5lIHZvaWQgYW1kZ3B1X2FjcGlfZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikgeyB9 Cj4gICBzdHJ1Y3QgYW1kZ3B1X2JvX3ZhX21hcHBpbmcgKgo+ICAgYW1kZ3B1X2NzX2ZpbmRfbWFw cGluZyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcGFyc2VyLAo+ICAgCQkgICAgICAgdWludDY0 X3QgYWRkciwgc3RydWN0IGFtZGdwdV9ibyAqKmJvKTsKPiAraW50IGFtZGdwdV9jc19zeXN2bV9h Y2Nlc3NfcmVxdWlyZWQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnBhcnNlcik7Cj4gICAKPiAg ICNpZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RBTCkKPiAgIGludCBhbWRncHVfZG1fZGlzcGxh eV9yZXN1bWUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgKTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfY3MuYwo+IGluZGV4IDIwYTE5NjIuLmUwNjk5NzggMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+IEBAIC02NDAsOCArNjQwLDEyIEBAIHN0 YXRpYyBpbnQgYW1kZ3B1X2NzX3BhcnNlcl9ib3Moc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAs Cj4gICAJCX0KPiAgIAl9Cj4gICAKPiAtCWlmIChwLT51Zl9lbnRyeS5yb2JqKQo+IC0JCXAtPmpv Yi0+dWZfYWRkciArPSBhbWRncHVfYm9fZ3B1X29mZnNldChwLT51Zl9lbnRyeS5yb2JqKTsKPiAr CWlmICghciAmJiBwLT51Zl9lbnRyeS5yb2JqKSB7Cj4gKwkJc3RydWN0IGFtZGdwdV9ibyAqdWYg PSBwLT51Zl9lbnRyeS5yb2JqOwo+ICsKPiArCQlyID0gYW1kZ3B1X3R0bV9iaW5kKHVmLT50Ym8u dHRtLCAmdWYtPnRiby5tZW0pOwo+ICsJCXAtPmpvYi0+dWZfYWRkciArPSBhbWRncHVfYm9fZ3B1 X29mZnNldCh1Zik7Cj4gKwl9Cj4gICAKPiAgIGVycm9yX3ZhbGlkYXRlOgo+ICAgCWlmIChyKSB7 Cj4gQEAgLTExNTYsMyArMTE2MCwyOSBAQCBhbWRncHVfY3NfZmluZF9tYXBwaW5nKHN0cnVjdCBh bWRncHVfY3NfcGFyc2VyICpwYXJzZXIsCj4gICAKPiAgIAlyZXR1cm4gTlVMTDsKPiAgIH0KPiAr Cj4gKy8qKgo+ICsgKiBhbWRncHVfY3Nfc3lzdm1fYWNjZXNzX3JlcXVpcmVkIC0gbWFrZSBCT3Mg YWNjZXNzaWJsZSBieSB0aGUgc3lzdGVtIFZNCj4gKyAqCj4gKyAqIEBwYXJzZXI6IGNvbW1hbmQg c3VibWlzc2lvbiBwYXJzZXIgY29udGV4dAo+ICsgKgo+ICsgKiBIZWxwZXIgZm9yIFVWRC9WQ0Ug Vk0gZW11bGF0aW9uLCBtYWtlIHN1cmUgQk9zIGFyZSBhY2Nlc3NpYmxlIGJ5IHRoZSBzeXN0ZW0g Vk0uCj4gKyAqLwo+ICtpbnQgYW1kZ3B1X2NzX3N5c3ZtX2FjY2Vzc19yZXF1aXJlZChzdHJ1Y3Qg YW1kZ3B1X2NzX3BhcnNlciAqcGFyc2VyKQo+ICt7Cj4gKwl1bnNpZ25lZCBpOwo+ICsJaW50IHI7 Cj4gKwo+ICsJaWYgKCFwYXJzZXItPmJvX2xpc3QpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJZm9y IChpID0gMDsgaSA8IHBhcnNlci0+Ym9fbGlzdC0+bnVtX2VudHJpZXM7IGkrKykgewo+ICsJCXN0 cnVjdCBhbWRncHVfYm8gKmJvID0gcGFyc2VyLT5ib19saXN0LT5hcnJheVtpXS5yb2JqOwo+ICsK PiArCQlyID0gYW1kZ3B1X3R0bV9iaW5kKGJvLT50Ym8udHRtLCAmYm8tPnRiby5tZW0pOwo+ICsJ CWlmICh1bmxpa2VseShyKSkKPiArCQkJcmV0dXJuIHI7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7 Cj4gK30KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29i amVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCj4gaW5k ZXggYjE3NzM0ZS4uZGM3M2YxMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfb2JqZWN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfb2JqZWN0LmMKPiBAQCAtNjQ2LDYgKzY0NiwxMSBAQCBpbnQgYW1kZ3B1X2JvX3Bpbl9y ZXN0cmljdGVkKHN0cnVjdCBhbWRncHVfYm8gKmJvLCB1MzIgZG9tYWluLAo+ICAgCQlkZXZfZXJy KGJvLT5hZGV2LT5kZXYsICIlcCBwaW4gZmFpbGVkXG4iLCBibyk7Cj4gICAJCWdvdG8gZXJyb3I7 Cj4gICAJfQo+ICsJciA9IGFtZGdwdV90dG1fYmluZChiby0+dGJvLnR0bSwgJmJvLT50Ym8ubWVt KTsKPiArCWlmICh1bmxpa2VseShyKSkgewo+ICsJCWRldl9lcnIoYm8tPmFkZXYtPmRldiwgIiVw IGJpbmQgZmFpbGVkXG4iLCBibyk7Cj4gKwkJZ290byBlcnJvcjsKPiArCX0KPiAgIAo+ICAgCWJv LT5waW5fY291bnQgPSAxOwo+ICAgCWlmIChncHVfYWRkciAhPSBOVUxMKQo+IEBAIC05MTgsNiAr OTIzLDggQEAgdm9pZCBhbWRncHVfYm9fZmVuY2Uoc3RydWN0IGFtZGdwdV9ibyAqYm8sIHN0cnVj dCBmZW5jZSAqZmVuY2UsCj4gICB1NjQgYW1kZ3B1X2JvX2dwdV9vZmZzZXQoc3RydWN0IGFtZGdw dV9ibyAqYm8pCj4gICB7Cj4gICAJV0FSTl9PTl9PTkNFKGJvLT50Ym8ubWVtLm1lbV90eXBlID09 IFRUTV9QTF9TWVNURU0pOwo+ICsJV0FSTl9PTl9PTkNFKGJvLT50Ym8ubWVtLm1lbV90eXBlID09 IFRUTV9QTF9UVCAmJgo+ICsJCSAgICAgIWFtZGdwdV90dG1faXNfYm91bmQoYm8tPnRiby50dG0p KTsKPiAgIAlXQVJOX09OX09OQ0UoIXd3X211dGV4X2lzX2xvY2tlZCgmYm8tPnRiby5yZXN2LT5s b2NrKSAmJgo+ICAgCQkgICAgICFiby0+cGluX2NvdW50KTsKPiAgIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKPiBpbmRleCA0MzM3YjNhLi5jMjk0YWE5IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwo+IEBAIC0yNTYsOCArMjU2LDEy IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X21vdmVfYmxpdChzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3Qg KmJvLAo+ICAgCW5ld19zdGFydCA9ICh1NjQpbmV3X21lbS0+c3RhcnQgPDwgUEFHRV9TSElGVDsK PiAgIAo+ICAgCXN3aXRjaCAob2xkX21lbS0+bWVtX3R5cGUpIHsKPiAtCWNhc2UgVFRNX1BMX1ZS QU06Cj4gICAJY2FzZSBUVE1fUExfVFQ6Cj4gKwkJciA9IGFtZGdwdV90dG1fYmluZChiby0+dHRt LCBvbGRfbWVtKTsKPiArCQlpZiAocikKPiArCQkJcmV0dXJuIHI7Cj4gKwo+ICsJY2FzZSBUVE1f UExfVlJBTToKPiAgIAkJb2xkX3N0YXJ0ICs9IGJvLT5iZGV2LT5tYW5bb2xkX21lbS0+bWVtX3R5 cGVdLmdwdV9vZmZzZXQ7Cj4gICAJCWJyZWFrOwo+ICAgCWRlZmF1bHQ6Cj4gQEAgLTI2NSw4ICsy NjksMTIgQEAgc3RhdGljIGludCBhbWRncHVfbW92ZV9ibGl0KHN0cnVjdCB0dG1fYnVmZmVyX29i amVjdCAqYm8sCj4gICAJCXJldHVybiAtRUlOVkFMOwo+ICAgCX0KPiAgIAlzd2l0Y2ggKG5ld19t ZW0tPm1lbV90eXBlKSB7Cj4gLQljYXNlIFRUTV9QTF9WUkFNOgo+ICAgCWNhc2UgVFRNX1BMX1RU Ogo+ICsJCXIgPSBhbWRncHVfdHRtX2JpbmQoYm8tPnR0bSwgbmV3X21lbSk7Cj4gKwkJaWYgKHIp Cj4gKwkJCXJldHVybiByOwo+ICsKPiArCWNhc2UgVFRNX1BMX1ZSQU06Cj4gICAJCW5ld19zdGFy dCArPSBiby0+YmRldi0+bWFuW25ld19tZW0tPm1lbV90eXBlXS5ncHVfb2Zmc2V0Owo+ICAgCQli cmVhazsKPiAgIAlkZWZhdWx0Ogo+IEBAIC02MzksNyArNjQ3LDYgQEAgc3RhdGljIGludCBhbWRn cHVfdHRtX2JhY2tlbmRfYmluZChzdHJ1Y3QgdHRtX3R0ICp0dG0sCj4gICAJCQkJICAgc3RydWN0 IHR0bV9tZW1fcmVnICpib19tZW0pCj4gICB7Cj4gICAJc3RydWN0IGFtZGdwdV90dG1fdHQgKmd0 dCA9ICh2b2lkKil0dG07Cj4gLQl1aW50MzJfdCBmbGFncyA9IGFtZGdwdV90dG1fdHRfcHRlX2Zs YWdzKGd0dC0+YWRldiwgdHRtLCBib19tZW0pOwo+ICAgCWludCByOwo+ICAgCj4gICAJaWYgKGd0 dC0+dXNlcnB0cikgewo+IEBAIC02NjAsNiArNjY3LDI2IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3R0 bV9iYWNrZW5kX2JpbmQoc3RydWN0IHR0bV90dCAqdHRtLAo+ICAgCSAgICBib19tZW0tPm1lbV90 eXBlID09IEFNREdQVV9QTF9PQSkKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAKPiArCXJldHVy biAwOwo+ICt9Cj4gKwo+ICtib29sIGFtZGdwdV90dG1faXNfYm91bmQoc3RydWN0IHR0bV90dCAq dHRtKQo+ICt7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X3R0bV90dCAqZ3R0ID0gKHZvaWQgKil0dG07Cj4g Kwo+ICsJcmV0dXJuIGd0dCAmJiAhbGlzdF9lbXB0eSgmZ3R0LT5saXN0KTsKPiArfQo+ICsKPiAr aW50IGFtZGdwdV90dG1fYmluZChzdHJ1Y3QgdHRtX3R0ICp0dG0sIHN0cnVjdCB0dG1fbWVtX3Jl ZyAqYm9fbWVtKQo+ICt7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X3R0bV90dCAqZ3R0ID0gKHZvaWQgKil0 dG07Cj4gKwl1aW50MzJfdCBmbGFnczsKPiArCWludCByOwo+ICsKPiArCWlmICghdHRtIHx8IGFt ZGdwdV90dG1faXNfYm91bmQodHRtKSkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlmbGFncyA9IGFt ZGdwdV90dG1fdHRfcHRlX2ZsYWdzKGd0dC0+YWRldiwgdHRtLCBib19tZW0pOwo+ICAgCXIgPSBh bWRncHVfZ2FydF9iaW5kKGd0dC0+YWRldiwgZ3R0LT5vZmZzZXQsIHR0bS0+bnVtX3BhZ2VzLAo+ ICAgCQl0dG0tPnBhZ2VzLCBndHQtPnR0bS5kbWFfYWRkcmVzcywgZmxhZ3MpOwo+ICAgCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uaCBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uaAo+IGluZGV4IDcyZjZiZmMuLjIxNGJh ZTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5oCj4gQEAgLTc3 LDQgKzc3LDcgQEAgaW50IGFtZGdwdV9maWxsX2J1ZmZlcihzdHJ1Y3QgYW1kZ3B1X2JvICpibywK PiAgIAkJCXN0cnVjdCBmZW5jZSAqKmZlbmNlKTsKPiAgIAo+ICAgaW50IGFtZGdwdV9tbWFwKHN0 cnVjdCBmaWxlICpmaWxwLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7Cj4gK2Jvb2wgYW1k Z3B1X3R0bV9pc19ib3VuZChzdHJ1Y3QgdHRtX3R0ICp0dG0pOwo+ICtpbnQgYW1kZ3B1X3R0bV9i aW5kKHN0cnVjdCB0dG1fdHQgKnR0bSwgc3RydWN0IHR0bV9tZW1fcmVnICpib19tZW0pOwo+ICsK PiAgICNlbmRpZgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdXZkLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdXZkLmMKPiBpbmRl eCA1ODg4ZThhLi5mYWI3YmIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV91dmQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV91dmQuYwo+IEBAIC04OTEsNiArODkxLDEwIEBAIGludCBhbWRncHVfdXZkX3JpbmdfcGFyc2Vf Y3Moc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnBhcnNlciwgdWludDMyX3QgaWJfaWR4KQo+ICAg CQlyZXR1cm4gLUVJTlZBTDsKPiAgIAl9Cj4gICAKPiArCXIgPSBhbWRncHVfY3Nfc3lzdm1fYWNj ZXNzX3JlcXVpcmVkKHBhcnNlcik7Cj4gKwlpZiAocikKPiArCQlyZXR1cm4gcjsKPiArCj4gICAJ Y3R4LnBhcnNlciA9IHBhcnNlcjsKPiAgIAljdHguYnVmX3NpemVzID0gYnVmX3NpemVzOwo+ICAg CWN0eC5pYl9pZHggPSBpYl9pZHg7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV92Y2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92 Y2UuYwo+IGluZGV4IDliNzFkNmMuLmIwYzY3MDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZjZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3ZjZS5jCj4gQEAgLTYzNCw3ICs2MzQsMTEgQEAgaW50IGFtZGdwdV92Y2Vf cmluZ19wYXJzZV9jcyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwgdWludDMyX3QgaWJfaWR4 KQo+ICAgCXVpbnQzMl90IGFsbG9jYXRlZCA9IDA7Cj4gICAJdWludDMyX3QgdG1wLCBoYW5kbGUg PSAwOwo+ICAgCXVpbnQzMl90ICpzaXplID0gJnRtcDsKPiAtCWludCBpLCByID0gMCwgaWR4ID0g MDsKPiArCWludCBpLCByLCBpZHggPSAwOwo+ICsKPiArCXIgPSBhbWRncHVfY3Nfc3lzdm1fYWNj ZXNzX3JlcXVpcmVkKHApOwo+ICsJaWYgKHIpCj4gKwkJcmV0dXJuIHI7Cj4gICAKPiAgIAl3aGls ZSAoaWR4IDwgaWItPmxlbmd0aF9kdykgewo+ICAgCQl1aW50MzJfdCBsZW4gPSBhbWRncHVfZ2V0 X2liX3ZhbHVlKHAsIGliX2lkeCwgaWR4KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdm0uYwo+IGluZGV4IDc2NjBmODIuLmE1NDlhYmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdm0uYwo+IEBAIC0xMTYyLDcgKzExNjIsOCBAQCBpbnQgYW1kZ3B1X3Zt X2JvX3VwZGF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIAl9Cj4gICAKPiAgIAlm bGFncyA9IGFtZGdwdV90dG1fdHRfcHRlX2ZsYWdzKGFkZXYsIGJvX3ZhLT5iby0+dGJvLnR0bSwg bWVtKTsKPiAtCWd0dF9mbGFncyA9IChhZGV2ID09IGJvX3ZhLT5iby0+YWRldikgPyBmbGFncyA6 IDA7Cj4gKwlndHRfZmxhZ3MgPSAoYW1kZ3B1X3R0bV9pc19ib3VuZChib192YS0+Ym8tPnRiby50 dG0pICYmCj4gKwkJYWRldiA9PSBib192YS0+Ym8tPmFkZXYpID8gZmxhZ3MgOiAwOwo+ICAgCj4g ICAJc3Bpbl9sb2NrKCZ2bS0+c3RhdHVzX2xvY2spOwo+ICAgCWlmICghbGlzdF9lbXB0eSgmYm9f dmEtPnZtX3N0YXR1cykpCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK