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=-15.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,HK_RANDOM_FROM,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,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 0FAB5C56201 for ; Wed, 25 Nov 2020 08:56: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 910E7206F7 for ; Wed, 25 Nov 2020 08:56:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 910E7206F7 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 9DEB76E877; Wed, 25 Nov 2020 08:56:47 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id CC6856E877; Wed, 25 Nov 2020 08:56:45 +0000 (UTC) IronPort-SDR: llcmXYZWAms6MGitwyieaO+YDO15TTJo7N18jdaNlj84cs9XjqtMrtdFtrd/6qwYMdHREhjLU2 uADBzMbYDSmw== X-IronPort-AV: E=McAfee;i="6000,8403,9815"; a="159861503" X-IronPort-AV: E=Sophos;i="5.78,368,1599548400"; d="scan'208";a="159861503" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Nov 2020 00:56:45 -0800 IronPort-SDR: 8rtBgTOrx6MAa9eEiZZOt7ViXA3x6kL+wbii4Evt5wj6ZUS6xCyhZ3HiYIqLKzjijtlpPhnx8S aAZmP1tFuhsA== X-IronPort-AV: E=Sophos;i="5.78,368,1599548400"; d="scan'208";a="547189180" Received: from jhaitov-mobl.ger.corp.intel.com (HELO [10.214.246.84]) ([10.214.246.84]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Nov 2020 00:56:43 -0800 To: Chris Wilson , intel-gfx@lists.freedesktop.org References: <20201124232751.445582-1-chris@chris-wilson.co.uk> From: Tvrtko Ursulin Organization: Intel Corporation UK Plc Message-ID: <551052ee-9aec-d930-6b80-f491eb7f4640@linux.intel.com> Date: Wed, 25 Nov 2020 08:56:38 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20201124232751.445582-1-chris@chris-wilson.co.uk> Content-Language: en-US Subject: Re: [Intel-gfx] [igt-dev] [PATCH i-g-t 1/2] tools/intel_gpu_top: Include total package power 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: igt-dev@lists.freedesktop.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Ck9uIDI0LzExLzIwMjAgMjM6MjcsIENocmlzIFdpbHNvbiB3cm90ZToKPiBXaXRoIGludGVncmF0 ZWQgZ3JhcGhpY3MgdGhlIFREUCBpcyBzaGFyZWQgYmV0d2VlbiB0aGUgZ3B1IGFuZCB0aGUgY3B1 LAo+IGtub3dpbmcgdGhlIHRvdGFsIGVuZXJneSBjb25zdW1lZCBieSB0aGUgcGFja2FnZSBpcyBy ZWxldmFudCB0bwo+IHVuZGVyc3RhbmRpbmcgdGhyb3R0bGluZy4KPiAKPiB2MjogVGlkeSBpbnRl Z3JhdGlvbiBieSBlbGltaW5hdGluZyBzdHJ1Y3QgcmFwbCBhbmQgaW1wcm92ZSBvdXRwdXQKPiBm b3JtYXR0aW5nLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMt d2lsc29uLmNvLnVrPgo+IENjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwu Y29tPgo+IC0tLQo+ICAgdG9vbHMvaW50ZWxfZ3B1X3RvcC5jIHwgMjE4ICsrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDEzMCBpbnNl cnRpb25zKCspLCA4OCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvaW50ZWxf Z3B1X3RvcC5jIGIvdG9vbHMvaW50ZWxfZ3B1X3RvcC5jCj4gaW5kZXggODZkZTA5YWE5Li4wYTQ5 Y2ZlY2MgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvaW50ZWxfZ3B1X3RvcC5jCj4gKysrIGIvdG9vbHMv aW50ZWxfZ3B1X3RvcC5jCj4gQEAgLTUwLDEwICs1MCwxMiBAQCBzdHJ1Y3QgcG11X3BhaXIgewo+ ICAgfTsKPiAgIAo+ICAgc3RydWN0IHBtdV9jb3VudGVyIHsKPiAtCWJvb2wgcHJlc2VudDsKPiAr CXVpbnQ2NF90IHR5cGU7Cj4gICAJdWludDY0X3QgY29uZmlnOwo+ICAgCXVuc2lnbmVkIGludCBp ZHg7Cj4gICAJc3RydWN0IHBtdV9wYWlyIHZhbDsKPiArCWRvdWJsZSBzY2FsZTsKPiArCWJvb2wg cHJlc2VudDsKPiAgIH07Cj4gICAKPiAgIHN0cnVjdCBlbmdpbmUgewo+IEBAIC03OSw4ICs4MSw4 IEBAIHN0cnVjdCBlbmdpbmVzIHsKPiAgIAlzdHJ1Y3QgcG11X3BhaXIgdHM7Cj4gICAKPiAgIAlp bnQgcmFwbF9mZDsKPiAtCWRvdWJsZSByYXBsX3NjYWxlOwo+IC0JY29uc3QgY2hhciAqcmFwbF91 bml0Owo+ICsJc3RydWN0IHBtdV9jb3VudGVyIHJfZ3B1LCByX3BrZzsKPiArCXVuc2lnbmVkIGlu dCBudW1fcmFwbDsKPiAgIAo+ICAgCWludCBpbWNfZmQ7Cj4gICAJZG91YmxlIGltY19yZWFkc19z Y2FsZTsKPiBAQCAtOTIsNyArOTQsNiBAQCBzdHJ1Y3QgZW5naW5lcyB7Cj4gICAJc3RydWN0IHBt dV9jb3VudGVyIGZyZXFfYWN0Owo+ICAgCXN0cnVjdCBwbXVfY291bnRlciBpcnE7Cj4gICAJc3Ry dWN0IHBtdV9jb3VudGVyIHJjNjsKPiAtCXN0cnVjdCBwbXVfY291bnRlciByYXBsOwo+ICAgCXN0 cnVjdCBwbXVfY291bnRlciBpbWNfcmVhZHM7Cj4gICAJc3RydWN0IHBtdV9jb3VudGVyIGltY193 cml0ZXM7Cj4gICAKPiBAQCAtMTA4LDYgKzEwOSwxMDkgQEAgc3RydWN0IGVuZ2luZXMgewo+ICAg Cj4gICB9Owo+ICAgCj4gK19fYXR0cmlidXRlX18oKGZvcm1hdChzY2FuZiwzLDQpKSkKPiArc3Rh dGljIGludCBpZ3Rfc3lzZnNfc2NhbmYoaW50IGRpciwgY29uc3QgY2hhciAqYXR0ciwgY29uc3Qg Y2hhciAqZm10LCAuLi4pCj4gK3sKPiArCUZJTEUgKmZpbGU7Cj4gKwlpbnQgZmQ7Cj4gKwlpbnQg cmV0ID0gLTE7Cj4gKwo+ICsJZmQgPSBvcGVuYXQoZGlyLCBhdHRyLCBPX1JET05MWSk7Cj4gKwlp ZiAoZmQgPCAwKQo+ICsJCXJldHVybiAtMTsKPiArCj4gKwlmaWxlID0gZmRvcGVuKGZkLCAiciIp Owo+ICsJaWYgKGZpbGUpIHsKPiArCQl2YV9saXN0IGFwOwo+ICsKPiArCQl2YV9zdGFydChhcCwg Zm10KTsKPiArCQlyZXQgPSB2ZnNjYW5mKGZpbGUsIGZtdCwgYXApOwo+ICsJCXZhX2VuZChhcCk7 Cj4gKwo+ICsJCWZjbG9zZShmaWxlKTsKPiArCX0gZWxzZSB7Cj4gKwkJY2xvc2UoZmQpOwo+ICsJ fQo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgcmFwbF9wYXJzZShz dHJ1Y3QgcG11X2NvdW50ZXIgKnBtdSwgY29uc3QgY2hhciAqc3RyKQo+ICt7Cj4gKwlsb2NhbGVf dCBsb2NhbGUsIG9sZGxvY2FsZTsKPiArCWJvb2wgcmVzdWx0ID0gdHJ1ZTsKPiArCWNoYXIgYnVm WzEyOF0gPSB7fTsKPiArCWludCBkaXI7Cj4gKwo+ICsJZGlyID0gb3BlbigiL3N5cy9kZXZpY2Vz L3Bvd2VyIiwgT19SRE9OTFkpOwo+ICsJaWYgKGRpciA8IDApCj4gKwkJcmV0dXJuIC1lcnJubzsK PiArCj4gKwkvKiBSZXBsYWNlIHVzZXIgZW52aXJvbm1lbnQgd2l0aCBwbGFpbiBDIHRvIG1hdGNo IGtlcm5lbCBmb3JtYXQgKi8KPiArCWxvY2FsZSA9IG5ld2xvY2FsZShMQ19BTEwsICJDIiwgMCk7 Cj4gKwlvbGRsb2NhbGUgPSB1c2Vsb2NhbGUobG9jYWxlKTsKPiArCj4gKwlyZXN1bHQgJj0gaWd0 X3N5c2ZzX3NjYW5mKGRpciwgInR5cGUiLCAiJSJQUkl1NjQsICZwbXUtPnR5cGUpID09IDE7Cj4g Kwo+ICsJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSAtIDEsICJldmVudHMvZW5lcmd5LSVzIiwg c3RyKTsKPiArCXJlc3VsdCAmPSBpZ3Rfc3lzZnNfc2NhbmYoZGlyLCBidWYsICJldmVudD0lIlBS SXg2NCwgJnBtdS0+Y29uZmlnKSA9PSAxOwo+ICsKPiArCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1 ZikgLSAxLCAiZXZlbnRzL2VuZXJneS0lcy5zY2FsZSIsIHN0cik7Cj4gKwlyZXN1bHQgJj0gaWd0 X3N5c2ZzX3NjYW5mKGRpciwgYnVmLCAiJWxmIiwgJnBtdS0+c2NhbGUpID09IDE7Cj4gKwo+ICsJ c25wcmludGYoYnVmLCBzaXplb2YoYnVmKSAtIDEsICJldmVudHMvZW5lcmd5LSVzLnVuaXQiLCBz dHIpOwo+ICsJaWYgKGlndF9zeXNmc19zY2FuZihkaXIsIGJ1ZiwgIiUxMjdzIiwgYnVmKSA9PSAx ICYmCj4gKwkgICAgc3RyY21wKGJ1ZiwgIkpvdWxlcyIpKQo+ICsJCWZwcmludGYoc3RkZXJyLCAi VW5leHBlY3RlZCB1bml0cyBmb3IgUkFQTCAlczogZm91bmQgJXNcbiIsCj4gKwkJCXN0ciwgYnVm KTsKPiArCj4gKwl1c2Vsb2NhbGUob2xkbG9jYWxlKTsKPiArCWZyZWVsb2NhbGUobG9jYWxlKTsK PiArCj4gKwljbG9zZShkaXIpOwo+ICsKPiArCWlmICghcmVzdWx0KQo+ICsJCXJldHVybiAtRUlO VkFMOwo+ICsKPiArCWlmIChpc25hbihwbXUtPnNjYWxlKSB8fCAhcG11LT5zY2FsZSkKPiArCQly ZXR1cm4gLUVSQU5HRTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQK PiArcmFwbF9vcGVuKHN0cnVjdCBwbXVfY291bnRlciAqcG11LAo+ICsJICBjb25zdCBjaGFyICpk b21haW4sCj4gKwkgIHN0cnVjdCBlbmdpbmVzICplbmdpbmVzKQo+ICt7Cj4gKwlpbnQgZmQ7Cj4g Kwo+ICsJaWYgKHJhcGxfcGFyc2UocG11LCBkb21haW4pIDwgMCkKPiArCQlyZXR1cm47Cj4gKwo+ ICsJZmQgPSBpZ3RfcGVyZl9vcGVuX2dyb3VwKHBtdS0+dHlwZSwgcG11LT5jb25maWcsIGVuZ2lu ZXMtPnJhcGxfZmQpOwo+ICsJaWYgKGZkIDwgMCkKPiArCQlyZXR1cm47Cj4gKwo+ICsJaWYgKGVu Z2luZXMtPnJhcGxfZmQgPT0gLTEpCj4gKwkJZW5naW5lcy0+cmFwbF9mZCA9IGZkOwo+ICsKPiAr CXBtdS0+aWR4ID0gZW5naW5lcy0+bnVtX3JhcGwrKzsKPiArCXBtdS0+cHJlc2VudCA9IHRydWU7 Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGdwdV9wb3dlcl9vcGVuKHN0cnVjdCBwbXVfY291bnRl ciAqcG11LAo+ICsJCQkgICBzdHJ1Y3QgZW5naW5lcyAqZW5naW5lcykKPiArewo+ICsJcmFwbF9v cGVuKHBtdSwgImdwdSIsIGVuZ2luZXMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBwa2dfcG93 ZXJfb3BlbihzdHJ1Y3QgcG11X2NvdW50ZXIgKnBtdSwKPiArCQkJICAgc3RydWN0IGVuZ2luZXMg KmVuZ2luZXMpCj4gK3sKPiArCXJhcGxfb3BlbihwbXUsICJwa2ciLCBlbmdpbmVzKTsKPiArfQo+ ICsKPiAgIHN0YXRpYyB1aW50NjRfdAo+ICAgZ2V0X3BtdV9jb25maWcoaW50IGRpcmZkLCBjb25z dCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpjb3VudGVyKQo+ICAgewo+IEBAIC0zNTcsMzggKzQ2 MSw2IEBAIHN0YXRpYyBkb3VibGUgZmlsZW5hbWVfdG9fZG91YmxlKGNvbnN0IGNoYXIgKmZpbGVu YW1lKQo+ICAgCXJldHVybiB2Owo+ICAgfQo+ICAgCj4gLSNkZWZpbmUgUkFQTF9ST09UICIvc3lz L2RldmljZXMvcG93ZXIvIgo+IC0jZGVmaW5lIFJBUExfRVZFTlQgIi9zeXMvZGV2aWNlcy9wb3dl ci9ldmVudHMvIgo+IC0KPiAtc3RhdGljIHVpbnQ2NF90IHJhcGxfdHlwZV9pZCh2b2lkKQo+IC17 Cj4gLQlyZXR1cm4gZmlsZW5hbWVfdG9fdTY0KFJBUExfUk9PVCAidHlwZSIsIDEwKTsKPiAtfQo+ IC0KPiAtc3RhdGljIHVpbnQ2NF90IHJhcGxfZ3B1X3Bvd2VyKHZvaWQpCj4gLXsKPiAtCXJldHVy biBmaWxlbmFtZV90b191NjQoUkFQTF9FVkVOVCAiZW5lcmd5LWdwdSIsIDApOwo+IC19Cj4gLQo+ IC1zdGF0aWMgZG91YmxlIHJhcGxfZ3B1X3Bvd2VyX3NjYWxlKHZvaWQpCj4gLXsKPiAtCXJldHVy biBmaWxlbmFtZV90b19kb3VibGUoUkFQTF9FVkVOVCAiZW5lcmd5LWdwdS5zY2FsZSIpOwo+IC19 Cj4gLQo+IC1zdGF0aWMgY29uc3QgY2hhciAqcmFwbF9ncHVfcG93ZXJfdW5pdCh2b2lkKQo+IC17 Cj4gLQljaGFyIGJ1ZlszMl07Cj4gLQo+IC0JaWYgKGZpbGVuYW1lX3RvX2J1ZihSQVBMX0VWRU5U ICJlbmVyZ3ktZ3B1LnVuaXQiLAo+IC0JCQkgICAgYnVmLCBzaXplb2YoYnVmKSkgPT0gMCkKPiAt CQlpZiAoIXN0cmNtcChidWYsICJKb3VsZXMiKSkKPiAtCQkJcmV0dXJuIHN0cmR1cCgiV2F0dHMi KTsKPiAtCQllbHNlCj4gLQkJCXJldHVybiBzdHJkdXAoYnVmKTsKPiAtCWVsc2UKPiAtCQlyZXR1 cm4gTlVMTDsKPiAtfQo+IC0KPiAgICNkZWZpbmUgSU1DX1JPT1QgIi9zeXMvZGV2aWNlcy91bmNv cmVfaW1jLyIKPiAgICNkZWZpbmUgSU1DX0VWRU5UICIvc3lzL2RldmljZXMvdW5jb3JlX2ltYy9l dmVudHMvIgo+ICAgCj4gQEAgLTUxNywyMiArNTg5LDkgQEAgc3RhdGljIGludCBwbXVfaW5pdChz dHJ1Y3QgZW5naW5lcyAqZW5naW5lcykKPiAgIAl9Cj4gICAKPiAgIAllbmdpbmVzLT5yYXBsX2Zk ID0gLTE7Cj4gLQlpZiAoIWVuZ2luZXMtPmRpc2NyZXRlICYmIHJhcGxfdHlwZV9pZCgpKSB7Cj4g LQkJZW5naW5lcy0+cmFwbF9zY2FsZSA9IHJhcGxfZ3B1X3Bvd2VyX3NjYWxlKCk7Cj4gLQkJZW5n aW5lcy0+cmFwbF91bml0ID0gcmFwbF9ncHVfcG93ZXJfdW5pdCgpOwo+IC0JCWlmICghZW5naW5l cy0+cmFwbF91bml0KQo+IC0JCQlyZXR1cm4gLTE7Cj4gLQo+IC0JCWVuZ2luZXMtPnJhcGwuY29u ZmlnID0gcmFwbF9ncHVfcG93ZXIoKTsKPiAtCQlpZiAoIWVuZ2luZXMtPnJhcGwuY29uZmlnKQo+ IC0JCQlyZXR1cm4gLTE7Cj4gLQo+IC0JCWVuZ2luZXMtPnJhcGxfZmQgPSBpZ3RfcGVyZl9vcGVu KHJhcGxfdHlwZV9pZCgpLAo+IC0JCQkJCQkgZW5naW5lcy0+cmFwbC5jb25maWcpOwo+IC0JCWlm IChlbmdpbmVzLT5yYXBsX2ZkIDwgMCkKPiAtCQkJcmV0dXJuIC0xOwo+IC0KPiAtCQllbmdpbmVz LT5yYXBsLnByZXNlbnQgPSB0cnVlOwo+ICsJaWYgKCFlbmdpbmVzLT5kaXNjcmV0ZSkgewo+ICsJ CWdwdV9wb3dlcl9vcGVuKCZlbmdpbmVzLT5yX2dwdSwgZW5naW5lcyk7Cj4gKwkJcGtnX3Bvd2Vy X29wZW4oJmVuZ2luZXMtPnJfcGtnLCBlbmdpbmVzKTsKPiAgIAl9Cj4gICAKPiAgIAllbmdpbmVz LT5pbWNfZmQgPSAtMTsKPiBAQCAtNjE0LDI1ICs2NzMsNiBAQCBzdGF0aWMgdm9pZCBmaWxsX3N0 cihjaGFyICpidWYsIHVuc2lnbmVkIGludCBidWZzeiwgY2hhciBjLCB1bnNpZ25lZCBpbnQgbnVt KQo+ICAgCSpidWYgPSAwOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyB1aW50NjRfdCBfX3BtdV9yZWFk X3NpbmdsZShpbnQgZmQsIHVpbnQ2NF90ICp0cykKPiAtewo+IC0JdWludDY0X3QgZGF0YVsyXSA9 IHsgfTsKPiAtCXNzaXplX3QgbGVuOwo+IC0KPiAtCWxlbiA9IHJlYWQoZmQsIGRhdGEsIHNpemVv ZihkYXRhKSk7Cj4gLQlhc3NlcnQobGVuID09IHNpemVvZihkYXRhKSk7Cj4gLQo+IC0JaWYgKHRz KQo+IC0JCSp0cyA9IGRhdGFbMV07Cj4gLQo+IC0JcmV0dXJuIGRhdGFbMF07Cj4gLX0KPiAtCj4g LXN0YXRpYyB1aW50NjRfdCBwbXVfcmVhZF9zaW5nbGUoaW50IGZkKQo+IC17Cj4gLQlyZXR1cm4g X19wbXVfcmVhZF9zaW5nbGUoZmQsIE5VTEwpOwo+IC19Cj4gLQo+ICAgc3RhdGljIHZvaWQgX191 cGRhdGVfc2FtcGxlKHN0cnVjdCBwbXVfY291bnRlciAqY291bnRlciwgdWludDY0X3QgdmFsKQo+ ICAgewo+ICAgCWNvdW50ZXItPnZhbC5wcmV2ID0gY291bnRlci0+dmFsLmN1cjsKPiBAQCAtNjUz LDEwICs2OTMsNiBAQCBzdGF0aWMgdm9pZCBwbXVfc2FtcGxlKHN0cnVjdCBlbmdpbmVzICplbmdp bmVzKQo+ICAgCj4gICAJZW5naW5lcy0+dHMucHJldiA9IGVuZ2luZXMtPnRzLmN1cjsKPiAgIAo+ IC0JaWYgKGVuZ2luZXMtPnJhcGxfZmQgPj0gMCkKPiAtCQlfX3VwZGF0ZV9zYW1wbGUoJmVuZ2lu ZXMtPnJhcGwsCj4gLQkJCQlwbXVfcmVhZF9zaW5nbGUoZW5naW5lcy0+cmFwbF9mZCkpOwo+IC0K PiAgIAlpZiAoZW5naW5lcy0+aW1jX2ZkID49IDApIHsKPiAgIAkJcG11X3JlYWRfbXVsdGkoZW5n aW5lcy0+aW1jX2ZkLCAyLCB2YWwpOwo+ICAgCQl1cGRhdGVfc2FtcGxlKCZlbmdpbmVzLT5pbWNf cmVhZHMsIHZhbCk7Cj4gQEAgLTY3Nyw2ICs3MTMsMTIgQEAgc3RhdGljIHZvaWQgcG11X3NhbXBs ZShzdHJ1Y3QgZW5naW5lcyAqZW5naW5lcykKPiAgIAkJdXBkYXRlX3NhbXBsZSgmZW5naW5lLT5z ZW1hLCB2YWwpOwo+ICAgCQl1cGRhdGVfc2FtcGxlKCZlbmdpbmUtPndhaXQsIHZhbCk7Cj4gICAJ fQo+ICsKPiArCWlmIChlbmdpbmVzLT5udW1fcmFwbCkgewo+ICsJCXBtdV9yZWFkX211bHRpKGVu Z2luZXMtPnJhcGxfZmQsIGVuZ2luZXMtPm51bV9yYXBsLCB2YWwpOwo+ICsJCXVwZGF0ZV9zYW1w bGUoJmVuZ2luZXMtPnJfZ3B1LCB2YWwpOwo+ICsJCXVwZGF0ZV9zYW1wbGUoJmVuZ2luZXMtPnJf cGtnLCB2YWwpOwo+ICsJfQo+ICAgfQo+ICAgCj4gICBzdGF0aWMgY29uc3QgY2hhciAqYmFyc1td ID0geyAiICIsICLilo8iLCAi4paOIiwgIuKWjSIsICLilowiLCAi4paLIiwgIuKWiiIsICLiloki LCAi4paIIiB9Owo+IEBAIC0xMDc2LDE0ICsxMTE4LDE0IEBAIHByaW50X2hlYWRlcihjb25zdCBz dHJ1Y3QgaWd0X2RldmljZV9jYXJkICpjYXJkLAo+ICAgCQkuaXRlbXMgPSByYzZfaXRlbXMsCj4g ICAJfTsKPiAgIAlzdHJ1Y3QgY250X2l0ZW0gcG93ZXJfaXRlbXNbXSA9IHsKPiAtCQl7ICZlbmdp bmVzLT5yYXBsLCA0LCAyLCAxLjAsIHQsIGVuZ2luZXMtPnJhcGxfc2NhbGUsICJ2YWx1ZSIsCj4g LQkJICAiVyIgfSwKPiArCQl7ICZlbmdpbmVzLT5yX2dwdSwgNCwgMiwgMS4wLCB0LCBlbmdpbmVz LT5yX2dwdS5zY2FsZSwgIkdQVSIsICJncHUiIH0sCj4gKwkJeyAmZW5naW5lcy0+cl9wa2csIDQs IDIsIDEuMCwgdCwgZW5naW5lcy0+cl9wa2cuc2NhbGUsICJQYWNrYWdlIiwgInBrZyIgfSwKPiAg IAkJeyBOVUxMLCAwLCAwLCAwLjAsIDAuMCwgMC4wLCAidW5pdCIsICJXIiB9LAo+ICAgCQl7IH0s Cj4gICAJfTsKPiAgIAlzdHJ1Y3QgY250X2dyb3VwIHBvd2VyX2dyb3VwID0gewo+ICAgCQkubmFt ZSA9ICJwb3dlciIsCj4gLQkJLmRpc3BsYXlfbmFtZSA9ICJQb3dlciIsCj4gKwkJLmRpc3BsYXlf bmFtZSA9ICJQb3dlciBXIiwKPiAgIAkJLml0ZW1zID0gcG93ZXJfaXRlbXMsCj4gICAJfTsKPiAg IAlzdHJ1Y3QgY250X2dyb3VwICpncm91cHNbXSA9IHsKPiBAQCAtMTEwOCwxNyArMTE1MCwxNyBA QCBwcmludF9oZWFkZXIoY29uc3Qgc3RydWN0IGlndF9kZXZpY2VfY2FyZCAqY2FyZCwKPiAgIAo+ ICAgCQlpZiAobGluZXMrKyA8IGNvbl9oKSB7Cj4gICAJCQlwcmludGYoImludGVsLWdwdS10b3A6 ICVzIC0gIiwgY2FyZC0+Y2FyZCk7Cj4gLQkJCWlmICghZW5naW5lcy0+ZGlzY3JldGUpCj4gLQkJ CQlwcmludGYoIiVzLyVzIE1IejsgICVzJSUgUkM2OyAlcyAlczsgJXMgaXJxcy9zXG4iLAo+IC0J CQkJCWZyZXFfaXRlbXNbMV0uYnVmLCBmcmVxX2l0ZW1zWzBdLmJ1ZiwKPiAtCQkJCQlyYzZfaXRl bXNbMF0uYnVmLCBwb3dlcl9pdGVtc1swXS5idWYsCj4gLQkJCQkJZW5naW5lcy0+cmFwbF91bml0 LAo+IC0JCQkJCWlycV9pdGVtc1swXS5idWYpOwo+IC0JCQllbHNlCj4gLQkJCQlwcmludGYoIiVz LyVzIE1IejsgICVzJSUgUkM2OyAlcyBpcnFzL3NcbiIsCj4gLQkJCQkJZnJlcV9pdGVtc1sxXS5i dWYsIGZyZXFfaXRlbXNbMF0uYnVmLAo+IC0JCQkJCXJjNl9pdGVtc1swXS5idWYsIGlycV9pdGVt c1swXS5idWYpOwo+ICsJCQlwcmludGYoIiVzLyVzIE1IejsgICVzJSUgUkM2OyAiLAo+ICsJCQkg ICAgICAgZnJlcV9pdGVtc1sxXS5idWYsIGZyZXFfaXRlbXNbMF0uYnVmLAo+ICsJCQkgICAgICAg cmM2X2l0ZW1zWzBdLmJ1Zik7Cj4gKwkJCWlmIChlbmdpbmVzLT5yX2dwdS5wcmVzZW50KSB7Cj4g KwkJCQlwcmludGYoIiVzLyVzIFc7ICIsCj4gKwkJCQkgICAgICAgcG93ZXJfaXRlbXNbMF0uYnVm LAo+ICsJCQkJICAgICAgIHBvd2VyX2l0ZW1zWzFdLmJ1Zik7Cj4gKwkJCX0KPiArCQkJcHJpbnRm KCIlcyBpcnFzL3NcbiIsIGlycV9pdGVtc1swXS5idWYpOwo+ICAgCQl9Cj4gKwo+ICAgCQlpZiAo bGluZXMrKyA8IGNvbl9oKQo+ICAgCQkJcHJpbnRmKCJcbiIpOwo+ICAgCX0KPiAKClJldmlld2Vk LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmVnYXJkcywK ClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK