From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/7] drm/i915/display: Refactor intel_commit_modeset_disables() Date: Tue, 26 Nov 2019 21:40:24 +0200 Message-ID: <20191126194024.GE1208@intel.com> References: <20191123005459.155383-1-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 CAA006E169 for ; Tue, 26 Nov 2019 19:40:28 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191123005459.155383-1-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: =?iso-8859-1?Q?Jos=E9?= Roberto de Souza Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBOb3YgMjIsIDIwMTkgYXQgMDQ6NTQ6NTNQTSAtMDgwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBDb21taXQgOWM3MjJlMTdjMWI5ICgiZHJtL2k5MTU6IERpc2FibGUg cGlwZXMgaW4gcmV2ZXJzZSBvcmRlciIpCj4gcmV2ZXJ0ZWQgdGhlIG9yZGVyIHRoYXQgcGlwZXMg Z2V0cyBkaXNhYmxlZCBiZWNhdXNlIG9mIFRHTAo+IG1hc3Rlci9zbGF2ZSByZWxhdGlvbnNoaXAg YmV0d2VlbiB0cmFuc2NvZGVycyBpbiBNU1QgbW9kZS4KPiAKPiBCdXQgYXMgc3RhdGVkIGluIGEg Y29tbWVudCBpbiBza2xfY29tbWl0X21vZGVzZXRfZW5hYmxlcygpIHRoZQo+IGVuYWJsaW5nIG9y ZGVyIGlzIG5vdCBhbHdheXMgY3Jlc2NlbnQsIHBvc3NpYmx5IGNhdXNpbmcgcHJldmlvdXNseQo+ IHNlbGVjdGVkIHNsYXZlIHRyYW5zY29kZXIgYmVpbmcgZW5hYmxlZCBiZWZvcmUgbWFzdGVyIHNv IGFub3RoZXIKPiBhcHByb2FjaCB3aWxsIGJlIG5lZWRlZCB0byBzZWxlY3QgYSB0cmFuc2NvZGVy IHRvIG1hc3RlciBpbiBNU1QgbW9kZS4KPiBJdCB3aWxsIGJlIHNpbWlsYXIgdG8gdGhlIGFwcHJv YWNoIHRha2VuIGluIHBvcnQgc3luYy4KPiAKPiBCdXQgaW5zdGVhZCBvZiBpbXBsZW1lbnQgc29t ZXRoaW5nIGxpa2UKPiBpbnRlbF90cmFuc19wb3J0X3N5bmNfbW9kZXNldF9kaXNhYmxlcygpIHRv IE1TVCBsZXRzIHNpbXBseSBpdCBhbmQKPiBpdGVyYXRlIG92ZXIgYWxsIHBpcGVzIDIgdGltZXMs IHRoZSBmaXJzdCBvbmUgZGlzYWJsaW5nIGFueSBzbGF2ZSBhbmQKPiB0aGVuIGRpc2FibGluZyBl dmVyeXRoaW5nIGVsc2UuCj4gVGhlIE1TVCBiaXRzIHdpbGwgYmUgYWRkZWQgaW4gYW5vdGhlciBw YXRjaC4KPiAKPiBDYzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4K PiBDYzogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KPiBDYzogTWFhcnRl biBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2Zm LWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KPiAtLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgfCA3OSArKysr KystLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgNTcg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5LmMKPiBpbmRleCA1M2RjMzEwYTVmNmQuLjFiMWZiYjZkOGFjYyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTE0NDQzLDUz ICsxNDQ0MywxNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9vbGRfY3J0Y19zdGF0ZV9kaXNhYmxlcyhz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5p bml0aWFsX3dhdGVybWFya3Moc3RhdGUsIGNydGMpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBp bnRlbF90cmFuc19wb3J0X3N5bmNfbW9kZXNldF9kaXNhYmxlcyhzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSwKPiAtCQkJCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gLQkJ CQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiAtCQkJCQkJ ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQo+IC17Cj4gLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqc2xhdmVfY3J0YyA9IGludGVsX2dldF9zbGF2ZV9jcnRjKG5ld19jcnRj X3N0YXRlKTsKPiAtCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfc2xhdmVfY3J0Y19zdGF0 ZSA9Cj4gLQkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgc2xhdmVfY3J0 Yyk7Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX3NsYXZlX2NydGNfc3RhdGUgPQo+ IC0JCWludGVsX2F0b21pY19nZXRfb2xkX2NydGNfc3RhdGUoc3RhdGUsIHNsYXZlX2NydGMpOwo+ IC0KPiAtCVdBUk5fT04oIXNsYXZlX2NydGMgfHwgIW5ld19zbGF2ZV9jcnRjX3N0YXRlIHx8Cj4g LQkJIW9sZF9zbGF2ZV9jcnRjX3N0YXRlKTsKPiAtCj4gLQkvKiBEaXNhYmxlIFNsYXZlIGZpcnN0 ICovCj4gLQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKG9sZF9zbGF2ZV9jcnRjX3N0YXRlLCBuZXdf c2xhdmVfY3J0Y19zdGF0ZSk7Cj4gLQlpZiAob2xkX3NsYXZlX2NydGNfc3RhdGUtPmh3LmFjdGl2 ZSkKPiAtCQlpbnRlbF9vbGRfY3J0Y19zdGF0ZV9kaXNhYmxlcyhzdGF0ZSwKPiAtCQkJCQkgICAg ICBvbGRfc2xhdmVfY3J0Y19zdGF0ZSwKPiAtCQkJCQkgICAgICBuZXdfc2xhdmVfY3J0Y19zdGF0 ZSwKPiAtCQkJCQkgICAgICBzbGF2ZV9jcnRjKTsKPiAtCj4gLQkvKiBEaXNhYmxlIE1hc3RlciAq Lwo+IC0JaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZShvbGRfY3J0Y19zdGF0ZSwgbmV3X2NydGNfc3Rh dGUpOwo+IC0JaWYgKG9sZF9jcnRjX3N0YXRlLT5ody5hY3RpdmUpCj4gLQkJaW50ZWxfb2xkX2Ny dGNfc3RhdGVfZGlzYWJsZXMoc3RhdGUsCj4gLQkJCQkJICAgICAgb2xkX2NydGNfc3RhdGUsCj4g LQkJCQkJICAgICAgbmV3X2NydGNfc3RhdGUsCj4gLQkJCQkJICAgICAgY3J0Yyk7Cj4gLX0KPiAt Cj4gIHN0YXRpYyB2b2lkIGludGVsX2NvbW1pdF9tb2Rlc2V0X2Rpc2FibGVzKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq bmV3X2NydGNfc3RhdGUsICpvbGRfY3J0Y19zdGF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjOwo+ICAJaW50IGk7Cj4gIAo+IC0JLyoKPiAtCSAqIERpc2FibGUgQ1JUQy9waXBlcyBpbiBy ZXZlcnNlIG9yZGVyIGJlY2F1c2Ugc29tZSBmZWF0dXJlcyhNU1QgaW4KPiAtCSAqIFRHTCspIHJl cXVpcmVzIG1hc3RlciBhbmQgc2xhdmUgcmVsYXRpb25zaGlwIGJldHdlZW4gcGlwZXMsIHNvIGl0 Cj4gLQkgKiBzaG91bGQgYWx3YXlzIHBpY2sgdGhlIGxvd2VzdCBwaXBlIGFzIG1hc3RlciBhcyBp dCB3aWxsIGJlIGVuYWJsZWQKPiAtCSAqIGZpcnN0IGFuZCBkaXNhYmxlIGluIHRoZSByZXZlcnNl IG9yZGVyIHNvIHRoZSBtYXN0ZXIgd2lsbCBiZSB0aGUKPiAtCSAqIGxhc3Qgb25lIHRvIGJlIGRp c2FibGVkLgo+IC0JICovCj4gLQlmb3JfZWFjaF9vbGRuZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZV9y ZXZlcnNlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKPiAtCQkJCQkJICAgIG5ld19jcnRj X3N0YXRlLCBpKSB7Cj4gLQkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkKPiAr CS8qIE9ubHkgZGlzYWJsZSBwb3J0IHN5bmMgc2xhdmVzICovCj4gKwlmb3JfZWFjaF9vbGRuZXdf aW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsCj4gKwkJCQkJ ICAgIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4gKwkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRj X3N0YXRlKSB8fCAhY3J0Yy0+YWN0aXZlKQoKV2hhdCdzIHRoZSBkZWFsIHdpdGggdGhlc2UgY3J0 Yy0+YWN0aXZlIGNoZWNrcz8KCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiAgCQkvKiBJbiBjYXNlIG9m IFRyYW5zY29kZXIgcG9ydCBTeW5jIG1hc3RlciBzbGF2ZSBDUlRDcyBjYW4gYmUKPiBAQCAtMTQ0 OTcsMjMgKzE0NDYwLDI1IEBAIHN0YXRpYyB2b2lkIGludGVsX2NvbW1pdF9tb2Rlc2V0X2Rpc2Fi bGVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJCSAqIHNsYXZlIENSVENz IGFyZSBkaXNhYmxlZCBmaXJzdCBhbmQgdGhlbiBtYXN0ZXIgQ1JUQyBzaW5jZQo+ICAJCSAqIFNs YXZlIHZibGFua3MgYXJlIG1hc2tlZCB0aWxsIE1hc3RlciBWYmxhbmtzLgo+ICAJCSAqLwo+IC0J CWlmIChpc190cmFuc19wb3J0X3N5bmNfbW9kZShuZXdfY3J0Y19zdGF0ZSkpIHsKPiAtCQkJaWYg KGlzX3RyYW5zX3BvcnRfc3luY19tYXN0ZXIobmV3X2NydGNfc3RhdGUpKQo+IC0JCQkJaW50ZWxf dHJhbnNfcG9ydF9zeW5jX21vZGVzZXRfZGlzYWJsZXMoc3RhdGUsCj4gLQkJCQkJCQkJICAgICAg IGNydGMsCj4gLQkJCQkJCQkJICAgICAgIG9sZF9jcnRjX3N0YXRlLAo+IC0JCQkJCQkJCSAgICAg ICBuZXdfY3J0Y19zdGF0ZSk7Cj4gLQkJCWVsc2UKPiAtCQkJCWNvbnRpbnVlOwo+IC0JCX0gZWxz ZSB7Cj4gLQkJCWludGVsX3ByZV9wbGFuZV91cGRhdGUob2xkX2NydGNfc3RhdGUsIG5ld19jcnRj X3N0YXRlKTsKPiArCQlpZiAoIWlzX3RyYW5zX3BvcnRfc3luY19tb2RlKG5ld19jcnRjX3N0YXRl KSkKPiArCQkJY29udGludWU7Cj4gKwkJaWYgKGlzX3RyYW5zX3BvcnRfc3luY19tYXN0ZXIobmV3 X2NydGNfc3RhdGUpKQo+ICsJCQljb250aW51ZTsKCldlIGRvbid0IGhhdmUgaXNfdHJhbnNfc3lu Y19zbGF2ZSgpPwoKPiAgCj4gLQkJCWlmIChvbGRfY3J0Y19zdGF0ZS0+aHcuYWN0aXZlKQo+IC0J CQkJaW50ZWxfb2xkX2NydGNfc3RhdGVfZGlzYWJsZXMoc3RhdGUsCj4gLQkJCQkJCQkgICAgICBv bGRfY3J0Y19zdGF0ZSwKPiAtCQkJCQkJCSAgICAgIG5ld19jcnRjX3N0YXRlLAo+IC0JCQkJCQkJ ICAgICAgY3J0Yyk7Cj4gLQkJfQo+ICsJCWludGVsX3ByZV9wbGFuZV91cGRhdGUob2xkX2NydGNf c3RhdGUsIG5ld19jcnRjX3N0YXRlKTsKPiArCQlpbnRlbF9vbGRfY3J0Y19zdGF0ZV9kaXNhYmxl cyhzdGF0ZSwgb2xkX2NydGNfc3RhdGUsCj4gKwkJCQkJICAgICAgbmV3X2NydGNfc3RhdGUsIGNy dGMpOwo+ICsJfQo+ICsKPiArCS8qIERpc2FibGUgZXZlcnl0aGluZyBlbHNlIGxlZnQgb24gKi8K PiArCWZvcl9lYWNoX29sZG5ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRf Y3J0Y19zdGF0ZSwKPiArCQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkpIHsKPiArCQlpZiAoIW5l ZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpIHx8ICFjcnRjLT5hY3RpdmUpCj4gKwkJCWNvbnRp bnVlOwo+ICsKPiArCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKG9sZF9jcnRjX3N0YXRlLCBuZXdf Y3J0Y19zdGF0ZSk7Cj4gKwkJaW50ZWxfb2xkX2NydGNfc3RhdGVfZGlzYWJsZXMoc3RhdGUsIG9s ZF9jcnRjX3N0YXRlLAo+ICsJCQkJCSAgICAgIG5ld19jcnRjX3N0YXRlLCBjcnRjKTsKClBvbmRl cmluZyBpZiB0aGVyZSdzIGFueSBjaGFuY2Ugb2Ygc29tZSBvZGQgZmFpbCBpZiB3ZSBoYXZlIHR3 byBwb3J0cwpydW5uaW5nIGluIHBvcnQgc3luYyBtb2RlLiBUaGF0IHdpbGwgbm93IGxlYWQgdG8K ZGlzYWJsZV9zbGF2ZSgwKS0+ZGlzYWJsZV9zbGF2ZSgxKS0+ZGlzYWJsZV9tYXN0ZXIoMCktPmRp c2FibGVfbWFzdGVyKDEpLi4uCgo+ICAJfQo+ICB9Cj4gIAo+IC0tIAo+IDIuMjQuMAoKLS0gClZp bGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZng= 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=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, 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 D1FFCC432C0 for ; Tue, 26 Nov 2019 19:40:30 +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 836C72075C for ; Tue, 26 Nov 2019 19:40:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 836C72075C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.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 E11696E169; Tue, 26 Nov 2019 19:40:29 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id CAA006E169 for ; Tue, 26 Nov 2019 19:40:28 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Nov 2019 11:40:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,246,1571727600"; d="scan'208";a="291826118" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga001.jf.intel.com with SMTP; 26 Nov 2019 11:40:24 -0800 Received: by stinkbox (sSMTP sendmail emulation); Tue, 26 Nov 2019 21:40:24 +0200 Date: Tue, 26 Nov 2019 21:40:24 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: =?iso-8859-1?Q?Jos=E9?= Roberto de Souza Message-ID: <20191126194024.GE1208@intel.com> References: <20191123005459.155383-1-jose.souza@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191123005459.155383-1-jose.souza@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH 1/7] drm/i915/display: Refactor intel_commit_modeset_disables() 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: <20191126194024.t4fzG9pHbNcPBXC9LwrmFqd0G4-LlGiowGyIpbLENcI@z> T24gRnJpLCBOb3YgMjIsIDIwMTkgYXQgMDQ6NTQ6NTNQTSAtMDgwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBDb21taXQgOWM3MjJlMTdjMWI5ICgiZHJtL2k5MTU6IERpc2FibGUg cGlwZXMgaW4gcmV2ZXJzZSBvcmRlciIpCj4gcmV2ZXJ0ZWQgdGhlIG9yZGVyIHRoYXQgcGlwZXMg Z2V0cyBkaXNhYmxlZCBiZWNhdXNlIG9mIFRHTAo+IG1hc3Rlci9zbGF2ZSByZWxhdGlvbnNoaXAg YmV0d2VlbiB0cmFuc2NvZGVycyBpbiBNU1QgbW9kZS4KPiAKPiBCdXQgYXMgc3RhdGVkIGluIGEg Y29tbWVudCBpbiBza2xfY29tbWl0X21vZGVzZXRfZW5hYmxlcygpIHRoZQo+IGVuYWJsaW5nIG9y ZGVyIGlzIG5vdCBhbHdheXMgY3Jlc2NlbnQsIHBvc3NpYmx5IGNhdXNpbmcgcHJldmlvdXNseQo+ IHNlbGVjdGVkIHNsYXZlIHRyYW5zY29kZXIgYmVpbmcgZW5hYmxlZCBiZWZvcmUgbWFzdGVyIHNv IGFub3RoZXIKPiBhcHByb2FjaCB3aWxsIGJlIG5lZWRlZCB0byBzZWxlY3QgYSB0cmFuc2NvZGVy IHRvIG1hc3RlciBpbiBNU1QgbW9kZS4KPiBJdCB3aWxsIGJlIHNpbWlsYXIgdG8gdGhlIGFwcHJv YWNoIHRha2VuIGluIHBvcnQgc3luYy4KPiAKPiBCdXQgaW5zdGVhZCBvZiBpbXBsZW1lbnQgc29t ZXRoaW5nIGxpa2UKPiBpbnRlbF90cmFuc19wb3J0X3N5bmNfbW9kZXNldF9kaXNhYmxlcygpIHRv IE1TVCBsZXRzIHNpbXBseSBpdCBhbmQKPiBpdGVyYXRlIG92ZXIgYWxsIHBpcGVzIDIgdGltZXMs IHRoZSBmaXJzdCBvbmUgZGlzYWJsaW5nIGFueSBzbGF2ZSBhbmQKPiB0aGVuIGRpc2FibGluZyBl dmVyeXRoaW5nIGVsc2UuCj4gVGhlIE1TVCBiaXRzIHdpbGwgYmUgYWRkZWQgaW4gYW5vdGhlciBw YXRjaC4KPiAKPiBDYzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4K PiBDYzogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KPiBDYzogTWFhcnRl biBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2Zm LWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KPiAtLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgfCA3OSArKysr KystLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgNTcg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5LmMKPiBpbmRleCA1M2RjMzEwYTVmNmQuLjFiMWZiYjZkOGFjYyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTE0NDQzLDUz ICsxNDQ0MywxNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9vbGRfY3J0Y19zdGF0ZV9kaXNhYmxlcyhz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5p bml0aWFsX3dhdGVybWFya3Moc3RhdGUsIGNydGMpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBp bnRlbF90cmFuc19wb3J0X3N5bmNfbW9kZXNldF9kaXNhYmxlcyhzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSwKPiAtCQkJCQkJICAgc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gLQkJ CQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiAtCQkJCQkJ ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQo+IC17Cj4gLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqc2xhdmVfY3J0YyA9IGludGVsX2dldF9zbGF2ZV9jcnRjKG5ld19jcnRj X3N0YXRlKTsKPiAtCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfc2xhdmVfY3J0Y19zdGF0 ZSA9Cj4gLQkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgc2xhdmVfY3J0 Yyk7Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX3NsYXZlX2NydGNfc3RhdGUgPQo+ IC0JCWludGVsX2F0b21pY19nZXRfb2xkX2NydGNfc3RhdGUoc3RhdGUsIHNsYXZlX2NydGMpOwo+ IC0KPiAtCVdBUk5fT04oIXNsYXZlX2NydGMgfHwgIW5ld19zbGF2ZV9jcnRjX3N0YXRlIHx8Cj4g LQkJIW9sZF9zbGF2ZV9jcnRjX3N0YXRlKTsKPiAtCj4gLQkvKiBEaXNhYmxlIFNsYXZlIGZpcnN0 ICovCj4gLQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKG9sZF9zbGF2ZV9jcnRjX3N0YXRlLCBuZXdf c2xhdmVfY3J0Y19zdGF0ZSk7Cj4gLQlpZiAob2xkX3NsYXZlX2NydGNfc3RhdGUtPmh3LmFjdGl2 ZSkKPiAtCQlpbnRlbF9vbGRfY3J0Y19zdGF0ZV9kaXNhYmxlcyhzdGF0ZSwKPiAtCQkJCQkgICAg ICBvbGRfc2xhdmVfY3J0Y19zdGF0ZSwKPiAtCQkJCQkgICAgICBuZXdfc2xhdmVfY3J0Y19zdGF0 ZSwKPiAtCQkJCQkgICAgICBzbGF2ZV9jcnRjKTsKPiAtCj4gLQkvKiBEaXNhYmxlIE1hc3RlciAq Lwo+IC0JaW50ZWxfcHJlX3BsYW5lX3VwZGF0ZShvbGRfY3J0Y19zdGF0ZSwgbmV3X2NydGNfc3Rh dGUpOwo+IC0JaWYgKG9sZF9jcnRjX3N0YXRlLT5ody5hY3RpdmUpCj4gLQkJaW50ZWxfb2xkX2Ny dGNfc3RhdGVfZGlzYWJsZXMoc3RhdGUsCj4gLQkJCQkJICAgICAgb2xkX2NydGNfc3RhdGUsCj4g LQkJCQkJICAgICAgbmV3X2NydGNfc3RhdGUsCj4gLQkJCQkJICAgICAgY3J0Yyk7Cj4gLX0KPiAt Cj4gIHN0YXRpYyB2b2lkIGludGVsX2NvbW1pdF9tb2Rlc2V0X2Rpc2FibGVzKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq bmV3X2NydGNfc3RhdGUsICpvbGRfY3J0Y19zdGF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjOwo+ICAJaW50IGk7Cj4gIAo+IC0JLyoKPiAtCSAqIERpc2FibGUgQ1JUQy9waXBlcyBpbiBy ZXZlcnNlIG9yZGVyIGJlY2F1c2Ugc29tZSBmZWF0dXJlcyhNU1QgaW4KPiAtCSAqIFRHTCspIHJl cXVpcmVzIG1hc3RlciBhbmQgc2xhdmUgcmVsYXRpb25zaGlwIGJldHdlZW4gcGlwZXMsIHNvIGl0 Cj4gLQkgKiBzaG91bGQgYWx3YXlzIHBpY2sgdGhlIGxvd2VzdCBwaXBlIGFzIG1hc3RlciBhcyBp dCB3aWxsIGJlIGVuYWJsZWQKPiAtCSAqIGZpcnN0IGFuZCBkaXNhYmxlIGluIHRoZSByZXZlcnNl IG9yZGVyIHNvIHRoZSBtYXN0ZXIgd2lsbCBiZSB0aGUKPiAtCSAqIGxhc3Qgb25lIHRvIGJlIGRp c2FibGVkLgo+IC0JICovCj4gLQlmb3JfZWFjaF9vbGRuZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZV9y ZXZlcnNlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKPiAtCQkJCQkJICAgIG5ld19jcnRj X3N0YXRlLCBpKSB7Cj4gLQkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkKPiAr CS8qIE9ubHkgZGlzYWJsZSBwb3J0IHN5bmMgc2xhdmVzICovCj4gKwlmb3JfZWFjaF9vbGRuZXdf aW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsCj4gKwkJCQkJ ICAgIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4gKwkJaWYgKCFuZWVkc19tb2Rlc2V0KG5ld19jcnRj X3N0YXRlKSB8fCAhY3J0Yy0+YWN0aXZlKQoKV2hhdCdzIHRoZSBkZWFsIHdpdGggdGhlc2UgY3J0 Yy0+YWN0aXZlIGNoZWNrcz8KCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiAgCQkvKiBJbiBjYXNlIG9m IFRyYW5zY29kZXIgcG9ydCBTeW5jIG1hc3RlciBzbGF2ZSBDUlRDcyBjYW4gYmUKPiBAQCAtMTQ0 OTcsMjMgKzE0NDYwLDI1IEBAIHN0YXRpYyB2b2lkIGludGVsX2NvbW1pdF9tb2Rlc2V0X2Rpc2Fi bGVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJCSAqIHNsYXZlIENSVENz IGFyZSBkaXNhYmxlZCBmaXJzdCBhbmQgdGhlbiBtYXN0ZXIgQ1JUQyBzaW5jZQo+ICAJCSAqIFNs YXZlIHZibGFua3MgYXJlIG1hc2tlZCB0aWxsIE1hc3RlciBWYmxhbmtzLgo+ICAJCSAqLwo+IC0J CWlmIChpc190cmFuc19wb3J0X3N5bmNfbW9kZShuZXdfY3J0Y19zdGF0ZSkpIHsKPiAtCQkJaWYg KGlzX3RyYW5zX3BvcnRfc3luY19tYXN0ZXIobmV3X2NydGNfc3RhdGUpKQo+IC0JCQkJaW50ZWxf dHJhbnNfcG9ydF9zeW5jX21vZGVzZXRfZGlzYWJsZXMoc3RhdGUsCj4gLQkJCQkJCQkJICAgICAg IGNydGMsCj4gLQkJCQkJCQkJICAgICAgIG9sZF9jcnRjX3N0YXRlLAo+IC0JCQkJCQkJCSAgICAg ICBuZXdfY3J0Y19zdGF0ZSk7Cj4gLQkJCWVsc2UKPiAtCQkJCWNvbnRpbnVlOwo+IC0JCX0gZWxz ZSB7Cj4gLQkJCWludGVsX3ByZV9wbGFuZV91cGRhdGUob2xkX2NydGNfc3RhdGUsIG5ld19jcnRj X3N0YXRlKTsKPiArCQlpZiAoIWlzX3RyYW5zX3BvcnRfc3luY19tb2RlKG5ld19jcnRjX3N0YXRl KSkKPiArCQkJY29udGludWU7Cj4gKwkJaWYgKGlzX3RyYW5zX3BvcnRfc3luY19tYXN0ZXIobmV3 X2NydGNfc3RhdGUpKQo+ICsJCQljb250aW51ZTsKCldlIGRvbid0IGhhdmUgaXNfdHJhbnNfc3lu Y19zbGF2ZSgpPwoKPiAgCj4gLQkJCWlmIChvbGRfY3J0Y19zdGF0ZS0+aHcuYWN0aXZlKQo+IC0J CQkJaW50ZWxfb2xkX2NydGNfc3RhdGVfZGlzYWJsZXMoc3RhdGUsCj4gLQkJCQkJCQkgICAgICBv bGRfY3J0Y19zdGF0ZSwKPiAtCQkJCQkJCSAgICAgIG5ld19jcnRjX3N0YXRlLAo+IC0JCQkJCQkJ ICAgICAgY3J0Yyk7Cj4gLQkJfQo+ICsJCWludGVsX3ByZV9wbGFuZV91cGRhdGUob2xkX2NydGNf c3RhdGUsIG5ld19jcnRjX3N0YXRlKTsKPiArCQlpbnRlbF9vbGRfY3J0Y19zdGF0ZV9kaXNhYmxl cyhzdGF0ZSwgb2xkX2NydGNfc3RhdGUsCj4gKwkJCQkJICAgICAgbmV3X2NydGNfc3RhdGUsIGNy dGMpOwo+ICsJfQo+ICsKPiArCS8qIERpc2FibGUgZXZlcnl0aGluZyBlbHNlIGxlZnQgb24gKi8K PiArCWZvcl9lYWNoX29sZG5ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRf Y3J0Y19zdGF0ZSwKPiArCQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkpIHsKPiArCQlpZiAoIW5l ZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpIHx8ICFjcnRjLT5hY3RpdmUpCj4gKwkJCWNvbnRp bnVlOwo+ICsKPiArCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKG9sZF9jcnRjX3N0YXRlLCBuZXdf Y3J0Y19zdGF0ZSk7Cj4gKwkJaW50ZWxfb2xkX2NydGNfc3RhdGVfZGlzYWJsZXMoc3RhdGUsIG9s ZF9jcnRjX3N0YXRlLAo+ICsJCQkJCSAgICAgIG5ld19jcnRjX3N0YXRlLCBjcnRjKTsKClBvbmRl cmluZyBpZiB0aGVyZSdzIGFueSBjaGFuY2Ugb2Ygc29tZSBvZGQgZmFpbCBpZiB3ZSBoYXZlIHR3 byBwb3J0cwpydW5uaW5nIGluIHBvcnQgc3luYyBtb2RlLiBUaGF0IHdpbGwgbm93IGxlYWQgdG8K ZGlzYWJsZV9zbGF2ZSgwKS0+ZGlzYWJsZV9zbGF2ZSgxKS0+ZGlzYWJsZV9tYXN0ZXIoMCktPmRp c2FibGVfbWFzdGVyKDEpLi4uCgo+ICAJfQo+ICB9Cj4gIAo+IC0tIAo+IDIuMjQuMAoKLS0gClZp bGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZng=