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.5 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 663A8C433DF for ; Wed, 24 Jun 2020 11:00:29 +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 446DA2084D for ; Wed, 24 Jun 2020 11:00:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 446DA2084D 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 CE5366EAD2; Wed, 24 Jun 2020 11:00:28 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 50A5D6EAD2 for ; Wed, 24 Jun 2020 11:00:28 +0000 (UTC) IronPort-SDR: V2+TMi3nFyl99YRfsk55r5coppBlOQ65lue9ZQBKgf7Rr41bTT6WS/Q/bGLoX7x4Lni0mflbMF WqTMcUfNHHiA== X-IronPort-AV: E=McAfee;i="6000,8403,9661"; a="142642025" X-IronPort-AV: E=Sophos;i="5.75,275,1589266800"; d="scan'208";a="142642025" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jun 2020 04:00:27 -0700 IronPort-SDR: 2MgF96ePZyjAXO3d55arz0aMLBeKv7voHECVIv3CwbaQHv7cMV5rGnn88BRPhXRHDkC79XfwjQ 3qzZw1GuXagQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,275,1589266800"; d="scan'208";a="319413325" Received: from kbs1-mobl1.gar.corp.intel.com (HELO [10.215.181.220]) ([10.215.181.220]) by FMSMGA003.fm.intel.com with ESMTP; 24 Jun 2020 04:00:25 -0700 To: Paulo Zanoni , intel-gfx@lists.freedesktop.org References: <20200528053931.29282-1-karthik.b.s@intel.com> <20200528053931.29282-2-karthik.b.s@intel.com> <0c4f01e093ad373bad5449ff01ae41df18e88d56.camel@intel.com> From: Karthik B S Message-ID: <97cd4e21-86a2-8caf-46a4-1c01293b1d5f@intel.com> Date: Wed, 24 Jun 2020 16:30:24 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.1 MIME-Version: 1.0 In-Reply-To: <0c4f01e093ad373bad5449ff01ae41df18e88d56.camel@intel.com> Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH v3 1/5] drm/i915: Add enable/disable flip done and flip done handler 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: "Vetter, Daniel" Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" CgpPbiA2LzExLzIwMjAgNDowMyBBTSwgUGF1bG8gWmFub25pIHdyb3RlOgo+IEVtIHF1aSwgMjAy MC0wNS0yOCDDoHMgMTE6MDkgKzA1MzAsIEthcnRoaWsgQiBTIGVzY3JldmV1Ogo+PiBBZGQgZW5h YmxlL2Rpc2FibGUgZmxpcCBkb25lIGZ1bmN0aW9ucyBhbmQgdGhlIGZsaXAgZG9uZSBoYW5kbGVy Cj4+IGZ1bmN0aW9uIHdoaWNoIGhhbmRsZXMgdGhlIGZsaXAgZG9uZSBpbnRlcnJ1cHQuCj4+Cj4+ IEVuYWJsZSB0aGUgZmxpcCBkb25lIGludGVycnVwdCBpbiBJRVIuCj4+Cj4+IEVuYWJsZSBmbGlw IGRvbmUgZnVuY3Rpb24gaXMgY2FsbGVkIGJlZm9yZSB3cml0aW5nIHRoZQo+PiBzdXJmYWNlIGFk ZHJlc3MgcmVnaXN0ZXIgYXMgdGhlIHdyaXRlIHRvIHRoaXMgcmVnaXN0ZXIgdHJpZ2dlcnMKPj4g dGhlIGZsaXAgZG9uZSBpbnRlcnJ1cHQKPj4KPj4gRmxpcCBkb25lIGhhbmRsZXIgaXMgdXNlZCB0 byBzZW5kIHRoZSBwYWdlIGZsaXAgZXZlbnQgYXMgc29vbiBhcyB0aGUKPj4gc3VyZmFjZSBhZGRy ZXNzIGlzIHdyaXR0ZW4gYXMgcGVyIHRoZSByZXF1aXJlbWVudCBvZiBhc3luYyBmbGlwcy4KPj4g VGhlIGludGVycnVwdCBpcyBkaXNhYmxlZCBhZnRlciB0aGUgZXZlbnQgaXMgc2VudC4KPj4KPj4g djI6IC1DaGFuZ2UgZnVuY3Rpb24gbmFtZSBmcm9tIGljbF8qIHRvIHNrbF8qIChQYXVsbykKPj4g ICAgICAtTW92ZSBmbGlwIGhhbmRsZXIgdG8gdGhpcyBwYXRjaCAoUGF1bG8pCj4+ICAgICAgLVJl bW92ZSB2YmxhbmtfcHV0KCkgKFBhdWxvKQo+PiAgICAgIC1FbmFibGUgZmxpcCBkb25lIGludGVy cnVwdCBmb3IgZ2VuOSsgb25seSAoUGF1bG8pCj4+ICAgICAgLUVuYWJsZSBmbGlwIGRvbmUgaW50 ZXJydXB0IGluIHBvd2VyX3dlbGxfcG9zdF9lbmFibGUgaG9vayAoUGF1bG8pCj4+ICAgICAgLVJl bW92ZWQgdGhlIGV2ZW50IGNoZWNrIGluIGZsaXAgZG9uZSBoYW5kbGVyIHRvIGhhbmRsZSBhc3lu Ywo+PiAgICAgICBmbGlwcyB3aXRob3V0IHBhZ2VmbGlwIGV2ZW50cy4KPj4KPj4gdjM6IC1Nb3Zl IHNrbF9kaXNhYmxlX2ZsaXBfZG9uZSBvdXQgb2YgaW50ZXJydXB0IGhhbmRsZXIgKFBhdWxvKQo+ PiAgICAgIC1NYWtlIHRoZSBwZW5kaW5nIHZibGFuayBldmVudCBOVUxMIGluIHRoZSBiZWdpbmlu ZyBvZgo+PiAgICAgICBmbGlwX2RvbmVfaGFuZGxlciB0byByZW1vdmUgc3BvcmFkaWMgV0FSTl9P TiB0aGF0IGlzIHNlZW4uCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEthcnRoaWsgQiBTIDxrYXJ0aGlr LmIuc0BpbnRlbC5jb20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheS5jIHwgMTAgKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmMgICAgICAgICAgICAgIHwgNTIgKysrKysrKysrKysrKysrKysrKysKPj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5oICAgICAgICAgICAgICB8ICAyICsKPj4gICAzIGZpbGVz IGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKykKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPj4gaW5kZXggZjQwYjkwOTk1MmNjLi40OGNjMWZjOWJj NWEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jCj4+IEBAIC0xNTUzMCw2ICsxNTUzMCwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNf Y29tbWl0X3RhaWwoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4+ICAgCj4+ICAg CWludGVsX2RidWZfcHJlX3BsYW5lX3VwZGF0ZShzdGF0ZSk7Cj4+ICAgCj4+ICsJZm9yX2VhY2hf bmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7 Cj4+ICsJCWlmIChuZXdfY3J0Y19zdGF0ZS0+dWFwaS5hc3luY19mbGlwKSB7Cj4+ICsJCQlza2xf ZW5hYmxlX2ZsaXBfZG9uZSgmY3J0Yy0+YmFzZSk7Cj4+ICsJCQlicmVhazsKPj4gKwkJfQo+PiAr CX0KPj4gKwo+PiAgIAkvKiBOb3cgZW5hYmxlIHRoZSBjbG9ja3MsIHBsYW5lLCBwaXBlLCBhbmQg Y29ubmVjdG9ycyB0aGF0IHdlIHNldCB1cC4gKi8KPj4gICAJZGV2X3ByaXYtPmRpc3BsYXkuY29t bWl0X21vZGVzZXRfZW5hYmxlcyhzdGF0ZSk7Cj4+ICAgCj4+IEBAIC0xNTU1MSw2ICsxNTU1OCw5 IEBAIHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgaW50ZWxfYXRv bWljX3N0YXRlICpzdGF0ZSkKPj4gICAJZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZmxpcF9k b25lKGRldiwgJnN0YXRlLT5iYXNlKTsKPj4gICAKPj4gICAJZm9yX2VhY2hfbmV3X2ludGVsX2Ny dGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4+ICsJCWlmIChu ZXdfY3J0Y19zdGF0ZS0+dWFwaS5hc3luY19mbGlwKQo+PiArCQkJc2tsX2Rpc2FibGVfZmxpcF9k b25lKCZjcnRjLT5iYXNlKTsKPj4gKwo+PiAgIAkJaWYgKG5ld19jcnRjX3N0YXRlLT5ody5hY3Rp dmUgJiYKPj4gICAJCSAgICAhbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkgJiYKPj4gICAJ CSAgICAhbmV3X2NydGNfc3RhdGUtPnByZWxvYWRfbHV0cyAmJgo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmMKPj4gaW5kZXggZWZkZDRjN2I4ZTkyLi42MzJlN2IxZGViODcgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYwo+PiBAQCAtMTI5NSw2ICsxMjk1LDIzIEBAIGRpc3BsYXlfcGlwZV9j cmNfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgIAkJ CSAgICAgdTMyIGNyYzQpIHt9Cj4+ICAgI2VuZGlmCj4+ICAgCj4+ICtzdGF0aWMgdm9pZCBmbGlw X2RvbmVfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICsJCQkg ICAgICB1bnNpZ25lZCBpbnQgcGlwZSkKPj4gK3sKPj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IGludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldl9wcml2LCBwaXBlKTsKPj4gKwlzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPSBjcnRjLT5iYXNlLnN0YXRlOwo+PiArCXN0cnVj dCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmUgPSBjcnRjX3N0YXRlLT5ldmVudDsKPj4gKwlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gJmRldl9wcml2LT5kcm07Cj4+ICsJdW5zaWduZWQgbG9u ZyBpcnFmbGFnczsKPj4gKwo+PiArCWNydGNfc3RhdGUtPmV2ZW50ID0gTlVMTDsKPj4gKwo+PiAr CXNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPmV2ZW50X2xvY2ssIGlycWZsYWdzKTsKPj4gKwo+PiAr CWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KCZjcnRjLT5iYXNlLCBlKTsKPiAKPiBJIGRvbid0 IHRoaW5rIHRoaXMgaXMgd2hhdCB3ZSB3YW50LiBXaXRoIHRoaXMsIHRoZSBldmVudHMgdGhlIEtl cm5lbAo+IHNlbmRzIHVzIGFsbCBoYXZlIHRoZSBzYW1lIHNlcXVlbmNlIGFuZCB0aW1lc3RhbXAu IEluIGZhY3QsIHRoZSBJR1QKPiB0ZXN0IHlvdSBzdWJtaXR0ZWQgZmFpbHMgYmVjYXVzZSBvZiB0 aGlzLgo+IAo+IEluIG15IG9yaWdpbmFsIGhhY2tpc2ggcHJvb2Ytb2YtY29uY2VwdCBwYXRjaCBJ IGhhZCBjaGFuZ2VkCj4gZHJtX3VwZGF0ZV92YmxhbmtfY291bnQoKSB0byBmb3JjZSBkaWZmPTEg aW4gb3JkZXIgdG8gYWx3YXlzIHNlbmQKPiBldmVudHMgYW5kIEkgYWxzbyBjaGFuZ2VkIGc0eF9n ZXRfdmJsYW5rX2NvdW50ZXIoKSB0byBnZXQgdGhlIGNvdW50ZXIKPiBmcm9tIEZMSVBDT1VOVCAo d2hpY2ggdXBkYXRlcyBldmVyeSB0aW1lIHRoZXJlJ3MgYSBmbGlwKSBpbnN0ZWFkIG9mCj4gRlJN Q09VTlQgKHdoaWNoIGRvZXNuJ3Qgc2VlbSB0byBpbmNyZW1lbnQgd2hlbiB5b3UgZG8gYXN5bmMg ZmxpcHMpLgo+IFRoYXQgaXMgYSBkcmFzdGljIGNoYW5nZSwgYnV0IHRoZSBwYXRjaCB3YXMganVz dCBhIFBvQyBzbyBJIGRpZG4ndCBjYXJlCj4gYWJvdXQga2VlcGluZyBhbnl0aGluZyBlbHNlIHdv cmtpbmcuCj4gCj4gT25lIHRoaW5nIHRoYXQgY29uZnVzZWQgbWUgYSBsaXR0bGUgYml0IHdoZW4g ZGVhbGluZyB0aGUgdGhlCj4gdmJsYW5rL2ZsaXAgZXZlbnQgaW50ZXJmYWNlIGZyb20gZHJtLmtv IGlzIHRoYXQgImZsaXBzIiBhbmQgInZibGFua3MiCj4gc2VlbSB0byBiZSBjaGFuZ2VkIGludGVy Y2hhbmdlYWJseSwgd2hpY2ggaXMgY29uZnVzaW5nIGZvciBhc3luYyBmbGlwczoKPiBpZiB5b3Ug a2VlcCBmb3JldmVyIGRvaW5nIGFzeW5jIGZsaXBzIGluIHRoZSB2ZXJ5IGZpcnN0IGZldyBzY2Fu bGluZXMKPiB5b3UgbmV2ZXIgYWN0dWFsbHkgcmVhY2ggdGhlICJ2YmxhbmsiIHBlcmlvZCwgeWV0 IHlvdSBrZWVwIGZsaXBwaW5nCj4geW91ciBmcmFtZS4gVGhlbiwgd2hhdCBzaG91bGQgeW91ciBl eHBlY3RhdGlvbiByZWdhcmRpbmcgZXZlbnRzIGJlPwo+IAo+IEkgdGhpbmsgd2UgbWF5IG5lZWQg dG8gY2hlY2sgaG93IHRoZSBvdGhlciBkcml2ZXJzIGhhbmRsZSBhc3luYyB2YmxhbmtzCj4gKG9y IGhvdyBkcm0ua28gd2FudHMgdXMgdG8gaGFuZGxlIGFzeW5jIHZibGFua3MpLiBTaG91bGQgd2Ug aW5jcmVtZW50Cj4gc2VxdWVuY2Ugb24gZXZlcnkgYXN5bmMgZmxpcD8gV2hhdCBhYm91dCB0aGUg dGltZXN0YW1wPwo+IAo+IERhbmllbCwgVmlsbGUsIGRvIHlvdSBoYXBwZW4gdG8ga25vdyB0aGUg cHJvcGVyIHNlbWFudGljcyBoZXJlPwo+IAo+IFRoZXJlJ3MgY2VydGFpbmx5IHNvbWUgYWRqdXN0 bWVudCB0byBkbyB0byBib3RoIHRoaXMgcGF0Y2ggYW5kIHRoZSBJR1QuCgpUaGFua3MgZm9yIHRo ZSByZXZpZXcuCkkgd2lsbCBmaW5kIHRoZSBwcm9wZXIgd2F5IHRvIGltcGxlbWVudCB0aGUgc2Vx dWVuY2UgYW5kIHRpbWUgc3RhbW1waW5nIApwYXJ0cyBieSBsb29raW5nIGludG8gdGhlIG90aGVy IGRyaXZlcnMgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMuCkFsc28gd2lsbCBtYWtlIHRoZSByZXF1 aXJlZCBjaGFuZ2VzIHJlZ2FyZGluZyB0aGUgZXZlbnRzIHRvIGJlIHNlbnQuCldpbGwgYWxzbyBs b29rIGludG8gdGhlIG90aGVyIGlucHV0cyByZWNlaXZlZCBhbmQgbWFrZSB0aGUgcmVxdWlyZWQg CmNvcnJlY3Rpb25zLgoKUmVnYXJkcywKS2FydGhpay5CLlMKPiAKPj4gKwo+PiArCXNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJmRldi0+ZXZlbnRfbG9jaywgaXJxZmxhZ3MpOwo+PiArfQo+PiAgIAo+ PiAgIHN0YXRpYyB2b2lkIGhzd19waXBlX2NyY19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAgCQkJCSAgICAgZW51bSBwaXBlIHBpcGUpCj4+IEBAIC0y Mzg4LDYgKzI0MDUsOSBAQCBnZW44X2RlX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgdTMyIG1hc3Rlcl9jdGwpCj4+ICAgCQlpZiAoaWlyICYgR0VOOF9QSVBF X1ZCTEFOSykKPj4gICAJCQlpbnRlbF9oYW5kbGVfdmJsYW5rKGRldl9wcml2LCBwaXBlKTsKPj4g ICAKPj4gKwkJaWYgKGlpciAmIEdFTjlfUElQRV9QTEFORTFfRkxJUF9ET05FKQo+PiArCQkJZmxp cF9kb25lX2hhbmRsZXIoZGV2X3ByaXYsIHBpcGUpOwo+PiArCj4+ICAgCQlpZiAoaWlyICYgR0VO OF9QSVBFX0NEQ0xLX0NSQ19ET05FKQo+PiAgIAkJCWhzd19waXBlX2NyY19pcnFfaGFuZGxlcihk ZXZfcHJpdiwgcGlwZSk7Cj4+ICAgCj4+IEBAIC0yNjY5LDYgKzI2ODksMTkgQEAgaW50IGJkd19l bmFibGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPj4gICAJcmV0dXJuIDA7Cj4+ICAg fQo+PiAgIAo+PiArdm9pZCBza2xfZW5hYmxlX2ZsaXBfZG9uZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4+ICt7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5kZXYpOwo+PiArCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+ cGlwZTsKPj4gKwl1bnNpZ25lZCBsb25nIGlycWZsYWdzOwo+PiArCj4+ICsJc3Bpbl9sb2NrX2ly cXNhdmUoJmRldl9wcml2LT5pcnFfbG9jaywgaXJxZmxhZ3MpOwo+PiArCj4+ICsJYmR3X2VuYWJs ZV9waXBlX2lycShkZXZfcHJpdiwgcGlwZSwgR0VOOV9QSVBFX1BMQU5FMV9GTElQX0RPTkUpOwo+ PiArCj4+ICsJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPmlycV9sb2NrLCBpcnFm bGFncyk7Cj4+ICt9Cj4+ICsKPj4gICAvKiBDYWxsZWQgZnJvbSBkcm0gZ2VuZXJpYyBjb2RlLCBw YXNzZWQgJ2NydGMnIHdoaWNoCj4+ICAgICogd2UgdXNlIGFzIGEgcGlwZSBpbmRleAo+PiAgICAq Lwo+PiBAQCAtMjcyOSw2ICsyNzYyLDE5IEBAIHZvaWQgYmR3X2Rpc2FibGVfdmJsYW5rKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKPj4gICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYt PmlycV9sb2NrLCBpcnFmbGFncyk7Cj4+ICAgfQo+PiAgIAo+PiArdm9pZCBza2xfZGlzYWJsZV9m bGlwX2RvbmUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+PiArewo+PiArCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKPj4gKwllbnVtIHBpcGUg cGlwZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7Cj4+ICsJdW5zaWduZWQgbG9uZyBpcnFm bGFnczsKPj4gKwo+PiArCXNwaW5fbG9ja19pcnFzYXZlKCZkZXZfcHJpdi0+aXJxX2xvY2ssIGly cWZsYWdzKTsKPj4gKwo+PiArCWJkd19kaXNhYmxlX3BpcGVfaXJxKGRldl9wcml2LCBwaXBlLCBH RU45X1BJUEVfUExBTkUxX0ZMSVBfRE9ORSk7Cj4+ICsKPj4gKwlzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZkZXZfcHJpdi0+aXJxX2xvY2ssIGlycWZsYWdzKTsKPj4gK30KPj4gKwo+PiAgIHN0YXRp YyB2b2lkIGlieF9pcnFfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ PiAgIHsKPj4gICAJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmRldl9wcml2LT51bmNv cmU7Cj4+IEBAIC0yOTM2LDYgKzI5ODIsOSBAQCB2b2lkIGdlbjhfaXJxX3Bvd2VyX3dlbGxfcG9z dF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgIAl1MzIgZXh0 cmFfaWVyID0gR0VOOF9QSVBFX1ZCTEFOSyB8IEdFTjhfUElQRV9GSUZPX1VOREVSUlVOOwo+PiAg IAllbnVtIHBpcGUgcGlwZTsKPj4gICAKPj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5 KQo+PiArCQlleHRyYV9pZXIgfD0gR0VOOV9QSVBFX1BMQU5FMV9GTElQX0RPTkU7Cj4+ICsKPj4g ICAJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPj4gICAKPj4gICAJaWYgKCFp bnRlbF9pcnFzX2VuYWJsZWQoZGV2X3ByaXYpKSB7Cj4+IEBAIC0zNDEwLDYgKzM0NTksOSBAQCBz dGF0aWMgdm9pZCBnZW44X2RlX2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4+ICAgCWRlX3BpcGVfZW5hYmxlcyA9IGRlX3BpcGVfbWFza2VkIHwgR0VO OF9QSVBFX1ZCTEFOSyB8Cj4+ICAgCQkJCQkgICBHRU44X1BJUEVfRklGT19VTkRFUlJVTjsKPj4g ICAKPj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQo+PiArCQlkZV9waXBlX2VuYWJs ZXMgfD0gR0VOOV9QSVBFX1BMQU5FMV9GTElQX0RPTkU7Cj4+ICsKPj4gICAJZGVfcG9ydF9lbmFi bGVzID0gZGVfcG9ydF9tYXNrZWQ7Cj4+ICAgCWlmIChJU19HRU45X0xQKGRldl9wcml2KSkKPj4g ICAJCWRlX3BvcnRfZW5hYmxlcyB8PSBCWFRfREVfUE9SVF9IT1RQTFVHX01BU0s7Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuaAo+PiBpbmRleCAyNWYyNWNkOTU4MTguLjJmMTBjODEzNTExNiAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuaAo+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5oCj4+IEBAIC0xMTIsMTEgKzExMiwxMyBAQCBpbnQg aTkxNWdtX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPj4gICBpbnQgaTk2 NV9lbmFibGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4+ICAgaW50IGlsa19lbmFi bGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4+ICAgaW50IGJkd19lbmFibGVfdmJs YW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4+ICt2b2lkIHNrbF9lbmFibGVfZmxpcF9kb25l KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4+ICAgdm9pZCBpOHh4X2Rpc2FibGVfdmJsYW5rKHN0 cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4+ICAgdm9pZCBpOTE1Z21fZGlzYWJsZV92Ymxhbmsoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKPj4gICB2b2lkIGk5NjVfZGlzYWJsZV92Ymxhbmsoc3RydWN0 IGRybV9jcnRjICpjcnRjKTsKPj4gICB2b2lkIGlsa19kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJt X2NydGMgKmNydGMpOwo+PiAgIHZvaWQgYmR3X2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0 YyAqY3J0Yyk7Cj4+ICt2b2lkIHNrbF9kaXNhYmxlX2ZsaXBfZG9uZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMpOwo+PiAgIAo+PiAgIHZvaWQgZ2VuMl9pcnFfcmVzZXQoc3RydWN0IGludGVsX3VuY29y ZSAqdW5jb3JlKTsKPj4gICB2b2lkIGdlbjNfaXJxX3Jlc2V0KHN0cnVjdCBpbnRlbF91bmNvcmUg KnVuY29yZSwgaTkxNV9yZWdfdCBpbXIsCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=