From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/9] drm/i915: Pass intel_crtc_state to needs_modeset() Date: Mon, 24 Jun 2019 18:50:40 +0300 Message-ID: <20190624155040.GS5942@intel.com> References: <20190620214613.14481-1-maarten.lankhorst@linux.intel.com> <20190620214613.14481-2-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 9F8D589CB2 for ; Mon, 24 Jun 2019 15:50:43 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190620214613.14481-2-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 List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdW4gMjAsIDIwMTkgYXQgMTE6NDY6MDVQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6CgpDb21taXQgbXNnIG1pc3NpbmcgZnJvbSBzb21lIG9mIHRoZXNlLgoKQXBhcnQg ZnJvbSB0aGF0OgpSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0 ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgfCA2OCArKysrKysrKysrLS0tLS0tLS0tLQo+ICAx IGZpbGUgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA4NTky YTdkNDIyZGUuLjAyNTY1ZTk3OTk1YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTUxNSw5ICs1MTUsOSBAQCBpY2xfd2Ffc2NhbGVy Y2xrZ2F0aW5nKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBp cGUsCj4gIH0KPiAgCj4gIHN0YXRpYyBib29sCj4gLW5lZWRzX21vZGVzZXQoY29uc3Qgc3RydWN0 IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKPiArbmVlZHNfbW9kZXNldChjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqc3RhdGUpCj4gIHsKPiAtCXJldHVybiBkcm1fYXRvbWljX2NydGNfbmVl ZHNfbW9kZXNldChzdGF0ZSk7Cj4gKwlyZXR1cm4gZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVz ZXQoJnN0YXRlLT5iYXNlKTsKPiAgfQo+ICAKPiAgLyoKPiBAQCAtNTc5Niw3ICs1Nzk2LDcgQEAg c3RhdGljIGJvb2wgaHN3X3ByZV91cGRhdGVfZGlzYWJsZV9pcHMoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKm9sZF9jcnRjX3MKPiAgCWlmICghb2xkX2NydGNfc3RhdGUtPmlwc19lbmFi bGVkKQo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gLQlpZiAobmVlZHNfbW9kZXNldCgmbmV3X2Ny dGNfc3RhdGUtPmJhc2UpKQo+ICsJaWYgKG5lZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpKQo+ ICAJCXJldHVybiB0cnVlOwo+ICAKPiAgCS8qCj4gQEAgLTU4MjMsNyArNTgyMyw3IEBAIHN0YXRp YyBib29sIGhzd19wb3N0X3VwZGF0ZV9lbmFibGVfaXBzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpvbGRfY3J0Y19zCj4gIAlpZiAoIW5ld19jcnRjX3N0YXRlLT5pcHNfZW5hYmxlZCkK PiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAo+IC0JaWYgKG5lZWRzX21vZGVzZXQoJm5ld19jcnRjX3N0 YXRlLT5iYXNlKSkKPiArCWlmIChuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkKPiAgCQly ZXR1cm4gdHJ1ZTsKPiAgCj4gIAkvKgo+IEBAIC01OTAwLDcgKzU5MDAsNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGUpCj4gIAkJaW50ZWxfZmJjX3Bvc3RfdXBkYXRlKGNydGMpOwo+ICAKPiAgCQlpZiAo bmV3X3ByaW1hcnlfc3RhdGUtPnZpc2libGUgJiYKPiAtCQkgICAgKG5lZWRzX21vZGVzZXQoJnBp cGVfY29uZmlnLT5iYXNlKSB8fAo+ICsJCSAgICAobmVlZHNfbW9kZXNldChwaXBlX2NvbmZpZykg fHwKPiAgCQkgICAgICFvbGRfcHJpbWFyeV9zdGF0ZS0+dmlzaWJsZSkpCj4gIAkJCWludGVsX3Bv c3RfZW5hYmxlX3ByaW1hcnkoJmNydGMtPmJhc2UsIHBpcGVfY29uZmlnKTsKPiAgCX0KPiBAQCAt NTkyNCw3ICs1OTI0LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZShzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAlzdHJ1Y3QgZHJtX3BsYW5l ICpwcmltYXJ5ID0gY3J0Yy0+YmFzZS5wcmltYXJ5Owo+ICAJc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqb2xkX3ByaW1hcnlfc3RhdGUgPQo+ICAJCWRybV9hdG9taWNfZ2V0X29sZF9wbGFuZV9zdGF0 ZShvbGRfc3RhdGUsIHByaW1hcnkpOwo+IC0JYm9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9kZXNldCgm cGlwZV9jb25maWctPmJhc2UpOwo+ICsJYm9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9kZXNldChwaXBl X2NvbmZpZyk7Cj4gIAlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpvbGRfaW50ZWxfc3RhdGUg PQo+ICAJCXRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUpOwo+ICAKPiBAQCAtNTk4NCw3 ICs1OTg0LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAkgKiBJZiB3ZSdyZSBkb2luZyBhIG1v ZGVzZXQsIHdlJ3JlIGRvbmUuICBObyBuZWVkIHRvIGRvIGFueSBwcmUtdmJsYW5rCj4gIAkgKiB3 YXRlcm1hcmsgcHJvZ3JhbW1pbmcgaGVyZS4KPiAgCSAqLwo+IC0JaWYgKG5lZWRzX21vZGVzZXQo JnBpcGVfY29uZmlnLT5iYXNlKSkKPiArCWlmIChuZWVkc19tb2Rlc2V0KHBpcGVfY29uZmlnKSkK PiAgCQlyZXR1cm47Cj4gIAo+ICAJLyoKPiBAQCAtMTEzMzksNyArMTEzMzksNyBAQCBpbnQgaW50 ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hhbmdlcyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdAo+ICAJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSA9IHRvX2ludGVs X3BsYW5lKHBsYW5lX3N0YXRlLT5wbGFuZSk7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y3J0Yy0+ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShkZXYpOwo+IC0JYm9vbCBtb2RlX2NoYW5nZWQgPSBuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUp Owo+ICsJYm9vbCBtb2RlX2NoYW5nZWQgPSBuZWVkc19tb2Rlc2V0KHBpcGVfY29uZmlnKTsKPiAg CWJvb2wgd2FzX2NydGNfZW5hYmxlZCA9IG9sZF9jcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZTsKPiAg CWJvb2wgaXNfY3J0Y19lbmFibGVkID0gY3J0Y19zdGF0ZS0+YWN0aXZlOwo+ICAJYm9vbCB0dXJu X29mZiwgdHVybl9vbiwgdmlzaWJsZSwgd2FzX3Zpc2libGU7Cj4gQEAgLTExNjA4LDcgKzExNjA4 LDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQo+ICAJCXRv X2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4gIAlpbnQgcmV0Owo+IC0JYm9vbCBtb2Rl X2NoYW5nZWQgPSBuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpOwo+ICsJYm9vbCBtb2RlX2NoYW5n ZWQgPSBuZWVkc19tb2Rlc2V0KHBpcGVfY29uZmlnKTsKPiAgCj4gIAlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA8IDUgJiYgIUlTX0c0WChkZXZfcHJpdikgJiYKPiAgCSAgICBtb2RlX2NoYW5nZWQg JiYgIWNydGNfc3RhdGUtPmFjdGl2ZSkKPiBAQCAtMTMwODgsNyArMTMwODgsNyBAQCBpbnRlbF9t b2Rlc2V0X3ZlcmlmeV9jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJICBzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSwKPiAgCQkJICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg Km5ld19zdGF0ZSkKPiAgewo+IC0JaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19zdGF0ZSkgJiYKPiAr CWlmICghbmVlZHNfbW9kZXNldCh0b19pbnRlbF9jcnRjX3N0YXRlKG5ld19zdGF0ZSkpICYmCj4g IAkgICAgIXRvX2ludGVsX2NydGNfc3RhdGUobmV3X3N0YXRlKS0+dXBkYXRlX3BpcGUpCj4gIAkJ cmV0dXJuOwo+ICAKPiBAQCAtMTMxODAsNyArMTMxODAsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9t b2Rlc2V0X2NsZWFyX3BsbHMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJ c3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpvbGRfZHBsbCA9Cj4gIAkJCW9sZF9jcnRjX3N0YXRl LT5zaGFyZWRfZHBsbDsKPiAgCj4gLQkJaWYgKCFuZWVkc19tb2Rlc2V0KCZuZXdfY3J0Y19zdGF0 ZS0+YmFzZSkpCj4gKwkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkKPiAgCQkJ Y29udGludWU7Cj4gIAo+ICAJCW5ld19jcnRjX3N0YXRlLT5zaGFyZWRfZHBsbCA9IE5VTEw7Cj4g QEAgLTEzMjEwLDcgKzEzMjEwLDcgQEAgc3RhdGljIGludCBoYXN3ZWxsX21vZGVfc2V0X3BsYW5l c193b3JrYXJvdW5kKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJLyogbG9v ayBhdCBhbGwgY3J0YydzIHRoYXQgYXJlIGdvaW5nIHRvIGJlIGVuYWJsZWQgaW4gZHVyaW5nIG1v ZGVzZXQgKi8KPiAgCWZvcl9lYWNoX25ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRj LCBjcnRjX3N0YXRlLCBpKSB7Cj4gIAkJaWYgKCFjcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSB8fAo+ IC0JCSAgICAhbmVlZHNfbW9kZXNldCgmY3J0Y19zdGF0ZS0+YmFzZSkpCj4gKwkJICAgICFuZWVk c19tb2Rlc2V0KGNydGNfc3RhdGUpKQo+ICAJCQljb250aW51ZTsKPiAgCj4gIAkJaWYgKGZpcnN0 X2NydGNfc3RhdGUpIHsKPiBAQCAtMTMyMzUsNyArMTMyMzUsNyBAQCBzdGF0aWMgaW50IGhhc3dl bGxfbW9kZV9zZXRfcGxhbmVzX3dvcmthcm91bmQoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUpCj4gIAkJY3J0Y19zdGF0ZS0+aHN3X3dvcmthcm91bmRfcGlwZSA9IElOVkFMSURfUElQ RTsKPiAgCj4gIAkJaWYgKCFjcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSB8fAo+IC0JCSAgICBuZWVk c19tb2Rlc2V0KCZjcnRjX3N0YXRlLT5iYXNlKSkKPiArCQkgICAgbmVlZHNfbW9kZXNldChjcnRj X3N0YXRlKSkKPiAgCQkJY29udGludWU7Cj4gIAo+ICAJCS8qIDIgb3IgbW9yZSBlbmFibGVkIGNy dGNzIG1lYW5zIG5vIG5lZWQgZm9yIHcvYSAqLwo+IEBAIC0xMzI4NSw3ICsxMzI4NSw3IEBAIHN0 YXRpYyBpbnQgaW50ZWxfbW9kZXNldF9hbGxfcGlwZXMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlKQo+ICAJCWlmIChJU19FUlIoY3J0Y19zdGF0ZSkpCj4gIAkJCXJldHVybiBQVFJfRVJS KGNydGNfc3RhdGUpOwo+ICAKPiAtCQlpZiAoIWNydGNfc3RhdGUtPmFjdGl2ZSB8fCBuZWVkc19t b2Rlc2V0KGNydGNfc3RhdGUpKQo+ICsJCWlmICghY3J0Y19zdGF0ZS0+YWN0aXZlIHx8IG5lZWRz X21vZGVzZXQodG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKSkpCj4gIAkJCWNvbnRpbnVl Owo+ICAKPiAgCQljcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOwo+IEBAIC0xMzM2Miwx MiArMTMzNjIsMTIgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2NoZWNrcyhzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCQl9Cj4gIAo+ICAJCWlmIChpc19wb3dlcl9vZl8y KHN0YXRlLT5hY3RpdmVfY3J0Y3MpKSB7Cj4gLQkJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAt CQkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+ICsJCQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YzsKPiArCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7Cj4g IAo+ICAJCQlwaXBlID0gaWxvZzIoc3RhdGUtPmFjdGl2ZV9jcnRjcyk7Cj4gLQkJCWNydGMgPSAm aW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUoZGV2X3ByaXYsIHBpcGUpLT5iYXNlOwo+IC0JCQljcnRj X3N0YXRlID0gZHJtX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoJnN0YXRlLT5iYXNlLCBjcnRj KTsKPiArCQkJY3J0YyA9IGludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldl9wcml2LCBwaXBlKTsK PiArCQkJY3J0Y19zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUs IGNydGMpOwo+ICAJCQlpZiAoY3J0Y19zdGF0ZSAmJiBuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUp KQo+ICAJCQkJcGlwZSA9IElOVkFMSURfUElQRTsKPiAgCQl9IGVsc2Ugewo+IEBAIC0xMzQ3OCw3 ICsxMzQ3OCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gIAo+ICAJZm9yX2VhY2hfb2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3Rh dGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLAo+ICAJCQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkg ewo+IC0JCWlmICghbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUtPmJhc2UpKQo+ICsJCWlm ICghbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiAg CQlpZiAoIW5ld19jcnRjX3N0YXRlLT5iYXNlLmVuYWJsZSkgewo+IEBAIC0xMzQ5Miw3ICsxMzQ5 Miw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gIAo+ICAJCWludGVsX2NydGNfY2hlY2tfZmFzdHNldChvbGRfY3J0Y19zdGF0ZSwgbmV3 X2NydGNfc3RhdGUpOwo+ICAKPiAtCQlpZiAobmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUt PmJhc2UpKQo+ICsJCWlmIChuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkKPiAgCQkJYW55 X21zID0gdHJ1ZTsKPiAgCX0KPiAgCj4gQEAgLTEzNTI3LDEyICsxMzUyNywxMiBAQCBzdGF0aWMg aW50IGludGVsX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAKPiAgCWZv cl9lYWNoX29sZG5ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19z dGF0ZSwKPiAgCQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkpIHsKPiAtCQlpZiAoIW5lZWRzX21v ZGVzZXQoJm5ld19jcnRjX3N0YXRlLT5iYXNlKSAmJgo+ICsJCWlmICghbmVlZHNfbW9kZXNldChu ZXdfY3J0Y19zdGF0ZSkgJiYKPiAgCQkgICAgIW5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGlwZSkK PiAgCQkJY29udGludWU7Cj4gIAo+ICAJCWludGVsX2R1bXBfcGlwZV9jb25maWcobmV3X2NydGNf c3RhdGUsIHN0YXRlLAo+IC0JCQkJICAgICAgIG5lZWRzX21vZGVzZXQoJm5ld19jcnRjX3N0YXRl LT5iYXNlKSA/Cj4gKwkJCQkgICAgICAgbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkgPwo+ ICAJCQkJICAgICAgICJbbW9kZXNldF0iIDogIltmYXN0c2V0XSIpOwo+ICAJfQo+ICAKPiBAQCAt MTM1NzksNyArMTM1NzksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfY3J0YyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPSB0 b19pbnRlbF9jcnRjX3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKPiAtCWJvb2wgbW9kZXNldCA9IG5l ZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpOwo+ICsJYm9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9k ZXNldChwaXBlX2NvbmZpZyk7Cj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKm5ld19wbGFu ZV9zdGF0ZSA9Cj4gIAkJaW50ZWxfYXRvbWljX2dldF9uZXdfcGxhbmVfc3RhdGUodG9faW50ZWxf YXRvbWljX3N0YXRlKHN0YXRlKSwKPiAgCQkJCQkJIHRvX2ludGVsX3BsYW5lKGNydGMtPnByaW1h cnkpKTsKPiBAQCAtMTM3ODgsMTUgKzEzNzg4LDE1IEBAIHN0YXRpYyB2b2lkIGludGVsX2F0b21p Y19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJbmV3X2lu dGVsX2NydGNfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKPiAg CQlpbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAgCj4gLQkJaWYgKG5lZWRzX21v ZGVzZXQobmV3X2NydGNfc3RhdGUpIHx8Cj4gLQkJICAgIHRvX2ludGVsX2NydGNfc3RhdGUobmV3 X2NydGNfc3RhdGUpLT51cGRhdGVfcGlwZSkgewo+ICsJCWlmIChuZWVkc19tb2Rlc2V0KG5ld19p bnRlbF9jcnRjX3N0YXRlKSB8fAo+ICsJCSAgICBuZXdfaW50ZWxfY3J0Y19zdGF0ZS0+dXBkYXRl X3BpcGUpIHsKPiAgCj4gIAkJCXB1dF9kb21haW5zW2ludGVsX2NydGMtPnBpcGVdID0KPiAgCQkJ CW1vZGVzZXRfZ2V0X2NydGNfcG93ZXJfZG9tYWlucyhjcnRjLAo+ICAJCQkJCW5ld19pbnRlbF9j cnRjX3N0YXRlKTsKPiAgCQl9Cj4gIAo+IC0JCWlmICghbmVlZHNfbW9kZXNldChuZXdfY3J0Y19z dGF0ZSkpCj4gKwkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19pbnRlbF9jcnRjX3N0YXRlKSkKPiAg CQkJY29udGludWU7Cj4gIAo+ICAJCWludGVsX3ByZV9wbGFuZV91cGRhdGUob2xkX2ludGVsX2Ny dGNfc3RhdGUsIG5ld19pbnRlbF9jcnRjX3N0YXRlKTsKPiBAQCAtMTM4NTUsNyArMTM4NTUsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlKQo+ICAKPiAgCS8qIENvbXBsZXRlIHRoZSBldmVudHMgZm9yIHBpcGVzIHRo YXQgaGF2ZSBub3cgYmVlbiBkaXNhYmxlZCAqLwo+ICAJZm9yX2VhY2hfbmV3X2NydGNfaW5fc3Rh dGUoc3RhdGUsIGNydGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4gLQkJYm9vbCBtb2Rlc2V0ID0g bmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSk7Cj4gKwkJYm9vbCBtb2Rlc2V0ID0gbmVlZHNf bW9kZXNldCh0b19pbnRlbF9jcnRjX3N0YXRlKG5ld19jcnRjX3N0YXRlKSk7Cj4gIAo+ICAJCS8q IENvbXBsZXRlIGV2ZW50cyBmb3Igbm93IGRpc2FibGUgcGlwZXMgaGVyZS4gKi8KPiAgCQlpZiAo bW9kZXNldCAmJiAhbmV3X2NydGNfc3RhdGUtPmFjdGl2ZSAmJiBuZXdfY3J0Y19zdGF0ZS0+ZXZl bnQpIHsKPiBAQCAtMTM4OTEsNyArMTM4OTEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNf Y29tbWl0X3RhaWwoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJCW5ld19pbnRl bF9jcnRjX3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShuZXdfY3J0Y19zdGF0ZSk7Cj4gIAo+ ICAJCWlmIChuZXdfY3J0Y19zdGF0ZS0+YWN0aXZlICYmCj4gLQkJICAgICFuZWVkc19tb2Rlc2V0 KG5ld19jcnRjX3N0YXRlKSAmJgo+ICsJCSAgICAhbmVlZHNfbW9kZXNldCh0b19pbnRlbF9jcnRj X3N0YXRlKG5ld19jcnRjX3N0YXRlKSkgJiYKPiAgCQkgICAgKG5ld19pbnRlbF9jcnRjX3N0YXRl LT5iYXNlLmNvbG9yX21nbXRfY2hhbmdlZCB8fAo+ICAJCSAgICAgbmV3X2ludGVsX2NydGNfc3Rh dGUtPnVwZGF0ZV9waXBlKSkKPiAgCQkJaW50ZWxfY29sb3JfbG9hZF9sdXRzKG5ld19pbnRlbF9j cnRjX3N0YXRlKTsKPiBAQCAtMTQyNTAsOSArMTQyNTAsOSBAQCBpbnRlbF9wcmVwYXJlX3BsYW5l X2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJaW50IHJldDsKPiAgCj4gIAlpZiAob2xk X29iaikgewo+IC0JCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gLQkJCWRy bV9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKG5ld19zdGF0ZS0+c3RhdGUsCj4gLQkJCQkJCSAg ICAgIHBsYW5lLT5zdGF0ZS0+Y3J0Yyk7Cj4gKwkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUgPQo+ICsJCQlpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0YXRlKGludGVsX3N0 YXRlLAo+ICsJCQkJCQkJdG9faW50ZWxfY3J0YyhwbGFuZS0+c3RhdGUtPmNydGMpKTsKPiAgCj4g IAkJLyogQmlnIEhhbW1lciwgd2UgYWxzbyBuZWVkIHRvIGVuc3VyZSB0aGF0IGFueSBwZW5kaW5n Cj4gIAkJICogTUlfV0FJVF9GT1JfRVZFTlQgaW5zaWRlIGEgdXNlciBiYXRjaCBidWZmZXIgb24g dGhlCj4gQEAgLTE0NDEzLDcgKzE0NDEzLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfYmVnaW5fY3J0 Y19jb21taXQoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJaW50ZWxfYXRv bWljX2dldF9vbGRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUgPQo+ICAJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNf c3RhdGUoc3RhdGUsIGNydGMpOwo+IC0JYm9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9kZXNldCgmbmV3 X2NydGNfc3RhdGUtPmJhc2UpOwo+ICsJYm9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9kZXNldChuZXdf Y3J0Y19zdGF0ZSk7Cj4gIAo+ICAJLyogUGVyZm9ybSB2YmxhbmsgZXZhc2lvbiBhcm91bmQgY29t bWl0IG9wZXJhdGlvbiAqLwo+ICAJaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQobmV3X2NydGNfc3Rh dGUpOwo+IEBAIC0xNDQ2Niw3ICsxNDQ2Niw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2ZpbmlzaF9j cnRjX2NvbW1pdChzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCWludGVsX3Bp cGVfdXBkYXRlX2VuZChuZXdfY3J0Y19zdGF0ZSk7Cj4gIAo+ICAJaWYgKG5ld19jcnRjX3N0YXRl LT51cGRhdGVfcGlwZSAmJgo+IC0JICAgICFuZWVkc19tb2Rlc2V0KCZuZXdfY3J0Y19zdGF0ZS0+ YmFzZSkgJiYKPiArCSAgICAhbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkgJiYKPiAgCSAg ICBvbGRfY3J0Y19zdGF0ZS0+YmFzZS5tb2RlLnByaXZhdGVfZmxhZ3MgJiBJOTE1X01PREVfRkxB R19JTkhFUklURUQpCj4gIAkJaW50ZWxfY3J0Y19hcm1fZmlmb191bmRlcnJ1bihjcnRjLCBuZXdf Y3J0Y19zdGF0ZSk7Cj4gIH0KPiBAQCAtMTQ1ODAsNyArMTQ1ODAsNyBAQCBpbnRlbF9sZWdhY3lf Y3Vyc29yX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCSAqIFdoZW4gY3J0YyBp cyBpbmFjdGl2ZSBvciB0aGVyZSBpcyBhIG1vZGVzZXQgcGVuZGluZywKPiAgCSAqIHdhaXQgZm9y IGl0IHRvIGNvbXBsZXRlIGluIHRoZSBzbG93cGF0aAo+ICAJICovCj4gLQlpZiAoIWNydGNfc3Rh dGUtPmJhc2UuYWN0aXZlIHx8IG5lZWRzX21vZGVzZXQoJmNydGNfc3RhdGUtPmJhc2UpIHx8Cj4g KwlpZiAoIWNydGNfc3RhdGUtPmJhc2UuYWN0aXZlIHx8IG5lZWRzX21vZGVzZXQoY3J0Y19zdGF0 ZSkgfHwKPiAgCSAgICBjcnRjX3N0YXRlLT51cGRhdGVfcGlwZSkKPiAgCQlnb3RvIHNsb3c7Cj4g IAo+IC0tIAo+IDIuMjAuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=