From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 5/8] drm/i915: Add a atomic evasion step to watermark programming. Date: Wed, 19 Oct 2016 16:26:08 -0700 Message-ID: <20161019232608.GB19156@intel.com> References: <1476278901-15750-1-git-send-email-maarten.lankhorst@linux.intel.com> <1476278901-15750-6-git-send-email-maarten.lankhorst@linux.intel.com> <20161019231502.GA19156@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4EB1E6EA35 for ; Wed, 19 Oct 2016 23:26:09 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20161019231502.GA19156@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 List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBPY3QgMTksIDIwMTYgYXQgMDQ6MTU6MDJQTSAtMDcwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBPbiBXZWQsIE9jdCAxMiwgMjAxNiBhdCAwMzoyODoxOFBNICswMjAwLCBNYWFydGVuIExh bmtob3JzdCB3cm90ZToKPiA+IEFsbG93IHRoZSBkcml2ZXIgdG8gd3JpdGUgd2F0ZXJtYXJrcyBk dXJpbmcgYXRvbWljIGV2YXNpb24uCj4gPiBUaGlzIHdpbGwgbWFrZSBpdCBwb3NzaWJsZSB0byB3 cml0ZSB0aGUgd2F0ZXJtYXJrcyBpbiBhIGNsZWFuZXIKPiA+IHdheSBvbiBnZW45Ky4KPiA+IAo+ ID4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxp bnV4LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICB8ICA2ICsrKystLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyB8IDE4ICsrKysrKysrLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BtLmMgICAgICB8IDE5ICsrKysrKysrKysrKysrKysrLS0KPiA+ICAzIGZpbGVzIGNoYW5n ZWQsIDI5IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiA+IGluZGV4IGY2NWNjZjliMGJlYS4uMDk1ODhjNTgxNDhmIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gQEAgLTQ4NCw2ICs0ODQsNyBAQCBzdHJ1Y3Qg c2R2b19kZXZpY2VfbWFwcGluZyB7Cj4gPiAgCj4gPiAgc3RydWN0IGludGVsX2Nvbm5lY3RvcjsK PiA+ICBzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsKPiA+ICtzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRl Owo+ID4gIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlOwo+ID4gIHN0cnVjdCBpbnRlbF9pbml0aWFs X3BsYW5lX2NvbmZpZzsKPiA+ICBzdHJ1Y3QgaW50ZWxfY3J0YzsKPiA+IEBAIC00OTcsOCArNDk4 LDkgQEAgc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3Mgewo+ID4gIAlpbnQgKCpjb21wdXRl X2ludGVybWVkaWF0ZV93bSkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICAJCQkJICAgICAg IHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gIAkJCQkgICAgICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKm5ld3N0YXRlKTsKPiA+IC0Jdm9pZCAoKmluaXRpYWxfd2F0ZXJtYXJr cykoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSk7Cj4gPiAtCXZvaWQgKCpvcHRpbWl6 ZV93YXRlcm1hcmtzKShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKTsKPiA+ICsJdm9p ZCAoKmluaXRpYWxfd2F0ZXJtYXJrcykoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUs IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpOwo+ID4gKwl2b2lkICgqYXRvbWljX2V2 YWRlX3dhdGVybWFya3MpKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKTsKPiA+ICsJdm9pZCAoKm9wdGltaXplX3dhdGVybWFy a3MpKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3N0YXRlKTsKPiAKPiBpbml0aWFsX3dhdGVybWFya3MoKSBhbmQgb3B0aW1pemVfd2F0 ZXJtYXJrcygpIGFyZSBjdXJyZW50bHkgb25seSB1c2VkCj4gb24gSUxLIChhbmQgcG9zc2libHkg YnkgaW4tZGV2ZWxvcG1lbnQgVkxWL0NIViBwYXRjaGVzIHRoYXQgVmlsbGUgaXMKPiB3b3JraW5n IG9uPykuICBBcyBmYXIgYXMgSSBjYW4gc2VlLCB0aGUgdG9wLWxldmVsIHN0YXRlIHRoYXQgd2Ug YWRkIGFzIGEKPiBwYXJhbWV0ZXIgaGVyZSBkb2Vzbid0IGFjdHVhbGx5IGdldCB1c2VkIGluIHRo ZSBpbXBsZW1lbnRhdGlvbnMuICBBcmUKPiB5b3UgYWRkaW5nIGl0IHRvIGp1c3QgbWFrZSB0aGVt IG1vcmUgc2ltaWxhciB0byB0aGUgc2lnbmF0dXJlIG9mIHRoZSBuZXcKPiBhdG9taWNfZXZhZGVf d2F0ZXJtYXJrcyB2ZnVuYyBvciBkaWQgeW91IGhhdmUgc29tZXRoaW5nIGVsc2UgaW4gbWluZD8K CkZvciB0aGF0IG1hdHRlciwgaXQgZG9lc24ndCBsb29rIGxpa2UgaXQncyByZWFsbHkgdXNlZCBp bgphdG9taWNfZXZhZGVfd2F0ZXJtYXJrcyBlaXRoZXIgZXhjZXB0IHRvIGdyYWIgZGV2X3ByaXYg KHdoaWNoIHdlIGNhbgpvYnRhaW4gaW4gb3RoZXIgd2F5cykuCgoKTWF0dAoKPiAKPiBJJ2QgYWxz byBzdWdnZXN0IGFkZGluZyBhIGJyaWVmIGNvbW1lbnQgdG8geW91ciBuZXcgc2tsX2V2YWRlX2Ny dGNfd20oKQo+IGZ1bmN0aW9uIHRoYXQgaW5kaWNhdGVzIHRoYXQgbmVhcmx5IGFsbCBvZiB0aGUg Z2VuOSB3YXRlcm1hcmsgdmFsdWVzIGFyZQo+IHBlci1wbGFuZSB2YWx1ZXMgdGhhdCBnZXQgd3Jp dHRlbiBhcyBwYXJ0IG9mIHRoZSBnZW5lcmFsIHBsYW5lIHVwZGF0ZSBpbgo+IHNreWxha2VfdXBk YXRlX3ByaW1hcnlfcGxhbmUgYW5kL29yIHNrbF91cGRhdGVfcGxhbmUuICBHaXZlbiB0aGF0IHRo b3NlCj4gdHdvIGZ1bmN0aW9ucyBhcmUgbG9jYXRlZCBpbiBvdGhlciBmaWxlcyB0aGF0IG1heSBo ZWxwIGNsYXJpZnkgdG8gZnV0dXJlCj4gZGV2ZWxvcGVycyB3aHkgdGhpcyBmdW5jdGlvbiBhcHBl YXJzIHNvIHRyaXZpYWwuCj4gCj4gCj4gTWF0dAo+IAo+ID4gIAlpbnQgKCpjb21wdXRlX2dsb2Jh bF93YXRlcm1hcmtzKShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ID4gIAl2b2lk ICgqdXBkYXRlX3dtKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ID4gIAlpbnQgKCptb2Rlc2V0 X2NhbGNfY2RjbGspKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiBpbmRleCA1NWY4ZWM4Yzc2YWUuLjIzZDhjNzJk YWRlMyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku Ywo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiBAQCAt NTE2MCw3ICs1MTYwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZShzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCj4gPiAgCSAqIHVzIHRvLgo+ID4g IAkgKi8KPiA+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyAhPSBO VUxMKQo+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHBpcGVfY29u ZmlnKTsKPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyh0b19pbnRl bF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKSwgcGlwZV9jb25maWcpOwo+ID4gIAllbHNlIGlmIChw aXBlX2NvbmZpZy0+dXBkYXRlX3dtX3ByZSkKPiA+ICAJCWludGVsX3VwZGF0ZV93YXRlcm1hcmtz KCZjcnRjLT5iYXNlKTsKPiA+ICB9Cj4gPiBAQCAtNTM3NCw3ICs1Mzc0LDcgQEAgc3RhdGljIHZv aWQgaXJvbmxha2VfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnLAo+ID4gIAlpbnRlbF9jb2xvcl9sb2FkX2x1dHMoJnBpcGVfY29uZmlnLT5iYXNlKTsKPiA+ ICAKPiA+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyAhPSBOVUxM KQo+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKGludGVsX2NydGMt PmNvbmZpZyk7Cj4gPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3ModG9f aW50ZWxfYXRvbWljX3N0YXRlKG9sZF9zdGF0ZSksIGludGVsX2NydGMtPmNvbmZpZyk7Cj4gPiAg CWludGVsX2VuYWJsZV9waXBlKGludGVsX2NydGMpOwo+ID4gIAo+ID4gIAlpZiAoaW50ZWxfY3J0 Yy0+Y29uZmlnLT5oYXNfcGNoX2VuY29kZXIpCj4gPiBAQCAtNTQ4MCw3ICs1NDgwLDcgQEAgc3Rh dGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcsCj4gPiAgCQlpbnRlbF9kZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhjcnRjKTsK PiA+ICAKPiA+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyAhPSBO VUxMKQo+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHBpcGVfY29u ZmlnKTsKPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyh0b19pbnRl bF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKSwgcGlwZV9jb25maWcpOwo+ID4gIAllbHNlCj4gPiAg CQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRjKTsKPiA+ICAKPiA+IEBAIC0xNDUwMyw3ICsx NDUwMyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiAgCQlpbnRlbF9jc3RhdGUgPSB0b19pbnRlbF9jcnRj X3N0YXRlKGNydGMtPnN0YXRlKTsKPiA+ICAKPiA+ICAJCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5v cHRpbWl6ZV93YXRlcm1hcmtzKQo+ID4gLQkJCWRldl9wcml2LT5kaXNwbGF5Lm9wdGltaXplX3dh dGVybWFya3MoaW50ZWxfY3N0YXRlKTsKPiA+ICsJCQlkZXZfcHJpdi0+ZGlzcGxheS5vcHRpbWl6 ZV93YXRlcm1hcmtzKGludGVsX3N0YXRlLCBpbnRlbF9jc3RhdGUpOwo+ID4gIAl9Cj4gPiAgCj4g PiAgCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBp KSB7Cj4gPiBAQCAtMTQ5MDgsNyArMTQ5MDgsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9iZWdpbl9j cnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpvbGRfaW50ZWxfc3RhdGUgPQo+ID4gIAkJdG9faW50ZWxfY3J0Y19zdGF0ZShvbGRf Y3J0Y19zdGF0ZSk7Cj4gPiAgCWJvb2wgbW9kZXNldCA9IG5lZWRzX21vZGVzZXQoY3J0Yy0+c3Rh dGUpOwo+ID4gLQllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gPiAgCj4gPiAg CS8qIFBlcmZvcm0gdmJsYW5rIGV2YXNpb24gYXJvdW5kIGNvbW1pdCBvcGVyYXRpb24gKi8KPiA+ ICAJaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQoaW50ZWxfY3J0Yyk7Cj4gPiBAQCAtMTQ5MjMsMTIg KzE0OTIyLDExIEBAIHN0YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNfY29tbWl0KHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPiA+ICAKPiA+ICAJaWYgKGludGVsX2NzdGF0ZS0+dXBkYXRlX3BpcGUp Cj4gPiAgCQlpbnRlbF91cGRhdGVfcGlwZV9jb25maWcoaW50ZWxfY3J0Yywgb2xkX2ludGVsX3N0 YXRlKTsKPiA+IC0JZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gPiArCWVs c2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiA+ICAJCXNrbF9kZXRhY2hfc2NhbGVy cyhpbnRlbF9jcnRjKTsKPiA+ICAKPiA+IC0JCUk5MTVfV1JJVEUoUElQRV9XTV9MSU5FVElNRShw aXBlKSwKPiA+IC0JCQkgICBpbnRlbF9jc3RhdGUtPndtLnNrbC5vcHRpbWFsLmxpbmV0aW1lKTsK PiA+IC0JfQo+ID4gKwlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX2V2YWRlX3dhdGVybWFy a3MpCj4gPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5hdG9taWNfZXZhZGVfd2F0ZXJtYXJrcyh0b19p bnRlbF9hdG9taWNfc3RhdGUob2xkX2NydGNfc3RhdGUtPnN0YXRlKSwgaW50ZWxfY3N0YXRlKTsK PiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgaW50ZWxfZmluaXNoX2NydGNfY29tbWl0KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+IEBAIC0xNjM4OCw3ICsxNjM4Niw3IEBAIHJldHJ5Ogo+ ID4gIAkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzID0gdG9faW50ZWxfY3J0Y19zdGF0ZShj c3RhdGUpOwo+ID4gIAo+ID4gIAkJY3MtPndtLm5lZWRfcG9zdHZibF91cGRhdGUgPSB0cnVlOwo+ ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcyhjcyk7Cj4gPiArCQlk ZXZfcHJpdi0+ZGlzcGxheS5vcHRpbWl6ZV93YXRlcm1hcmtzKHRvX2ludGVsX2F0b21pY19zdGF0 ZShzdGF0ZSksIGNzKTsKPiA+ICAJfQo+ID4gIAo+ID4gIAlkcm1fYXRvbWljX3N0YXRlX2ZyZWUo c3RhdGUpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiBpbmRleCA0NWZiODI3NWFiZWEu LjA1Y2NkMjUzZmQ3YSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+IEBAIC00 MTc3LDYgKzQxNzcsMTggQEAgc2tsX2NvbXB1dGVfd20oc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlKQo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAgCj4gPiArc3RhdGljIHZvaWQgc2ts X2V2YWRlX2NydGNfd20oc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiArCQkJ ICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKPiA+ICt7Cj4gPiArCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhjc3RhdGUtPmJhc2UuY3J0Yyk7Cj4g PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJh c2UuZGV2KTsKPiA+ICsJc3RydWN0IHNrbF9waXBlX3dtICpwaXBlX3dtID0gJmNzdGF0ZS0+d20u c2tsLm9wdGltYWw7Cj4gPiArCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKPiA+ICsKPiA+ ICsJSTkxNV9XUklURShQSVBFX1dNX0xJTkVUSU1FKHBpcGUpLAo+ID4gKwkJICAgcGlwZV93bS0+ bGluZXRpbWUpOwo+ID4gK30KPiA+ICsKPiA+ICBzdGF0aWMgdm9pZCBza2xfdXBkYXRlX3dtKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRl bF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiA+IEBAIC00MjcwLDcgKzQyODIsOCBAQCBz dGF0aWMgdm9pZCBpbGtfcHJvZ3JhbV93YXRlcm1hcmtzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiA+ICAJaWxrX3dyaXRlX3dtX3ZhbHVlcyhkZXZfcHJpdiwgJnJlc3VsdHMp Owo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMgdm9pZCBpbGtfaW5pdGlhbF93YXRlcm1hcmtzKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCj4gPiArc3RhdGljIHZvaWQgaWxrX2luaXRp YWxfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiA+ICsJCQkJ ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3N0YXRlLT5iYXNlLmNydGMtPmRl dik7Cj4gPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhj c3RhdGUtPmJhc2UuY3J0Yyk7Cj4gPiBAQCAtNDI4MSw3ICs0Mjk0LDggQEAgc3RhdGljIHZvaWQg aWxrX2luaXRpYWxfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQo+ ID4gIAltdXRleF91bmxvY2soJmRldl9wcml2LT53bS53bV9tdXRleCk7Cj4gPiAgfQo+ID4gIAo+ ID4gLXN0YXRpYyB2b2lkIGlsa19vcHRpbWl6ZV93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3RhdGUpCj4gPiArc3RhdGljIHZvaWQgaWxrX29wdGltaXplX3dhdGVybWFya3Mo c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiArCQkJCSAgICBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKPiA+ICAJc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNzdGF0ZS0+YmFzZS5j cnRjKTsKPiA+IEBAIC03NzE1LDYgKzc3MjksNyBAQCB2b2lkIGludGVsX2luaXRfcG0oc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiA+ICAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkpIHsK PiA+ICAJCXNrbF9zZXR1cF93bV9sYXRlbmN5KGRldik7Cj4gPiAgCQlkZXZfcHJpdi0+ZGlzcGxh eS51cGRhdGVfd20gPSBza2xfdXBkYXRlX3dtOwo+ID4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuYXRv bWljX2V2YWRlX3dhdGVybWFya3MgPSBza2xfZXZhZGVfY3J0Y193bTsKPiA+ICAJCWRldl9wcml2 LT5kaXNwbGF5LmNvbXB1dGVfZ2xvYmFsX3dhdGVybWFya3MgPSBza2xfY29tcHV0ZV93bTsKPiA+ ICAJfSBlbHNlIGlmIChIQVNfUENIX1NQTElUKGRldikpIHsKPiA+ICAJCWlsa19zZXR1cF93bV9s YXRlbmN5KGRldik7Cj4gPiAtLSAKPiA+IDIuNy40Cj4gPiAKPiA+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0 Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IC0tIAo+IE1hdHQg Um9wZXIKPiBHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgo+IElvVEcgUGxhdGZvcm0gRW5hYmxp bmcgJiBEZXZlbG9wbWVudAo+IEludGVsIENvcnBvcmF0aW9uCj4gKDkxNikgMzU2LTI3OTUKPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdm eCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApN YXR0IFJvcGVyCkdyYXBoaWNzIFNvZnR3YXJlIEVuZ2luZWVyCklvVEcgUGxhdGZvcm0gRW5hYmxp bmcgJiBEZXZlbG9wbWVudApJbnRlbCBDb3Jwb3JhdGlvbgooOTE2KSAzNTYtMjc5NQpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK