From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anshuamn Gupta Subject: Re: [PATCH 3/3] drm/i915/dc3co: Avoid full modeset when EXITLINE needs to be changed Date: Wed, 13 Nov 2019 17:08:21 +0530 Message-ID: <20191113113821.GC17487@intel.com> References: <20191101001422.209326-1-jose.souza@intel.com> <20191101001422.209326-3-jose.souza@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 1E5B36ECE7 for ; Wed, 13 Nov 2019 11:46:16 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191101001422.209326-3-jose.souza@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?utf-8?B?Sm9zw6k=?= Roberto de Souza Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMjAxOS0xMC0zMSBhdCAxNzoxNDoyMiAtMDcwMCwgSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSB3 cm90ZToKPiBBIHJlY2VudCBjaGFuZ2UgaW4gQlNwZWMgYWxsb3cgdXMgdG8gY2hhbmdlIEVYVExJ TkUgd2hpbGUgdHJhbnNjb2Rlcgo+IGlzIGVuYWJsZWQgc28gdGhpcyBhbGxvdyB1cyB0byBjaGFu Z2UgaXQgZXZlbiB3aGVuIGRvaW5nIHRoZSBmaXJzdAo+IGZhc3RzZXQgYWZ0ZXIgdGFraW5nIG92 ZXIgcHJldmlvdXMgaGFyZHdhcmUgc3RhdGUgc2V0IGJ5IEJJT1MuCj4gQklPUyBkb24ndCBlbmFi bGUgUFNSLCBzbyBpZiBzaW5rIHN1cHBvcnRzIFBTUiBpdCB3aWxsIGJlIGVuYWJsZWQgb24KPiB0 aGUgZmlyc3QgZmFzdHNldCwgc28gbW92aW5nIHRoZSBFWFRMSU5FIGNvbXB1dGUgYW5kIHNldCB0 byBQU1IgZmxvd3MKPiBhbGxvdyB1cyB0byBzaW1wbGZ5IGEgYnVuY2ggb2YgY29kZS4KPiAKPiBU aGlzIHdpbGwgc2F2ZSBhIGxvdCBvZiB0aW1lIGluIGFsbCB0aGUgSUdUIHRlc3RzIHRoYXQgdXNl cyBDUkMsIGFzCj4gd2hlbiBQU1IyIGlzIGVuYWJsZWQgQ1JDcyBhcmUgbm90IGdlbmVyYXRlZCwg c28gd2Ugc3dpdGNoIHRvIFBTUjEsIHNvCj4gdGhlIHByZXZpb3VzIGNvZGUgd291bGQgY29tcHV0 ZSBkYzNjb19leGl0bGluZT0wIGNhdXNpbmcgYSBmdWxsCj4gbW9kZXNldCB0aGF0IHdvdWxkIHNo dXRkb3duIHBpcGUsIGVuYWJsZSBhbmQgdHJhaW4gbGluay4KPiAKPiBCU3BlYzogNDkxOTYKSSBh bSBub3QgYWJsZSB0byBmaW5kIGl0IGV4cGxpY2l0bHkgdGhhdCB3ZSBjYW4gY2hhbmdlIApFWElU TElORSB3aGlsZSB0cmFuc2NvZGVyIGlzIGVuYWJsZWQgaW4gaW5kZXggNDkxOTYuCldoaWNoIGNo YW5nZSBhY3R1YWxseSB1IGFyZSByZWZlcnJpbmc/Cj4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFr QGludGVsLmNvbT4KPiBDYzogQW5zaHVtYW4gR3VwdGEgPGFuc2h1bWFuLmd1cHRhQGludGVsLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGlu dGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGku YyAgICAgfCA4NiAtLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXkuYyB8ICAxIC0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9wc3IuYyAgICAgfCA0NyArKysrKysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQs IDQ3IGluc2VydGlvbnMoKyksIDg3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kZGkuYwo+IGluZGV4IGI1MWYyNDRhZDdhNS4uZjUyZmI3NjE5ZDQ2 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gQEAgLTMz MzksODYgKzMzMzksNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfZGlzYWJsZV9mZWNfc3RhdGUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlQT1NUSU5HX1JFQUQoaW50ZWxfZHAt PnJlZ3MuZHBfdHBfY3RsKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQKPiAtdGdsX2NsZWFyX3Bz cjJfdHJhbnNjb2Rlcl9leGl0bGluZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0 YXRlKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNzdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwo+IC0JdTMyIHZhbDsKPiAtCj4gLQlpZiAoIWNzdGF0 ZS0+ZGMzY29fZXhpdGxpbmUpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCXZhbCA9IEk5MTVfUkVBRChF WElUTElORShjc3RhdGUtPmNwdV90cmFuc2NvZGVyKSk7Cj4gLQl2YWwgJj0gfihFWElUTElORV9N QVNLIHwgRVhJVExJTkVfRU5BQkxFKTsKPiAtCUk5MTVfV1JJVEUoRVhJVExJTkUoY3N0YXRlLT5j cHVfdHJhbnNjb2RlciksIHZhbCk7Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkCj4gLXRnbF9zZXRf cHNyMl90cmFuc2NvZGVyX2V4aXRsaW5lKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj c3RhdGUpCj4gLXsKPiAtCXUzMiB2YWwsIGV4aXRfc2NhbmxpbmVzOwo+IC0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsK PiAtCj4gLQlpZiAoIWNzdGF0ZS0+ZGMzY29fZXhpdGxpbmUpCj4gLQkJcmV0dXJuOwo+IC0KPiAt CWV4aXRfc2NhbmxpbmVzID0gY3N0YXRlLT5kYzNjb19leGl0bGluZTsKPiAtCWV4aXRfc2Nhbmxp bmVzIDw8PSBFWElUTElORV9TSElGVDsKPiAtCXZhbCA9IEk5MTVfUkVBRChFWElUTElORShjc3Rh dGUtPmNwdV90cmFuc2NvZGVyKSk7Cj4gLQl2YWwgJj0gfihFWElUTElORV9NQVNLIHwgRVhJVExJ TkVfRU5BQkxFKTsKPiAtCXZhbCB8PSBleGl0X3NjYW5saW5lczsKPiAtCXZhbCB8PSBFWElUTElO RV9FTkFCTEU7Cj4gLQlJOTE1X1dSSVRFKEVYSVRMSU5FKGNzdGF0ZS0+Y3B1X3RyYW5zY29kZXIp LCB2YWwpOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCB0Z2xfZGMzY29fZXhpdGxpbmVfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gLQkJCQkJICAgICAgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKPiAtewo+IC0JdTMyIGV4aXRfc2NhbmxpbmVz Owo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjc3RhdGUt PmJhc2UuY3J0Yy0+ZGV2KTsKPiAtCXUzMiBjcnRjX3ZkaXNwbGF5ID0gY3N0YXRlLT5iYXNlLmFk anVzdGVkX21vZGUuY3J0Y192ZGlzcGxheTsKPiAtCj4gLQljc3RhdGUtPmRjM2NvX2V4aXRsaW5l ID0gMDsKPiAtCj4gLQlpZiAoIShkZXZfcHJpdi0+Y3NyLmFsbG93ZWRfZGNfbWFzayAmIERDX1NU QVRFX0VOX0RDM0NPKSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0JLyogQi5TcGVjczo0OTE5NiBEQzND TyBvbmx5IHdvcmtzIHdpdGggcGlwZUEgYW5kIERESUEuKi8KPiAtCWlmICh0b19pbnRlbF9jcnRj KGNzdGF0ZS0+YmFzZS5jcnRjKS0+cGlwZSAhPSBQSVBFX0EgfHwKPiAtCSAgICBlbmNvZGVyLT5w b3J0ICE9IFBPUlRfQSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0JaWYgKCFjc3RhdGUtPmhhc19wc3Iy IHx8ICFjc3RhdGUtPmJhc2UuYWN0aXZlKQo+IC0JCXJldHVybjsKPiAtCj4gLQkvKgo+IC0JICog REMzQ08gRXhpdCB0aW1lIDIwMHVzIEIuU3BlYyA0OTE5Ngo+IC0JICogUFNSMiB0cmFuc2NvZGVy IEVhcmx5IEV4aXQgc2NhbmxpbmVzID0gUk9VTkRVUCgyMDAgLyBsaW5lIHRpbWUpICsgMQo+IC0J ICovCj4gLQlleGl0X3NjYW5saW5lcyA9Cj4gLQkJaW50ZWxfdXNlY3NfdG9fc2NhbmxpbmVzKCZj c3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZSwgMjAwKSArIDE7Cj4gLQo+IC0JaWYgKFdBUk5fT04o ZXhpdF9zY2FubGluZXMgPiBjcnRjX3ZkaXNwbGF5KSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0JY3N0 YXRlLT5kYzNjb19leGl0bGluZSA9IGNydGNfdmRpc3BsYXkgLSBleGl0X3NjYW5saW5lczsKPiAt CURSTV9ERUJVR19LTVMoIkRDM0NPIGV4aXQgc2NhbmxpbmVzICVkXG4iLCBjc3RhdGUtPmRjM2Nv X2V4aXRsaW5lKTsKPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQgdGdsX2RjM2NvX2V4aXRsaW5lX2dl dF9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gLXsKPiAtCXUz MiB2YWw7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNy dGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKPiAtCj4gLQlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA8IDEyKQo+IC0JCXJldHVybjsKPiAtCj4gLQl2YWwgPSBJOTE1X1JFQUQoRVhJVExJTkUoY3J0 Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXIpKTsKPiAtCj4gLQlpZiAodmFsICYgRVhJVExJTkVfRU5B QkxFKQo+IC0JCWNydGNfc3RhdGUtPmRjM2NvX2V4aXRsaW5lID0gdmFsICYgRVhJVExJTkVfTUFT SzsKPiAtfQo+IC0KPiAgc3RhdGljIHZvaWQgdGdsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkJCSAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKmNvbm5fc3RhdGUpCj4gQEAgLTM0MzEsNyArMzM1MSw2IEBAIHN0YXRpYyB2b2lkIHRnbF9k ZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCWludCBs ZXZlbCA9IGludGVsX2RkaV9kcF9sZXZlbChpbnRlbF9kcCk7Cj4gIAllbnVtIHRyYW5zY29kZXIg dHJhbnNjb2RlciA9IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwo+ICAKPiAtCXRnbF9zZXRf cHNyMl90cmFuc2NvZGVyX2V4aXRsaW5lKGNydGNfc3RhdGUpOwo+ICAJaW50ZWxfZHBfc2V0X2xp bmtfcGFyYW1zKGludGVsX2RwLCBjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrLAo+ICAJCQkJIGNydGNf c3RhdGUtPmxhbmVfY291bnQsIGlzX21zdCk7Cj4gIAo+IEBAIC0zNzYwLDcgKzM2NzksNiBAQCBz dGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ICAJCQkJCQkgIGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKPiAg Cj4gIAlpbnRlbF9kZGlfY2xrX2Rpc2FibGUoZW5jb2Rlcik7Cj4gLQl0Z2xfY2xlYXJfcHNyMl90 cmFuc2NvZGVyX2V4aXRsaW5lKG9sZF9jcnRjX3N0YXRlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZv aWQgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+IEBAIC00MzA4LDkgKzQyMjYsNiBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCWJyZWFrOwo+ICAJfQo+ICAKPiAtCWlm IChlbmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9FRFApCj4gLQkJdGdsX2RjM2NvX2V4aXRs aW5lX2dldF9jb25maWcocGlwZV9jb25maWcpOwo+IC0KPiAgCXBpcGVfY29uZmlnLT5oYXNfYXVk aW8gPQo+ICAJCWludGVsX2RkaV9pc19hdWRpb19lbmFibGVkKGRldl9wcml2LCBjcHVfdHJhbnNj b2Rlcik7Cj4gIAo+IEBAIC00MzkyLDcgKzQzMDcsNiBAQCBzdGF0aWMgaW50IGludGVsX2RkaV9j b21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQlyZXQgPSBp bnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKGVuY29kZXIsIHBpcGVfY29uZmlnLCBjb25uX3N0YXRl KTsKPiAgCX0gZWxzZSB7Cj4gIAkJcmV0ID0gaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoZW5jb2Rl ciwgcGlwZV9jb25maWcsIGNvbm5fc3RhdGUpOwo+IC0JCXRnbF9kYzNjb19leGl0bGluZV9jb21w dXRlX2NvbmZpZyhlbmNvZGVyLCBwaXBlX2NvbmZpZyk7Cj4gIAl9Cj4gIAo+ICAJaWYgKHJldCkK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4 IDM0OGNlMDQ1NjY5Ni4uNmMxYzkzYjJhODFmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTMwOTEsNyArMTMwOTEsNiBAQCBpbnRl bF9waXBlX2NvbmZpZ19jb21wYXJlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjdXJy ZW50X2NvbmZpZywKPiAgCj4gIAlQSVBFX0NPTkZfQ0hFQ0tfSShwaXhlbF9tdWx0aXBsaWVyKTsK PiAgCVBJUEVfQ09ORl9DSEVDS19JKG91dHB1dF9mb3JtYXQpOwo+IC0JUElQRV9DT05GX0NIRUNL X0koZGMzY29fZXhpdGxpbmUpOwo+ICAJUElQRV9DT05GX0NIRUNLX0JPT0woaGFzX2hkbWlfc2lu ayk7Cj4gIAlpZiAoKElOVEVMX0dFTihkZXZfcHJpdikgPCA4ICYmICFJU19IQVNXRUxMKGRldl9w cml2KSkgfHwKPiAgCSAgICBJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVX KGRldl9wcml2KSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKPiBp bmRleCBiYjliNTM0OWI3MmEuLjA2YTBhMWM5NjIxZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9wc3IuYwo+IEBAIC01OTYsNiArNTk2LDM3IEBAIHN0YXRpYyB2b2lk IHRnbF9kaXNhbGxvd19kYzNjb19vbl9wc3IyX2V4aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ICAJdGdsX3BzcjJfZGlzYWJsZV9kYzNjbyhkZXZfcHJpdik7Cj4gIH0KPiAg Cj4gK3N0YXRpYyB2b2lkCj4gK3RnbF9kYzNjb19leGl0bGluZV9jb21wdXRlX2NvbmZpZyhzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICsJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKPiArewo+ICsJY29uc3QgdTMyIGNydGNfdmRpc3BsYXkgPSBjcnRjX3N0YXRl LT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y192ZGlzcGxheTsKPiArCXN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+ICsJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7Cj4gKwl1 MzIgZXhpdF9zY2FubGluZXM7Cj4gKwo+ICsJaWYgKCEoZGV2X3ByaXYtPmNzci5hbGxvd2VkX2Rj X21hc2sgJiBEQ19TVEFURV9FTl9EQzNDTykpCj4gKwkJcmV0dXJuOwo+ICsKPiArCS8qIEIuU3Bl Y3M6NDkxOTYgREMzQ08gb25seSB3b3JrcyB3aXRoIHBpcGVBIGFuZCBERElBLiovCj4gKwlpZiAo dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpLT5waXBlICE9IFBJUEVfQSB8fAo+ ICsJICAgIGRpZ19wb3J0LT5iYXNlLnBvcnQgIT0gUE9SVF9BKQo+ICsJCXJldHVybjsKPiArCj4g KwkvKgo+ICsJICogREMzQ08gRXhpdCB0aW1lIDIwMHVzIEIuU3BlYyA0OTE5Ngo+ICsJICogUFNS MiB0cmFuc2NvZGVyIEVhcmx5IEV4aXQgc2NhbmxpbmVzID0gUk9VTkRVUCgyMDAgLyBsaW5lIHRp bWUpICsgMQo+ICsJICovCj4gKwlleGl0X3NjYW5saW5lcyA9Cj4gKwkJaW50ZWxfdXNlY3NfdG9f c2NhbmxpbmVzKCZjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUsIDIwMCkgKyAxOwo+ICsK PiArCWlmIChXQVJOX09OKGV4aXRfc2NhbmxpbmVzID4gY3J0Y192ZGlzcGxheSkpCj4gKwkJcmV0 dXJuOwo+ICsKPiArCWNydGNfc3RhdGUtPmRjM2NvX2V4aXRsaW5lID0gY3J0Y192ZGlzcGxheSAt IGV4aXRfc2NhbmxpbmVzOwo+ICsJRFJNX0RFQlVHX0tNUygiREMzQ08gZXhpdCBzY2FubGluZXMg JWRcbiIsIGNydGNfc3RhdGUtPmRjM2NvX2V4aXRsaW5lKTsKPiArfQo+ICsKPiAgc3RhdGljIGJv b2wgaW50ZWxfcHNyMl9jb25maWdfdmFsaWQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAg CQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+IEBAIC02 NTgsNiArNjg5LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfcHNyMl9jb25maWdfdmFsaWQoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAl9Cj4gIAo+ICsJdGds X2RjM2NvX2V4aXRsaW5lX2NvbXB1dGVfY29uZmlnKGludGVsX2RwLCBjcnRjX3N0YXRlKTsKPiAg CXJldHVybiB0cnVlOwo+ICB9Cj4gIAo+IEBAIC03NzUsNiArODA3LDIxIEBAIHN0YXRpYyB2b2lk IGludGVsX3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gIAlJ OTE1X1dSSVRFKEVEUF9QU1JfREVCVUcoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgbWFzayk7 Cj4gIAo+ICAJcHNyX2lycV9jb250cm9sKGRldl9wcml2KTsKPiArCj4gKwlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA+PSAxMiAmJiBkZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCkgewo+ICsJCXUz MiB2YWw7Cj4gKwo+ICsJCS8qCj4gKwkJICogVE9ETzogaWYgZnV0dXJlIHBsYXRmb3JtcyBzdXBw b3J0cyBEQzNDTyBpbiBtb3JlIHRoYW4gb25lCj4gKwkJICogdHJhbnNjb2RlciwgRVhJVExJTkUg d2lsbCBuZWVkIHRvIGJlIHVuc2V0IHdoZW4gZGlzYWJsaW5nIFBTUgo+ICsJCSAqLwo+ICsJCXZh bCA9IEk5MTVfUkVBRChFWElUTElORShjcHVfdHJhbnNjb2RlcikpOwo+ICsJCXZhbCAmPSB+KEVY SVRMSU5FX01BU0sgfCBFWElUTElORV9FTkFCTEUpOwo+ICsJCXZhbCB8PSBjcnRjX3N0YXRlLT5k YzNjb19leGl0bGluZSA8PCBFWElUTElORV9TSElGVDsKPiArCQlpZiAoY3J0Y19zdGF0ZS0+ZGMz Y29fZXhpdGxpbmUpCj4gKwkJCXZhbCB8PSBFWElUTElORV9FTkFCTEU7Cj4gKwkJSTkxNV9XUklU RShFWElUTElORShjcHVfdHJhbnNjb2RlciksIHZhbCk7Cj4gKwl9Cj4gIH0KPiAgCj4gIHN0YXRp YyB2b2lkIGludGVsX3Bzcl9lbmFibGVfbG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiAtLSAKPiAyLjIzLjAKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4 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 A909AC43331 for ; Wed, 13 Nov 2019 11:46:17 +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 597D9222C2 for ; Wed, 13 Nov 2019 11:46:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 597D9222C2 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 D7F4F6ECE7; Wed, 13 Nov 2019 11:46:16 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1E5B36ECE7 for ; Wed, 13 Nov 2019 11:46:16 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2019 03:46:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,300,1569308400"; d="scan'208";a="198420002" Received: from genxfsim-desktop.iind.intel.com (HELO intel.com) ([10.223.74.120]) by orsmga008.jf.intel.com with ESMTP; 13 Nov 2019 03:46:12 -0800 Date: Wed, 13 Nov 2019 17:08:21 +0530 From: Anshuamn Gupta To: =?utf-8?B?Sm9zw6k=?= Roberto de Souza Message-ID: <20191113113821.GC17487@intel.com> References: <20191101001422.209326-1-jose.souza@intel.com> <20191101001422.209326-3-jose.souza@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191101001422.209326-3-jose.souza@intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Subject: Re: [Intel-gfx] [PATCH 3/3] drm/i915/dc3co: Avoid full modeset when EXITLINE needs to be changed 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: <20191113113821.bXxCNB2jhx7rfVifnxQQC27fcnvrh9R1me6n01Q9KRI@z> T24gMjAxOS0xMC0zMSBhdCAxNzoxNDoyMiAtMDcwMCwgSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSB3 cm90ZToKPiBBIHJlY2VudCBjaGFuZ2UgaW4gQlNwZWMgYWxsb3cgdXMgdG8gY2hhbmdlIEVYVExJ TkUgd2hpbGUgdHJhbnNjb2Rlcgo+IGlzIGVuYWJsZWQgc28gdGhpcyBhbGxvdyB1cyB0byBjaGFu Z2UgaXQgZXZlbiB3aGVuIGRvaW5nIHRoZSBmaXJzdAo+IGZhc3RzZXQgYWZ0ZXIgdGFraW5nIG92 ZXIgcHJldmlvdXMgaGFyZHdhcmUgc3RhdGUgc2V0IGJ5IEJJT1MuCj4gQklPUyBkb24ndCBlbmFi bGUgUFNSLCBzbyBpZiBzaW5rIHN1cHBvcnRzIFBTUiBpdCB3aWxsIGJlIGVuYWJsZWQgb24KPiB0 aGUgZmlyc3QgZmFzdHNldCwgc28gbW92aW5nIHRoZSBFWFRMSU5FIGNvbXB1dGUgYW5kIHNldCB0 byBQU1IgZmxvd3MKPiBhbGxvdyB1cyB0byBzaW1wbGZ5IGEgYnVuY2ggb2YgY29kZS4KPiAKPiBU aGlzIHdpbGwgc2F2ZSBhIGxvdCBvZiB0aW1lIGluIGFsbCB0aGUgSUdUIHRlc3RzIHRoYXQgdXNl cyBDUkMsIGFzCj4gd2hlbiBQU1IyIGlzIGVuYWJsZWQgQ1JDcyBhcmUgbm90IGdlbmVyYXRlZCwg c28gd2Ugc3dpdGNoIHRvIFBTUjEsIHNvCj4gdGhlIHByZXZpb3VzIGNvZGUgd291bGQgY29tcHV0 ZSBkYzNjb19leGl0bGluZT0wIGNhdXNpbmcgYSBmdWxsCj4gbW9kZXNldCB0aGF0IHdvdWxkIHNo dXRkb3duIHBpcGUsIGVuYWJsZSBhbmQgdHJhaW4gbGluay4KPiAKPiBCU3BlYzogNDkxOTYKSSBh bSBub3QgYWJsZSB0byBmaW5kIGl0IGV4cGxpY2l0bHkgdGhhdCB3ZSBjYW4gY2hhbmdlIApFWElU TElORSB3aGlsZSB0cmFuc2NvZGVyIGlzIGVuYWJsZWQgaW4gaW5kZXggNDkxOTYuCldoaWNoIGNo YW5nZSBhY3R1YWxseSB1IGFyZSByZWZlcnJpbmc/Cj4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFr QGludGVsLmNvbT4KPiBDYzogQW5zaHVtYW4gR3VwdGEgPGFuc2h1bWFuLmd1cHRhQGludGVsLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGlu dGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGku YyAgICAgfCA4NiAtLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXkuYyB8ICAxIC0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9wc3IuYyAgICAgfCA0NyArKysrKysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQs IDQ3IGluc2VydGlvbnMoKyksIDg3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kZGkuYwo+IGluZGV4IGI1MWYyNDRhZDdhNS4uZjUyZmI3NjE5ZDQ2 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gQEAgLTMz MzksODYgKzMzMzksNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfZGlzYWJsZV9mZWNfc3RhdGUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlQT1NUSU5HX1JFQUQoaW50ZWxfZHAt PnJlZ3MuZHBfdHBfY3RsKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQKPiAtdGdsX2NsZWFyX3Bz cjJfdHJhbnNjb2Rlcl9leGl0bGluZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0 YXRlKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNzdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwo+IC0JdTMyIHZhbDsKPiAtCj4gLQlpZiAoIWNzdGF0 ZS0+ZGMzY29fZXhpdGxpbmUpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCXZhbCA9IEk5MTVfUkVBRChF WElUTElORShjc3RhdGUtPmNwdV90cmFuc2NvZGVyKSk7Cj4gLQl2YWwgJj0gfihFWElUTElORV9N QVNLIHwgRVhJVExJTkVfRU5BQkxFKTsKPiAtCUk5MTVfV1JJVEUoRVhJVExJTkUoY3N0YXRlLT5j cHVfdHJhbnNjb2RlciksIHZhbCk7Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkCj4gLXRnbF9zZXRf cHNyMl90cmFuc2NvZGVyX2V4aXRsaW5lKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj c3RhdGUpCj4gLXsKPiAtCXUzMiB2YWwsIGV4aXRfc2NhbmxpbmVzOwo+IC0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsK PiAtCj4gLQlpZiAoIWNzdGF0ZS0+ZGMzY29fZXhpdGxpbmUpCj4gLQkJcmV0dXJuOwo+IC0KPiAt CWV4aXRfc2NhbmxpbmVzID0gY3N0YXRlLT5kYzNjb19leGl0bGluZTsKPiAtCWV4aXRfc2Nhbmxp bmVzIDw8PSBFWElUTElORV9TSElGVDsKPiAtCXZhbCA9IEk5MTVfUkVBRChFWElUTElORShjc3Rh dGUtPmNwdV90cmFuc2NvZGVyKSk7Cj4gLQl2YWwgJj0gfihFWElUTElORV9NQVNLIHwgRVhJVExJ TkVfRU5BQkxFKTsKPiAtCXZhbCB8PSBleGl0X3NjYW5saW5lczsKPiAtCXZhbCB8PSBFWElUTElO RV9FTkFCTEU7Cj4gLQlJOTE1X1dSSVRFKEVYSVRMSU5FKGNzdGF0ZS0+Y3B1X3RyYW5zY29kZXIp LCB2YWwpOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCB0Z2xfZGMzY29fZXhpdGxpbmVfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gLQkJCQkJICAgICAgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKPiAtewo+IC0JdTMyIGV4aXRfc2NhbmxpbmVz Owo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjc3RhdGUt PmJhc2UuY3J0Yy0+ZGV2KTsKPiAtCXUzMiBjcnRjX3ZkaXNwbGF5ID0gY3N0YXRlLT5iYXNlLmFk anVzdGVkX21vZGUuY3J0Y192ZGlzcGxheTsKPiAtCj4gLQljc3RhdGUtPmRjM2NvX2V4aXRsaW5l ID0gMDsKPiAtCj4gLQlpZiAoIShkZXZfcHJpdi0+Y3NyLmFsbG93ZWRfZGNfbWFzayAmIERDX1NU QVRFX0VOX0RDM0NPKSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0JLyogQi5TcGVjczo0OTE5NiBEQzND TyBvbmx5IHdvcmtzIHdpdGggcGlwZUEgYW5kIERESUEuKi8KPiAtCWlmICh0b19pbnRlbF9jcnRj KGNzdGF0ZS0+YmFzZS5jcnRjKS0+cGlwZSAhPSBQSVBFX0EgfHwKPiAtCSAgICBlbmNvZGVyLT5w b3J0ICE9IFBPUlRfQSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0JaWYgKCFjc3RhdGUtPmhhc19wc3Iy IHx8ICFjc3RhdGUtPmJhc2UuYWN0aXZlKQo+IC0JCXJldHVybjsKPiAtCj4gLQkvKgo+IC0JICog REMzQ08gRXhpdCB0aW1lIDIwMHVzIEIuU3BlYyA0OTE5Ngo+IC0JICogUFNSMiB0cmFuc2NvZGVy IEVhcmx5IEV4aXQgc2NhbmxpbmVzID0gUk9VTkRVUCgyMDAgLyBsaW5lIHRpbWUpICsgMQo+IC0J ICovCj4gLQlleGl0X3NjYW5saW5lcyA9Cj4gLQkJaW50ZWxfdXNlY3NfdG9fc2NhbmxpbmVzKCZj c3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZSwgMjAwKSArIDE7Cj4gLQo+IC0JaWYgKFdBUk5fT04o ZXhpdF9zY2FubGluZXMgPiBjcnRjX3ZkaXNwbGF5KSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0JY3N0 YXRlLT5kYzNjb19leGl0bGluZSA9IGNydGNfdmRpc3BsYXkgLSBleGl0X3NjYW5saW5lczsKPiAt CURSTV9ERUJVR19LTVMoIkRDM0NPIGV4aXQgc2NhbmxpbmVzICVkXG4iLCBjc3RhdGUtPmRjM2Nv X2V4aXRsaW5lKTsKPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQgdGdsX2RjM2NvX2V4aXRsaW5lX2dl dF9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gLXsKPiAtCXUz MiB2YWw7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNy dGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKPiAtCj4gLQlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA8IDEyKQo+IC0JCXJldHVybjsKPiAtCj4gLQl2YWwgPSBJOTE1X1JFQUQoRVhJVExJTkUoY3J0 Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXIpKTsKPiAtCj4gLQlpZiAodmFsICYgRVhJVExJTkVfRU5B QkxFKQo+IC0JCWNydGNfc3RhdGUtPmRjM2NvX2V4aXRsaW5lID0gdmFsICYgRVhJVExJTkVfTUFT SzsKPiAtfQo+IC0KPiAgc3RhdGljIHZvaWQgdGdsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkJCSAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKmNvbm5fc3RhdGUpCj4gQEAgLTM0MzEsNyArMzM1MSw2IEBAIHN0YXRpYyB2b2lkIHRnbF9k ZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCWludCBs ZXZlbCA9IGludGVsX2RkaV9kcF9sZXZlbChpbnRlbF9kcCk7Cj4gIAllbnVtIHRyYW5zY29kZXIg dHJhbnNjb2RlciA9IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwo+ICAKPiAtCXRnbF9zZXRf cHNyMl90cmFuc2NvZGVyX2V4aXRsaW5lKGNydGNfc3RhdGUpOwo+ICAJaW50ZWxfZHBfc2V0X2xp bmtfcGFyYW1zKGludGVsX2RwLCBjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrLAo+ICAJCQkJIGNydGNf c3RhdGUtPmxhbmVfY291bnQsIGlzX21zdCk7Cj4gIAo+IEBAIC0zNzYwLDcgKzM2NzksNiBAQCBz dGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ICAJCQkJCQkgIGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKPiAg Cj4gIAlpbnRlbF9kZGlfY2xrX2Rpc2FibGUoZW5jb2Rlcik7Cj4gLQl0Z2xfY2xlYXJfcHNyMl90 cmFuc2NvZGVyX2V4aXRsaW5lKG9sZF9jcnRjX3N0YXRlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZv aWQgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+IEBAIC00MzA4LDkgKzQyMjYsNiBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCWJyZWFrOwo+ICAJfQo+ICAKPiAtCWlm IChlbmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9FRFApCj4gLQkJdGdsX2RjM2NvX2V4aXRs aW5lX2dldF9jb25maWcocGlwZV9jb25maWcpOwo+IC0KPiAgCXBpcGVfY29uZmlnLT5oYXNfYXVk aW8gPQo+ICAJCWludGVsX2RkaV9pc19hdWRpb19lbmFibGVkKGRldl9wcml2LCBjcHVfdHJhbnNj b2Rlcik7Cj4gIAo+IEBAIC00MzkyLDcgKzQzMDcsNiBAQCBzdGF0aWMgaW50IGludGVsX2RkaV9j b21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQlyZXQgPSBp bnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKGVuY29kZXIsIHBpcGVfY29uZmlnLCBjb25uX3N0YXRl KTsKPiAgCX0gZWxzZSB7Cj4gIAkJcmV0ID0gaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoZW5jb2Rl ciwgcGlwZV9jb25maWcsIGNvbm5fc3RhdGUpOwo+IC0JCXRnbF9kYzNjb19leGl0bGluZV9jb21w dXRlX2NvbmZpZyhlbmNvZGVyLCBwaXBlX2NvbmZpZyk7Cj4gIAl9Cj4gIAo+ICAJaWYgKHJldCkK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4 IDM0OGNlMDQ1NjY5Ni4uNmMxYzkzYjJhODFmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTMwOTEsNyArMTMwOTEsNiBAQCBpbnRl bF9waXBlX2NvbmZpZ19jb21wYXJlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjdXJy ZW50X2NvbmZpZywKPiAgCj4gIAlQSVBFX0NPTkZfQ0hFQ0tfSShwaXhlbF9tdWx0aXBsaWVyKTsK PiAgCVBJUEVfQ09ORl9DSEVDS19JKG91dHB1dF9mb3JtYXQpOwo+IC0JUElQRV9DT05GX0NIRUNL X0koZGMzY29fZXhpdGxpbmUpOwo+ICAJUElQRV9DT05GX0NIRUNLX0JPT0woaGFzX2hkbWlfc2lu ayk7Cj4gIAlpZiAoKElOVEVMX0dFTihkZXZfcHJpdikgPCA4ICYmICFJU19IQVNXRUxMKGRldl9w cml2KSkgfHwKPiAgCSAgICBJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVX KGRldl9wcml2KSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKPiBp bmRleCBiYjliNTM0OWI3MmEuLjA2YTBhMWM5NjIxZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9wc3IuYwo+IEBAIC01OTYsNiArNTk2LDM3IEBAIHN0YXRpYyB2b2lk IHRnbF9kaXNhbGxvd19kYzNjb19vbl9wc3IyX2V4aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ICAJdGdsX3BzcjJfZGlzYWJsZV9kYzNjbyhkZXZfcHJpdik7Cj4gIH0KPiAg Cj4gK3N0YXRpYyB2b2lkCj4gK3RnbF9kYzNjb19leGl0bGluZV9jb21wdXRlX2NvbmZpZyhzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICsJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKPiArewo+ICsJY29uc3QgdTMyIGNydGNfdmRpc3BsYXkgPSBjcnRjX3N0YXRl LT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y192ZGlzcGxheTsKPiArCXN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+ICsJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7Cj4gKwl1 MzIgZXhpdF9zY2FubGluZXM7Cj4gKwo+ICsJaWYgKCEoZGV2X3ByaXYtPmNzci5hbGxvd2VkX2Rj X21hc2sgJiBEQ19TVEFURV9FTl9EQzNDTykpCj4gKwkJcmV0dXJuOwo+ICsKPiArCS8qIEIuU3Bl Y3M6NDkxOTYgREMzQ08gb25seSB3b3JrcyB3aXRoIHBpcGVBIGFuZCBERElBLiovCj4gKwlpZiAo dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpLT5waXBlICE9IFBJUEVfQSB8fAo+ ICsJICAgIGRpZ19wb3J0LT5iYXNlLnBvcnQgIT0gUE9SVF9BKQo+ICsJCXJldHVybjsKPiArCj4g KwkvKgo+ICsJICogREMzQ08gRXhpdCB0aW1lIDIwMHVzIEIuU3BlYyA0OTE5Ngo+ICsJICogUFNS MiB0cmFuc2NvZGVyIEVhcmx5IEV4aXQgc2NhbmxpbmVzID0gUk9VTkRVUCgyMDAgLyBsaW5lIHRp bWUpICsgMQo+ICsJICovCj4gKwlleGl0X3NjYW5saW5lcyA9Cj4gKwkJaW50ZWxfdXNlY3NfdG9f c2NhbmxpbmVzKCZjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUsIDIwMCkgKyAxOwo+ICsK PiArCWlmIChXQVJOX09OKGV4aXRfc2NhbmxpbmVzID4gY3J0Y192ZGlzcGxheSkpCj4gKwkJcmV0 dXJuOwo+ICsKPiArCWNydGNfc3RhdGUtPmRjM2NvX2V4aXRsaW5lID0gY3J0Y192ZGlzcGxheSAt IGV4aXRfc2NhbmxpbmVzOwo+ICsJRFJNX0RFQlVHX0tNUygiREMzQ08gZXhpdCBzY2FubGluZXMg JWRcbiIsIGNydGNfc3RhdGUtPmRjM2NvX2V4aXRsaW5lKTsKPiArfQo+ICsKPiAgc3RhdGljIGJv b2wgaW50ZWxfcHNyMl9jb25maWdfdmFsaWQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAg CQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+IEBAIC02 NTgsNiArNjg5LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfcHNyMl9jb25maWdfdmFsaWQoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAl9Cj4gIAo+ICsJdGds X2RjM2NvX2V4aXRsaW5lX2NvbXB1dGVfY29uZmlnKGludGVsX2RwLCBjcnRjX3N0YXRlKTsKPiAg CXJldHVybiB0cnVlOwo+ICB9Cj4gIAo+IEBAIC03NzUsNiArODA3LDIxIEBAIHN0YXRpYyB2b2lk IGludGVsX3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gIAlJ OTE1X1dSSVRFKEVEUF9QU1JfREVCVUcoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgbWFzayk7 Cj4gIAo+ICAJcHNyX2lycV9jb250cm9sKGRldl9wcml2KTsKPiArCj4gKwlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA+PSAxMiAmJiBkZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCkgewo+ICsJCXUz MiB2YWw7Cj4gKwo+ICsJCS8qCj4gKwkJICogVE9ETzogaWYgZnV0dXJlIHBsYXRmb3JtcyBzdXBw b3J0cyBEQzNDTyBpbiBtb3JlIHRoYW4gb25lCj4gKwkJICogdHJhbnNjb2RlciwgRVhJVExJTkUg d2lsbCBuZWVkIHRvIGJlIHVuc2V0IHdoZW4gZGlzYWJsaW5nIFBTUgo+ICsJCSAqLwo+ICsJCXZh bCA9IEk5MTVfUkVBRChFWElUTElORShjcHVfdHJhbnNjb2RlcikpOwo+ICsJCXZhbCAmPSB+KEVY SVRMSU5FX01BU0sgfCBFWElUTElORV9FTkFCTEUpOwo+ICsJCXZhbCB8PSBjcnRjX3N0YXRlLT5k YzNjb19leGl0bGluZSA8PCBFWElUTElORV9TSElGVDsKPiArCQlpZiAoY3J0Y19zdGF0ZS0+ZGMz Y29fZXhpdGxpbmUpCj4gKwkJCXZhbCB8PSBFWElUTElORV9FTkFCTEU7Cj4gKwkJSTkxNV9XUklU RShFWElUTElORShjcHVfdHJhbnNjb2RlciksIHZhbCk7Cj4gKwl9Cj4gIH0KPiAgCj4gIHN0YXRp YyB2b2lkIGludGVsX3Bzcl9lbmFibGVfbG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiAtLSAKPiAyLjIzLjAKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4