From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v2 4/6] drm/i915/display/icl: Enable master-slaves in trans port sync Date: Tue, 17 Sep 2019 17:01:14 +0200 Message-ID: <6cdaa9fb-bbe2-336f-a0bb-dbe5e1e4a92e@linux.intel.com> References: <20190909034325.20006-5-manasi.d.navare@intel.com> <20190909155212.24230-1-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 61B086ECCC for ; Tue, 17 Sep 2019 15:01:17 +0000 (UTC) In-Reply-To: <20190909155212.24230-1-manasi.d.navare@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare , intel-gfx@lists.freedesktop.org Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T3AgMDktMDktMjAxOSBvbSAxNzo1MiBzY2hyZWVmIE1hbmFzaSBOYXZhcmU6Cj4gQXMgcGVyIHRo ZSBkaXNwbGF5IGVuYWJsZSBzZXF1ZW5jZSwgd2UgbmVlZCB0byBmb2xsb3cgdGhlIGVuYWJsZSBz ZXF1ZW5jZQo+IGZvciBzbGF2ZXMgZmlyc3Qgd2l0aCBEUF9UUF9DVEwgc2V0IHRvIElkbGUgYW5k IGNvbmZpZ3VyZSB0aGUgdHJhbnNjb2Rlcgo+IHBvcnQgc3luYyByZWdpc3RlciB0byBzZWxlY3Qg dGhlIGNvcmVyc3BvbmRpbmcgbWFzdGVyLCB0aGVuIGZvbGxvdyB0aGUKPiBlbmFibGUgc2VxdWVu Y2UgZm9yIG1hc3RlciBsZWF2aW5nIERQX1RQX0NUTCB0byBpZGxlLgo+IEF0IHRoaXMgcG9pbnQg dGhlIHRyYW5zY29kZXIgcG9ydCBzeW5jIG1vZGUgaXMgY29uZmlndXJlZCBhbmQgZW5hYmxlZAo+ IGFuZCB0aGUgVmJsYW5rcyBvZiBib3RoIHBvcnRzIGFyZSBzeW5jaHJvbml6ZWQgc28gdGhlbiBz ZXQgRFBfVFBfQ1RMCj4gZm9yIHRoZSBzbGF2ZSBhbmQgbWFzdGVyIHRvIE5vcm1hbCBhbmQgZG8g cG9zdCBjcnRjIGVuYWJsZSB1cGRhdGVzLgo+Cj4gdjU6Cj4gKiBGaXggY2hlY2twYXRjaCB3YXJu aW5nIChNYW5hc2kpCj4gdjQ6Cj4gKiBSZXVzZSBza2xfY29tbWl0X21vZGVzZXRfZW5hYmxlcygp IGhvb2sgKE1hYXJ0ZW4pCj4gKiBPYnRhaW4gc2xhdmUgY3J0YyBhbmQgc3RhdGVzIGZyb20gbWFz dGVyIChNYWFydGVuKQo+IHYzOgo+ICogUmViYXNlIG9uIGRybS10aXAgKE1hbmFzaSkKPiB2MjoK PiAqIENyZWF0ZSBhIGljbF91cGRhdGVfY3J0Y3MgaG9vayAoTWFhcnRlbiwgRGFudmV0KQo+ICog VGhpcyBzZXF1ZW5jZSBvbmx5IGZvciBDUlRDcyBpbiB0cmFucyBwb3J0IHN5bmMgbW9kZSAoTWFh cnRlbikKPgo+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+IENj OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IENjOiBN YWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IENj OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6 IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgICAgIHwgICAzICstCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIHwgMTU4ICsrKysrKysrKysr KysrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5Lmgg fCAgIDQgKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDE2MiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gaW5kZXgg M2U2Mzk0MTM5OTY0Li42MmU5ZjU2MDJiNmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGRpLmMKPiBAQCAtMzM0Nyw3ICszMzQ3LDggQEAgc3RhdGljIHZvaWQgaHN3 X2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkJ CSAgICAgIHRydWUpOwo+ICAJaW50ZWxfZHBfc2lua19zZXRfZmVjX3JlYWR5KGludGVsX2RwLCBj cnRjX3N0YXRlKTsKPiAgCWludGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+IC0J aWYgKHBvcnQgIT0gUE9SVF9BIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiArCWlmICgo cG9ydCAhPSBQT1JUX0EgfHwgSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSAmJgo+ICsJICAgICFp c190cmFuc19wb3J0X3N5bmNfbW9kZShkZXZfcHJpdiwgY3J0Y19zdGF0ZSkpCj4gIAkJaW50ZWxf ZHBfc3RvcF9saW5rX3RyYWluKGludGVsX2RwKTsKPiAgCj4gIAlpbnRlbF9kZGlfZW5hYmxlX2Zl YyhlbmNvZGVyLCBjcnRjX3N0YXRlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDc2Y2ExY2E4NjRjMC4uNWU1ODNlOTE1N2YwIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAt NTIxLDYgKzUyMSwyNCBAQCBuZWVkc19tb2Rlc2V0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpzdGF0ZSkKPiAgCXJldHVybiBkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldCgmc3Rh dGUtPmJhc2UpOwo+ICB9Cj4gIAo+ICtib29sCj4gK2lzX3RyYW5zX3BvcnRfc3luY19tb2RlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKnN0YXRlKQo+ICt7Cj4gKwlyZXR1cm4gKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gMTEgJiYKPiArCQkoc3RhdGUtPm1hc3Rlcl90cmFuc2NvZGVyICE9IElOVkFMSURfVFJBTlND T0RFUiB8fAo+ICsJCSBzdGF0ZS0+c3luY19tb2RlX3NsYXZlc19tYXNrKSk7Cj4gK30KPiArCj4g K3N0YXRpYyBib29sCj4gK2lzX3RyYW5zX3BvcnRfc3luY19tYXN0ZXIoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpzdGF0ZSkKPiArewo+ICsJcmV0dXJuIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExICYmCj4g KwkJKHN0YXRlLT5tYXN0ZXJfdHJhbnNjb2RlciA9PSBJTlZBTElEX1RSQU5TQ09ERVIgJiYKPiAr CQkgc3RhdGUtPnN5bmNfbW9kZV9zbGF2ZXNfbWFzaykpOwo+ICt9Cj4gKwo+ICAvKgo+ICAgKiBQ bGF0Zm9ybSBzcGVjaWZpYyBoZWxwZXJzIHRvIGNhbGN1bGF0ZSB0aGUgcG9ydCBQTEwgbG9vcGJh Y2stIChjbG9jay5tKSwKPiAgICogYW5kIHBvc3QtZGl2aWRlciAoY2xvY2sucCkgdmFsdWVzLCBw cmUtIChjbG9jay52Y28pIGFuZCBwb3N0LWRpdmlkZWQgZmFzdAo+IEBAIC0xMzk3NCw2ICsxMzk5 MiwzMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywKPiAgCWludGVsX2ZpbmlzaF9jcnRjX2NvbW1pdChzdGF0ZSwgY3J0Yyk7Cj4gIH0KPiAg Cj4gK3N0YXRpYyBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfZ2V0X3NsYXZlX2NydGMoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUpCj4gK3sKPiArCWlmIChuZXdfY3J0Y19zdGF0ZS0+ c3luY19tb2RlX3NsYXZlc19tYXNrICYKPiArCSAgICBCSVQoVFJBTlNDT0RFUl9BKSkKPiArCQly ZXR1cm4gaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUoZGV2X3ByaXYsCj4gKwkJCQkJICAgICAgIFBJ UEVfQSk7Cj4gKwllbHNlIGlmIChuZXdfY3J0Y19zdGF0ZS0+c3luY19tb2RlX3NsYXZlc19tYXNr ICYKPiArCQkgQklUKFRSQU5TQ09ERVJfQikpCj4gKwkJcmV0dXJuIGludGVsX2dldF9jcnRjX2Zv cl9waXBlKGRldl9wcml2LAo+ICsJCQkJCSAgICAgICBQSVBFX0IpOwo+ICsJZWxzZSBpZiAobmV3 X2NydGNfc3RhdGUtPnN5bmNfbW9kZV9zbGF2ZXNfbWFzayAmCj4gKwkJIEJJVChUUkFOU0NPREVS X0MpKQo+ICsJCXJldHVybiBpbnRlbF9nZXRfY3J0Y19mb3JfcGlwZShkZXZfcHJpdiwKPiArCQkJ CQkgICAgICAgUElQRV9DKTsKPiArCWVsc2UgaWYgKG5ld19jcnRjX3N0YXRlLT5zeW5jX21vZGVf c2xhdmVzX21hc2sgJgo+ICsJCSBCSVQoVFJBTlNDT0RFUl9EKSkKPiArCQlyZXR1cm4gaW50ZWxf Z2V0X2NydGNfZm9yX3BpcGUoZGV2X3ByaXYsCj4gKwkJCQkJICAgICAgIFBJUEVfRCk7Cj4gKwkv KiBzaG91bGQgbmV2ZXIgaGFwcGVuICovCj4gKwlXQVJOX09OKDEpOwo+ICsJcmV0dXJuIE5VTEw7 Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIGludGVsX29sZF9jcnRjX3N0YXRlX2Rpc2FibGVzKHN0 cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCQkJCSAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAo+ICAJCQkJCSAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKm5ld19jcnRjX3N0YXRlLAo+IEBAIC0xNDA1Miw2ICsxNDA5NCwxMDQgQEAgc3RhdGljIHZv aWQgaW50ZWxfY29tbWl0X21vZGVzZXRfZW5hYmxlcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRl ICpzdGF0ZSkKPiAgCX0KPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19lbmFibGVf dHJhbnNfcG9ydF9zeW5jKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICsJCQkJCSAgICAgIHN0 cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICsJCQkJCSAgICAgIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+YmFzZS5kZXYpOwo+ICsKPiArCXVwZGF0 ZV9zY2FubGluZV9vZmZzZXQobmV3X2NydGNfc3RhdGUpOwo+ICsJZGV2X3ByaXYtPmRpc3BsYXku Y3J0Y19lbmFibGUobmV3X2NydGNfc3RhdGUsIHN0YXRlKTsKPiArCWludGVsX2NydGNfZW5hYmxl X3BpcGVfY3JjKGNydGMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9zZXRfZHBfdHBf Y3RsX25vcm1hbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiArCQkJCSAgICAgICBzdHJ1Y3Qg aW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPiArewo+ICsJc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKmNvbm5fc3RhdGU7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubjsKPiArCXN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHA7Cj4gKwlpbnQgaTsKPiArCj4gKwlmb3JfZWFjaF9uZXdf Y29ubmVjdG9yX2luX3N0YXRlKCZzdGF0ZS0+YmFzZSwgY29ubiwgY29ubl9zdGF0ZSwgaSkgewo+ ICsJCWlmIChjb25uX3N0YXRlLT5jcnRjID09ICZjcnRjLT5iYXNlKQo+ICsJCQlicmVhazsKPiAr CX0KPiArCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZpbnRlbF9hdHRhY2hlZF9lbmNvZGVy KGNvbm4pLT5iYXNlKTsKPiArCWludGVsX2RwX3N0b3BfbGlua190cmFpbihpbnRlbF9kcCk7Cj4g K30KPiArCj4gK3N0YXRpYyB2b2lkIGludGVsX3Bvc3RfY3J0Y19lbmFibGVfdXBkYXRlcyhzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiArCQkJCQkgICBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRl ICpzdGF0ZSwKPiArCQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3Rh dGUsCj4gKwkJCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQo+ ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZSA9Cj4gKwkJ aW50ZWxfYXRvbWljX2dldF9uZXdfcGxhbmVfc3RhdGUoc3RhdGUsCj4gKwkJCQkJCSB0b19pbnRl bF9wbGFuZShjcnRjLT5iYXNlLnByaW1hcnkpKTsKPiArCj4gKwlpZiAobmV3X2NydGNfc3RhdGUt PnVwZGF0ZV9waXBlICYmICFuZXdfY3J0Y19zdGF0ZS0+ZW5hYmxlX2ZiYykKPiArCQlpbnRlbF9m YmNfZGlzYWJsZShjcnRjKTsKPiArCWVsc2UgaWYgKG5ld19wbGFuZV9zdGF0ZSkKPiArCQlpbnRl bF9mYmNfZW5hYmxlKGNydGMsIG5ld19jcnRjX3N0YXRlLCBuZXdfcGxhbmVfc3RhdGUpOwo+ICsK PiArCWludGVsX2JlZ2luX2NydGNfY29tbWl0KHN0YXRlLCBjcnRjKTsKPiArCXNrbF91cGRhdGVf cGxhbmVzX29uX2NydGMoc3RhdGUsIGNydGMpOwo+ICsJaW50ZWxfZmluaXNoX2NydGNfY29tbWl0 KHN0YXRlLCBjcnRjKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3RyYW5z X3BvcnRfc3luY19jcnRjcyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiArCQkJCQkgICAgICAg c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gKwkJCQkJICAgICAgIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiArCQkJCQkgICAgICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5iYXNlLmRldik7Cj4gKwlzdHJ1Y3Qg aW50ZWxfY3J0YyAqc2xhdmVfY3J0YyA9IGludGVsX2dldF9zbGF2ZV9jcnRjKGRldl9wcml2LAo+ ICsJCQkJCQkJICAgICBuZXdfY3J0Y19zdGF0ZSk7Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqbmV3X3NsYXZlX2NydGNfc3RhdGUgPQo+ICsJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNf c3RhdGUoc3RhdGUsIHNsYXZlX2NydGMpOwo+ICsJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9s ZF9zbGF2ZV9jcnRjX3N0YXRlID0KPiArCQlpbnRlbF9hdG9taWNfZ2V0X29sZF9jcnRjX3N0YXRl KHN0YXRlLCBzbGF2ZV9jcnRjKTsKPiArCj4gKwlXQVJOX09OKCFzbGF2ZV9jcnRjIHx8ICFuZXdf c2xhdmVfY3J0Y19zdGF0ZSB8fAo+ICsJCSFvbGRfc2xhdmVfY3J0Y19zdGF0ZSk7Cj4gKwo+ICsJ RFJNX0RFQlVHX0tNUygiVXBkYXRpbmcgVHJhbnNjb2RlciBQb3J0IFN5bmMgTWFzdGVyIENSVEMg PSAlZCAlcyBhbmQgU2xhdmUgQ1JUQyAlZCAlc1xuIiwKPiArCQkgICAgICBjcnRjLT5iYXNlLmJh c2UuaWQsIGNydGMtPmJhc2UubmFtZSwgc2xhdmVfY3J0Yy0+YmFzZS5iYXNlLmlkLAo+ICsJCSAg ICAgIHNsYXZlX2NydGMtPmJhc2UubmFtZSk7Cj4gKwo+ICsJLyogRW5hYmxlIHNlcSBmb3Igc2xh dmUgd2l0aCB3aXRoIERQX1RQX0NUTCBsZWZ0IElkbGUgdW50aWwgdGhlCj4gKwkgKiBtYXN0ZXIg aXMgcmVhZHkKPiArCSAqLwo+ICsJaW50ZWxfY3J0Y19lbmFibGVfdHJhbnNfcG9ydF9zeW5jKHNs YXZlX2NydGMsCj4gKwkJCQkJICBzdGF0ZSwKPiArCQkJCQkgIG5ld19zbGF2ZV9jcnRjX3N0YXRl KTsKPiArCj4gKwkvKiBFbmFibGUgc2VxIGZvciBtYXN0ZXIgd2l0aCB3aXRoIERQX1RQX0NUTCBs ZWZ0IElkbGUgKi8KPiArCWludGVsX2NydGNfZW5hYmxlX3RyYW5zX3BvcnRfc3luYyhjcnRjLAo+ ICsJCQkJCSAgc3RhdGUsCj4gKwkJCQkJICBuZXdfY3J0Y19zdGF0ZSk7Cj4gKwo+ICsJLyogU2V0 IFNsYXZlJ3MgRFBfVFBfQ1RMIHRvIE5vcm1hbCAqLwo+ICsJaW50ZWxfc2V0X2RwX3RwX2N0bF9u b3JtYWwoc2xhdmVfY3J0YywKPiArCQkJCSAgIHN0YXRlKTsKPiArCj4gKwkvKiBTZXQgTWFzdGVy J3MgRFBfVFBfQ1RMIFRvIE5vcm1hbCAqLwo+ICsJdXNsZWVwX3JhbmdlKDIwMCwgNDAwKTsKPiAr CWludGVsX3NldF9kcF90cF9jdGxfbm9ybWFsKGNydGMsCj4gKwkJCQkgICBzdGF0ZSk7Cj4gKwo+ ICsJLyogTm93IGRvIHRoZSBwb3N0IGNydGMgZW5hYmxlIGZvciBhbGwgbWFzdGVyIGFuZCBzbGF2 ZXMgKi8KPiArCWludGVsX3Bvc3RfY3J0Y19lbmFibGVfdXBkYXRlcyhzbGF2ZV9jcnRjLAo+ICsJ CQkJICAgICAgIHN0YXRlLAo+ICsJCQkJICAgICAgIG5ld19zbGF2ZV9jcnRjX3N0YXRlLAo+ICsJ CQkJICAgICAgIG9sZF9zbGF2ZV9jcnRjX3N0YXRlKTsKPiArCWludGVsX3Bvc3RfY3J0Y19lbmFi bGVfdXBkYXRlcyhjcnRjLAo+ICsJCQkJICAgICAgIHN0YXRlLAo+ICsJCQkJICAgICAgIG5ld19j cnRjX3N0YXRlLAo+ICsJCQkJICAgICAgIG9sZF9jcnRjX3N0YXRlKTsKPiArfQoKTG9va3Mgc29y dCBvZiBsaWtlIHdoYXQgSSBoYWQgaW4gbWluZC4gOikKCkFzIGEgcGF0Y2ggNy82LCB5b3Ugc2hv dWxkIHJlYWxseSBoYXZlIGEgZnVuY3Rpb24gbGlrZSBpbnRlbF91cGRhdGVfYmlnam9pbmVyIGlu CgpodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvMzMxMjAxLz9zZXJpZXM9 NjY4MDImcmV2PTEKClRoaXMgd2lsbCBlbnN1cmUgdGVhci1mcmVlIHVwZGF0ZXMgd2hlbiB1c2lu ZyBhdG9taWMgdG8gdXBkYXRlIGJvdGguIEJ1dCBpdCB3b3VsZCBiZSBzb21ldGhpbmcgdGhhdCBj YW4gYmUgZG9uZSBtb3JlIGVhc2lseSBhZnRlciBiaWdqb2luZXIgd29yayBoYXMgbGFuZGVkLgoK PiAgc3RhdGljIHZvaWQgc2tsX2NvbW1pdF9tb2Rlc2V0X2VuYWJsZXMoc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKPiBAQCAtMTQwODYsNiArMTQyMjYsNyBA QCBzdGF0aWMgdm9pZCBza2xfY29tbWl0X21vZGVzZXRfZW5hYmxlcyhzdHJ1Y3QgaW50ZWxfYXRv bWljX3N0YXRlICpzdGF0ZSkKPiAgCQlmb3JfZWFjaF9vbGRuZXdfaW50ZWxfY3J0Y19pbl9zdGF0 ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4gIAkJ CWJvb2wgdmJsX3dhaXQgPSBmYWxzZTsKPiAgCQkJdW5zaWduZWQgaW50IGNtYXNrID0gZHJtX2Ny dGNfbWFzaygmY3J0Yy0+YmFzZSk7Cj4gKwkJCWJvb2wgbW9kZXNldCA9IG5lZWRzX21vZGVzZXQo bmV3X2NydGNfc3RhdGUpOwo+ICAKPiAgCQkJcGlwZSA9IGNydGMtPnBpcGU7Cj4gIAo+IEBAIC0x NDEwOCwxMiArMTQyNDksMjUgQEAgc3RhdGljIHZvaWQgc2tsX2NvbW1pdF9tb2Rlc2V0X2VuYWJs ZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJCSAqLwo+ICAJCQlpZiAo IXNrbF9kZGJfZW50cnlfZXF1YWwoJm5ld19jcnRjX3N0YXRlLT53bS5za2wuZGRiLAo+ICAJCQkJ CQkgJm9sZF9jcnRjX3N0YXRlLT53bS5za2wuZGRiKSAmJgo+ICsJCQkgICAgIW1vZGVzZXQgJiYK PiAgCQkJICAgICFuZXdfY3J0Y19zdGF0ZS0+YmFzZS5hY3RpdmVfY2hhbmdlZCAmJgohbW9kZXNl dCBpbXBsaWVzICFhY3RpdmVfY2hhbmdlZCwgYnV0IHdpdGggdGhpcyBmaXhlZCBsb29rcyBnb29k Lgo+ICAJCQkgICAgc3RhdGUtPndtX3Jlc3VsdHMuZGlydHlfcGlwZXMgIT0gdXBkYXRlZCkKPiAg CQkJCXZibF93YWl0ID0gdHJ1ZTsKPiAgCj4gLQkJCWludGVsX3VwZGF0ZV9jcnRjKGNydGMsIHN0 YXRlLCBvbGRfY3J0Y19zdGF0ZSwKPiAtCQkJCQkgIG5ld19jcnRjX3N0YXRlKTsKPiArCQkJaWYg KG1vZGVzZXQgJiYgaXNfdHJhbnNfcG9ydF9zeW5jX21vZGUoZGV2X3ByaXYsCj4gKwkJCQkJCQkg ICAgICAgbmV3X2NydGNfc3RhdGUpKSB7Cj4gKwkJCQlpZiAoaXNfdHJhbnNfcG9ydF9zeW5jX21h c3RlcihkZXZfcHJpdiwKPiArCQkJCQkJCSAgICAgIG5ld19jcnRjX3N0YXRlKSkKPiArCQkJCQlp bnRlbF91cGRhdGVfdHJhbnNfcG9ydF9zeW5jX2NydGNzKGNydGMsCj4gKwkJCQkJCQkJCSAgIHN0 YXRlLAo+ICsJCQkJCQkJCQkgICBvbGRfY3J0Y19zdGF0ZSwKPiArCQkJCQkJCQkJICAgbmV3X2Ny dGNfc3RhdGUpOwo+ICsJCQkJZWxzZQo+ICsJCQkJCWNvbnRpbnVlOwpZZWFoLCB0aGlzIGxvb2tz IGFzIEkgZXhwZWN0IGl0IHRvLiA6KQo+ICsJCQl9IGVsc2Ugewo+ICsJCQkJaW50ZWxfdXBkYXRl X2NydGMoY3J0Yywgc3RhdGUsIG9sZF9jcnRjX3N0YXRlLAo+ICsJCQkJCQkgIG5ld19jcnRjX3N0 YXRlKTsKPiArCQkJfQo+ICAKPiAgCQkJaWYgKHZibF93YWl0KQo+ICAJCQkJaW50ZWxfd2FpdF9m b3JfdmJsYW5rKGRldl9wcml2LCBwaXBlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXkuaAo+IGluZGV4IGMxMDExMjA0YjQwNy4uM2UwYTM2ZWM1ODBkIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmgKPiBA QCAtMjcsNiArMjcsNyBAQAo+ICAKPiAgI2luY2x1ZGUgPGRybS9kcm1fdXRpbC5oPgo+ICAjaW5j bHVkZSA8ZHJtL2k5MTVfZHJtLmg+Cj4gKyNpbmNsdWRlICJpbnRlbF9kcF9saW5rX3RyYWluaW5n LmgiCj4gIAo+ICBlbnVtIGxpbmtfbV9uX3NldDsKPiAgc3RydWN0IGRwbGw7Cj4gQEAgLTUyLDYg KzUzLDcgQEAgc3RydWN0IGludGVsX3BsYW5lOwo+ICBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGU7 Cj4gIHN0cnVjdCBpbnRlbF9yZW1hcHBlZF9pbmZvOwo+ICBzdHJ1Y3QgaW50ZWxfcm90YXRpb25f aW5mbzsKPiArc3RydWN0IGludGVsX2NydGNfc3RhdGU7Cj4gIAo+ICBlbnVtIGk5MTVfZ3BpbyB7 Cj4gIAlHUElPQSwKPiBAQCAtNDQ5LDYgKzQ1MSw4IEBAIHUzMiBpbnRlbF9wbGFuZV9mYl9tYXhf c3RyaWRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJICAgICAgdTMy IHBpeGVsX2Zvcm1hdCwgdTY0IG1vZGlmaWVyKTsKPiAgYm9vbCBpbnRlbF9wbGFuZV9jYW5fcmVt YXAoY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7Cj4gIGVudW0g cGh5IGludGVsX3BvcnRfdG9fcGh5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBlbnVt IHBvcnQgcG9ydCk7Cj4gK2Jvb2wgaXNfdHJhbnNfcG9ydF9zeW5jX21vZGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUsCj4gKwkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnN0YXRlKTsKPiAgCj4gIHZvaWQgaW50ZWxfcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSk7Cj4gIHZvaWQgaTgzMF9lbmFibGVfcGlwZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKTsKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=