From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH v3 01/11] drm/i915: Add a atomic evasion step to watermark programming, v3. Date: Wed, 9 Nov 2016 16:14:33 -0800 Message-ID: <20161110001433.GP6536@intel.com> References: <1478609742-13603-1-git-send-email-maarten.lankhorst@linux.intel.com> <1478609742-13603-2-git-send-email-maarten.lankhorst@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 CDC8C6E0DD for ; Thu, 10 Nov 2016 00:14:33 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1478609742-13603-2-git-send-email-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 T24gVHVlLCBOb3YgMDgsIDIwMTYgYXQgMDE6NTU6MzJQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gQWxsb3cgdGhlIGRyaXZlciB0byB3cml0ZSB3YXRlcm1hcmtzIGR1cmluZyBh dG9taWMgZXZhc2lvbi4KPiBUaGlzIHdpbGwgbWFrZSBpdCBwb3NzaWJsZSB0byB3cml0ZSB0aGUg d2F0ZXJtYXJrcyBpbiBhIGNsZWFuZXIKPiB3YXkgb24gZ2VuOSsuCj4gCj4gaW50ZWxfYXRvbWlj X3N0YXRlIGlzIG5vdCB1c2VkIGhlcmUgeWV0LCBidXQgd2lsbCBiZSB1c2VkIHdoZW4KPiB3ZSBw cm9ncmFtIGFsbCB3YXRlcm1hcmtzIGFzIGEgc2VwYXJhdGUgc3RlcCBkdXJpbmcgZXZhc2lvbi4K PiAKPiBUaGlzIGFsc28gd3JpdGVzIGxpbmV0aW1lIGFsbCB0aGUgdGltZSwgd2hpbGUgYmVmb3Jl IGl0IHdhcyBvbmx5Cj4gZG9uZSBkdXJpbmcgcGxhbmUgdXBkYXRlcy4gVGhpcyBsb29rcyBsaWtl IHRoaXMgY291bGQgYmUgYSBidWdmaXgsCj4gYnV0IEknbSBub3Qgc3VyZSB3aGF0IGl0IGFmZmVj dHMuCj4gCj4gQ2hhbmdlcyBzaW5jZSB2MToKPiAtIEFkZCBjb21tZW50IGFib3V0IGF0b21pYyBl dmFzaW9uIHRvIGNvbW1pdCBtZXNzYWdlLgo+IC0gVW53cmFwIEk5MTVfV1JJVEUgY2FsbC4gKEx5 dWRlKQo+IENoYW5nZXMgc2luY2UgdjI6Cj4gLSBSZW5hbWUgYXRvbWljX2V2YWRlX3dhdGVybWFy a3MgdG8gYXRvbWljX3VwZGF0ZV93YXRlcm1hcmtzLiAoVmlsbGUpCj4gLSBBZGQgbGluZSB3cmFw cyB3aGVyZSBhcHByb3ByaWF0ZSwgZml4IGdyYW1tYXIgaW4gY29tbWl0IG1lc3NhZ2UuIChNYXR0 KQoKSSdtIG5vdCBzdXJlIGlmIHRoZXNlIG1pbm9yIGNoYW5nZXMgYWN0dWFsbHkgZ290IGFwcGxp ZWQgb3Igbm90OyB0aGUKaGVhZGxpbmUgc3RpbGwgbmVlZHMgcy9hIGF0b21pYy9hbiBhdG9taWMv IGFuZCB0aGVyZSBhcmUgc3RpbGwgc2V2ZXJhbApsb25nIGxpbmVzIHRoYXQgY291bGQgYmUgd3Jh cHBlZCAoZXNwZWNpYWxseSB0aGUgY2FsbHNpdGVzIG9mCmluaXRpYWxfd2F0ZXJtYXJrcygpKS4K CkJ1dCBvdGhlcndpc2UgdGhlIGNvZGUgbG9va3MgZ29vZCwgc28gaWYgeW91IGNsZWFuIHVwIHRo ZSBjb3NtZXRpYwppc3N1ZXMsIHRoZW4gbXkgci1iIHN0aWxsIHN0YW5kcy4KCgpNYXR0Cgo+IAo+ IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51 eC5pbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBp bnRlbC5jb20+Cj4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgOSArKysrKysr LS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMjYgKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAg IHwgMTggKysrKysrKysrKysrKysrKy0tCj4gIDMgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9u cygrKSwgMTcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXgg NDczNWI0MTc3MTAwLi4wMDk4OGQ3MTZkN2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK PiBAQCAtNDg3LDYgKzQ4Nyw3IEBAIHN0cnVjdCBzZHZvX2RldmljZV9tYXBwaW5nIHsKPiAgCj4g IHN0cnVjdCBpbnRlbF9jb25uZWN0b3I7Cj4gIHN0cnVjdCBpbnRlbF9lbmNvZGVyOwo+ICtzdHJ1 Y3QgaW50ZWxfYXRvbWljX3N0YXRlOwo+ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZTsKPiAgc3Ry dWN0IGludGVsX2luaXRpYWxfcGxhbmVfY29uZmlnOwo+ICBzdHJ1Y3QgaW50ZWxfY3J0YzsKPiBA QCAtNTAwLDggKzUwMSwxMiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZGlzcGxheV9mdW5jcyB7Cj4gIAlp bnQgKCpjb21wdXRlX2ludGVybWVkaWF0ZV93bSkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAg CQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAgCQkJCSAgICAgICBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3c3RhdGUpOwo+IC0Jdm9pZCAoKmluaXRpYWxfd2F0 ZXJtYXJrcykoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSk7Cj4gLQl2b2lkICgqb3B0 aW1pemVfd2F0ZXJtYXJrcykoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSk7Cj4gKwl2 b2lkICgqaW5pdGlhbF93YXRlcm1hcmtzKShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0 ZSwKPiArCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpOwo+ICsJdm9pZCAo KmF0b21pY191cGRhdGVfd2F0ZXJtYXJrcykoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3Rh dGUsCj4gKwkJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpOwo+ICsJdm9pZCAo Km9wdGltaXplX3dhdGVybWFya3MpKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ ICsJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpOwo+ICAJaW50ICgqY29t cHV0ZV9nbG9iYWxfd2F0ZXJtYXJrcykoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsK PiAgCXZvaWQgKCp1cGRhdGVfd20pKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsKPiAgCWludCAo Km1vZGVzZXRfY2FsY19jZGNsaykoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggOTJhYjAxZjMzMjA4Li42NmNm MjlhYzlmZTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTUx NjksNyArNTE2OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQo+ICAJICogdXMgdG8uCj4gIAkgKi8K PiAgCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MgIT0gTlVMTCkKPiAt CQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MocGlwZV9jb25maWcpOwo+ICsJ CWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyh0b19pbnRlbF9hdG9taWNfc3Rh dGUob2xkX3N0YXRlKSwgcGlwZV9jb25maWcpOwo+ICAJZWxzZSBpZiAocGlwZV9jb25maWctPnVw ZGF0ZV93bV9wcmUpCj4gIAkJaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7Cj4gIH0KPiBA QCAtNTM4Myw3ICs1MzgzLDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19lbmFibGUoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJaW50ZWxfY29sb3JfbG9hZF9s dXRzKCZwaXBlX2NvbmZpZy0+YmFzZSk7Cj4gIAo+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5Lmlu aXRpYWxfd2F0ZXJtYXJrcyAhPSBOVUxMKQo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxf d2F0ZXJtYXJrcyhpbnRlbF9jcnRjLT5jb25maWcpOwo+ICsJCWRldl9wcml2LT5kaXNwbGF5Lmlu aXRpYWxfd2F0ZXJtYXJrcyh0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKSwgaW50ZWxf Y3J0Yy0+Y29uZmlnKTsKPiAgCWludGVsX2VuYWJsZV9waXBlKGludGVsX2NydGMpOwo+ICAKPiAg CWlmIChpbnRlbF9jcnRjLT5jb25maWctPmhhc19wY2hfZW5jb2RlcikKPiBAQCAtNTQ4OSw3ICs1 NDg5LDcgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4gIAkJaW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1 bmMoY3J0Yyk7Cj4gIAo+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJr cyAhPSBOVUxMKQo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhwaXBl X2NvbmZpZyk7Cj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHRvX2lu dGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUpLCBwaXBlX2NvbmZpZyk7Cj4gIAllbHNlCj4gIAkJ aW50ZWxfdXBkYXRlX3dhdGVybWFya3MoaW50ZWxfY3J0Yyk7Cj4gIAo+IEBAIC0xNDQ3NCw3ICsx NDQ3NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJaW50ZWxfY3N0YXRlID0gdG9faW50ZWxfY3J0Y19z dGF0ZShjcnRjLT5zdGF0ZSk7Cj4gIAo+ICAJCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5vcHRpbWl6 ZV93YXRlcm1hcmtzKQo+IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5vcHRpbWl6ZV93YXRlcm1hcmtz KGludGVsX2NzdGF0ZSk7Cj4gKwkJCWRldl9wcml2LT5kaXNwbGF5Lm9wdGltaXplX3dhdGVybWFy a3MoaW50ZWxfc3RhdGUsIGludGVsX2NzdGF0ZSk7Cj4gIAl9Cj4gIAo+ICAJZm9yX2VhY2hfY3J0 Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsIGkpIHsKPiBAQCAtMTQ5MDks MTAgKzE0OTA5LDExIEBAIHN0YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNfY29tbWl0KHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjKTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICppbnRlbF9jc3Rh dGUgPQo+ICAJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+IC0Jc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKm9sZF9pbnRlbF9zdGF0ZSA9Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqb2xkX2ludGVsX2NzdGF0ZSA9Cj4gIAkJdG9faW50ZWxfY3J0Y19zdGF0ZShvbGRfY3J0 Y19zdGF0ZSk7Cj4gKwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpvbGRfaW50ZWxfc3RhdGUg PQo+ICsJCXRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRfY3J0Y19zdGF0ZS0+c3RhdGUpOwo+ICAJ Ym9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSk7Cj4gLQllbnVtIHBpcGUg cGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gIAo+ICAJLyogUGVyZm9ybSB2YmxhbmsgZXZhc2lv biBhcm91bmQgY29tbWl0IG9wZXJhdGlvbiAqLwo+ICAJaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQo aW50ZWxfY3J0Yyk7Cj4gQEAgLTE0OTI1LDE0ICsxNDkyNiwxMyBAQCBzdGF0aWMgdm9pZCBpbnRl bF9iZWdpbl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJaW50ZWxfY29s b3JfbG9hZF9sdXRzKGNydGMtPnN0YXRlKTsKPiAgCX0KPiAgCj4gLQlpZiAoaW50ZWxfY3N0YXRl LT51cGRhdGVfcGlwZSkgewo+IC0JCWludGVsX3VwZGF0ZV9waXBlX2NvbmZpZyhpbnRlbF9jcnRj LCBvbGRfaW50ZWxfc3RhdGUpOwo+IC0JfSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDkpIHsKPiArCWlmIChpbnRlbF9jc3RhdGUtPnVwZGF0ZV9waXBlKQo+ICsJCWludGVsX3VwZGF0 ZV9waXBlX2NvbmZpZyhpbnRlbF9jcnRjLCBvbGRfaW50ZWxfY3N0YXRlKTsKPiArCWVsc2UgaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiAgCQlza2xfZGV0YWNoX3NjYWxlcnMoaW50ZWxf Y3J0Yyk7Cj4gIAo+IC0JCUk5MTVfV1JJVEUoUElQRV9XTV9MSU5FVElNRShwaXBlKSwKPiAtCQkJ ICAgaW50ZWxfY3N0YXRlLT53bS5za2wub3B0aW1hbC5saW5ldGltZSk7Cj4gLQl9Cj4gKwlpZiAo ZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX3VwZGF0ZV93YXRlcm1hcmtzKQo+ICsJCWRldl9wcml2 LT5kaXNwbGF5LmF0b21pY191cGRhdGVfd2F0ZXJtYXJrcyhvbGRfaW50ZWxfc3RhdGUsIGludGVs X2NzdGF0ZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGludGVsX2ZpbmlzaF9jcnRjX2NvbW1p dChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gQEAgLTE2NDExLDcgKzE2NDExLDcgQEAgc3RhdGlj IHZvaWQgc2FuaXRpemVfd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3N0YXRlKTsK PiAgCj4gIAkJY3MtPndtLm5lZWRfcG9zdHZibF91cGRhdGUgPSB0cnVlOwo+IC0JCWRldl9wcml2 LT5kaXNwbGF5Lm9wdGltaXplX3dhdGVybWFya3MoY3MpOwo+ICsJCWRldl9wcml2LT5kaXNwbGF5 Lm9wdGltaXplX3dhdGVybWFya3ModG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKSwgY3MpOwo+ ICAJfQo+ICAKPiAgcHV0X3N0YXRlOgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IDg4 ZTI4Yzk4OWI5Yy4uOWU4MjVhOTY1MWE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4g QEAgLTQxOTcsNiArNDE5NywxNyBAQCBza2xfY29tcHV0ZV93bShzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgc2tsX2F0 b21pY191cGRhdGVfY3J0Y193bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAr CQkJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCj4gK3sKPiArCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhjc3RhdGUtPmJhc2UuY3J0Yyk7Cj4g KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5iYXNl LmRldik7Cj4gKwlzdHJ1Y3Qgc2tsX3BpcGVfd20gKnBpcGVfd20gPSAmY3N0YXRlLT53bS5za2wu b3B0aW1hbDsKPiArCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKPiArCj4gKwlJOTE1X1dS SVRFKFBJUEVfV01fTElORVRJTUUocGlwZSksIHBpcGVfd20tPmxpbmV0aW1lKTsKPiArfQo+ICsK PiAgc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV93bShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YykKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2NydGMtPmJhc2UuZGV2 Owo+IEBAIC00Mjg3LDcgKzQyOTgsOCBAQCBzdGF0aWMgdm9pZCBpbGtfcHJvZ3JhbV93YXRlcm1h cmtzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCWlsa193cml0ZV93bV92 YWx1ZXMoZGV2X3ByaXYsICZyZXN1bHRzKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaWxrX2lu aXRpYWxfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQo+ICtzdGF0 aWMgdm9pZCBpbGtfaW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUg KnN0YXRlLAo+ICsJCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKPiAgewo+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjc3RhdGUtPmJh c2UuY3J0Yy0+ZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0Yyhjc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gQEAgLTQyOTgsNyArNDMxMCw4IEBAIHN0YXRp YyB2b2lkIGlsa19pbml0aWFsX3dhdGVybWFya3Moc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNz dGF0ZSkKPiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPndtLndtX211dGV4KTsKPiAgfQo+ICAK PiAtc3RhdGljIHZvaWQgaWxrX29wdGltaXplX3dhdGVybWFya3Moc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNzdGF0ZSkKPiArc3RhdGljIHZvaWQgaWxrX29wdGltaXplX3dhdGVybWFya3Moc3Ry dWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gKwkJCQkgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNzdGF0ZSkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9j cnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhjc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gQEAg LTc2OTUsNiArNzcwOCw3IEBAIHZvaWQgaW50ZWxfaW5pdF9wbShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gIAkJ c2tsX3NldHVwX3dtX2xhdGVuY3koZGV2X3ByaXYpOwo+ICAJCWRldl9wcml2LT5kaXNwbGF5LnVw ZGF0ZV93bSA9IHNrbF91cGRhdGVfd207Cj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX3Vw ZGF0ZV93YXRlcm1hcmtzID0gc2tsX2F0b21pY191cGRhdGVfY3J0Y193bTsKPiAgCQlkZXZfcHJp di0+ZGlzcGxheS5jb21wdXRlX2dsb2JhbF93YXRlcm1hcmtzID0gc2tsX2NvbXB1dGVfd207Cj4g IAl9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpKSB7Cj4gIAkJaWxrX3NldHVwX3dt X2xhdGVuY3koZGV2X3ByaXYpOwo+IC0tIAo+IDIuNy40Cj4gCj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4g SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKTWF0dCBSb3BlcgpHcmFwaGlj cyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RHIFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1lbnQK SW50ZWwgQ29ycG9yYXRpb24KKDkxNikgMzU2LTI3OTUKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==