From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH] drm/i915: Rework FBC schedule locking Date: Wed, 21 Mar 2018 10:55:33 -0700 Message-ID: <20180321175533.GQ4616@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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 933576E964 for ; Wed, 21 Mar 2018 17:55:35 +0000 (UTC) Content-Disposition: inline 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 Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBNYXIgMTYsIDIwMTggYXQgMDQ6MDE6MjFQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gSW5zdGVhZCBvZiB0YWtpbmcgZmJjLT5sb2NrIGluc2lkZSB0aGUgd29ya2Vy LCBkb24ndCB0YWtlIGFueSBsb2NrCj4gYW5kIGNhbmNlbCB0aGUgd29yayBzeW5jaHJvbm91c2x5 IHRvIHByZXZlbnQgcmFjZXMuIFNpbmNlIHRoZSB3b3JrZXIKPiB3YWl0cyBmb3IgYSB2Ymxhbmsg YmVmb3JlIGFjdGl2YXRpbmcsIHdha2UgdXAgYWxsIHZibGFuayB3YWl0ZXJzIGFmdGVyCj4gc2ln bmFsbGluZyB0aGUgY2FuY2VsIHRocm91Z2ggdW5zZXR0aW5nIHdvcmstPnNjaGVkdWxlZF92Ymxh bmsuIFRoaXMKPiB3aWxsIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHdhaXQgdG9vIGxvbmcgd2hl biBjYW5jZWxsaW5nIHRoZSBhY3RpdmF0aW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4g TGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IFBhdWxv IFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+IENjOiBSb2RyaWdvIFZpdmkgPHJv ZHJpZ28udml2aUBpbnRlbC5jb20+CgpPdmVyYWxsIEknbSBub3QgY29tZm9ydGFibGUgd2l0aCBy ZW1vdmluZyB0aGUgbG9ja3Mgb24gZmJjIGFjdGl2YXRlCnNvIEkgd291bGQgZGVmZmVyIHRoaXMg dG8gUGF1bG8uCgpBbHNvIG15IG93biBleHBlcmllbmNlIHdpdGggYXRvbWljIHZhcmlhYmxlcyBh bmQgdmJsYW5rIGNvdW50ZXJzCndlcmVuJ3QgdmVyeSBwb3NpdGl2ZSBvbiBwc3IrZG1jIGNhc2Uu IEkgYWx3YXlzIGVuZCB1cCBmaW5kaW5nCmEgY29ybmVyIGNhc2UgOigKCmFueXdheXMgZmV3IGR1 bW15IHF1ZXN0aW9ucyBiZWxvdy4uLgoKPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNr dG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMTY3Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jIHwgIDQgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaCAgICAgfCAgMyArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyAgICB8 IDc2ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMyBmaWxlcyBjaGFu Z2VkLCAzNiBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IDk4ZTE2OTYzNmY4Ni4uY2JmNTUwNGRlMTgzIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtMTY0Myw5ICsxNjQzLDkgQEAg c3RhdGljIGludCBpOTE1X2ZiY19zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVz ZWQpCj4gIAllbHNlCj4gIAkJc2VxX3ByaW50ZihtLCAiRkJDIGRpc2FibGVkOiAlc1xuIiwgZmJj LT5ub19mYmNfcmVhc29uKTsKPiAgCj4gLQlpZiAoZmJjLT53b3JrLnNjaGVkdWxlZCkKPiArCWlm ICh3b3JrX2J1c3koJmZiYy0+d29yay53b3JrKSkKPiAgCQlzZXFfcHJpbnRmKG0sICJGQkMgd29y a2VyIHNjaGVkdWxlZCBvbiB2YmxhbmsgJWxsdSwgbm93ICVsbHVcbiIsCj4gLQkJCSAgIGZiYy0+ d29yay5zY2hlZHVsZWRfdmJsYW5rLAo+ICsJCQkgICAodTY0KWF0b21pYzY0X3JlYWQoJmZiYy0+ d29yay5zY2hlZHVsZWRfdmJsYW5rKSwKPiAgCQkJICAgZHJtX2NydGNfdmJsYW5rX2NvdW50KCZm YmMtPmNydGMtPmJhc2UpKTsKPiAgCj4gIAlpZiAoaW50ZWxfZmJjX2lzX2FjdGl2ZShkZXZfcHJp dikpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCA5MjYyY2ZiOGFhYzIuLmE3YTFi MDQ1MzMyMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC01NTgsOCArNTU4LDcg QEAgc3RydWN0IGludGVsX2ZiYyB7Cj4gIAl9IHBhcmFtczsKPiAgCj4gIAlzdHJ1Y3QgaW50ZWxf ZmJjX3dvcmsgewo+IC0JCWJvb2wgc2NoZWR1bGVkOwo+IC0JCXU2NCBzY2hlZHVsZWRfdmJsYW5r Owo+ICsJCWF0b21pYzY0X3Qgc2NoZWR1bGVkX3ZibGFuazsKCldoeSBGQkMgaXMgc28gdGllZCB3 aXRoIHZibGFua3M/Cgo+ICAJCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOwo+ICAJfSB3b3JrOwo+ ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYwo+IGluZGV4IDcwN2Q0OWMxMjYzOC4uMjBkNDVi Y2I2YjZiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiBAQCAtMzU3LDEwICszNTcs NiBAQCBzdGF0aWMgYm9vbCBpbnRlbF9mYmNfaHdfaXNfYWN0aXZlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKPiAgCj4gIHN0YXRpYyB2b2lkIGludGVsX2ZiY19od19hY3RpdmF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAtCXN0cnVjdCBpbnRl bF9mYmMgKmZiYyA9ICZkZXZfcHJpdi0+ZmJjOwo+IC0KPiAtCWZiYy0+YWN0aXZlID0gdHJ1ZTsK PiAtCj4gIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA3KQo+ICAJCWdlbjdfZmJjX2FjdGl2 YXRlKGRldl9wcml2KTsKPiAgCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNSkKPiBA QCAtNDA3LDE2ICs0MDMsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxfZmJjX3dvcmtfZm4oc3RydWN0 IHdvcmtfc3RydWN0ICpfX3dvcmspCj4gIAlzdHJ1Y3QgaW50ZWxfZmJjX3dvcmsgKndvcmsgPSAm ZmJjLT53b3JrOwo+ICAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSBmYmMtPmNydGM7Cj4gIAlz dHJ1Y3QgZHJtX3ZibGFua19jcnRjICp2YmxhbmsgPSAmZGV2X3ByaXYtPmRybS52YmxhbmtbY3J0 Yy0+cGlwZV07Cj4gKwl1NjQgdmJsOwoKc2hvdWxkIHdlIHVzZSBzb21ldGhpbmcgbW9yZSBkZXNj cmlwdGl2ZSBoZXJlCmxpa2UgdmJsX2NvdW50ZXIgaW5zdGVhZCBvZiAidmJsIiB2YXJpYWJsZSBy aWdodCBiZWZvcmUgInZibGFuayIgb25lLgoKPiAgCj4gIAlpZiAoZHJtX2NydGNfdmJsYW5rX2dl dCgmY3J0Yy0+YmFzZSkpIHsKPiAgCQkvKiBDUlRDIGlzIG5vdyBvZmYsIGxlYXZlIEZCQyBkZWFj dGl2YXRlZCAqLwo+IC0JCW11dGV4X2xvY2soJmZiYy0+bG9jayk7Cj4gLQkJd29yay0+c2NoZWR1 bGVkID0gZmFsc2U7Cj4gLQkJbXV0ZXhfdW5sb2NrKCZmYmMtPmxvY2spOwo+ICAJCXJldHVybjsK PiAgCX0KPiAgCj4gLXJldHJ5Ogo+ICAJLyogRGVsYXkgdGhlIGFjdHVhbCBlbmFibGluZyB0byBs ZXQgcGFnZWZsaXBwaW5nIGNlYXNlIGFuZCB0aGUKPiAgCSAqIGRpc3BsYXkgdG8gc2V0dGxlIGJl Zm9yZSBzdGFydGluZyB0aGUgY29tcHJlc3Npb24uIE5vdGUgdGhhdAo+ICAJICogdGhpcyBkZWxh eSBhbHNvIHNlcnZlcyBhIHNlY29uZCBwdXJwb3NlOiBpdCBhbGxvd3MgZm9yIGEKPiBAQCAtNDI1 LDM0ICs0MTgsMzUgQEAgc3RhdGljIHZvaWQgaW50ZWxfZmJjX3dvcmtfZm4oc3RydWN0IHdvcmtf c3RydWN0ICpfX3dvcmspCj4gIAkgKgo+ICAJICogV2FGYmNXYWl0Rm9yVkJsYW5rQmVmb3JlRW5h YmxlOmlsayxzbmIKCndoeSBub3QgYSBzaW1wbGUgd2FpdCAxIHZibGFuayBiZWxvdz8KCj4gIAkg Kgo+IC0JICogSXQgaXMgYWxzbyB3b3J0aCBtZW50aW9uaW5nIHRoYXQgc2luY2Ugd29yay0+c2No ZWR1bGVkX3ZibGFuayBjYW4gYmUKPiAtCSAqIHVwZGF0ZWQgbXVsdGlwbGUgdGltZXMgYnkgdGhl IG90aGVyIHRocmVhZHMsIGhpdHRpbmcgdGhlIHRpbWVvdXQgaXMKPiAtCSAqIG5vdCBhbiBlcnJv ciBjb25kaXRpb24uIFdlJ2xsIGp1c3QgZW5kIHVwIGhpdHRpbmcgdGhlICJnb3RvIHJldHJ5Igo+ IC0JICogY2FzZSBiZWxvdy4KPiArCSAqIFRoaXMgbWF5IGJlIGtpbGxlZCBieSB1bnNldHRpbmcg c2NoZWR1bGVkX3ZibGFuaywgaW4gd2hpY2gKPiArCSAqIGNhc2Ugd2UgcmV0dXJuIGVhcmx5IHdp dGhvdXQgYWN0aXZhdGluZy4KPiAgCSAqLwo+ICAJd2FpdF9ldmVudF90aW1lb3V0KHZibGFuay0+ cXVldWUsCj4gLQkJZHJtX2NydGNfdmJsYW5rX2NvdW50KCZjcnRjLT5iYXNlKSAhPSB3b3JrLT5z Y2hlZHVsZWRfdmJsYW5rLAo+ICsJCSEodmJsID0gYXRvbWljNjRfcmVhZCgmd29yay0+c2NoZWR1 bGVkX3ZibGFuaykpIHx8IHZibCAhPSBkcm1fY3J0Y192YmxhbmtfY291bnQoJmNydGMtPmJhc2Up LAo+ICAJCW1zZWNzX3RvX2ppZmZpZXMoNTApKTsKPiAgCj4gLQltdXRleF9sb2NrKCZmYmMtPmxv Y2spOwo+ICsJaWYgKHZibCkKPiArCQlpbnRlbF9mYmNfaHdfYWN0aXZhdGUoZGV2X3ByaXYpOwo+ ICAKPiAtCS8qIFdlcmUgd2UgY2FuY2VsbGVkPyAqLwo+IC0JaWYgKCF3b3JrLT5zY2hlZHVsZWQp Cj4gLQkJZ290byBvdXQ7Cj4gKwlkcm1fY3J0Y192YmxhbmtfcHV0KCZjcnRjLT5iYXNlKTsKPiAr fQo+ICAKPiAtCS8qIFdlcmUgd2UgZGVsYXllZCBhZ2FpbiB3aGlsZSB0aGlzIGZ1bmN0aW9uIHdh cyBzbGVlcGluZz8gKi8KPiAtCWlmIChkcm1fY3J0Y192YmxhbmtfY291bnQoJmNydGMtPmJhc2Up ID09IHdvcmstPnNjaGVkdWxlZF92YmxhbmspIHsKPiAtCQltdXRleF91bmxvY2soJmZiYy0+bG9j ayk7Cj4gLQkJZ290byByZXRyeTsKPiAtCX0KPiArc3RhdGljIHZvaWQgaW50ZWxfZmJjX2NhbmNl bF9hY3RpdmF0aW9uKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJ c3RydWN0IGludGVsX2ZiYyAqZmJjID0gJmRldl9wcml2LT5mYmM7Cj4gKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YzsKPiArCXN0cnVjdCBkcm1fdmJsYW5rX2NydGMgKnZibGFuazsKPiAgCj4gLQlp bnRlbF9mYmNfaHdfYWN0aXZhdGUoZGV2X3ByaXYpOwo+ICsJaWYgKCFmYmMtPmFjdGl2ZSkKPiAr CQlyZXR1cm47Cj4gIAo+IC0Jd29yay0+c2NoZWR1bGVkID0gZmFsc2U7Cj4gKwljcnRjID0gZmJj LT5jcnRjOwo+ICsJdmJsYW5rID0gJmRldl9wcml2LT5kcm0udmJsYW5rW2NydGMtPnBpcGVdOwo+ ICAKPiAtb3V0Ogo+IC0JbXV0ZXhfdW5sb2NrKCZmYmMtPmxvY2spOwo+IC0JZHJtX2NydGNfdmJs YW5rX3B1dCgmY3J0Yy0+YmFzZSk7Cj4gKwkvKiBLaWxsIEZCQyB3b3JrZXIgaWYgaXQncyB3YWl0 aW5nICovCj4gKwlhdG9taWM2NF9zZXQoJmZiYy0+d29yay5zY2hlZHVsZWRfdmJsYW5rLCAwKTsK PiArCXdha2VfdXBfYWxsKCZ2YmxhbmstPnF1ZXVlKTsKPiArCWNhbmNlbF93b3JrX3N5bmMoJmZi Yy0+d29yay53b3JrKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaW50ZWxfZmJjX3NjaGVkdWxl X2FjdGl2YXRpb24oc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gQEAgLTQ3MSwxMiArNDY1LDEw IEBAIHN0YXRpYyB2b2lkIGludGVsX2ZiY19zY2hlZHVsZV9hY3RpdmF0aW9uKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjKQo+ICAJCXJldHVybjsKPiAgCX0KPiAgCj4gLQkvKiBJdCBpcyB1c2VsZXNz IHRvIGNhbGwgaW50ZWxfZmJjX2NhbmNlbF93b3JrKCkgb3IgY2FuY2VsX3dvcmsoKSBpbgo+IC0J ICogdGhpcyBmdW5jdGlvbiBzaW5jZSB3ZSdyZSBub3QgcmVsZWFzaW5nIGZiYy5sb2NrLCBzbyBp dCB3b24ndCBoYXZlIGFuCj4gLQkgKiBvcHBvcnR1bml0eSB0byBncmFiIGl0IHRvIGRpc2NvdmVy IHRoYXQgaXQgd2FzIGNhbmNlbGxlZC4gU28gd2UganVzdAo+IC0JICogdXBkYXRlIHRoZSBleHBl Y3RlZCBqaWZmeSBjb3VudC4gKi8KPiAtCXdvcmstPnNjaGVkdWxlZCA9IHRydWU7Cj4gLQl3b3Jr LT5zY2hlZHVsZWRfdmJsYW5rID0gZHJtX2NydGNfdmJsYW5rX2NvdW50KCZjcnRjLT5iYXNlKTsK PiArCWludGVsX2ZiY19jYW5jZWxfYWN0aXZhdGlvbihkZXZfcHJpdik7Cj4gKwlmYmMtPmFjdGl2 ZSA9IHRydWU7Cj4gKwo+ICsJYXRvbWljNjRfc2V0KCZ3b3JrLT5zY2hlZHVsZWRfdmJsYW5rLCBk cm1fY3J0Y19hY2N1cmF0ZV92YmxhbmtfY291bnQoJmNydGMtPmJhc2UpKTsKPiAgCWRybV9jcnRj X3ZibGFua19wdXQoJmNydGMtPmJhc2UpOwo+ICAKPiAgCXNjaGVkdWxlX3dvcmsoJndvcmstPndv cmspOwo+IEBAIC00ODksMTMgKzQ4MSwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9mYmNfZGVhY3Rp dmF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAo+ICAJV0FSTl9PTigh bXV0ZXhfaXNfbG9ja2VkKCZmYmMtPmxvY2spKTsKPiAgCj4gLQkvKiBDYWxsaW5nIGNhbmNlbF93 b3JrKCkgaGVyZSB3b24ndCBoZWxwIGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoZSB3b3JrCj4gLQkg KiBmdW5jdGlvbiBncmFicyBmYmMtPmxvY2suIEp1c3Qgc2V0IHNjaGVkdWxlZCB0byBmYWxzZSBz byB0aGUgd29yawo+IC0JICogZnVuY3Rpb24gY2FuIGtub3cgaXQgd2FzIGNhbmNlbGxlZC4gKi8K PiAtCWZiYy0+d29yay5zY2hlZHVsZWQgPSBmYWxzZTsKPiArCWlmIChmYmMtPmFjdGl2ZSkgewo+ ICsJCWludGVsX2ZiY19jYW5jZWxfYWN0aXZhdGlvbihkZXZfcHJpdik7Cj4gIAo+IC0JaWYgKGZi Yy0+YWN0aXZlKQo+ICAJCWludGVsX2ZiY19od19kZWFjdGl2YXRlKGRldl9wcml2KTsKPiArCX0K PiAgCj4gIAlmYmMtPm5vX2ZiY19yZWFzb24gPSByZWFzb247Cj4gIH0KPiBAQCAtMTIyMiwxMSAr MTIxMiwxMSBAQCB2b2lkIGludGVsX2ZiY19kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj KQo+ICAJV0FSTl9PTihjcnRjLT5hY3RpdmUpOwo+ICAKPiAgCW11dGV4X2xvY2soJmZiYy0+bG9j ayk7Cj4gKwlpbnRlbF9mYmNfY2FuY2VsX2FjdGl2YXRpb24oZGV2X3ByaXYpOwo+ICsKPiAgCWlm IChmYmMtPmNydGMgPT0gY3J0YykKPiAgCQlfX2ludGVsX2ZiY19kaXNhYmxlKGRldl9wcml2KTsK PiAgCW11dGV4X3VubG9jaygmZmJjLT5sb2NrKTsKPiAtCj4gLQljYW5jZWxfd29ya19zeW5jKCZm YmMtPndvcmsud29yayk7Cj4gIH0KPiAgCj4gIC8qKgo+IEBAIC0xMjQzLDEzICsxMjMzLDEzIEBA IHZvaWQgaW50ZWxfZmJjX2dsb2JhbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiAgCQlyZXR1cm47Cj4gIAo+ICAJbXV0ZXhfbG9jaygmZmJjLT5sb2NrKTsKPiAr CWludGVsX2ZiY19jYW5jZWxfYWN0aXZhdGlvbihkZXZfcHJpdik7Cj4gKwo+ICAJaWYgKGZiYy0+ ZW5hYmxlZCkgewo+ICAJCVdBUk5fT04oZmJjLT5jcnRjLT5hY3RpdmUpOwo+ICAJCV9faW50ZWxf ZmJjX2Rpc2FibGUoZGV2X3ByaXYpOwo+ICAJfQo+ICAJbXV0ZXhfdW5sb2NrKCZmYmMtPmxvY2sp Owo+IC0KPiAtCWNhbmNlbF93b3JrX3N5bmMoJmZiYy0+d29yay53b3JrKTsKPiAgfQo+ICAKPiAg c3RhdGljIHZvaWQgaW50ZWxfZmJjX3VuZGVycnVuX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQo+IEBAIC0xMzczLDExICsxMzYzLDExIEBAIHZvaWQgaW50ZWxfZmJjX2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJc3RydWN0IGludGVsX2ZiYyAqZmJj ID0gJmRldl9wcml2LT5mYmM7Cj4gIAo+ICAJSU5JVF9XT1JLKCZmYmMtPndvcmsud29yaywgaW50 ZWxfZmJjX3dvcmtfZm4pOwo+ICsJYXRvbWljNjRfc2V0KCZmYmMtPndvcmsuc2NoZWR1bGVkX3Zi bGFuaywgMCk7Cj4gIAlJTklUX1dPUksoJmZiYy0+dW5kZXJydW5fd29yaywgaW50ZWxfZmJjX3Vu ZGVycnVuX3dvcmtfZm4pOwo+ICAJbXV0ZXhfaW5pdCgmZmJjLT5sb2NrKTsKPiAgCWZiYy0+ZW5h YmxlZCA9IGZhbHNlOwo+ICAJZmJjLT5hY3RpdmUgPSBmYWxzZTsKPiAtCWZiYy0+d29yay5zY2hl ZHVsZWQgPSBmYWxzZTsKPiAgCj4gIAlpZiAobmVlZF9mYmNfdnRkX3dhKGRldl9wcml2KSkKPiAg CQlta3dyaXRlX2RldmljZV9pbmZvKGRldl9wcml2KS0+aGFzX2ZiYyA9IGZhbHNlOwo+IC0tIAo+ IDIuMTYuMgo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK