From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH] drm/i915: Rework FBC schedule locking Date: Wed, 21 Mar 2018 12:37:26 -0700 Message-ID: <1521661046.3150.9.camel@intel.com> References: <20180316150121.18664-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7DC946E04A for ; Wed, 21 Mar 2018 19:37:36 +0000 (UTC) In-Reply-To: <20180316150121.18664-1-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst , intel-gfx@lists.freedesktop.org Cc: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RW0gU2V4LCAyMDE4LTAzLTE2IMOgcyAxNjowMSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3QgZXNj cmV2ZXU6Cj4gSW5zdGVhZCBvZiB0YWtpbmcgZmJjLT5sb2NrIGluc2lkZSB0aGUgd29ya2VyLCBk b24ndCB0YWtlIGFueSBsb2NrCj4gYW5kIGNhbmNlbCB0aGUgd29yayBzeW5jaHJvbm91c2x5IHRv IHByZXZlbnQgcmFjZXMuIFNpbmNlIHRoZSB3b3JrZXIKPiB3YWl0cyBmb3IgYSB2YmxhbmsgYmVm b3JlIGFjdGl2YXRpbmcsIHdha2UgdXAgYWxsIHZibGFuayB3YWl0ZXJzCj4gYWZ0ZXIKPiBzaWdu YWxsaW5nIHRoZSBjYW5jZWwgdGhyb3VnaCB1bnNldHRpbmcgd29yay0+c2NoZWR1bGVkX3ZibGFu ay4gVGhpcwo+IHdpbGwgbWFrZSBzdXJlIHRoYXQgd2UgZG9uJ3Qgd2FpdCB0b28gbG9uZyB3aGVu IGNhbmNlbGxpbmcgdGhlCj4gYWN0aXZhdGlvbi4KPiAKCk9rLCBzbyB0aGlzIHBhdGNoIGNoYW5n ZXMgc3R1ZmYgYW5kIGFib3ZlIGlzIGEgZGVzY3JpcHRpb24gb2Ygd2hhdCBpcwpjaGFuZ2luZywg YnV0IHdoeSBpcyB0aGlzIGRvbmUgYW5kIGhvdyBkb2VzIHRoaXMgc29sdmUgdGhlIGJ1ZwpyZWZl cmVuY2VkPyBXaGF0IGlzIHRoZSByZWFsIHByb2JsZW0gaGVyZT8gUGxlYXNlIGltcHJvdmUgdGhl IGNvbW1pdAptZXNzYWdlOiBpdCBub3Qgb25seSBoZWxwcyBmdXR1cmUgZ2l0IGxvZyByZWFkZXJz LCBidXQgaXQgYWxzbyBoZWxwcwpyZXZpZXdlcnMgbGlrZSBtZSB1bmRlcnN0YW5kIHdoZXJlIHlv dSdyZSB0cnlpbmcgdG8gZ2V0LiBJJ20gbG9zdCBoZXJlLgoKCj4gU2lnbmVkLW9mZi1ieTogTWFh cnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzog UGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gQ2M6IFJvZHJpZ28gVml2 aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVk ZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMTY3Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgIDQgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCAgICAgfCAgMyArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyAg ICB8IDc2ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLQo+IC0tLS0tLS0tLS0KPiAgMyBmaWxl cyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggOThlMTY5NjM2Zjg2Li5jYmY1NTA0ZGUx ODMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0xNjQzLDkgKzE2 NDMsOSBAQCBzdGF0aWMgaW50IGk5MTVfZmJjX3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCj4g dm9pZCAqdW51c2VkKQo+ICAJZWxzZQo+ICAJCXNlcV9wcmludGYobSwgIkZCQyBkaXNhYmxlZDog JXNcbiIsIGZiYy0KPiA+bm9fZmJjX3JlYXNvbik7Cj4gIAo+IC0JaWYgKGZiYy0+d29yay5zY2hl ZHVsZWQpCj4gKwlpZiAod29ya19idXN5KCZmYmMtPndvcmsud29yaykpCj4gIAkJc2VxX3ByaW50 ZihtLCAiRkJDIHdvcmtlciBzY2hlZHVsZWQgb24gdmJsYW5rICVsbHUsCj4gbm93ICVsbHVcbiIs Cj4gLQkJCSAgIGZiYy0+d29yay5zY2hlZHVsZWRfdmJsYW5rLAo+ICsJCQkgICAodTY0KWF0b21p YzY0X3JlYWQoJmZiYy0KPiA+d29yay5zY2hlZHVsZWRfdmJsYW5rKSwKPiAgCQkJICAgZHJtX2Ny dGNfdmJsYW5rX2NvdW50KCZmYmMtPmNydGMtPmJhc2UpKTsKPiAgCj4gIAlpZiAoaW50ZWxfZmJj X2lzX2FjdGl2ZShkZXZfcHJpdikpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4 IDkyNjJjZmI4YWFjMi4uYTdhMWIwNDUzMzIwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gQEAgLTU1OCw4ICs1NTgsNyBAQCBzdHJ1Y3QgaW50ZWxfZmJjIHsKPiAgCX0gcGFyYW1zOwo+ ICAKPiAgCXN0cnVjdCBpbnRlbF9mYmNfd29yayB7Cj4gLQkJYm9vbCBzY2hlZHVsZWQ7Cj4gLQkJ dTY0IHNjaGVkdWxlZF92Ymxhbms7Cj4gKwkJYXRvbWljNjRfdCBzY2hlZHVsZWRfdmJsYW5rOwo+ ICAJCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOwo+ICAJfSB3b3JrOwo+ICAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2ZiYy5jCj4gaW5kZXggNzA3ZDQ5YzEyNjM4Li4yMGQ0NWJjYjZiNmIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYwo+IEBAIC0zNTcsMTAgKzM1Nyw2IEBAIHN0YXRpYyBi b29sIGludGVsX2ZiY19od19pc19hY3RpdmUoc3RydWN0Cj4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gIAo+ICBzdGF0aWMgdm9pZCBpbnRlbF9mYmNfaHdfYWN0aXZhdGUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQlzdHJ1Y3QgaW50ZWxfZmJjICpmYmMg PSAmZGV2X3ByaXYtPmZiYzsKPiAtCj4gLQlmYmMtPmFjdGl2ZSA9IHRydWU7Cj4gLQo+ICAJaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gNykKPiAgCQlnZW43X2ZiY19hY3RpdmF0ZShkZXZfcHJp dik7Cj4gIAllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDUpCj4gQEAgLTQwNywxNiAr NDAzLDEzIEBAIHN0YXRpYyB2b2lkIGludGVsX2ZiY193b3JrX2ZuKHN0cnVjdAo+IHdvcmtfc3Ry dWN0ICpfX3dvcmspCj4gIAlzdHJ1Y3QgaW50ZWxfZmJjX3dvcmsgKndvcmsgPSAmZmJjLT53b3Jr Owo+ICAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSBmYmMtPmNydGM7Cj4gIAlzdHJ1Y3QgZHJt X3ZibGFua19jcnRjICp2YmxhbmsgPSAmZGV2X3ByaXYtPmRybS52YmxhbmtbY3J0Yy0KPiA+cGlw ZV07Cj4gKwl1NjQgdmJsOwo+ICAKPiAgCWlmIChkcm1fY3J0Y192YmxhbmtfZ2V0KCZjcnRjLT5i YXNlKSkgewo+ICAJCS8qIENSVEMgaXMgbm93IG9mZiwgbGVhdmUgRkJDIGRlYWN0aXZhdGVkICov Cj4gLQkJbXV0ZXhfbG9jaygmZmJjLT5sb2NrKTsKPiAtCQl3b3JrLT5zY2hlZHVsZWQgPSBmYWxz ZTsKPiAtCQltdXRleF91bmxvY2soJmZiYy0+bG9jayk7Cj4gIAkJcmV0dXJuOwo+ICAJfQo+ICAK PiAtcmV0cnk6Cj4gIAkvKiBEZWxheSB0aGUgYWN0dWFsIGVuYWJsaW5nIHRvIGxldCBwYWdlZmxp cHBpbmcgY2Vhc2UgYW5kCj4gdGhlCj4gIAkgKiBkaXNwbGF5IHRvIHNldHRsZSBiZWZvcmUgc3Rh cnRpbmcgdGhlIGNvbXByZXNzaW9uLiBOb3RlCj4gdGhhdAo+ICAJICogdGhpcyBkZWxheSBhbHNv IHNlcnZlcyBhIHNlY29uZCBwdXJwb3NlOiBpdCBhbGxvd3MgZm9yIGEKPiBAQCAtNDI1LDM0ICs0 MTgsMzUgQEAgc3RhdGljIHZvaWQgaW50ZWxfZmJjX3dvcmtfZm4oc3RydWN0Cj4gd29ya19zdHJ1 Y3QgKl9fd29yaykKPiAgCSAqCj4gIAkgKiBXYUZiY1dhaXRGb3JWQmxhbmtCZWZvcmVFbmFibGU6 aWxrLHNuYgo+ICAJICoKPiAtCSAqIEl0IGlzIGFsc28gd29ydGggbWVudGlvbmluZyB0aGF0IHNp bmNlIHdvcmstCj4gPnNjaGVkdWxlZF92YmxhbmsgY2FuIGJlCj4gLQkgKiB1cGRhdGVkIG11bHRp cGxlIHRpbWVzIGJ5IHRoZSBvdGhlciB0aHJlYWRzLCBoaXR0aW5nIHRoZQo+IHRpbWVvdXQgaXMK PiAtCSAqIG5vdCBhbiBlcnJvciBjb25kaXRpb24uIFdlJ2xsIGp1c3QgZW5kIHVwIGhpdHRpbmcg dGhlCj4gImdvdG8gcmV0cnkiCj4gLQkgKiBjYXNlIGJlbG93Lgo+ICsJICogVGhpcyBtYXkgYmUg a2lsbGVkIGJ5IHVuc2V0dGluZyBzY2hlZHVsZWRfdmJsYW5rLCBpbgo+IHdoaWNoCj4gKwkgKiBj YXNlIHdlIHJldHVybiBlYXJseSB3aXRob3V0IGFjdGl2YXRpbmcuCj4gIAkgKi8KPiAgCXdhaXRf ZXZlbnRfdGltZW91dCh2YmxhbmstPnF1ZXVlLAo+IC0JCWRybV9jcnRjX3ZibGFua19jb3VudCgm Y3J0Yy0+YmFzZSkgIT0gd29yay0KPiA+c2NoZWR1bGVkX3ZibGFuaywKPiArCQkhKHZibCA9IGF0 b21pYzY0X3JlYWQoJndvcmstPnNjaGVkdWxlZF92YmxhbmspKSB8fAo+IHZibCAhPSBkcm1fY3J0 Y192YmxhbmtfY291bnQoJmNydGMtPmJhc2UpLAo+ICAJCW1zZWNzX3RvX2ppZmZpZXMoNTApKTsK PiAgCj4gLQltdXRleF9sb2NrKCZmYmMtPmxvY2spOwo+ICsJaWYgKHZibCkKPiArCQlpbnRlbF9m YmNfaHdfYWN0aXZhdGUoZGV2X3ByaXYpOwo+ICAKCldlIGNhbid0IGNhbGwgdGhpcyB3aXRob3V0 IGZiYy0+bG9jayBsb2NrZWQuCgoKPiAtCS8qIFdlcmUgd2UgY2FuY2VsbGVkPyAqLwo+IC0JaWYg KCF3b3JrLT5zY2hlZHVsZWQpCj4gLQkJZ290byBvdXQ7Cj4gKwlkcm1fY3J0Y192YmxhbmtfcHV0 KCZjcnRjLT5iYXNlKTsKPiArfQo+ICAKPiAtCS8qIFdlcmUgd2UgZGVsYXllZCBhZ2FpbiB3aGls ZSB0aGlzIGZ1bmN0aW9uIHdhcyBzbGVlcGluZz8KPiAqLwo+IC0JaWYgKGRybV9jcnRjX3ZibGFu a19jb3VudCgmY3J0Yy0+YmFzZSkgPT0gd29yay0KPiA+c2NoZWR1bGVkX3ZibGFuaykgewo+IC0J CW11dGV4X3VubG9jaygmZmJjLT5sb2NrKTsKPiAtCQlnb3RvIHJldHJ5Owo+IC0JfQo+ICtzdGF0 aWMgdm9pZCBpbnRlbF9mYmNfY2FuY2VsX2FjdGl2YXRpb24oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUKPiAqZGV2X3ByaXYpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9mYmMgKmZiYyA9ICZkZXZfcHJp di0+ZmJjOwo+ICsJc3RydWN0IGludGVsX2NydGMgKmNydGM7Cj4gKwlzdHJ1Y3QgZHJtX3ZibGFu a19jcnRjICp2Ymxhbms7Cj4gIAo+IC0JaW50ZWxfZmJjX2h3X2FjdGl2YXRlKGRldl9wcml2KTsK PiArCWlmICghZmJjLT5hY3RpdmUpCj4gKwkJcmV0dXJuOwo+ICAKPiAtCXdvcmstPnNjaGVkdWxl ZCA9IGZhbHNlOwo+ICsJY3J0YyA9IGZiYy0+Y3J0YzsKPiArCXZibGFuayA9ICZkZXZfcHJpdi0+ ZHJtLnZibGFua1tjcnRjLT5waXBlXTsKPiAgCj4gLW91dDoKPiAtCW11dGV4X3VubG9jaygmZmJj LT5sb2NrKTsKPiAtCWRybV9jcnRjX3ZibGFua19wdXQoJmNydGMtPmJhc2UpOwo+ICsJLyogS2ls bCBGQkMgd29ya2VyIGlmIGl0J3Mgd2FpdGluZyAqLwo+ICsJYXRvbWljNjRfc2V0KCZmYmMtPndv cmsuc2NoZWR1bGVkX3ZibGFuaywgMCk7CgpJc24ndCAwIGFuIGFjdHVhbCB2YWxpZCB2Ymxhbmsg dmFsdWUgaW4gY2FzZSB3ZSBnZXQgZW5vdWdoIHZibGFua3MgdG8Kd3JhcCBvdXIgY291bnRlcnM/ CgoKPiArCXdha2VfdXBfYWxsKCZ2YmxhbmstPnF1ZXVlKTsKPiArCWNhbmNlbF93b3JrX3N5bmMo JmZiYy0+d29yay53b3JrKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaW50ZWxfZmJjX3NjaGVk dWxlX2FjdGl2YXRpb24oc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gQEAgLTQ3MSwxMiArNDY1 LDEwIEBAIHN0YXRpYyB2b2lkCj4gaW50ZWxfZmJjX3NjaGVkdWxlX2FjdGl2YXRpb24oc3RydWN0 IGludGVsX2NydGMgKmNydGMpCj4gIAkJcmV0dXJuOwo+ICAJfQo+ICAKPiAtCS8qIEl0IGlzIHVz ZWxlc3MgdG8gY2FsbCBpbnRlbF9mYmNfY2FuY2VsX3dvcmsoKSBvcgo+IGNhbmNlbF93b3JrKCkg aW4KPiAtCSAqIHRoaXMgZnVuY3Rpb24gc2luY2Ugd2UncmUgbm90IHJlbGVhc2luZyBmYmMubG9j aywgc28gaXQKPiB3b24ndCBoYXZlIGFuCj4gLQkgKiBvcHBvcnR1bml0eSB0byBncmFiIGl0IHRv IGRpc2NvdmVyIHRoYXQgaXQgd2FzIGNhbmNlbGxlZC4KPiBTbyB3ZSBqdXN0Cj4gLQkgKiB1cGRh dGUgdGhlIGV4cGVjdGVkIGppZmZ5IGNvdW50LiAqLwo+IC0Jd29yay0+c2NoZWR1bGVkID0gdHJ1 ZTsKPiAtCXdvcmstPnNjaGVkdWxlZF92YmxhbmsgPSBkcm1fY3J0Y192YmxhbmtfY291bnQoJmNy dGMtPmJhc2UpOwo+ICsJaW50ZWxfZmJjX2NhbmNlbF9hY3RpdmF0aW9uKGRldl9wcml2KTsKPiAr CWZiYy0+YWN0aXZlID0gdHJ1ZTsKPiArCj4gKwlhdG9taWM2NF9zZXQoJndvcmstPnNjaGVkdWxl ZF92YmxhbmssCj4gZHJtX2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KCZjcnRjLT5iYXNlKSk7 Cj4gIAlkcm1fY3J0Y192YmxhbmtfcHV0KCZjcnRjLT5iYXNlKTsKPiAgCj4gIAlzY2hlZHVsZV93 b3JrKCZ3b3JrLT53b3JrKTsKPiBAQCAtNDg5LDEzICs0ODEsMTEgQEAgc3RhdGljIHZvaWQgaW50 ZWxfZmJjX2RlYWN0aXZhdGUoc3RydWN0Cj4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g IAo+ICAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZmYmMtPmxvY2spKTsKPiAgCj4gLQkvKiBD YWxsaW5nIGNhbmNlbF93b3JrKCkgaGVyZSB3b24ndCBoZWxwIGR1ZSB0byB0aGUgZmFjdAo+IHRo YXQgdGhlIHdvcmsKPiAtCSAqIGZ1bmN0aW9uIGdyYWJzIGZiYy0+bG9jay4gSnVzdCBzZXQgc2No ZWR1bGVkIHRvIGZhbHNlIHNvCj4gdGhlIHdvcmsKPiAtCSAqIGZ1bmN0aW9uIGNhbiBrbm93IGl0 IHdhcyBjYW5jZWxsZWQuICovCj4gLQlmYmMtPndvcmsuc2NoZWR1bGVkID0gZmFsc2U7Cj4gKwlp ZiAoZmJjLT5hY3RpdmUpIHsKPiArCQlpbnRlbF9mYmNfY2FuY2VsX2FjdGl2YXRpb24oZGV2X3By aXYpOwo+ICAKPiAtCWlmIChmYmMtPmFjdGl2ZSkKPiAgCQlpbnRlbF9mYmNfaHdfZGVhY3RpdmF0 ZShkZXZfcHJpdik7Cj4gKwl9Cj4gIAo+ICAJZmJjLT5ub19mYmNfcmVhc29uID0gcmVhc29uOwo+ ICB9Cj4gQEAgLTEyMjIsMTEgKzEyMTIsMTEgQEAgdm9pZCBpbnRlbF9mYmNfZGlzYWJsZShzdHJ1 Y3QgaW50ZWxfY3J0Ywo+ICpjcnRjKQo+ICAJV0FSTl9PTihjcnRjLT5hY3RpdmUpOwo+ICAKPiAg CW11dGV4X2xvY2soJmZiYy0+bG9jayk7Cj4gKwlpbnRlbF9mYmNfY2FuY2VsX2FjdGl2YXRpb24o ZGV2X3ByaXYpOwo+ICsKPiAgCWlmIChmYmMtPmNydGMgPT0gY3J0YykKPiAgCQlfX2ludGVsX2Zi Y19kaXNhYmxlKGRldl9wcml2KTsKPiAgCW11dGV4X3VubG9jaygmZmJjLT5sb2NrKTsKPiAtCj4g LQljYW5jZWxfd29ya19zeW5jKCZmYmMtPndvcmsud29yayk7Cj4gIH0KPiAgCj4gIC8qKgo+IEBA IC0xMjQzLDEzICsxMjMzLDEzIEBAIHZvaWQgaW50ZWxfZmJjX2dsb2JhbF9kaXNhYmxlKHN0cnVj dAo+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCXJldHVybjsKPiAgCj4gIAltdXRl eF9sb2NrKCZmYmMtPmxvY2spOwo+ICsJaW50ZWxfZmJjX2NhbmNlbF9hY3RpdmF0aW9uKGRldl9w cml2KTsKPiArCj4gIAlpZiAoZmJjLT5lbmFibGVkKSB7Cj4gIAkJV0FSTl9PTihmYmMtPmNydGMt PmFjdGl2ZSk7Cj4gIAkJX19pbnRlbF9mYmNfZGlzYWJsZShkZXZfcHJpdik7Cj4gIAl9Cj4gIAlt dXRleF91bmxvY2soJmZiYy0+bG9jayk7Cj4gLQo+IC0JY2FuY2VsX3dvcmtfc3luYygmZmJjLT53 b3JrLndvcmspOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBpbnRlbF9mYmNfdW5kZXJydW5fd29y a19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gQEAgLTEzNzMsMTEgKzEzNjMsMTEgQEAg dm9pZCBpbnRlbF9mYmNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ICpkZXZfcHJpdikK PiAgCXN0cnVjdCBpbnRlbF9mYmMgKmZiYyA9ICZkZXZfcHJpdi0+ZmJjOwo+ICAKPiAgCUlOSVRf V09SSygmZmJjLT53b3JrLndvcmssIGludGVsX2ZiY193b3JrX2ZuKTsKPiArCWF0b21pYzY0X3Nl dCgmZmJjLT53b3JrLnNjaGVkdWxlZF92YmxhbmssIDApOwo+ICAJSU5JVF9XT1JLKCZmYmMtPnVu ZGVycnVuX3dvcmssIGludGVsX2ZiY191bmRlcnJ1bl93b3JrX2ZuKTsKPiAgCW11dGV4X2luaXQo JmZiYy0+bG9jayk7Cj4gIAlmYmMtPmVuYWJsZWQgPSBmYWxzZTsKPiAgCWZiYy0+YWN0aXZlID0g ZmFsc2U7Cj4gLQlmYmMtPndvcmsuc2NoZWR1bGVkID0gZmFsc2U7Cj4gIAo+ICAJaWYgKG5lZWRf ZmJjX3Z0ZF93YShkZXZfcHJpdikpCj4gIAkJbWt3cml0ZV9kZXZpY2VfaW5mbyhkZXZfcHJpdikt Pmhhc19mYmMgPSBmYWxzZTsKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==