From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 5/5] drm/i915: Add sysfs toggle to enable per-client engine stats Date: Fri, 25 Oct 2019 15:21:31 +0100 Message-ID: <20191025142131.17378-6-tvrtko.ursulin@linux.intel.com> References: <20191025142131.17378-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id B22AB6EA58 for ; Fri, 25 Oct 2019 14:21:40 +0000 (UTC) In-Reply-To: <20191025142131.17378-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkJ5IGRlZmF1 bHQgd2UgYXJlIG5vdCBjb2xsZWN0aW5nIGFueSBwZXItZW5naW5lIGFuZCBwZXItY29udGV4dApz dGF0aXN0Y3MuCgpBZGQgYSBuZXcgc3lzZnMgdG9nZ2xlIHRvIGVuYWJsZSB0aGlzIGZhY2lsaXR5 OgoKJCBlY2hvIDEgPi9zeXMvY2xhc3MvZHJtL2NhcmQwL2NsaWVudHMvZW5hYmxlX3N0YXRzCgp2 MjogUmViYXNlLgp2Mzogc3lzZnNfYXR0cl9pbml0Lgp2NDogU2NoZWR1bGVyIGNhcHMuCgpTaWdu ZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICB8ICA0ICsrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3N5c2ZzLmMgfCA3MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAppbmRleCA0NWYwZTI0NTUzMjIuLjNkMjQ1OWU5ZmZmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCkBAIC0xMzk3LDYgKzEzOTcsMTAgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCXN0 cnVjdCBpOTE1X2RybV9jbGllbnRzIHsKIAkJc3RydWN0IGtvYmplY3QgKnJvb3Q7CiAJCWF0b21p Y190IHNlcmlhbDsKKwkJc3RydWN0IHsKKwkJCWJvb2wgZW5hYmxlZDsKKwkJCXN0cnVjdCBkZXZp Y2VfYXR0cmlidXRlIGF0dHI7CisJCX0gc3RhdHM7CiAJfSBjbGllbnRzOwogCiAJc3RydWN0IGk5 MTVfaGRjcF9jb21wX21hc3RlciAqaGRjcF9tYXN0ZXI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2Zz LmMKaW5kZXggYTlmMjdmNGZjMjQ1Li5iMDYxYmFmNWRhNDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3N5c2ZzLmMKQEAgLTU2OSw5ICs1NjksNjcgQEAgc3RhdGljIHZvaWQgaTkxNV9zZXR1cF9lcnJv cl9jYXB0dXJlKHN0cnVjdCBkZXZpY2UgKmtkZXYpIHt9CiBzdGF0aWMgdm9pZCBpOTE1X3RlYXJk b3duX2Vycm9yX2NhcHR1cmUoc3RydWN0IGRldmljZSAqa2Rldikge30KICNlbmRpZgogCitzdGF0 aWMgc3NpemVfdAorc2hvd19jbGllbnRfc3RhdHMoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0 IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSA9CisJCWNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSwgY2xpZW50cy5zdGF0cy5hdHRyKTsKKworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0Vf U0laRSwgIiV1XG4iLCBpOTE1LT5jbGllbnRzLnN0YXRzLmVuYWJsZWQpOworfQorCitzdGF0aWMg c3NpemVfdAorc3RvcmVfY2xpZW50X3N0YXRzKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBk ZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBjb3Vu dCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9CisJCWNvbnRhaW5lcl9vZihh dHRyLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgY2xpZW50cy5zdGF0cy5hdHRyKTsKKwlib29s IGRpc2FibGUgPSBmYWxzZTsKKwlib29sIGVuYWJsZSA9IGZhbHNlOworCWJvb2wgdmFsID0gZmFs c2U7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOworCWVudW0gaW50ZWxfZW5naW5l X2lkIGlkOworCWludCByZXQ7CisKKwkgLyogVXNlIFJDUyBhcyBwcm94eSBmb3IgYWxsIGVuZ2lu ZXMuICovCisJaWYgKCEoaTkxNS0+Y2Fwcy5zY2hlZHVsZXIgJiBJOTE1X1NDSEVEVUxFUl9DQVBf RU5HSU5FX0JVU1lfU1RBVFMpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldCA9IGtzdHJ0b2Jv b2woYnVmLCAmdmFsKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0ID0gaTkxNV9t dXRleF9sb2NrX2ludGVycnVwdGlibGUoJmk5MTUtPmRybSk7CisJaWYgKHJldCkKKwkJcmV0dXJu IHJldDsKKworCWlmICh2YWwgJiYgIWk5MTUtPmNsaWVudHMuc3RhdHMuZW5hYmxlZCkKKwkJZW5h YmxlID0gdHJ1ZTsKKwllbHNlIGlmICghdmFsICYmIGk5MTUtPmNsaWVudHMuc3RhdHMuZW5hYmxl ZCkKKwkJZGlzYWJsZSA9IHRydWU7CisKKwlpZiAoIWVuYWJsZSAmJiAhZGlzYWJsZSkKKwkJZ290 byBvdXQ7CisKKwlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkgeworCQlpZiAoZW5h YmxlKQorCQkJV0FSTl9PTl9PTkNFKGludGVsX2VuYWJsZV9lbmdpbmVfc3RhdHMoZW5naW5lKSk7 CisJCWVsc2UgaWYgKGRpc2FibGUpCisJCQlpbnRlbF9kaXNhYmxlX2VuZ2luZV9zdGF0cyhlbmdp bmUpOworCX0KKworCWk5MTUtPmNsaWVudHMuc3RhdHMuZW5hYmxlZCA9IHZhbDsKKworb3V0Ogor CW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CisKKwlyZXR1cm4gY291bnQ7 Cit9CisKIHZvaWQgaTkxNV9zZXR1cF9zeXNmcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiB7CiAJc3RydWN0IGRldmljZSAqa2RldiA9IGRldl9wcml2LT5kcm0ucHJpbWFyeS0+ a2RldjsKKwlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0cjsKIAlpbnQgcmV0OwogCiAJZGV2 X3ByaXYtPmNsaWVudHMucm9vdCA9CkBAIC01NzksNiArNjM3LDE4IEBAIHZvaWQgaTkxNV9zZXR1 cF9zeXNmcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWYgKCFkZXZfcHJp di0+Y2xpZW50cy5yb290KQogCQlEUk1fRVJST1IoIlBlci1jbGllbnQgc3lzZnMgc2V0dXAgZmFp bGVkXG4iKTsKIAorCWF0dHIgPSAmZGV2X3ByaXYtPmNsaWVudHMuc3RhdHMuYXR0cjsKKwlzeXNm c19hdHRyX2luaXQoJmF0dHItPmF0dHIpOworCWF0dHItPmF0dHIubmFtZSA9ICJlbmFibGVfc3Rh dHMiOworCWF0dHItPmF0dHIubW9kZSA9IDA2NjQ7CisJYXR0ci0+c2hvdyA9IHNob3dfY2xpZW50 X3N0YXRzOworCWF0dHItPnN0b3JlID0gc3RvcmVfY2xpZW50X3N0YXRzOworCisJcmV0ID0gc3lz ZnNfY3JlYXRlX2ZpbGUoZGV2X3ByaXYtPmNsaWVudHMucm9vdCwKKwkJCQkoc3RydWN0IGF0dHJp YnV0ZSAqKWF0dHIpOworCWlmIChyZXQpCisJCURSTV9FUlJPUigiUGVyLWNsaWVudCBzeXNmcyBz ZXR1cCBmYWlsZWQhICglZClcbiIsIHJldCk7CisKICNpZmRlZiBDT05GSUdfUE0KIAlpZiAoSEFT X1JDNihkZXZfcHJpdikpIHsKIAkJcmV0ID0gc3lzZnNfbWVyZ2VfZ3JvdXAoJmtkZXYtPmtvYmos CkBAIC02NDAsNiArNzEwLDkgQEAgdm9pZCBpOTE1X3RlYXJkb3duX3N5c2ZzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZrZGV2LT5rb2Jq LCAmcmM2cF9hdHRyX2dyb3VwKTsKICNlbmRpZgogCisJc3lzZnNfcmVtb3ZlX2ZpbGUoZGV2X3By aXYtPmNsaWVudHMucm9vdCwKKwkJCSAgKHN0cnVjdCBhdHRyaWJ1dGUgKikmZGV2X3ByaXYtPmNs aWVudHMuc3RhdHMuYXR0cik7CisKIAlpZiAoZGV2X3ByaXYtPmNsaWVudHMucm9vdCkKIAkJa29i amVjdF9wdXQoZGV2X3ByaXYtPmNsaWVudHMucm9vdCk7CiB9Ci0tIAoyLjIwLjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA== 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.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, HK_RANDOM_FROM,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 3A90FCA9EA0 for ; Fri, 25 Oct 2019 14:21:45 +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 1B489205F4 for ; Fri, 25 Oct 2019 14:21:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1B489205F4 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 3B8776EA63; Fri, 25 Oct 2019 14:21:42 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id B22AB6EA58 for ; Fri, 25 Oct 2019 14:21:40 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Oct 2019 07:21:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,228,1569308400"; d="scan'208";a="202618196" Received: from mdlugoke-mobl1.ger.corp.intel.com (HELO localhost.localdomain) ([10.251.81.75]) by orsmga006.jf.intel.com with ESMTP; 25 Oct 2019 07:21:39 -0700 From: Tvrtko Ursulin To: Intel-gfx@lists.freedesktop.org Date: Fri, 25 Oct 2019 15:21:31 +0100 Message-Id: <20191025142131.17378-6-tvrtko.ursulin@linux.intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191025142131.17378-1-tvrtko.ursulin@linux.intel.com> References: <20191025142131.17378-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [RFC 5/5] drm/i915: Add sysfs toggle to enable per-client engine stats 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191025142131.76x0AZArj6y94mzubcbTOlyhRobOz3pw9n0wxD-L8_g@z> RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkJ5IGRlZmF1 bHQgd2UgYXJlIG5vdCBjb2xsZWN0aW5nIGFueSBwZXItZW5naW5lIGFuZCBwZXItY29udGV4dApz dGF0aXN0Y3MuCgpBZGQgYSBuZXcgc3lzZnMgdG9nZ2xlIHRvIGVuYWJsZSB0aGlzIGZhY2lsaXR5 OgoKJCBlY2hvIDEgPi9zeXMvY2xhc3MvZHJtL2NhcmQwL2NsaWVudHMvZW5hYmxlX3N0YXRzCgp2 MjogUmViYXNlLgp2Mzogc3lzZnNfYXR0cl9pbml0Lgp2NDogU2NoZWR1bGVyIGNhcHMuCgpTaWdu ZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICB8ICA0ICsrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3N5c2ZzLmMgfCA3MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAppbmRleCA0NWYwZTI0NTUzMjIuLjNkMjQ1OWU5ZmZmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCkBAIC0xMzk3LDYgKzEzOTcsMTAgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCXN0 cnVjdCBpOTE1X2RybV9jbGllbnRzIHsKIAkJc3RydWN0IGtvYmplY3QgKnJvb3Q7CiAJCWF0b21p Y190IHNlcmlhbDsKKwkJc3RydWN0IHsKKwkJCWJvb2wgZW5hYmxlZDsKKwkJCXN0cnVjdCBkZXZp Y2VfYXR0cmlidXRlIGF0dHI7CisJCX0gc3RhdHM7CiAJfSBjbGllbnRzOwogCiAJc3RydWN0IGk5 MTVfaGRjcF9jb21wX21hc3RlciAqaGRjcF9tYXN0ZXI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2Zz LmMKaW5kZXggYTlmMjdmNGZjMjQ1Li5iMDYxYmFmNWRhNDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3N5c2ZzLmMKQEAgLTU2OSw5ICs1NjksNjcgQEAgc3RhdGljIHZvaWQgaTkxNV9zZXR1cF9lcnJv cl9jYXB0dXJlKHN0cnVjdCBkZXZpY2UgKmtkZXYpIHt9CiBzdGF0aWMgdm9pZCBpOTE1X3RlYXJk b3duX2Vycm9yX2NhcHR1cmUoc3RydWN0IGRldmljZSAqa2Rldikge30KICNlbmRpZgogCitzdGF0 aWMgc3NpemVfdAorc2hvd19jbGllbnRfc3RhdHMoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0 IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSA9CisJCWNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSwgY2xpZW50cy5zdGF0cy5hdHRyKTsKKworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0Vf U0laRSwgIiV1XG4iLCBpOTE1LT5jbGllbnRzLnN0YXRzLmVuYWJsZWQpOworfQorCitzdGF0aWMg c3NpemVfdAorc3RvcmVfY2xpZW50X3N0YXRzKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBk ZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBjb3Vu dCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9CisJCWNvbnRhaW5lcl9vZihh dHRyLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgY2xpZW50cy5zdGF0cy5hdHRyKTsKKwlib29s IGRpc2FibGUgPSBmYWxzZTsKKwlib29sIGVuYWJsZSA9IGZhbHNlOworCWJvb2wgdmFsID0gZmFs c2U7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOworCWVudW0gaW50ZWxfZW5naW5l X2lkIGlkOworCWludCByZXQ7CisKKwkgLyogVXNlIFJDUyBhcyBwcm94eSBmb3IgYWxsIGVuZ2lu ZXMuICovCisJaWYgKCEoaTkxNS0+Y2Fwcy5zY2hlZHVsZXIgJiBJOTE1X1NDSEVEVUxFUl9DQVBf RU5HSU5FX0JVU1lfU1RBVFMpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldCA9IGtzdHJ0b2Jv b2woYnVmLCAmdmFsKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0ID0gaTkxNV9t dXRleF9sb2NrX2ludGVycnVwdGlibGUoJmk5MTUtPmRybSk7CisJaWYgKHJldCkKKwkJcmV0dXJu IHJldDsKKworCWlmICh2YWwgJiYgIWk5MTUtPmNsaWVudHMuc3RhdHMuZW5hYmxlZCkKKwkJZW5h YmxlID0gdHJ1ZTsKKwllbHNlIGlmICghdmFsICYmIGk5MTUtPmNsaWVudHMuc3RhdHMuZW5hYmxl ZCkKKwkJZGlzYWJsZSA9IHRydWU7CisKKwlpZiAoIWVuYWJsZSAmJiAhZGlzYWJsZSkKKwkJZ290 byBvdXQ7CisKKwlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkgeworCQlpZiAoZW5h YmxlKQorCQkJV0FSTl9PTl9PTkNFKGludGVsX2VuYWJsZV9lbmdpbmVfc3RhdHMoZW5naW5lKSk7 CisJCWVsc2UgaWYgKGRpc2FibGUpCisJCQlpbnRlbF9kaXNhYmxlX2VuZ2luZV9zdGF0cyhlbmdp bmUpOworCX0KKworCWk5MTUtPmNsaWVudHMuc3RhdHMuZW5hYmxlZCA9IHZhbDsKKworb3V0Ogor CW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CisKKwlyZXR1cm4gY291bnQ7 Cit9CisKIHZvaWQgaTkxNV9zZXR1cF9zeXNmcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiB7CiAJc3RydWN0IGRldmljZSAqa2RldiA9IGRldl9wcml2LT5kcm0ucHJpbWFyeS0+ a2RldjsKKwlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0cjsKIAlpbnQgcmV0OwogCiAJZGV2 X3ByaXYtPmNsaWVudHMucm9vdCA9CkBAIC01NzksNiArNjM3LDE4IEBAIHZvaWQgaTkxNV9zZXR1 cF9zeXNmcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWYgKCFkZXZfcHJp di0+Y2xpZW50cy5yb290KQogCQlEUk1fRVJST1IoIlBlci1jbGllbnQgc3lzZnMgc2V0dXAgZmFp bGVkXG4iKTsKIAorCWF0dHIgPSAmZGV2X3ByaXYtPmNsaWVudHMuc3RhdHMuYXR0cjsKKwlzeXNm c19hdHRyX2luaXQoJmF0dHItPmF0dHIpOworCWF0dHItPmF0dHIubmFtZSA9ICJlbmFibGVfc3Rh dHMiOworCWF0dHItPmF0dHIubW9kZSA9IDA2NjQ7CisJYXR0ci0+c2hvdyA9IHNob3dfY2xpZW50 X3N0YXRzOworCWF0dHItPnN0b3JlID0gc3RvcmVfY2xpZW50X3N0YXRzOworCisJcmV0ID0gc3lz ZnNfY3JlYXRlX2ZpbGUoZGV2X3ByaXYtPmNsaWVudHMucm9vdCwKKwkJCQkoc3RydWN0IGF0dHJp YnV0ZSAqKWF0dHIpOworCWlmIChyZXQpCisJCURSTV9FUlJPUigiUGVyLWNsaWVudCBzeXNmcyBz ZXR1cCBmYWlsZWQhICglZClcbiIsIHJldCk7CisKICNpZmRlZiBDT05GSUdfUE0KIAlpZiAoSEFT X1JDNihkZXZfcHJpdikpIHsKIAkJcmV0ID0gc3lzZnNfbWVyZ2VfZ3JvdXAoJmtkZXYtPmtvYmos CkBAIC02NDAsNiArNzEwLDkgQEAgdm9pZCBpOTE1X3RlYXJkb3duX3N5c2ZzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZrZGV2LT5rb2Jq LCAmcmM2cF9hdHRyX2dyb3VwKTsKICNlbmRpZgogCisJc3lzZnNfcmVtb3ZlX2ZpbGUoZGV2X3By aXYtPmNsaWVudHMucm9vdCwKKwkJCSAgKHN0cnVjdCBhdHRyaWJ1dGUgKikmZGV2X3ByaXYtPmNs aWVudHMuc3RhdHMuYXR0cik7CisKIAlpZiAoZGV2X3ByaXYtPmNsaWVudHMucm9vdCkKIAkJa29i amVjdF9wdXQoZGV2X3ByaXYtPmNsaWVudHMucm9vdCk7CiB9Ci0tIAoyLjIwLjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==