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.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,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 A8B6BC32771 for ; Mon, 20 Jan 2020 04:46:50 +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 8119E20684 for ; Mon, 20 Jan 2020 04:46:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8119E20684 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 027536E55C; Mon, 20 Jan 2020 04:46:50 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 487996E55C for ; Mon, 20 Jan 2020 04:46:48 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jan 2020 20:46:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,340,1574150400"; d="scan'208";a="274915053" Received: from unknown (HELO intel.com) ([10.223.74.178]) by FMSMGA003.fm.intel.com with ESMTP; 19 Jan 2020 20:46:45 -0800 Date: Mon, 20 Jan 2020 10:08:09 +0530 From: Anshuman Gupta To: =?utf-8?B?Sm9zw6k=?= Roberto de Souza Message-ID: <20200120043809.GC20564@intel.com> References: <20200116185421.66585-1-jose.souza@intel.com> <20200116185421.66585-3-jose.souza@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200116185421.66585-3-jose.souza@intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Subject: Re: [Intel-gfx] [PATCH rebased 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.29 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" T24gMjAyMC0wMS0xNiBhdCAxMDo1NDoyMSAtMDgwMCwgSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSB3 cm90ZToKPiBBIHJlY2VudCBjaGFuZ2UgaW4gQlNwZWMgYWxsb3cgdXMgdG8gY2hhbmdlIEVYVExJ TkUgd2hpbGUgdHJhbnNjb2Rlcgo+IGlzIGVuYWJsZWQgc28gdGhpcyBhbGxvdyB1cyB0byBjaGFu Z2UgaXQgZXZlbiB3aGVuIGRvaW5nIHRoZSBmaXJzdAo+IGZhc3RzZXQgYWZ0ZXIgdGFraW5nIG92 ZXIgcHJldmlvdXMgaGFyZHdhcmUgc3RhdGUgc2V0IGJ5IEJJT1MuCj4gQklPUyBkb24ndCBlbmFi bGUgUFNSLCBzbyBpZiBzaW5rIHN1cHBvcnRzIFBTUiBpdCB3aWxsIGJlIGVuYWJsZWQgb24KPiB0 aGUgZmlyc3QgZmFzdHNldCwgc28gbW92aW5nIHRoZSBFWFRMSU5FIGNvbXB1dGUgYW5kIHNldCB0 byBQU1IgZmxvd3MKPiBhbGxvdyB1cyB0byBzaW1wbGZ5IGEgYnVuY2ggb2YgY29kZS4KPiAKPiBU aGlzIHdpbGwgc2F2ZSBhIGxvdCBvZiB0aW1lIGluIGFsbCB0aGUgSUdUIHRlc3RzIHRoYXQgdXNl cyBDUkMsIGFzCj4gd2hlbiBQU1IyIGlzIGVuYWJsZWQgQ1JDcyBhcmUgbm90IGdlbmVyYXRlZCwg c28gd2Ugc3dpdGNoIHRvIFBTUjEsIHNvCj4gdGhlIHByZXZpb3VzIGNvZGUgd291bGQgY29tcHV0 ZSBkYzNjb19leGl0bGluZT0wIGNhdXNpbmcgYSBmdWxsCj4gbW9kZXNldCB0aGF0IHdvdWxkIHNo dXRkb3duIHBpcGUsIGVuYWJsZSBhbmQgdHJhaW4gbGluay4KPiAKPiBCU3BlYzogNDkxOTYKPiBD YzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IENjOiBBbnNodW1hbiBHdXB0YSA8 YW5zaHVtYW4uZ3VwdGFAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8g ZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jICAgICB8IDg2IC0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIHwgIDEgLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jICAgICB8IDQ3ICsrKysrKysr KysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgODcgZGVsZXRpb25zKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRp LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gaW5kZXggMzJl YTNjN2U4YjYyLi5hMzEzNzVmNDNmMmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGRpLmMKPiBAQCAtMzM0Nyw4NiArMzM0Nyw2IEBAIHN0YXRpYyB2b2lkIGludGVs X2RkaV9kaXNhYmxlX2ZlY19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAg CVBPU1RJTkdfUkVBRChpbnRlbF9kcC0+cmVncy5kcF90cF9jdGwpOwo+ICB9Cj4gIAo+IC1zdGF0 aWMgdm9pZAo+IC10Z2xfY2xlYXJfcHNyMl90cmFuc2NvZGVyX2V4aXRsaW5lKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCj4gLXsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3N0YXRlLT51YXBpLmNydGMtPmRldik7Cj4gLQl1MzIg dmFsOwo+IC0KPiAtCWlmICghY3N0YXRlLT5kYzNjb19leGl0bGluZSkKPiAtCQlyZXR1cm47Cj4g LQo+IC0JdmFsID0gSTkxNV9SRUFEKEVYSVRMSU5FKGNzdGF0ZS0+Y3B1X3RyYW5zY29kZXIpKTsK PiAtCXZhbCAmPSB+KEVYSVRMSU5FX01BU0sgfCBFWElUTElORV9FTkFCTEUpOwo+IC0JSTkxNV9X UklURShFWElUTElORShjc3RhdGUtPmNwdV90cmFuc2NvZGVyKSwgdmFsKTsKPiAtfQo+IC0KPiAt c3RhdGljIHZvaWQKPiAtdGdsX3NldF9wc3IyX3RyYW5zY29kZXJfZXhpdGxpbmUoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKPiAtewo+IC0JdTMyIHZhbCwgZXhpdF9zY2Fu bGluZXM7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNz dGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwo+IC0KPiAtCWlmICghY3N0YXRlLT5kYzNjb19leGl0bGlu ZSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0JZXhpdF9zY2FubGluZXMgPSBjc3RhdGUtPmRjM2NvX2V4 aXRsaW5lOwo+IC0JZXhpdF9zY2FubGluZXMgPDw9IEVYSVRMSU5FX1NISUZUOwo+IC0JdmFsID0g STkxNV9SRUFEKEVYSVRMSU5FKGNzdGF0ZS0+Y3B1X3RyYW5zY29kZXIpKTsKPiAtCXZhbCAmPSB+ KEVYSVRMSU5FX01BU0sgfCBFWElUTElORV9FTkFCTEUpOwo+IC0JdmFsIHw9IGV4aXRfc2Nhbmxp bmVzOwo+IC0JdmFsIHw9IEVYSVRMSU5FX0VOQUJMRTsKPiAtCUk5MTVfV1JJVEUoRVhJVExJTkUo Y3N0YXRlLT5jcHVfdHJhbnNjb2RlciksIHZhbCk7Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkIHRn bF9kYzNjb19leGl0bGluZV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiAtCQkJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQo+IC17 Cj4gLQl1MzIgZXhpdF9zY2FubGluZXM7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNzdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwo+IC0JdTMyIGNydGNfdmRp c3BsYXkgPSBjc3RhdGUtPmh3LmFkanVzdGVkX21vZGUuY3J0Y192ZGlzcGxheTsKPiAtCj4gLQlj c3RhdGUtPmRjM2NvX2V4aXRsaW5lID0gMDsKPiAtCj4gLQlpZiAoIShkZXZfcHJpdi0+Y3NyLmFs bG93ZWRfZGNfbWFzayAmIERDX1NUQVRFX0VOX0RDM0NPKSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0J LyogQi5TcGVjczo0OTE5NiBEQzNDTyBvbmx5IHdvcmtzIHdpdGggcGlwZUEgYW5kIERESUEuKi8K PiAtCWlmICh0b19pbnRlbF9jcnRjKGNzdGF0ZS0+dWFwaS5jcnRjKS0+cGlwZSAhPSBQSVBFX0Eg fHwKPiAtCSAgICBlbmNvZGVyLT5wb3J0ICE9IFBPUlRfQSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0J aWYgKCFjc3RhdGUtPmhhc19wc3IyIHx8ICFjc3RhdGUtPmh3LmFjdGl2ZSkKPiAtCQlyZXR1cm47 Cj4gLQo+IC0JLyoKPiAtCSAqIERDM0NPIEV4aXQgdGltZSAyMDB1cyBCLlNwZWMgNDkxOTYKPiAt CSAqIFBTUjIgdHJhbnNjb2RlciBFYXJseSBFeGl0IHNjYW5saW5lcyA9IFJPVU5EVVAoMjAwIC8g bGluZSB0aW1lKSArIDEKPiAtCSAqLwo+IC0JZXhpdF9zY2FubGluZXMgPQo+IC0JCWludGVsX3Vz ZWNzX3RvX3NjYW5saW5lcygmY3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlLCAyMDApICsgMTsKPiAt Cj4gLQlpZiAoV0FSTl9PTihleGl0X3NjYW5saW5lcyA+IGNydGNfdmRpc3BsYXkpKQo+IC0JCXJl dHVybjsKPiAtCj4gLQljc3RhdGUtPmRjM2NvX2V4aXRsaW5lID0gY3J0Y192ZGlzcGxheSAtIGV4 aXRfc2NhbmxpbmVzOwo+IC0JRFJNX0RFQlVHX0tNUygiREMzQ08gZXhpdCBzY2FubGluZXMgJWRc biIsIGNzdGF0ZS0+ZGMzY29fZXhpdGxpbmUpOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCB0Z2xf ZGMzY29fZXhpdGxpbmVfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKPiAtewo+IC0JdTMyIHZhbDsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwo+IC0KPiAtCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpIDwgMTIpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCXZhbCA9IEk5MTVf UkVBRChFWElUTElORShjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcikpOwo+IC0KPiAtCWlmICh2 YWwgJiBFWElUTElORV9FTkFCTEUpCj4gLQkJY3J0Y19zdGF0ZS0+ZGMzY29fZXhpdGxpbmUgPSB2 YWwgJiBFWElUTElORV9NQVNLOwo+IC19Cj4gLQo+ICBzdGF0aWMgdm9pZCB0Z2xfZGRpX3ByZV9l bmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkgIGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQkJICBjb25zdCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiBAQCAtMzQzOSw3ICszMzU5LDYgQEAg c3RhdGljIHZvaWQgdGdsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ICAJaW50IGxldmVsID0gaW50ZWxfZGRpX2RwX2xldmVsKGludGVsX2RwKTsKPiAg CWVudW0gdHJhbnNjb2RlciB0cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7 Cj4gIAo+IC0JdGdsX3NldF9wc3IyX3RyYW5zY29kZXJfZXhpdGxpbmUoY3J0Y19zdGF0ZSk7Cj4g IAlpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMoaW50ZWxfZHAsIGNydGNfc3RhdGUtPnBvcnRfY2xv Y2ssCj4gIAkJCQkgY3J0Y19zdGF0ZS0+bGFuZV9jb3VudCwgaXNfbXN0KTsKPiAgCj4gQEAgLTM4 MjYsNyArMzc0NSw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGVfZHAoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkJCSAgZGlnX3BvcnQtPmRkaV9pb19w b3dlcl9kb21haW4pOwo+ICAKPiAgCWludGVsX2RkaV9jbGtfZGlzYWJsZShlbmNvZGVyKTsKPiAt CXRnbF9jbGVhcl9wc3IyX3RyYW5zY29kZXJfZXhpdGxpbmUob2xkX2NydGNfc3RhdGUpOwo+ICB9 Cj4gIAo+ICBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlX2hkbWkoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gQEAgLTQ0MTAsOSArNDMyOCw2IEBAIHZvaWQgaW50ZWxf ZGRpX2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJYnJlYWs7 Cj4gIAl9Cj4gIAo+IC0JaWYgKGVuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkKPiAt CQl0Z2xfZGMzY29fZXhpdGxpbmVfZ2V0X2NvbmZpZyhwaXBlX2NvbmZpZyk7Cj4gLQo+ICAJcGlw ZV9jb25maWctPmhhc19hdWRpbyA9Cj4gIAkJaW50ZWxfZGRpX2lzX2F1ZGlvX2VuYWJsZWQoZGV2 X3ByaXYsIGNwdV90cmFuc2NvZGVyKTsKPiAgCj4gQEAgLTQ0OTQsNyArNDQwOSw2IEBAIHN0YXRp YyBpbnQgaW50ZWxfZGRpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+ICAJCXJldCA9IGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoZW5jb2RlciwgcGlwZV9j b25maWcsIGNvbm5fc3RhdGUpOwo+ICAJfSBlbHNlIHsKPiAgCQlyZXQgPSBpbnRlbF9kcF9jb21w dXRlX2NvbmZpZyhlbmNvZGVyLCBwaXBlX2NvbmZpZywgY29ubl9zdGF0ZSk7Cj4gLQkJdGdsX2Rj M2NvX2V4aXRsaW5lX2NvbXB1dGVfY29uZmlnKGVuY29kZXIsIHBpcGVfY29uZmlnKTsKPiAgCX0K PiAgCj4gIAlpZiAocmV0KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheS5jCj4gaW5kZXggZGQwMzk4N2NjMjRmLi4xNjViNTRmYjJkNTkgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xMzU3Niw3 ICsxMzU3Niw2IEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmN1cnJlbnRfY29uZmlnLAo+ICAKPiAgCVBJUEVfQ09ORl9DSEVDS19JKHBp eGVsX211bHRpcGxpZXIpOwo+ICAJUElQRV9DT05GX0NIRUNLX0kob3V0cHV0X2Zvcm1hdCk7Cj4g LQlQSVBFX0NPTkZfQ0hFQ0tfSShkYzNjb19leGl0bGluZSk7Cj4gIAlQSVBFX0NPTkZfQ0hFQ0tf Qk9PTChoYXNfaGRtaV9zaW5rKTsKPiAgCWlmICgoSU5URUxfR0VOKGRldl9wcml2KSA8IDggJiYg IUlTX0hBU1dFTEwoZGV2X3ByaXYpKSB8fAo+ICAJICAgIElTX1ZBTExFWVZJRVcoZGV2X3ByaXYp IHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9wc3IuYwo+IGluZGV4IGU2NGUwYzRjODBkYy4uYzU2Y2RiMWM4ZmI2IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCj4gQEAgLTYwMCw2ICs2MDAs MzcgQEAgc3RhdGljIHZvaWQgdGdsX2Rpc2FsbG93X2RjM2NvX29uX3BzcjJfZXhpdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAl0Z2xfcHNyMl9kaXNhYmxlX2RjM2NvKGRl dl9wcml2KTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQKPiArdGdsX2RjM2NvX2V4aXRsaW5lX2Nv bXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gKwkJCQkgIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwljb25zdCB1MzIgY3J0Y192ZGlz cGxheSA9IGNydGNfc3RhdGUtPnVhcGkuYWRqdXN0ZWRfbW9kZS5jcnRjX3ZkaXNwbGF5Owo+ICsJ c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRl bF9kcCk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1 KGludGVsX2RwKTsKPiArCXUzMiBleGl0X3NjYW5saW5lczsKPiArCj4gKwlpZiAoIShkZXZfcHJp di0+Y3NyLmFsbG93ZWRfZGNfbWFzayAmIERDX1NUQVRFX0VOX0RDM0NPKSkKPiArCQlyZXR1cm47 Cj4gKwo+ICsJLyogQi5TcGVjczo0OTE5NiBEQzNDTyBvbmx5IHdvcmtzIHdpdGggcGlwZUEgYW5k IERESUEuKi8KPiArCWlmICh0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0YyktPnBp cGUgIT0gUElQRV9BIHx8Cj4gKwkgICAgZGlnX3BvcnQtPmJhc2UucG9ydCAhPSBQT1JUX0EpCj4g KwkJcmV0dXJuOwo+ICsKPiArCS8qCj4gKwkgKiBEQzNDTyBFeGl0IHRpbWUgMjAwdXMgQi5TcGVj IDQ5MTk2Cj4gKwkgKiBQU1IyIHRyYW5zY29kZXIgRWFybHkgRXhpdCBzY2FubGluZXMgPSBST1VO RFVQKDIwMCAvIGxpbmUgdGltZSkgKyAxCj4gKwkgKi8KPiArCWV4aXRfc2NhbmxpbmVzID0KPiAr CQlpbnRlbF91c2Vjc190b19zY2FubGluZXMoJmNydGNfc3RhdGUtPnVhcGkuYWRqdXN0ZWRfbW9k ZSwgMjAwKSArIDE7Cj4gKwo+ICsJaWYgKFdBUk5fT04oZXhpdF9zY2FubGluZXMgPiBjcnRjX3Zk aXNwbGF5KSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJY3J0Y19zdGF0ZS0+ZGMzY29fZXhpdGxpbmUg PSBjcnRjX3ZkaXNwbGF5IC0gZXhpdF9zY2FubGluZXM7Cj4gKwlEUk1fREVCVUdfS01TKCJEQzND TyBleGl0IHNjYW5saW5lcyAlZFxuIiwgY3J0Y19zdGF0ZS0+ZGMzY29fZXhpdGxpbmUpOwo+ICt9 Cj4gKwo+ICBzdGF0aWMgYm9vbCBpbnRlbF9wc3IyX2NvbmZpZ192YWxpZChzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLAo+ICAJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQo+ICB7Cj4gQEAgLTY3MSw2ICs3MDIsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9wc3IyX2Nv bmZpZ192YWxpZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJCXJldHVybiBmYWxzZTsK PiAgCX0KPiAgCj4gKwl0Z2xfZGMzY29fZXhpdGxpbmVfY29tcHV0ZV9jb25maWcoaW50ZWxfZHAs IGNydGNfc3RhdGUpOwo+ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gQEAgLTc4OCw2ICs4MjAs MjEgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCwKPiAgCUk5MTVfV1JJVEUoRURQX1BTUl9ERUJVRyhkZXZfcHJpdi0+cHNyLnRy YW5zY29kZXIpLCBtYXNrKTsKPiAgCj4gIAlwc3JfaXJxX2NvbnRyb2woZGV2X3ByaXYpOwo+ICsK PiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEyICYmIGRldl9wcml2LT5wc3IucHNyMl9l bmFibGVkKSB7CkFzIGkgcmVjYWxsZWQgZWFybGllciwgaSBoYWQgY29tbWVudGVkIHRvIGNoZWNr IGZvciBkYzNjbyBmbGFnIGluc3RlYWQKb2YgcHNyMiBmbGFnIHRvIHByb2dyYW0gZXhpdGxpbmUs IHdoYXQgaXMgdGhlIGFkdmFudGFnZSB3ZSBhcmUgZ2V0dGluZyBoZXJlCnRvIHByb2dyYW0gZXhp dGxpbmUgaWYgZGMzY29fZXhpdGxpbmUgaXMgemVybz8gClRoYW5rcywKQW5zaHVtYW4gR3VwdGEu Cj4gKwkJdTMyIHZhbDsKPiArCj4gKwkJLyoKPiArCQkgKiBUT0RPOiBpZiBmdXR1cmUgcGxhdGZv cm1zIHN1cHBvcnRzIERDM0NPIGluIG1vcmUgdGhhbiBvbmUKPiArCQkgKiB0cmFuc2NvZGVyLCBF WElUTElORSB3aWxsIG5lZWQgdG8gYmUgdW5zZXQgd2hlbiBkaXNhYmxpbmcgUFNSCj4gKwkJICov Cj4gKwkJdmFsID0gSTkxNV9SRUFEKEVYSVRMSU5FKGNwdV90cmFuc2NvZGVyKSk7Cj4gKwkJdmFs ICY9IH4oRVhJVExJTkVfTUFTSyB8IEVYSVRMSU5FX0VOQUJMRSk7Cj4gKwkJdmFsIHw9IGNydGNf c3RhdGUtPmRjM2NvX2V4aXRsaW5lIDw8IEVYSVRMSU5FX1NISUZUOwo+ICsJCWlmIChjcnRjX3N0 YXRlLT5kYzNjb19leGl0bGluZSkKPiArCQkJdmFsIHw9IEVYSVRMSU5FX0VOQUJMRTsKPiArCQlJ OTE1X1dSSVRFKEVYSVRMSU5FKGNwdV90cmFuc2NvZGVyKSwgdmFsKTsKPiArCX0KPiAgfQo+ICAK PiAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+IC0tIAo+IDIuMjUuMAo+IApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK