From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anshuamn Gupta Subject: Re: [PATCH 1/3] drm/i915/psr: Share the computation of idle frames Date: Wed, 13 Nov 2019 18:04:53 +0530 Message-ID: <20191113123453.GD17487@intel.com> References: <20191101001422.209326-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id EEE256E0CE for ; Wed, 13 Nov 2019 12:42:46 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191101001422.209326-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: =?utf-8?B?Sm9zw6k=?= Roberto de Souza Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org TG9va3MgZ29vZCB0byBtZSwgdGhlcmUgaXMgYSBtaW5vciBjb21tZW50IHNlZSBiZWxvdy4KT24g MjAxOS0xMC0zMSBhdCAxNzoxNDoyMCAtMDcwMCwgSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSB3cm90 ZToKPiBCb3RoIGFjdGl2YXRlIGZ1bmN0aW9ucyBhbmQgdGhlIGRjM2NvIGRpc2FibGUgZnVuY3Rp b24gd2VyZSBkb2luZyB0aGUKPiBzYW1lIHRoaW5nLCBzbyBiZXR0ZXIgbW92ZSB0byBhIGZ1bmN0 aW9uIGFuZCBzaGFyZS4KPiBBbHNvIHdoaWxlIGF0IGl0IGFkZGluZyBhIFdBUk5fT04gdG8gY2F0 Y2ggaW52YWxpZCB2YWx1ZXMuCj4gCj4gQ2M6IEFuc2h1bWFuIEd1cHRhIDxhbnNodW1hbi5ndXB0 YUBpbnRlbC5jb20+Cj4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KQWNrZWQt Ynk6IEFuc2h1bWFuIEd1cHRhIDxhbnNodW1hbi5ndXB0YUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9m Zi1ieTogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+Cj4gLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMgfCA0MyArKysrKysr KysrKy0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDI0 IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3Iu Ywo+IGluZGV4IDZhOWYzMjJkM2ZjYS4uYmI5YjUzNDliNzJhIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCj4gQEAgLTQ1MSwyMiArNDUxLDI5IEBAIHN0YXRp YyB1MzIgaW50ZWxfcHNyMV9nZXRfdHBfdGltZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ ICAJcmV0dXJuIHZhbDsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaHN3X2FjdGl2YXRlX3BzcjEo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiArc3RhdGljIHU4IHBzcl9jb21wdXRlX2lkbGVf ZnJhbWVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOwo+IC0JdTMyIG1heF9z bGVlcF90aW1lID0gMHgxZjsKPiAtCXUzMiB2YWwgPSBFRFBfUFNSX0VOQUJMRTsKPiArCWludCBp ZGxlX2ZyYW1lczsKPiAgCj4gIAkvKiBMZXQncyB1c2UgNiBhcyB0aGUgbWluaW11bSB0byBjb3Zl ciBhbGwga25vd24gY2FzZXMgaW5jbHVkaW5nIHRoZQo+ICAJICogb2ZmLWJ5LW9uZSBpc3N1ZSB0 aGF0IEhXIGhhcyBpbiBzb21lIGNhc2VzLgo+ICAJICovCj4gLQlpbnQgaWRsZV9mcmFtZXMgPSBt YXgoNiwgZGV2X3ByaXYtPnZidC5wc3IuaWRsZV9mcmFtZXMpOwo+IC0KPiAtCS8qIHNpbmtfc3lu Y19sYXRlbmN5IG9mIDggbWVhbnMgc291cmNlIGhhcyB0byB3YWl0IGZvciBtb3JlIHRoYW4gOAo+ IC0JICogZnJhbWVzLCB3ZSdsbCBnbyB3aXRoIDkgZnJhbWVzIGZvciBub3cKPiAtCSAqLwo+ICsJ aWRsZV9mcmFtZXMgPSBtYXgoNiwgZGV2X3ByaXYtPnZidC5wc3IuaWRsZV9mcmFtZXMpOwo+ICAJ aWRsZV9mcmFtZXMgPSBtYXgoaWRsZV9mcmFtZXMsIGRldl9wcml2LT5wc3Iuc2lua19zeW5jX2xh dGVuY3kgKyAxKTsKPiAtCXZhbCB8PSBpZGxlX2ZyYW1lcyA8PCBFRFBfUFNSX0lETEVfRlJBTUVf U0hJRlQ7Cj4gKwo+ICsJV0FSTl9PTihpZGxlX2ZyYW1lcyA+IDB4Zik7Cj4gKwo+ICsJcmV0dXJu IGlkbGVfZnJhbWVzOwp0aGVyZSB3b3VsZCBiZSByZXR1cm4gdHlwZSBtaXNtYXRjaCB3YXJuaW5n Lgo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBoc3dfYWN0aXZhdGVfcHNyMShzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkcF90b19pOTE1KGludGVsX2RwKTsKPiArCXUzMiBtYXhfc2xlZXBfdGltZSA9IDB4MWY7Cj4g Kwl1MzIgdmFsID0gRURQX1BTUl9FTkFCTEU7Cj4gKwo+ICsJdmFsIHw9IHBzcl9jb21wdXRlX2lk bGVfZnJhbWVzKGludGVsX2RwKSA8PCBFRFBfUFNSX0lETEVfRlJBTUVfU0hJRlQ7Cj4gIAo+ICAJ dmFsIHw9IG1heF9zbGVlcF90aW1lIDw8IEVEUF9QU1JfTUFYX1NMRUVQX1RJTUVfU0hJRlQ7Cj4g IAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpCj4gQEAgLTQ5MCwxMyArNDk3LDcgQEAgc3RhdGlj IHZvaWQgaHN3X2FjdGl2YXRlX3BzcjIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOwo+ ICAJdTMyIHZhbDsKPiAgCj4gLQkvKiBMZXQncyB1c2UgNiBhcyB0aGUgbWluaW11bSB0byBjb3Zl ciBhbGwga25vd24gY2FzZXMgaW5jbHVkaW5nIHRoZQo+IC0JICogb2ZmLWJ5LW9uZSBpc3N1ZSB0 aGF0IEhXIGhhcyBpbiBzb21lIGNhc2VzLgo+IC0JICovCj4gLQlpbnQgaWRsZV9mcmFtZXMgPSBt YXgoNiwgZGV2X3ByaXYtPnZidC5wc3IuaWRsZV9mcmFtZXMpOwo+IC0KPiAtCWlkbGVfZnJhbWVz ID0gbWF4KGlkbGVfZnJhbWVzLCBkZXZfcHJpdi0+cHNyLnNpbmtfc3luY19sYXRlbmN5ICsgMSk7 Cj4gLQl2YWwgPSBpZGxlX2ZyYW1lcyA8PCBFRFBfUFNSMl9JRExFX0ZSQU1FX1NISUZUOwo+ICsJ dmFsID0gcHNyX2NvbXB1dGVfaWRsZV9mcmFtZXMoaW50ZWxfZHApIDw8IEVEUF9QU1IyX0lETEVf RlJBTUVfU0hJRlQ7Cj4gIAo+ICAJdmFsIHw9IEVEUF9QU1IyX0VOQUJMRSB8IEVEUF9TVV9UUkFD S19FTkFCTEU7Cj4gIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklM QUtFKGRldl9wcml2KSkKPiBAQCAtNTYzLDE2ICs1NjQsMTAgQEAgc3RhdGljIHZvaWQgdGdsX3Bz cjJfZW5hYmxlX2RjM2NvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4g IHN0YXRpYyB2b2lkIHRnbF9wc3IyX2Rpc2FibGVfZGMzY28oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICB7Cj4gLQlpbnQgaWRsZV9mcmFtZXM7Cj4gKwlzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwID0gZGV2X3ByaXYtPnBzci5kcDsKPiAgCj4gIAlpbnRlbF9kaXNwbGF5X3Bv d2VyX3NldF90YXJnZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERDX1NUQVRFX0VOX1VQVE9fREM2KTsK PiAtCS8qCj4gLQkgKiBSZXN0b3JlIFBTUjIgaWRsZSBmcmFtZSBsZXQncyB1c2UgNiBhcyB0aGUg bWluaW11bSB0byBjb3ZlciBhbGwga25vd24KPiAtCSAqIGNhc2VzIGluY2x1ZGluZyB0aGUgb2Zm LWJ5LW9uZSBpc3N1ZSB0aGF0IEhXIGhhcyBpbiBzb21lIGNhc2VzLgo+IC0JICovCj4gLQlpZGxl X2ZyYW1lcyA9IG1heCg2LCBkZXZfcHJpdi0+dmJ0LnBzci5pZGxlX2ZyYW1lcyk7Cj4gLQlpZGxl X2ZyYW1lcyA9IG1heChpZGxlX2ZyYW1lcywgZGV2X3ByaXYtPnBzci5zaW5rX3N5bmNfbGF0ZW5j eSArIDEpOwo+IC0JcHNyMl9wcm9ncmFtX2lkbGVfZnJhbWVzKGRldl9wcml2LCBpZGxlX2ZyYW1l cyk7Cj4gKwlwc3IyX3Byb2dyYW1faWRsZV9mcmFtZXMoZGV2X3ByaXYsIHBzcl9jb21wdXRlX2lk bGVfZnJhbWVzKGludGVsX2RwKSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIHRnbF9kYzVfaWRs ZV90aHJlYWQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+IC0tIAo+IDIuMjMuMAo+IApfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= 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 C6D84C43331 for ; Wed, 13 Nov 2019 12:42:49 +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 A2441222D0 for ; Wed, 13 Nov 2019 12:42:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A2441222D0 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 0AA2A6E0CE; Wed, 13 Nov 2019 12:42:48 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id EEE256E0CE for ; Wed, 13 Nov 2019 12:42:46 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2019 04:42:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,300,1569308400"; d="scan'208";a="194658750" Received: from genxfsim-desktop.iind.intel.com (HELO intel.com) ([10.223.74.120]) by orsmga007.jf.intel.com with ESMTP; 13 Nov 2019 04:42:44 -0800 Date: Wed, 13 Nov 2019 18:04:53 +0530 From: Anshuamn Gupta To: =?utf-8?B?Sm9zw6k=?= Roberto de Souza Message-ID: <20191113123453.GD17487@intel.com> References: <20191101001422.209326-1-jose.souza@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191101001422.209326-1-jose.souza@intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Subject: Re: [Intel-gfx] [PATCH 1/3] drm/i915/psr: Share the computation of idle frames 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: <20191113123453.znpGlVHop7JO3266bvo-CuGUZsbQPieXCpbEz6DmVXQ@z> TG9va3MgZ29vZCB0byBtZSwgdGhlcmUgaXMgYSBtaW5vciBjb21tZW50IHNlZSBiZWxvdy4KT24g MjAxOS0xMC0zMSBhdCAxNzoxNDoyMCAtMDcwMCwgSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSB3cm90 ZToKPiBCb3RoIGFjdGl2YXRlIGZ1bmN0aW9ucyBhbmQgdGhlIGRjM2NvIGRpc2FibGUgZnVuY3Rp b24gd2VyZSBkb2luZyB0aGUKPiBzYW1lIHRoaW5nLCBzbyBiZXR0ZXIgbW92ZSB0byBhIGZ1bmN0 aW9uIGFuZCBzaGFyZS4KPiBBbHNvIHdoaWxlIGF0IGl0IGFkZGluZyBhIFdBUk5fT04gdG8gY2F0 Y2ggaW52YWxpZCB2YWx1ZXMuCj4gCj4gQ2M6IEFuc2h1bWFuIEd1cHRhIDxhbnNodW1hbi5ndXB0 YUBpbnRlbC5jb20+Cj4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KQWNrZWQt Ynk6IEFuc2h1bWFuIEd1cHRhIDxhbnNodW1hbi5ndXB0YUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9m Zi1ieTogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+Cj4gLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMgfCA0MyArKysrKysr KysrKy0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDI0 IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3Iu Ywo+IGluZGV4IDZhOWYzMjJkM2ZjYS4uYmI5YjUzNDliNzJhIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCj4gQEAgLTQ1MSwyMiArNDUxLDI5IEBAIHN0YXRp YyB1MzIgaW50ZWxfcHNyMV9nZXRfdHBfdGltZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ ICAJcmV0dXJuIHZhbDsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaHN3X2FjdGl2YXRlX3BzcjEo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiArc3RhdGljIHU4IHBzcl9jb21wdXRlX2lkbGVf ZnJhbWVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOwo+IC0JdTMyIG1heF9z bGVlcF90aW1lID0gMHgxZjsKPiAtCXUzMiB2YWwgPSBFRFBfUFNSX0VOQUJMRTsKPiArCWludCBp ZGxlX2ZyYW1lczsKPiAgCj4gIAkvKiBMZXQncyB1c2UgNiBhcyB0aGUgbWluaW11bSB0byBjb3Zl ciBhbGwga25vd24gY2FzZXMgaW5jbHVkaW5nIHRoZQo+ICAJICogb2ZmLWJ5LW9uZSBpc3N1ZSB0 aGF0IEhXIGhhcyBpbiBzb21lIGNhc2VzLgo+ICAJICovCj4gLQlpbnQgaWRsZV9mcmFtZXMgPSBt YXgoNiwgZGV2X3ByaXYtPnZidC5wc3IuaWRsZV9mcmFtZXMpOwo+IC0KPiAtCS8qIHNpbmtfc3lu Y19sYXRlbmN5IG9mIDggbWVhbnMgc291cmNlIGhhcyB0byB3YWl0IGZvciBtb3JlIHRoYW4gOAo+ IC0JICogZnJhbWVzLCB3ZSdsbCBnbyB3aXRoIDkgZnJhbWVzIGZvciBub3cKPiAtCSAqLwo+ICsJ aWRsZV9mcmFtZXMgPSBtYXgoNiwgZGV2X3ByaXYtPnZidC5wc3IuaWRsZV9mcmFtZXMpOwo+ICAJ aWRsZV9mcmFtZXMgPSBtYXgoaWRsZV9mcmFtZXMsIGRldl9wcml2LT5wc3Iuc2lua19zeW5jX2xh dGVuY3kgKyAxKTsKPiAtCXZhbCB8PSBpZGxlX2ZyYW1lcyA8PCBFRFBfUFNSX0lETEVfRlJBTUVf U0hJRlQ7Cj4gKwo+ICsJV0FSTl9PTihpZGxlX2ZyYW1lcyA+IDB4Zik7Cj4gKwo+ICsJcmV0dXJu IGlkbGVfZnJhbWVzOwp0aGVyZSB3b3VsZCBiZSByZXR1cm4gdHlwZSBtaXNtYXRjaCB3YXJuaW5n Lgo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBoc3dfYWN0aXZhdGVfcHNyMShzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkcF90b19pOTE1KGludGVsX2RwKTsKPiArCXUzMiBtYXhfc2xlZXBfdGltZSA9IDB4MWY7Cj4g Kwl1MzIgdmFsID0gRURQX1BTUl9FTkFCTEU7Cj4gKwo+ICsJdmFsIHw9IHBzcl9jb21wdXRlX2lk bGVfZnJhbWVzKGludGVsX2RwKSA8PCBFRFBfUFNSX0lETEVfRlJBTUVfU0hJRlQ7Cj4gIAo+ICAJ dmFsIHw9IG1heF9zbGVlcF90aW1lIDw8IEVEUF9QU1JfTUFYX1NMRUVQX1RJTUVfU0hJRlQ7Cj4g IAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpCj4gQEAgLTQ5MCwxMyArNDk3LDcgQEAgc3RhdGlj IHZvaWQgaHN3X2FjdGl2YXRlX3BzcjIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOwo+ ICAJdTMyIHZhbDsKPiAgCj4gLQkvKiBMZXQncyB1c2UgNiBhcyB0aGUgbWluaW11bSB0byBjb3Zl ciBhbGwga25vd24gY2FzZXMgaW5jbHVkaW5nIHRoZQo+IC0JICogb2ZmLWJ5LW9uZSBpc3N1ZSB0 aGF0IEhXIGhhcyBpbiBzb21lIGNhc2VzLgo+IC0JICovCj4gLQlpbnQgaWRsZV9mcmFtZXMgPSBt YXgoNiwgZGV2X3ByaXYtPnZidC5wc3IuaWRsZV9mcmFtZXMpOwo+IC0KPiAtCWlkbGVfZnJhbWVz ID0gbWF4KGlkbGVfZnJhbWVzLCBkZXZfcHJpdi0+cHNyLnNpbmtfc3luY19sYXRlbmN5ICsgMSk7 Cj4gLQl2YWwgPSBpZGxlX2ZyYW1lcyA8PCBFRFBfUFNSMl9JRExFX0ZSQU1FX1NISUZUOwo+ICsJ dmFsID0gcHNyX2NvbXB1dGVfaWRsZV9mcmFtZXMoaW50ZWxfZHApIDw8IEVEUF9QU1IyX0lETEVf RlJBTUVfU0hJRlQ7Cj4gIAo+ICAJdmFsIHw9IEVEUF9QU1IyX0VOQUJMRSB8IEVEUF9TVV9UUkFD S19FTkFCTEU7Cj4gIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklM QUtFKGRldl9wcml2KSkKPiBAQCAtNTYzLDE2ICs1NjQsMTAgQEAgc3RhdGljIHZvaWQgdGdsX3Bz cjJfZW5hYmxlX2RjM2NvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4g IHN0YXRpYyB2b2lkIHRnbF9wc3IyX2Rpc2FibGVfZGMzY28oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICB7Cj4gLQlpbnQgaWRsZV9mcmFtZXM7Cj4gKwlzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwID0gZGV2X3ByaXYtPnBzci5kcDsKPiAgCj4gIAlpbnRlbF9kaXNwbGF5X3Bv d2VyX3NldF90YXJnZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERDX1NUQVRFX0VOX1VQVE9fREM2KTsK PiAtCS8qCj4gLQkgKiBSZXN0b3JlIFBTUjIgaWRsZSBmcmFtZSBsZXQncyB1c2UgNiBhcyB0aGUg bWluaW11bSB0byBjb3ZlciBhbGwga25vd24KPiAtCSAqIGNhc2VzIGluY2x1ZGluZyB0aGUgb2Zm LWJ5LW9uZSBpc3N1ZSB0aGF0IEhXIGhhcyBpbiBzb21lIGNhc2VzLgo+IC0JICovCj4gLQlpZGxl X2ZyYW1lcyA9IG1heCg2LCBkZXZfcHJpdi0+dmJ0LnBzci5pZGxlX2ZyYW1lcyk7Cj4gLQlpZGxl X2ZyYW1lcyA9IG1heChpZGxlX2ZyYW1lcywgZGV2X3ByaXYtPnBzci5zaW5rX3N5bmNfbGF0ZW5j eSArIDEpOwo+IC0JcHNyMl9wcm9ncmFtX2lkbGVfZnJhbWVzKGRldl9wcml2LCBpZGxlX2ZyYW1l cyk7Cj4gKwlwc3IyX3Byb2dyYW1faWRsZV9mcmFtZXMoZGV2X3ByaXYsIHBzcl9jb21wdXRlX2lk bGVfZnJhbWVzKGludGVsX2RwKSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIHRnbF9kYzVfaWRs ZV90aHJlYWQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+IC0tIAo+IDIuMjMuMAo+IApfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=