From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH 06/10] drm/i915: Change watermark hook calling convention Date: Wed, 13 Nov 2019 16:22:28 -0800 Message-ID: <20191114002228.GG28227@intel.com> References: <20191112141503.1116-1-ville.syrjala@linux.intel.com> <20191112141503.1116-7-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0D3B56E105 for ; Thu, 14 Nov 2019 00:19:31 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191112141503.1116-7-ville.syrjala@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: Ville Syrjala Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBOb3YgMTIsIDIwMTkgYXQgMDQ6MTQ6NTlQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IEp1c3QgcGFzcyB0aGUgYXRvbWljX3N0YXRlK2NydGMgdG8gdGhlIHdhdGVybWFy a3MgaG9va3MuIEVlYXNpZXIKPiB0aW1lIGZvciB0aGUgY2FsbGVyIHdoZW4gaXQgZG9lc24ndCBo YXZlIHRvIHRoaW5rIHdoYXQgdG8gcGFzcy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyB8IDMyICsrKysrLS0tLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgfCAgNiArLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAgICAgICB8IDYzICsrKysrKysrKysr LS0tLS0tLS0tCj4gIDMgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRp b25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 LmMKPiBpbmRleCBmZmFkZmQ5MGMzY2YuLjc3YjczOWNkYTA1MyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTYxNzcsOSArNjE3Nyw4 IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKm9sZF9jcnRjX3N0YXRlLAo+ICAJICogd2UnbGwgY29udGludWUgdG8gdXBkYXRlIHdh dGVybWFya3MgdGhlIG9sZCB3YXksIGlmIGZsYWdzIHRlbGwKPiAgCSAqIHVzIHRvLgo+ICAJICov Cj4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCj4g LQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKGludGVsX3N0YXRlLAo+IC0J CQkJCQkgICAgIHBpcGVfY29uZmlnKTsKPiArCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFs X3dhdGVybWFya3MpCj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKGlu dGVsX3N0YXRlLCBjcnRjKTsKPiAgCWVsc2UgaWYgKHBpcGVfY29uZmlnLT51cGRhdGVfd21fcHJl KQo+ICAJCWludGVsX3VwZGF0ZV93YXRlcm1hcmtzKGNydGMpOwo+ICB9Cj4gQEAgLTY1MjcsOCAr NjUyNiw4IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCS8qIHVwZGF0ZSBEU1BDTlRSIHRvIGNvbmZpZ3Vy ZSBnYW1tYSBmb3IgcGlwZSBib3R0b20gY29sb3IgKi8KPiAgCWludGVsX2Rpc2FibGVfcHJpbWFy eV9wbGFuZShwaXBlX2NvbmZpZyk7Cj4gIAo+IC0JaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRp YWxfd2F0ZXJtYXJrcyAhPSBOVUxMKQo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0 ZXJtYXJrcyhzdGF0ZSwgcGlwZV9jb25maWcpOwo+ICsJaWYgKGRldl9wcml2LT5kaXNwbGF5Lmlu aXRpYWxfd2F0ZXJtYXJrcykKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFy a3Moc3RhdGUsIGludGVsX2NydGMpOwo+ICAJaW50ZWxfZW5hYmxlX3BpcGUocGlwZV9jb25maWcp Owo+ICAKPiAgCWlmIChwaXBlX2NvbmZpZy0+aGFzX3BjaF9lbmNvZGVyKQo+IEBAIC02NjcxLDgg KzY2NzAsOCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCWlmICghdHJhbnNjb2Rlcl9pc19kc2koY3B1X3Ry YW5zY29kZXIpKQo+ICAJCWludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKHBpcGVfY29u ZmlnKTsKPiAgCj4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9 IE5VTEwpCj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHN0YXRlLCBw aXBlX2NvbmZpZyk7Cj4gKwlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtz KQo+ICsJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgaW50ZWxf Y3J0Yyk7Cj4gIAo+ICAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCj4gIAkJaWNsX3Bp cGVfbWJ1c19lbmFibGUoaW50ZWxfY3J0Yyk7Cj4gQEAgLTcwNjIsNyArNzA2MSw3IEBAIHN0YXRp YyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBp cGVfY29uZmlnLAo+ICAJLyogdXBkYXRlIERTUENOVFIgdG8gY29uZmlndXJlIGdhbW1hIGZvciBw aXBlIGJvdHRvbSBjb2xvciAqLwo+ICAJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKHBpcGVf Y29uZmlnKTsKPiAgCj4gLQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Moc3Rh dGUsIHBpcGVfY29uZmlnKTsKPiArCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJr cyhzdGF0ZSwgaW50ZWxfY3J0Yyk7CgpEb250IHdlIG5lZWQgdG8gbWFrZSBzdXJlIGluaXRpYWxf d2F0ZXJtYXJrcyBpcyBwcmVzZW50IG9yICFOVUxMIGJlZm9yZSBjYWxsaW5nIGl0Cmxpa2Ugd2Ug ZG8gaW4gYWxsIG90aGVyIGhvb2tzPwoKQWxzbyBzb21lIHBsYWNlcyB3ZSB1c2UgaW50ZWxfY3J0 YyB2cyBjcnRjIGV2ZW4gdGhvdWdoIGJvdGggYXJlIG9mIHR5cGUgc3RydWN0IGludGVsX2NydGMq LAplaXRoZXIgaW4gdGhpcyBwYXRjaCBvciBhbm90aGVyIGNsZWFudXAgcGF0Y2ggd2Ugc2hvdWxk IGNoYW5nZSBpdCBhbGwgdG8ga2VlcCBlaXRoZXIgY3J0YyBvcgppbnRlbF9jcnRjIGVsc2UgdGhl cmUgaXMgYSBjb25mdXNpb24gYmV0d2VlbiBjcnRjIGJlaW5nIG9mIHR5cGUgaW50ZWxfY3J0YyBv ciBkcm1fY3J0YwoKV2hhdCBkbyB5b3UgdGhpbms/CkJ1dCB0aGF0IGNvdWxkIGJlIGEgc2VwYXJh dGUgY2hhbmdlIHNvIGFmdGVyIGFkZGluZyBhIGNoZWNrIGZvciBpZiAoZGV2X3ByaXYtPmRpc3Bs YXkuaW5pdGlhbF93YXRlcm1hcmtzKQppbiB2YWxsZXl2aWV3X2NydGNfZW5hYmxlKCksCgpSZXZp ZXdlZC1ieTogTWFuYXNpIG5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KCk1hbmFz aQoKPiAgCWludGVsX2VuYWJsZV9waXBlKHBpcGVfY29uZmlnKTsKPiAgCj4gIAlpbnRlbF9jcnRj X3ZibGFua19vbihwaXBlX2NvbmZpZyk7Cj4gQEAgLTcxMTcsOSArNzExNiw4IEBAIHN0YXRpYyB2 b2lkIGk5eHhfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln LAo+ICAJLyogdXBkYXRlIERTUENOVFIgdG8gY29uZmlndXJlIGdhbW1hIGZvciBwaXBlIGJvdHRv bSBjb2xvciAqLwo+ICAJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKHBpcGVfY29uZmlnKTsK PiAgCj4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwp Cj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHN0YXRlLAo+IC0JCQkJ CQkgICAgIHBpcGVfY29uZmlnKTsKPiArCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dh dGVybWFya3MpCj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHN0YXRl LCBpbnRlbF9jcnRjKTsKPiAgCWVsc2UKPiAgCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhpbnRl bF9jcnRjKTsKPiAgCWludGVsX2VuYWJsZV9waXBlKHBpcGVfY29uZmlnKTsKPiBAQCAtMTQyOTEs NiArMTQyODksNyBAQCBzdGF0aWMgdm9pZCBjb21taXRfcGlwZV9jb25maWcoc3RydWN0IGludGVs X2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq bmV3X2NydGNfc3RhdGUpCj4gIHsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKPiAgCWJvb2wgbW9k ZXNldCA9IG5lZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpOwo+ICAKPiBAQCAtMTQzMTQsOCAr MTQzMTMsNyBAQCBzdGF0aWMgdm9pZCBjb21taXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUsCj4gIAl9Cj4gIAo+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5LmF0 b21pY191cGRhdGVfd2F0ZXJtYXJrcykKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5hdG9taWNfdXBk YXRlX3dhdGVybWFya3Moc3RhdGUsCj4gLQkJCQkJCQkgICBuZXdfY3J0Y19zdGF0ZSk7Cj4gKwkJ ZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX3VwZGF0ZV93YXRlcm1hcmtzKHN0YXRlLCBjcnRjKTsK PiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX2NydGMoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCj4gQEAgLTE0NDE5LDggKzE0NDE3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfb2xk X2NydGNfc3RhdGVfZGlzYWJsZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4g IAlpZiAoIW5ld19jcnRjX3N0YXRlLT5ody5hY3RpdmUgJiYKPiAgCSAgICAhSEFTX0dNQ0goZGV2 X3ByaXYpICYmCj4gIAkgICAgZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKQo+ IC0JCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwKPiAtCQkJCQkJ ICAgICBuZXdfY3J0Y19zdGF0ZSk7Cj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRl cm1hcmtzKHN0YXRlLCBjcnRjKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaW50ZWxfdHJhbnNf cG9ydF9zeW5jX21vZGVzZXRfZGlzYWJsZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3Rh dGUsCj4gQEAgLTE0ODcwLDggKzE0ODY3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2Nv bW1pdF90YWlsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJICovCj4gIAlm b3JfZWFjaF9uZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgbmV3X2NydGNfc3Rh dGUsIGkpIHsKPiAgCQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcykK PiAtCQkJZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcyhzdGF0ZSwKPiAtCQkJ CQkJCSAgICAgIG5ld19jcnRjX3N0YXRlKTsKPiArCQkJZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1p emVfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Cj4gIAl9Cj4gIAo+ICAJZm9yX2VhY2hfb2xkbmV3 X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0 Y19zdGF0ZSwgaSkgewo+IEBAIC0xNjgyNiw3ICsxNjgyMiw3IEBAIHN0YXRpYyB2b2lkIHNhbml0 aXplX3dhdGVybWFya3Moc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCS8qIFdyaXRlIGNhbGN1 bGF0ZWQgd2F0ZXJtYXJrIHZhbHVlcyBiYWNrICovCj4gIAlmb3JfZWFjaF9uZXdfaW50ZWxfY3J0 Y19pbl9zdGF0ZShpbnRlbF9zdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewo+ICAJCWNydGNf c3RhdGUtPndtLm5lZWRfcG9zdHZibF91cGRhdGUgPSB0cnVlOwo+IC0JCWRldl9wcml2LT5kaXNw bGF5Lm9wdGltaXplX3dhdGVybWFya3MoaW50ZWxfc3RhdGUsIGNydGNfc3RhdGUpOwo+ICsJCWRl dl9wcml2LT5kaXNwbGF5Lm9wdGltaXplX3dhdGVybWFya3MoaW50ZWxfc3RhdGUsIGNydGMpOwo+ ICAKPiAgCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpLT53bSA9IGNydGNf c3RhdGUtPndtOwo+ICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDdlMGY2N2Jh YmUyMC4uMDBmZTRlZDRmYjk2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTI3 MywxMSArMjczLDExIEBAIHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKPiAgCWludCAo KmNvbXB1dGVfcGlwZV93bSkoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ ICAJaW50ICgqY29tcHV0ZV9pbnRlcm1lZGlhdGVfd20pKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKTsKPiAgCXZvaWQgKCppbml0aWFsX3dhdGVybWFya3MpKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+IC0JCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpOwo+ICsJCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpOwo+ICAJdm9p ZCAoKmF0b21pY191cGRhdGVfd2F0ZXJtYXJrcykoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUsCj4gLQkJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAr CQkJCQkgc3RydWN0IGludGVsX2NydGMgKmNydGMpOwo+ICAJdm9pZCAoKm9wdGltaXplX3dhdGVy bWFya3MpKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+IC0JCQkJICAgIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiArCQkJCSAgICBzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0Yyk7Cj4gIAlpbnQgKCpjb21wdXRlX2dsb2JhbF93YXRlcm1hcmtzKShzdHJ1Y3Qg aW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gIAl2b2lkICgqdXBkYXRlX3dtKShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0Yyk7Cj4gIAlpbnQgKCptb2Rlc2V0X2NhbGNfY2RjbGspKHN0cnVjdCBp bnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBpbmRl eCAyZDM4OWU0MzdlODcuLmIxODAzNDJmNjNhNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u Ywo+IEBAIC0xNTIwLDEwICsxNTIwLDExIEBAIHN0YXRpYyB2b2lkIGc0eF9wcm9ncmFtX3dhdGVy bWFya3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB9Cj4gIAo+ICBzdGF0 aWMgdm9pZCBnNHhfaW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUg KnN0YXRlLAo+IC0JCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4g KwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7 Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ICsJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUgPQo+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNy dGMpOwo+ICAKPiAgCW11dGV4X2xvY2soJmRldl9wcml2LT53bS53bV9tdXRleCk7Cj4gIAljcnRj LT53bS5hY3RpdmUuZzR4ID0gY3J0Y19zdGF0ZS0+d20uZzR4LmludGVybWVkaWF0ZTsKPiBAQCAt MTUzMiwxMCArMTUzMywxMSBAQCBzdGF0aWMgdm9pZCBnNHhfaW5pdGlhbF93YXRlcm1hcmtzKHN0 cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBn NHhfb3B0aW1pemVfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwK PiAtCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArCQkJCSAg ICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7Cj4gLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5j cnRjKTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0 Yy0+YmFzZS5kZXYpOwo+ICsJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUgPQo+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ ICAKPiAgCWlmICghY3J0Y19zdGF0ZS0+d20ubmVlZF9wb3N0dmJsX3VwZGF0ZSkKPiAgCQlyZXR1 cm47Cj4gQEAgLTE5MTUsMTEgKzE5MTcsMTIgQEAgc3RhdGljIGludCB2bHZfY29tcHV0ZV9waXBl X3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJKCgodmFsdWUpIDw8 IERTUEFSQl8gIyMgcGxhbmUgIyMgX1NISUZUX1ZMVikgJiBEU1BBUkJfICMjIHBsYW5lICMjIF9N QVNLX1ZMVikKPiAgCj4gIHN0YXRpYyB2b2lkIHZsdl9hdG9taWNfdXBkYXRlX2ZpZm8oc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gLQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKPiArCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7 Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ICAJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmRl dl9wcml2LT51bmNvcmU7Cj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSA9Cj4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7 Cj4gIAljb25zdCBzdHJ1Y3Qgdmx2X2ZpZm9fc3RhdGUgKmZpZm9fc3RhdGUgPQo+ICAJCSZjcnRj X3N0YXRlLT53bS52bHYuZmlmb19zdGF0ZTsKPiAgCWludCBzcHJpdGUwX3N0YXJ0LCBzcHJpdGUx X3N0YXJ0LCBmaWZvX3NpemU7Cj4gQEAgLTIxMzksMTAgKzIxNDIsMTEgQEAgc3RhdGljIHZvaWQg dmx2X3Byb2dyYW1fd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIHZsdl9pbml0aWFsX3dhdGVybWFya3Moc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gLQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiArCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7Cj4g LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUt PnVhcGkuY3J0Yy0+ZGV2KTsKPiAtCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwljb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0 Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gIAo+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPndtLndt X211dGV4KTsKPiAgCWNydGMtPndtLmFjdGl2ZS52bHYgPSBjcnRjX3N0YXRlLT53bS52bHYuaW50 ZXJtZWRpYXRlOwo+IEBAIC0yMTUxLDEwICsyMTU1LDExIEBAIHN0YXRpYyB2b2lkIHZsdl9pbml0 aWFsX3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIH0KPiAg Cj4gIHN0YXRpYyB2b2lkIHZsdl9vcHRpbWl6ZV93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9t aWNfc3RhdGUgKnN0YXRlLAo+IC0JCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQo+ICsJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7Cj4gLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGku Y3J0Yy0+ZGV2KTsKPiAtCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0 ZShzdGF0ZSwgY3J0Yyk7Cj4gIAo+ICAJaWYgKCFjcnRjX3N0YXRlLT53bS5uZWVkX3Bvc3R2Ymxf dXBkYXRlKQo+ICAJCXJldHVybjsKPiBAQCAtNTQ5MSwxMSArNTQ5NiwxMiBAQCBza2xfY29tcHV0 ZV93bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgfQo+ICAKPiAgc3RhdGlj IHZvaWQgc2tsX2F0b21pY191cGRhdGVfY3J0Y193bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRl ICpzdGF0ZSwKPiAtCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQo+ICsJCQkJICAgICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIHsKPiAtCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwo+ IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+YmFz ZS5kZXYpOwo+IC0Jc3RydWN0IHNrbF9waXBlX3dtICpwaXBlX3dtID0gJmNydGNfc3RhdGUtPndt LnNrbC5vcHRpbWFsOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSA9Cj4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwg Y3J0Yyk7Cj4gKwljb25zdCBzdHJ1Y3Qgc2tsX3BpcGVfd20gKnBpcGVfd20gPSAmY3J0Y19zdGF0 ZS0+d20uc2tsLm9wdGltYWw7Cj4gIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4gIAo+ ICAJaWYgKChzdGF0ZS0+d21fcmVzdWx0cy5kaXJ0eV9waXBlcyAmIEJJVChjcnRjLT5waXBlKSkg PT0gMCkKPiBAQCAtNTUwNSwxMCArNTUxMSwxMSBAQCBzdGF0aWMgdm9pZCBza2xfYXRvbWljX3Vw ZGF0ZV9jcnRjX3dtKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICB9Cj4gIAo+ ICBzdGF0aWMgdm9pZCBza2xfaW5pdGlhbF93bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSwKPiAtCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gKwkJ CSAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKPiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ICsJ Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQo+ICsJCWludGVsX2F0 b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ICAJc3RydWN0IHNrbF9kZGJf dmFsdWVzICpyZXN1bHRzID0gJnN0YXRlLT53bV9yZXN1bHRzOwo+ICAKPiAgCWlmICgocmVzdWx0 cy0+ZGlydHlfcGlwZXMgJiBCSVQoY3J0Yy0+cGlwZSkpID09IDApCj4gQEAgLTU1MTcsNyArNTUy NCw3IEBAIHN0YXRpYyB2b2lkIHNrbF9pbml0aWFsX3dtKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAo+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPndtLndtX211dGV4KTsKPiAgCj4g IAlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmVfY2hhbmdlZCkKPiAtCQlza2xfYXRvbWljX3Vw ZGF0ZV9jcnRjX3dtKHN0YXRlLCBjcnRjX3N0YXRlKTsKPiArCQlza2xfYXRvbWljX3VwZGF0ZV9j cnRjX3dtKHN0YXRlLCBjcnRjKTsKPiAgCj4gIAltdXRleF91bmxvY2soJmRldl9wcml2LT53bS53 bV9tdXRleCk7Cj4gIH0KPiBAQCAtNTU3MywxMCArNTU4MCwxMSBAQCBzdGF0aWMgdm9pZCBpbGtf cHJvZ3JhbV93YXRlcm1hcmtzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAg fQo+ICAKPiAgc3RhdGljIHZvaWQgaWxrX2luaXRpYWxfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxf YXRvbWljX3N0YXRlICpzdGF0ZSwKPiAtCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+ICsJCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIHsKPiAtCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFw aS5jcnRjLT5kZXYpOwo+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlID0KPiArCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0 YXRlKHN0YXRlLCBjcnRjKTsKPiAgCj4gIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0 ZXgpOwo+ICAJY3J0Yy0+d20uYWN0aXZlLmlsayA9IGNydGNfc3RhdGUtPndtLmlsay5pbnRlcm1l ZGlhdGU7Cj4gQEAgLTU1ODUsMTAgKzU1OTMsMTEgQEAgc3RhdGljIHZvaWQgaWxrX2luaXRpYWxf d2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgfQo+ICAKPiAg c3RhdGljIHZvaWQgaWxrX29wdGltaXplX3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0b21pY19z dGF0ZSAqc3RhdGUsCj4gLQkJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCj4gKwkJCQkgICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIHsKPiAtCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj LT5kZXYpOwo+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNf c3RhdGUtPnVhcGkuY3J0Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlID0KPiArCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0 YXRlLCBjcnRjKTsKPiAgCj4gIAlpZiAoIWNydGNfc3RhdGUtPndtLm5lZWRfcG9zdHZibF91cGRh dGUpCj4gIAkJcmV0dXJuOwo+IC0tIAo+IDIuMjMuMAo+IAo+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IElu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.4 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5F233C432C3 for ; Thu, 14 Nov 2019 00:19:33 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 74544206F2 for ; Thu, 14 Nov 2019 00:19:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 74544206F2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 981886E110; Thu, 14 Nov 2019 00:19:32 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0D3B56E105 for ; Thu, 14 Nov 2019 00:19:31 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2019 16:19:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,302,1569308400"; d="scan'208";a="194855049" Received: from labuser-z97x-ud5h.jf.intel.com (HELO intel.com) ([10.54.75.49]) by orsmga007.jf.intel.com with ESMTP; 13 Nov 2019 16:19:30 -0800 Date: Wed, 13 Nov 2019 16:22:28 -0800 From: Manasi Navare To: Ville Syrjala Message-ID: <20191114002228.GG28227@intel.com> References: <20191112141503.1116-1-ville.syrjala@linux.intel.com> <20191112141503.1116-7-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191112141503.1116-7-ville.syrjala@linux.intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Subject: Re: [Intel-gfx] [PATCH 06/10] drm/i915: Change watermark hook calling convention X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191114002228.W1Cw4MEuA2bPwhu2btNuPgUAxsPTB4jrFv3ndkcKC10@z> T24gVHVlLCBOb3YgMTIsIDIwMTkgYXQgMDQ6MTQ6NTlQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IEp1c3QgcGFzcyB0aGUgYXRvbWljX3N0YXRlK2NydGMgdG8gdGhlIHdhdGVybWFy a3MgaG9va3MuIEVlYXNpZXIKPiB0aW1lIGZvciB0aGUgY2FsbGVyIHdoZW4gaXQgZG9lc24ndCBo YXZlIHRvIHRoaW5rIHdoYXQgdG8gcGFzcy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyB8IDMyICsrKysrLS0tLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgfCAgNiArLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAgICAgICB8IDYzICsrKysrKysrKysr LS0tLS0tLS0tCj4gIDMgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRp b25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 LmMKPiBpbmRleCBmZmFkZmQ5MGMzY2YuLjc3YjczOWNkYTA1MyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTYxNzcsOSArNjE3Nyw4 IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKm9sZF9jcnRjX3N0YXRlLAo+ICAJICogd2UnbGwgY29udGludWUgdG8gdXBkYXRlIHdh dGVybWFya3MgdGhlIG9sZCB3YXksIGlmIGZsYWdzIHRlbGwKPiAgCSAqIHVzIHRvLgo+ICAJICov Cj4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCj4g LQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKGludGVsX3N0YXRlLAo+IC0J CQkJCQkgICAgIHBpcGVfY29uZmlnKTsKPiArCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFs X3dhdGVybWFya3MpCj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKGlu dGVsX3N0YXRlLCBjcnRjKTsKPiAgCWVsc2UgaWYgKHBpcGVfY29uZmlnLT51cGRhdGVfd21fcHJl KQo+ICAJCWludGVsX3VwZGF0ZV93YXRlcm1hcmtzKGNydGMpOwo+ICB9Cj4gQEAgLTY1MjcsOCAr NjUyNiw4IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCS8qIHVwZGF0ZSBEU1BDTlRSIHRvIGNvbmZpZ3Vy ZSBnYW1tYSBmb3IgcGlwZSBib3R0b20gY29sb3IgKi8KPiAgCWludGVsX2Rpc2FibGVfcHJpbWFy eV9wbGFuZShwaXBlX2NvbmZpZyk7Cj4gIAo+IC0JaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRp YWxfd2F0ZXJtYXJrcyAhPSBOVUxMKQo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0 ZXJtYXJrcyhzdGF0ZSwgcGlwZV9jb25maWcpOwo+ICsJaWYgKGRldl9wcml2LT5kaXNwbGF5Lmlu aXRpYWxfd2F0ZXJtYXJrcykKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFy a3Moc3RhdGUsIGludGVsX2NydGMpOwo+ICAJaW50ZWxfZW5hYmxlX3BpcGUocGlwZV9jb25maWcp Owo+ICAKPiAgCWlmIChwaXBlX2NvbmZpZy0+aGFzX3BjaF9lbmNvZGVyKQo+IEBAIC02NjcxLDgg KzY2NzAsOCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCWlmICghdHJhbnNjb2Rlcl9pc19kc2koY3B1X3Ry YW5zY29kZXIpKQo+ICAJCWludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKHBpcGVfY29u ZmlnKTsKPiAgCj4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9 IE5VTEwpCj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHN0YXRlLCBw aXBlX2NvbmZpZyk7Cj4gKwlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtz KQo+ICsJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgaW50ZWxf Y3J0Yyk7Cj4gIAo+ICAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCj4gIAkJaWNsX3Bp cGVfbWJ1c19lbmFibGUoaW50ZWxfY3J0Yyk7Cj4gQEAgLTcwNjIsNyArNzA2MSw3IEBAIHN0YXRp YyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBp cGVfY29uZmlnLAo+ICAJLyogdXBkYXRlIERTUENOVFIgdG8gY29uZmlndXJlIGdhbW1hIGZvciBw aXBlIGJvdHRvbSBjb2xvciAqLwo+ICAJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKHBpcGVf Y29uZmlnKTsKPiAgCj4gLQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Moc3Rh dGUsIHBpcGVfY29uZmlnKTsKPiArCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJr cyhzdGF0ZSwgaW50ZWxfY3J0Yyk7CgpEb250IHdlIG5lZWQgdG8gbWFrZSBzdXJlIGluaXRpYWxf d2F0ZXJtYXJrcyBpcyBwcmVzZW50IG9yICFOVUxMIGJlZm9yZSBjYWxsaW5nIGl0Cmxpa2Ugd2Ug ZG8gaW4gYWxsIG90aGVyIGhvb2tzPwoKQWxzbyBzb21lIHBsYWNlcyB3ZSB1c2UgaW50ZWxfY3J0 YyB2cyBjcnRjIGV2ZW4gdGhvdWdoIGJvdGggYXJlIG9mIHR5cGUgc3RydWN0IGludGVsX2NydGMq LAplaXRoZXIgaW4gdGhpcyBwYXRjaCBvciBhbm90aGVyIGNsZWFudXAgcGF0Y2ggd2Ugc2hvdWxk IGNoYW5nZSBpdCBhbGwgdG8ga2VlcCBlaXRoZXIgY3J0YyBvcgppbnRlbF9jcnRjIGVsc2UgdGhl cmUgaXMgYSBjb25mdXNpb24gYmV0d2VlbiBjcnRjIGJlaW5nIG9mIHR5cGUgaW50ZWxfY3J0YyBv ciBkcm1fY3J0YwoKV2hhdCBkbyB5b3UgdGhpbms/CkJ1dCB0aGF0IGNvdWxkIGJlIGEgc2VwYXJh dGUgY2hhbmdlIHNvIGFmdGVyIGFkZGluZyBhIGNoZWNrIGZvciBpZiAoZGV2X3ByaXYtPmRpc3Bs YXkuaW5pdGlhbF93YXRlcm1hcmtzKQppbiB2YWxsZXl2aWV3X2NydGNfZW5hYmxlKCksCgpSZXZp ZXdlZC1ieTogTWFuYXNpIG5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KCk1hbmFz aQoKPiAgCWludGVsX2VuYWJsZV9waXBlKHBpcGVfY29uZmlnKTsKPiAgCj4gIAlpbnRlbF9jcnRj X3ZibGFua19vbihwaXBlX2NvbmZpZyk7Cj4gQEAgLTcxMTcsOSArNzExNiw4IEBAIHN0YXRpYyB2 b2lkIGk5eHhfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln LAo+ICAJLyogdXBkYXRlIERTUENOVFIgdG8gY29uZmlndXJlIGdhbW1hIGZvciBwaXBlIGJvdHRv bSBjb2xvciAqLwo+ICAJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKHBpcGVfY29uZmlnKTsK PiAgCj4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwp Cj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHN0YXRlLAo+IC0JCQkJ CQkgICAgIHBpcGVfY29uZmlnKTsKPiArCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dh dGVybWFya3MpCj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHN0YXRl LCBpbnRlbF9jcnRjKTsKPiAgCWVsc2UKPiAgCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhpbnRl bF9jcnRjKTsKPiAgCWludGVsX2VuYWJsZV9waXBlKHBpcGVfY29uZmlnKTsKPiBAQCAtMTQyOTEs NiArMTQyODksNyBAQCBzdGF0aWMgdm9pZCBjb21taXRfcGlwZV9jb25maWcoc3RydWN0IGludGVs X2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq bmV3X2NydGNfc3RhdGUpCj4gIHsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKPiAgCWJvb2wgbW9k ZXNldCA9IG5lZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpOwo+ICAKPiBAQCAtMTQzMTQsOCAr MTQzMTMsNyBAQCBzdGF0aWMgdm9pZCBjb21taXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUsCj4gIAl9Cj4gIAo+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5LmF0 b21pY191cGRhdGVfd2F0ZXJtYXJrcykKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5hdG9taWNfdXBk YXRlX3dhdGVybWFya3Moc3RhdGUsCj4gLQkJCQkJCQkgICBuZXdfY3J0Y19zdGF0ZSk7Cj4gKwkJ ZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX3VwZGF0ZV93YXRlcm1hcmtzKHN0YXRlLCBjcnRjKTsK PiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX2NydGMoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCj4gQEAgLTE0NDE5LDggKzE0NDE3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfb2xk X2NydGNfc3RhdGVfZGlzYWJsZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4g IAlpZiAoIW5ld19jcnRjX3N0YXRlLT5ody5hY3RpdmUgJiYKPiAgCSAgICAhSEFTX0dNQ0goZGV2 X3ByaXYpICYmCj4gIAkgICAgZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKQo+ IC0JCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwKPiAtCQkJCQkJ ICAgICBuZXdfY3J0Y19zdGF0ZSk7Cj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRl cm1hcmtzKHN0YXRlLCBjcnRjKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaW50ZWxfdHJhbnNf cG9ydF9zeW5jX21vZGVzZXRfZGlzYWJsZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3Rh dGUsCj4gQEAgLTE0ODcwLDggKzE0ODY3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2Nv bW1pdF90YWlsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJICovCj4gIAlm b3JfZWFjaF9uZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgbmV3X2NydGNfc3Rh dGUsIGkpIHsKPiAgCQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcykK PiAtCQkJZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcyhzdGF0ZSwKPiAtCQkJ CQkJCSAgICAgIG5ld19jcnRjX3N0YXRlKTsKPiArCQkJZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1p emVfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Cj4gIAl9Cj4gIAo+ICAJZm9yX2VhY2hfb2xkbmV3 X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0 Y19zdGF0ZSwgaSkgewo+IEBAIC0xNjgyNiw3ICsxNjgyMiw3IEBAIHN0YXRpYyB2b2lkIHNhbml0 aXplX3dhdGVybWFya3Moc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCS8qIFdyaXRlIGNhbGN1 bGF0ZWQgd2F0ZXJtYXJrIHZhbHVlcyBiYWNrICovCj4gIAlmb3JfZWFjaF9uZXdfaW50ZWxfY3J0 Y19pbl9zdGF0ZShpbnRlbF9zdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewo+ICAJCWNydGNf c3RhdGUtPndtLm5lZWRfcG9zdHZibF91cGRhdGUgPSB0cnVlOwo+IC0JCWRldl9wcml2LT5kaXNw bGF5Lm9wdGltaXplX3dhdGVybWFya3MoaW50ZWxfc3RhdGUsIGNydGNfc3RhdGUpOwo+ICsJCWRl dl9wcml2LT5kaXNwbGF5Lm9wdGltaXplX3dhdGVybWFya3MoaW50ZWxfc3RhdGUsIGNydGMpOwo+ ICAKPiAgCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpLT53bSA9IGNydGNf c3RhdGUtPndtOwo+ICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDdlMGY2N2Jh YmUyMC4uMDBmZTRlZDRmYjk2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTI3 MywxMSArMjczLDExIEBAIHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKPiAgCWludCAo KmNvbXB1dGVfcGlwZV93bSkoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ ICAJaW50ICgqY29tcHV0ZV9pbnRlcm1lZGlhdGVfd20pKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKTsKPiAgCXZvaWQgKCppbml0aWFsX3dhdGVybWFya3MpKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+IC0JCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpOwo+ICsJCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpOwo+ICAJdm9p ZCAoKmF0b21pY191cGRhdGVfd2F0ZXJtYXJrcykoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUsCj4gLQkJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAr CQkJCQkgc3RydWN0IGludGVsX2NydGMgKmNydGMpOwo+ICAJdm9pZCAoKm9wdGltaXplX3dhdGVy bWFya3MpKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+IC0JCQkJICAgIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiArCQkJCSAgICBzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0Yyk7Cj4gIAlpbnQgKCpjb21wdXRlX2dsb2JhbF93YXRlcm1hcmtzKShzdHJ1Y3Qg aW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gIAl2b2lkICgqdXBkYXRlX3dtKShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0Yyk7Cj4gIAlpbnQgKCptb2Rlc2V0X2NhbGNfY2RjbGspKHN0cnVjdCBp bnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBpbmRl eCAyZDM4OWU0MzdlODcuLmIxODAzNDJmNjNhNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u Ywo+IEBAIC0xNTIwLDEwICsxNTIwLDExIEBAIHN0YXRpYyB2b2lkIGc0eF9wcm9ncmFtX3dhdGVy bWFya3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB9Cj4gIAo+ICBzdGF0 aWMgdm9pZCBnNHhfaW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUg KnN0YXRlLAo+IC0JCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4g KwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7 Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ICsJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUgPQo+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNy dGMpOwo+ICAKPiAgCW11dGV4X2xvY2soJmRldl9wcml2LT53bS53bV9tdXRleCk7Cj4gIAljcnRj LT53bS5hY3RpdmUuZzR4ID0gY3J0Y19zdGF0ZS0+d20uZzR4LmludGVybWVkaWF0ZTsKPiBAQCAt MTUzMiwxMCArMTUzMywxMSBAQCBzdGF0aWMgdm9pZCBnNHhfaW5pdGlhbF93YXRlcm1hcmtzKHN0 cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBn NHhfb3B0aW1pemVfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwK PiAtCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArCQkJCSAg ICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7Cj4gLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5j cnRjKTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0 Yy0+YmFzZS5kZXYpOwo+ICsJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUgPQo+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ ICAKPiAgCWlmICghY3J0Y19zdGF0ZS0+d20ubmVlZF9wb3N0dmJsX3VwZGF0ZSkKPiAgCQlyZXR1 cm47Cj4gQEAgLTE5MTUsMTEgKzE5MTcsMTIgQEAgc3RhdGljIGludCB2bHZfY29tcHV0ZV9waXBl X3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJKCgodmFsdWUpIDw8 IERTUEFSQl8gIyMgcGxhbmUgIyMgX1NISUZUX1ZMVikgJiBEU1BBUkJfICMjIHBsYW5lICMjIF9N QVNLX1ZMVikKPiAgCj4gIHN0YXRpYyB2b2lkIHZsdl9hdG9taWNfdXBkYXRlX2ZpZm8oc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gLQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKPiArCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7 Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ICAJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmRl dl9wcml2LT51bmNvcmU7Cj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSA9Cj4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7 Cj4gIAljb25zdCBzdHJ1Y3Qgdmx2X2ZpZm9fc3RhdGUgKmZpZm9fc3RhdGUgPQo+ICAJCSZjcnRj X3N0YXRlLT53bS52bHYuZmlmb19zdGF0ZTsKPiAgCWludCBzcHJpdGUwX3N0YXJ0LCBzcHJpdGUx X3N0YXJ0LCBmaWZvX3NpemU7Cj4gQEAgLTIxMzksMTAgKzIxNDIsMTEgQEAgc3RhdGljIHZvaWQg dmx2X3Byb2dyYW1fd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIHZsdl9pbml0aWFsX3dhdGVybWFya3Moc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gLQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiArCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7Cj4g LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUt PnVhcGkuY3J0Yy0+ZGV2KTsKPiAtCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwljb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0 Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gIAo+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPndtLndt X211dGV4KTsKPiAgCWNydGMtPndtLmFjdGl2ZS52bHYgPSBjcnRjX3N0YXRlLT53bS52bHYuaW50 ZXJtZWRpYXRlOwo+IEBAIC0yMTUxLDEwICsyMTU1LDExIEBAIHN0YXRpYyB2b2lkIHZsdl9pbml0 aWFsX3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIH0KPiAg Cj4gIHN0YXRpYyB2b2lkIHZsdl9vcHRpbWl6ZV93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9t aWNfc3RhdGUgKnN0YXRlLAo+IC0JCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQo+ICsJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7Cj4gLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGku Y3J0Yy0+ZGV2KTsKPiAtCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0 ZShzdGF0ZSwgY3J0Yyk7Cj4gIAo+ICAJaWYgKCFjcnRjX3N0YXRlLT53bS5uZWVkX3Bvc3R2Ymxf dXBkYXRlKQo+ICAJCXJldHVybjsKPiBAQCAtNTQ5MSwxMSArNTQ5NiwxMiBAQCBza2xfY29tcHV0 ZV93bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgfQo+ICAKPiAgc3RhdGlj IHZvaWQgc2tsX2F0b21pY191cGRhdGVfY3J0Y193bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRl ICpzdGF0ZSwKPiAtCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQo+ICsJCQkJICAgICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIHsKPiAtCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwo+ IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+YmFz ZS5kZXYpOwo+IC0Jc3RydWN0IHNrbF9waXBlX3dtICpwaXBlX3dtID0gJmNydGNfc3RhdGUtPndt LnNrbC5vcHRpbWFsOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjcnRjLT5iYXNlLmRldik7Cj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSA9Cj4gKwkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwg Y3J0Yyk7Cj4gKwljb25zdCBzdHJ1Y3Qgc2tsX3BpcGVfd20gKnBpcGVfd20gPSAmY3J0Y19zdGF0 ZS0+d20uc2tsLm9wdGltYWw7Cj4gIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4gIAo+ ICAJaWYgKChzdGF0ZS0+d21fcmVzdWx0cy5kaXJ0eV9waXBlcyAmIEJJVChjcnRjLT5waXBlKSkg PT0gMCkKPiBAQCAtNTUwNSwxMCArNTUxMSwxMSBAQCBzdGF0aWMgdm9pZCBza2xfYXRvbWljX3Vw ZGF0ZV9jcnRjX3dtKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICB9Cj4gIAo+ ICBzdGF0aWMgdm9pZCBza2xfaW5pdGlhbF93bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSwKPiAtCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gKwkJ CSAgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKPiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+ICsJ Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQo+ICsJCWludGVsX2F0 b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwo+ICAJc3RydWN0IHNrbF9kZGJf dmFsdWVzICpyZXN1bHRzID0gJnN0YXRlLT53bV9yZXN1bHRzOwo+ICAKPiAgCWlmICgocmVzdWx0 cy0+ZGlydHlfcGlwZXMgJiBCSVQoY3J0Yy0+cGlwZSkpID09IDApCj4gQEAgLTU1MTcsNyArNTUy NCw3IEBAIHN0YXRpYyB2b2lkIHNrbF9pbml0aWFsX3dtKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLAo+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPndtLndtX211dGV4KTsKPiAgCj4g IAlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmVfY2hhbmdlZCkKPiAtCQlza2xfYXRvbWljX3Vw ZGF0ZV9jcnRjX3dtKHN0YXRlLCBjcnRjX3N0YXRlKTsKPiArCQlza2xfYXRvbWljX3VwZGF0ZV9j cnRjX3dtKHN0YXRlLCBjcnRjKTsKPiAgCj4gIAltdXRleF91bmxvY2soJmRldl9wcml2LT53bS53 bV9tdXRleCk7Cj4gIH0KPiBAQCAtNTU3MywxMCArNTU4MCwxMSBAQCBzdGF0aWMgdm9pZCBpbGtf cHJvZ3JhbV93YXRlcm1hcmtzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAg fQo+ICAKPiAgc3RhdGljIHZvaWQgaWxrX2luaXRpYWxfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxf YXRvbWljX3N0YXRlICpzdGF0ZSwKPiAtCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+ICsJCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIHsKPiAtCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFw aS5jcnRjLT5kZXYpOwo+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlID0KPiArCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0 YXRlKHN0YXRlLCBjcnRjKTsKPiAgCj4gIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0 ZXgpOwo+ICAJY3J0Yy0+d20uYWN0aXZlLmlsayA9IGNydGNfc3RhdGUtPndtLmlsay5pbnRlcm1l ZGlhdGU7Cj4gQEAgLTU1ODUsMTAgKzU1OTMsMTEgQEAgc3RhdGljIHZvaWQgaWxrX2luaXRpYWxf d2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgfQo+ICAKPiAg c3RhdGljIHZvaWQgaWxrX29wdGltaXplX3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0b21pY19z dGF0ZSAqc3RhdGUsCj4gLQkJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCj4gKwkJCQkgICAgc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIHsKPiAtCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj LT5kZXYpOwo+IC0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNf c3RhdGUtPnVhcGkuY3J0Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlID0KPiArCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKHN0 YXRlLCBjcnRjKTsKPiAgCj4gIAlpZiAoIWNydGNfc3RhdGUtPndtLm5lZWRfcG9zdHZibF91cGRh dGUpCj4gIAkJcmV0dXJuOwo+IC0tIAo+IDIuMjMuMAo+IAo+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IElu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZng=