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=-12.0 required=3.0 tests=BAYES_00, 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 34037C43461 for ; Fri, 4 Sep 2020 12:59:52 +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 05A682073B for ; Fri, 4 Sep 2020 12:59:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 05A682073B 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 89BC76EB9B; Fri, 4 Sep 2020 12:59:51 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id B9FAA6EB95 for ; Fri, 4 Sep 2020 12:59:49 +0000 (UTC) IronPort-SDR: oqEZ3BcMhYI8Nii6iLc0eqennmHJTSeSqo6c6VwzEk4vYtsqIoXBOsi/9+U/GCa9xvsSBA24v3 8AaVEiS5AaiQ== X-IronPort-AV: E=McAfee;i="6000,8403,9733"; a="175788956" X-IronPort-AV: E=Sophos;i="5.76,389,1592895600"; d="scan'208";a="175788956" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Sep 2020 05:59:49 -0700 IronPort-SDR: sQyIYZYF8NsZ0fAVKHBkxfr+K8OGeJC0aH27A+nmSFnAbkysR4alchuup47LJFTlqrrivNa+Hr 9dDGIJxXCQjg== X-IronPort-AV: E=Sophos;i="5.76,389,1592895600"; d="scan'208";a="478478836" Received: from arielsig-mobl1.ger.corp.intel.com (HELO localhost.localdomain) ([10.251.165.178]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Sep 2020 05:59:47 -0700 From: Tvrtko Ursulin To: Intel-gfx@lists.freedesktop.org Date: Fri, 4 Sep 2020 13:59:26 +0100 Message-Id: <20200904125934.133475-2-tvrtko.ursulin@linux.intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200904125934.133475-1-tvrtko.ursulin@linux.intel.com> References: <20200904125934.133475-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 1/9] drm/i915: Expose list of clients in sysfs 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: Chris Wilson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkV4cG9zZSBh IGxpc3Qgb2YgY2xpZW50cyB3aXRoIG9wZW4gZmlsZSBoYW5kbGVzIGluIHN5c2ZzLgoKVGhpcyB3 aWxsIGJlIGEgYmFzaXMgZm9yIGEgdG9wLWxpa2UgdXRpbGl0eSBzaG93aW5nIHBlci1jbGllbnQg YW5kIHBlci0KZW5naW5lIEdQVSBsb2FkLgoKQ3VycmVudGx5IHdlIG9ubHkgZXhwb3NlIGVhY2gg Y2xpZW50J3MgcGlkIGFuZCBuYW1lIHVuZGVyIG9wYXF1ZSBudW1iZXJlZApkaXJlY3RvcmllcyBp biAvc3lzL2NsYXNzL2RybS9jYXJkMC9jbGllbnRzLy4KCkZvciBpbnN0YW5jZToKCi9zeXMvY2xh c3MvZHJtL2NhcmQwL2NsaWVudHMvMy9uYW1lOiBYb3JnCi9zeXMvY2xhc3MvZHJtL2NhcmQwL2Ns aWVudHMvMy9waWQ6IDU2NjQKCnYyOgogQ2hyaXMgV2lsc29uOgogKiBFbmNsb3NlIG5ldyBtZW1i ZXJzIGludG8gZGVkaWNhdGVkIHN0cnVjdHMuCiAqIFByb3RlY3QgYWdhaW5zdCBmYWlsZWQgc3lz ZnMgcmVnaXN0cmF0aW9uLgoKdjM6CiAqIHN5c2ZzX2F0dHJfaW5pdC4KCnY0OgogKiBGaXggZm9y IGludGVybmFsIGNsaWVudHMuCgp2NToKICogVXNlIGN5Y2xpYyBpZGEgZm9yIGNsaWVudCBpZC4g KENocmlzKQogKiBEbyBub3QgbGVhayBwaWQgcmVmZXJlbmNlLiAoQ2hyaXMpCiAqIFRpZHkgY29k ZSB3aXRoIHNvbWUgbG9jYWxzLgoKdjY6CiAqIFVzZSB4YV9hbGxvY19jeWNsaWMgdG8gc2ltcGxp ZnkgbG9ja2luZy4gKENocmlzKQogKiBObyBuZWVkIHRvIHVucmVnaXN0ZXIgaW5kaXZpZGlhbCBz eXNmcyBmaWxlcy4gKENocmlzKQogKiBSZWJhc2Ugb24gdG9wIG9mIGZwcml2IGtyZWYuCiAqIFRy YWNrIGNsaWVudCBjbG9zZWQgc3RhdHVzIGFuZCByZWZsZWN0IGluIHN5c2ZzLgoKdjc6CiAqIE1h a2UgZHJtX2NsaWVudCBtb3JlIHN0YW5kYWxvbmUgY29uY2VwdC4KCnY4OgogKiBTaW1wbGlmeSBz eXNmcyBzaG93LiAoQ2hyaXMpCiAqIEFsd2F5cyB0cmFjayBuYW1lIGFuZCBwaWQuCgp2OToKICog Rml4IGN5Y2xpYyBpZCBhc3NpZ25tZW50LgoKdjEwOgogKiBObyBuZWVkIGZvciBhIG11dGV4IGFy b3VuZCB4YV9hbGxvY19jeWNsaWMuCiAqIFJlZmFjdG9yIHN5c2ZzIGludG8gb3duIGZ1bmN0aW9u LgogKiBVbnJlZ2lzdGVyIHN5c2ZzIGJlZm9yZSBmcmVlaW5nIHBpZCBhbmQgbmFtZS4KICogTW92 ZSBjbGllbnRzIHNldHVwIGludG8gb3duIGZ1bmN0aW9uLgoKdjExOgogKiBDYWxsIGNsaWVudHMg aW5pdCBkaXJlY3RseSBmcm9tIGRyaXZlciBpbml0LiAoQ2hyaXMpCgogdjEyOgogKiBSZWJhc2Vk IGFmdGVyIGk5MTVfZ2VtX3JlbGVhc2UgcmVtb3ZhbC4KICogRG8gbm90IGZhaWwgY2xpZW50IGFk ZCBvbiBpZCB3cmFwLiAoTWFjaWVqKQoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2 cnRrby51cnN1bGluQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNA Y2hyaXMtd2lsc29uLmNvLnVrPiAjIHYxMQotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2Vm aWxlICAgICAgICAgIHwgICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGll bnQuYyB8IDE4MCArKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RybV9jbGllbnQuaCB8ICA2NSArKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmMgICAgICAgIHwgICA0ICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgIHwgICA1ICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAg IHwgIDIzICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYyAgICAgIHwgICA4 ICsrCiA3IGZpbGVzIGNoYW5nZWQsIDI4NSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcm1fY2xpZW50 LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L01ha2VmaWxlCmluZGV4IGU1NTc0ZTUwNmE1Yy4uMjUwZjAwNGQ5MmJiIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAtMzQsOCArMzQsOSBAQCBzdWJkaXItY2NmbGFncy15ICs9 IC1JJChzcmN0cmVlKS8kKHNyYykKICMgUGxlYXNlIGtlZXAgdGhlc2UgYnVpbGQgbGlzdHMgc29y dGVkIQogCiAjIGNvcmUgZHJpdmVyIGNvZGUKLWk5MTUteSArPSBpOTE1X2Rydi5vIFwKLQkgIGk5 MTVfY29uZmlnLm8gXAoraTkxNS15ICs9IGk5MTVfY29uZmlnLm8gXAorCSAgaTkxNV9kcm1fY2xp ZW50Lm8gXAorCSAgaTkxNV9kcnYubyBcCiAJICBpOTE1X2lycS5vIFwKIAkgIGk5MTVfZ2V0cGFy YW0ubyBcCiAJICBpOTE1X3BhcmFtcy5vIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJtX2NsaWVudC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcm1fY2xp ZW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zM2Y2OTVjNDU5 NmMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGll bnQuYwpAQCAtMCwwICsxLDE4MCBAQAorLyoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBN SVQKKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAyMCBJbnRlbCBDb3Jwb3JhdGlvbgorICovCisKKyNp bmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVk ZSA8bGludXgvdHlwZXMuaD4KKworI2luY2x1ZGUgImk5MTVfZHJtX2NsaWVudC5oIgorI2luY2x1 ZGUgImk5MTVfZ2VtLmgiCisjaW5jbHVkZSAiaTkxNV91dGlscy5oIgorCit2b2lkIGk5MTVfZHJt X2NsaWVudHNfaW5pdChzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50cyAqY2xpZW50cykKK3sKKwljbGll bnRzLT5uZXh0X2lkID0gMDsKKwl4YV9pbml0X2ZsYWdzKCZjbGllbnRzLT54YXJyYXksIFhBX0ZM QUdTX0FMTE9DKTsKK30KKworc3RhdGljIHNzaXplX3QKK3Nob3dfY2xpZW50X25hbWUoc3RydWN0 IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikK K3sKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQgPQorCQljb250YWluZXJfb2YoYXR0 ciwgdHlwZW9mKCpjbGllbnQpLCBhdHRyLm5hbWUpOworCisJcmV0dXJuIHNucHJpbnRmKGJ1Ziwg UEFHRV9TSVpFLAorCQkJUkVBRF9PTkNFKGNsaWVudC0+Y2xvc2VkKSA/ICI8JXM+IiA6ICIlcyIs CisJCQljbGllbnQtPm5hbWUpOworfQorCitzdGF0aWMgc3NpemVfdAorc2hvd19jbGllbnRfcGlk KHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFy ICpidWYpCit7CisJc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50ID0KKwkJY29udGFpbmVy X29mKGF0dHIsIHR5cGVvZigqY2xpZW50KSwgYXR0ci5waWQpOworCisJcmV0dXJuIHNucHJpbnRm KGJ1ZiwgUEFHRV9TSVpFLAorCQkJUkVBRF9PTkNFKGNsaWVudC0+Y2xvc2VkKSA/ICI8JXU+IiA6 ICIldSIsCisJCQlwaWRfbnIoY2xpZW50LT5waWQpKTsKK30KKworc3RhdGljIGludAorX19jbGll bnRfcmVnaXN0ZXJfc3lzZnMoc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50KQoreworCWNv bnN0IHN0cnVjdCB7CisJCWNvbnN0IGNoYXIgKm5hbWU7CisJCXN0cnVjdCBkZXZpY2VfYXR0cmli dXRlICphdHRyOworCQlzc2l6ZV90ICgqc2hvdykoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCXN0 cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJCWNoYXIgKmJ1Zik7CisJfSBmaWxlc1td ID0geworCQl7ICJuYW1lIiwgJmNsaWVudC0+YXR0ci5uYW1lLCBzaG93X2NsaWVudF9uYW1lIH0s CisJCXsgInBpZCIsICZjbGllbnQtPmF0dHIucGlkLCBzaG93X2NsaWVudF9waWQgfSwKKwl9Owor CXVuc2lnbmVkIGludCBpOworCWNoYXIgYnVmWzE2XTsKKwlpbnQgcmV0OworCisJcmV0ID0gc2Nu cHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIldSIsIGNsaWVudC0+aWQpOworCWlmIChyZXQgPT0g c2l6ZW9mKGJ1ZikpCisJCXJldHVybiAtRUlOVkFMOworCisJY2xpZW50LT5yb290ID0ga29iamVj dF9jcmVhdGVfYW5kX2FkZChidWYsIGNsaWVudC0+Y2xpZW50cy0+cm9vdCk7CisJaWYgKCFjbGll bnQtPnJvb3QpCisJCXJldHVybiAtRU5PTUVNOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJ WkUoZmlsZXMpOyBpKyspIHsKKwkJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIgPSBmaWxl c1tpXS5hdHRyOworCisJCXN5c2ZzX2F0dHJfaW5pdCgmYXR0ci0+YXR0cik7CisKKwkJYXR0ci0+ YXR0ci5uYW1lID0gZmlsZXNbaV0ubmFtZTsKKwkJYXR0ci0+YXR0ci5tb2RlID0gMDQ0NDsKKwkJ YXR0ci0+c2hvdyA9IGZpbGVzW2ldLnNob3c7CisKKwkJcmV0ID0gc3lzZnNfY3JlYXRlX2ZpbGUo Y2xpZW50LT5yb290LCAoc3RydWN0IGF0dHJpYnV0ZSAqKWF0dHIpOworCQlpZiAocmV0KQorCQkJ YnJlYWs7CisJfQorCisJaWYgKHJldCkKKwkJa29iamVjdF9wdXQoY2xpZW50LT5yb290KTsKKwor CXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIF9fY2xpZW50X3VucmVnaXN0ZXJfc3lzZnMo c3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50KQoreworCWtvYmplY3RfcHV0KGZldGNoX2Fu ZF96ZXJvKCZjbGllbnQtPnJvb3QpKTsKK30KKworc3RhdGljIGludAorX19pOTE1X2RybV9jbGll bnRfcmVnaXN0ZXIoc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50LAorCQkJICAgc3RydWN0 IHRhc2tfc3RydWN0ICp0YXNrKQoreworCXN0cnVjdCBpOTE1X2RybV9jbGllbnRzICpjbGllbnRz ID0gY2xpZW50LT5jbGllbnRzOworCWNoYXIgKm5hbWU7CisJaW50IHJldDsKKworCW5hbWUgPSBr c3RyZHVwKHRhc2stPmNvbW0sIEdGUF9LRVJORUwpOworCWlmICghbmFtZSkKKwkJcmV0dXJuIC1F Tk9NRU07CisKKwljbGllbnQtPnBpZCA9IGdldF90YXNrX3BpZCh0YXNrLCBQSURUWVBFX1BJRCk7 CisJY2xpZW50LT5uYW1lID0gbmFtZTsKKworCWlmICghY2xpZW50cy0+cm9vdCkKKwkJcmV0dXJu IDA7IC8qIGludGVsX2ZiZGV2X2luaXQgcmVnaXN0ZXJzIGEgY2xpZW50IGJlZm9yZSBzeXNmcyAq LworCisJcmV0ID0gX19jbGllbnRfcmVnaXN0ZXJfc3lzZnMoY2xpZW50KTsKKwlpZiAocmV0KQor CQlnb3RvIGVycl9zeXNmczsKKworCXJldHVybiAwOworCitlcnJfc3lzZnM6CisJcHV0X3BpZChj bGllbnQtPnBpZCk7CisJa2ZyZWUoY2xpZW50LT5uYW1lKTsKKworCXJldHVybiByZXQ7Cit9CisK K3N0YXRpYyB2b2lkCitfX2k5MTVfZHJtX2NsaWVudF91bnJlZ2lzdGVyKHN0cnVjdCBpOTE1X2Ry bV9jbGllbnQgKmNsaWVudCkKK3sKKwlfX2NsaWVudF91bnJlZ2lzdGVyX3N5c2ZzKGNsaWVudCk7 CisKKwlwdXRfcGlkKGZldGNoX2FuZF96ZXJvKCZjbGllbnQtPnBpZCkpOworCWtmcmVlKGZldGNo X2FuZF96ZXJvKCZjbGllbnQtPm5hbWUpKTsKK30KKworc3RydWN0IGk5MTVfZHJtX2NsaWVudCAq CitpOTE1X2RybV9jbGllbnRfYWRkKHN0cnVjdCBpOTE1X2RybV9jbGllbnRzICpjbGllbnRzLCBz dHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCit7CisJc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xp ZW50OworCWludCByZXQ7CisKKwljbGllbnQgPSBremFsbG9jKHNpemVvZigqY2xpZW50KSwgR0ZQ X0tFUk5FTCk7CisJaWYgKCFjbGllbnQpCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJ a3JlZl9pbml0KCZjbGllbnQtPmtyZWYpOworCWNsaWVudC0+Y2xpZW50cyA9IGNsaWVudHM7CisK KwlyZXQgPSB4YV9hbGxvY19jeWNsaWMoJmNsaWVudHMtPnhhcnJheSwgJmNsaWVudC0+aWQsIGNs aWVudCwKKwkJCSAgICAgIHhhX2xpbWl0XzMyYiwgJmNsaWVudHMtPm5leHRfaWQsIEdGUF9LRVJO RUwpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIGVycl9pZDsKKworCXJldCA9IF9faTkxNV9kcm1f Y2xpZW50X3JlZ2lzdGVyKGNsaWVudCwgdGFzayk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfcmVn aXN0ZXI7CisKKwlyZXR1cm4gY2xpZW50OworCitlcnJfcmVnaXN0ZXI6CisJeGFfZXJhc2UoJmNs aWVudHMtPnhhcnJheSwgY2xpZW50LT5pZCk7CitlcnJfaWQ6CisJa2ZyZWUoY2xpZW50KTsKKwor CXJldHVybiBFUlJfUFRSKHJldCk7Cit9CisKK3ZvaWQgX19pOTE1X2RybV9jbGllbnRfZnJlZShz dHJ1Y3Qga3JlZiAqa3JlZikKK3sKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQgPQor CQljb250YWluZXJfb2Yoa3JlZiwgdHlwZW9mKCpjbGllbnQpLCBrcmVmKTsKKworCV9faTkxNV9k cm1fY2xpZW50X3VucmVnaXN0ZXIoY2xpZW50KTsKKwl4YV9lcmFzZSgmY2xpZW50LT5jbGllbnRz LT54YXJyYXksIGNsaWVudC0+aWQpOworCWtmcmVlX3JjdShjbGllbnQsIHJjdSk7Cit9CisKK3Zv aWQgaTkxNV9kcm1fY2xpZW50X2Nsb3NlKHN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCkK K3sKKwlHRU1fQlVHX09OKFJFQURfT05DRShjbGllbnQtPmNsb3NlZCkpOworCVdSSVRFX09OQ0Uo Y2xpZW50LT5jbG9zZWQsIHRydWUpOworCWk5MTVfZHJtX2NsaWVudF9wdXQoY2xpZW50KTsKK30K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcm1fY2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi41MDA5YTJhZTRiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuaApAQCAtMCwwICsxLDY1IEBACisvKgor ICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAorICoKKyAqIENvcHlyaWdodCDCqSAyMDIw IEludGVsIENvcnBvcmF0aW9uCisgKi8KKworI2lmbmRlZiBfX0k5MTVfRFJNX0NMSUVOVF9IX18K KyNkZWZpbmUgX19JOTE1X0RSTV9DTElFTlRfSF9fCisKKyNpbmNsdWRlIDxsaW51eC9kZXZpY2Uu aD4KKyNpbmNsdWRlIDxsaW51eC9rb2JqZWN0Lmg+CisjaW5jbHVkZSA8bGludXgva3JlZi5oPgor I2luY2x1ZGUgPGxpbnV4L3BpZC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CisjaW5j bHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC94YXJyYXkuaD4KKworc3RydWN0 IGk5MTVfZHJtX2NsaWVudHMgeworCXN0cnVjdCB4YXJyYXkgeGFycmF5OworCXUzMiBuZXh0X2lk OworCisJc3RydWN0IGtvYmplY3QgKnJvb3Q7Cit9OworCitzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50 IHsKKwlzdHJ1Y3Qga3JlZiBrcmVmOworCisJc3RydWN0IHJjdV9oZWFkIHJjdTsKKworCXVuc2ln bmVkIGludCBpZDsKKwlzdHJ1Y3QgcGlkICpwaWQ7CisJY2hhciAqbmFtZTsKKwlib29sIGNsb3Nl ZDsKKworCXN0cnVjdCBpOTE1X2RybV9jbGllbnRzICpjbGllbnRzOworCisJc3RydWN0IGtvYmpl Y3QgKnJvb3Q7CisJc3RydWN0IHsKKwkJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgcGlkOworCQlz dHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBuYW1lOworCX0gYXR0cjsKK307CisKK3ZvaWQgaTkxNV9k cm1fY2xpZW50c19pbml0KHN0cnVjdCBpOTE1X2RybV9jbGllbnRzICpjbGllbnRzKTsKKworc3Rh dGljIGlubGluZSBzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICoKK2k5MTVfZHJtX2NsaWVudF9nZXQo c3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50KQoreworCWtyZWZfZ2V0KCZjbGllbnQtPmty ZWYpOworCXJldHVybiBjbGllbnQ7Cit9CisKK3ZvaWQgX19pOTE1X2RybV9jbGllbnRfZnJlZShz dHJ1Y3Qga3JlZiAqa3JlZik7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2RybV9jbGllbnRf cHV0KHN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCkKK3sKKwlrcmVmX3B1dCgmY2xpZW50 LT5rcmVmLCBfX2k5MTVfZHJtX2NsaWVudF9mcmVlKTsKK30KKwordm9pZCBpOTE1X2RybV9jbGll bnRfY2xvc2Uoc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50KTsKKworc3RydWN0IGk5MTVf ZHJtX2NsaWVudCAqaTkxNV9kcm1fY2xpZW50X2FkZChzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50cyAq Y2xpZW50cywKKwkJCQkJICAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayk7CisKKyNlbmRpZiAv KiAhX19JOTE1X0RSTV9DTElFTlRfSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCAw MDI5MmE4NDljMzQuLjI4ZmNkM2FiNjU0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC03 MCw2ICs3MCw3IEBACiAjaW5jbHVkZSAiZ3QvaW50ZWxfcmM2LmgiCiAKICNpbmNsdWRlICJpOTE1 X2RlYnVnZnMuaCIKKyNpbmNsdWRlICJpOTE1X2RybV9jbGllbnQuaCIKICNpbmNsdWRlICJpOTE1 X2Rydi5oIgogI2luY2x1ZGUgImk5MTVfaW9jMzIuaCIKICNpbmNsdWRlICJpOTE1X2lycS5oIgpA QCAtNDU5LDYgKzQ2MCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJfZWFybHlfcHJvYmUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJaTkxNV9nZW1faW5pdF9lYXJseShk ZXZfcHJpdik7CiAKKwlpOTE1X2RybV9jbGllbnRzX2luaXQoJmRldl9wcml2LT5jbGllbnRzKTsK KwogCS8qIFRoaXMgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGFueSBjYWxscyB0byBIQVNfUENIXyog Ki8KIAlpbnRlbF9kZXRlY3RfcGNoKGRldl9wcml2KTsKIApAQCAtMTEyMCw2ICsxMTIzLDcgQEAg c3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfcG9zdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpm aWxlX3ByaXYgPSBmaWxlLT5kcml2ZXJfcHJpdjsKIAogCWk5MTVfZ2VtX2NvbnRleHRfY2xvc2Uo ZmlsZSk7CisJaTkxNV9kcm1fY2xpZW50X2Nsb3NlKGZpbGVfcHJpdi0+Y2xpZW50KTsKIAogCWtm cmVlX3JjdShmaWxlX3ByaXYsIHJjdSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGE0 NTU3NTIyMjFjYy4uNTRmYWM4Y2FiNTIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTkx LDYgKzkxLDcgQEAKICNpbmNsdWRlICJpbnRlbF93YWtlcmVmLmgiCiAjaW5jbHVkZSAiaW50ZWxf d29wY20uaCIKIAorI2luY2x1ZGUgImk5MTVfZHJtX2NsaWVudC5oIgogI2luY2x1ZGUgImk5MTVf Z2VtLmgiCiAjaW5jbHVkZSAiaTkxNV9nZW1fZ3R0LmgiCiAjaW5jbHVkZSAiaTkxNV9ncHVfZXJy b3IuaCIKQEAgLTIyMyw2ICsyMjQsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlIHsK IAkvKiogYmFuX3Njb3JlOiBBY2N1bXVsYXRlZCBzY29yZSBvZiBhbGwgY3R4IGJhbnMgYW5kIGZh c3QgaGFuZ3MuICovCiAJYXRvbWljX3QgYmFuX3Njb3JlOwogCXVuc2lnbmVkIGxvbmcgaGFuZ190 aW1lc3RhbXA7CisKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQ7CiB9OwogCiAvKiBJ bnRlcmZhY2UgaGlzdG9yeToKQEAgLTEyMTksNiArMTIyMiw4IEBAIHN0cnVjdCBkcm1faTkxNV9w cml2YXRlIHsKIAogCXN0cnVjdCBpOTE1X3BtdSBwbXU7CiAKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xp ZW50cyBjbGllbnRzOworCiAJc3RydWN0IGk5MTVfaGRjcF9jb21wX21hc3RlciAqaGRjcF9tYXN0 ZXI7CiAJYm9vbCBoZGNwX2NvbXBfYWRkZWQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4 IGJiMGMxMjk3NWYzOC4uMzkxODJjODVjNWI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAg LTEyNjcsNiArMTI2Nyw4IEBAIHZvaWQgaTkxNV9nZW1fY2xlYW51cF9lYXJseShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJR0VNX0JVR19PTighbGxpc3RfZW1wdHkoJmRldl9w cml2LT5tbS5mcmVlX2xpc3QpKTsKIAlHRU1fQlVHX09OKGF0b21pY19yZWFkKCZkZXZfcHJpdi0+ bW0uZnJlZV9jb3VudCkpOwogCWRybV9XQVJOX09OKCZkZXZfcHJpdi0+ZHJtLCBkZXZfcHJpdi0+ bW0uc2hyaW5rX2NvdW50KTsKKwlkcm1fV0FSTl9PTigmZGV2X3ByaXYtPmRybSwgIXhhX2VtcHR5 KCZkZXZfcHJpdi0+Y2xpZW50cy54YXJyYXkpKTsKKwl4YV9kZXN0cm95KCZkZXZfcHJpdi0+Y2xp ZW50cy54YXJyYXkpOwogfQogCiBpbnQgaTkxNV9nZW1fZnJlZXplKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKQEAgLTEzMTksMjUgKzEzMjEsNDAgQEAgaW50IGk5MTVfZ2VtX2Zy ZWV6ZV9sYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogaW50IGk5MTVfZ2VtX29w ZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkK IHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXY7Ci0JaW50IHJldDsK KwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQ7CisJaW50IHJldCA9IC1FTk9NRU07CiAK IAlEUk1fREVCVUcoIlxuIik7CiAKIAlmaWxlX3ByaXYgPSBremFsbG9jKHNpemVvZigqZmlsZV9w cml2KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFmaWxlX3ByaXYpCi0JCXJldHVybiAtRU5PTUVNOwor CQlnb3RvIGVycl9hbGxvYzsKKworCWNsaWVudCA9IGk5MTVfZHJtX2NsaWVudF9hZGQoJmk5MTUt PmNsaWVudHMsIGN1cnJlbnQpOworCWlmIChJU19FUlIoY2xpZW50KSkgeworCQlyZXQgPSBQVFJf RVJSKGNsaWVudCk7CisJCWdvdG8gZXJyX2NsaWVudDsKKwl9CiAKIAlmaWxlLT5kcml2ZXJfcHJp diA9IGZpbGVfcHJpdjsKIAlmaWxlX3ByaXYtPmRldl9wcml2ID0gaTkxNTsKIAlmaWxlX3ByaXYt PmZpbGUgPSBmaWxlOworCWZpbGVfcHJpdi0+Y2xpZW50ID0gY2xpZW50OwogCiAJZmlsZV9wcml2 LT5ic2RfZW5naW5lID0gLTE7CiAJZmlsZV9wcml2LT5oYW5nX3RpbWVzdGFtcCA9IGppZmZpZXM7 CiAKIAlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X29wZW4oaTkxNSwgZmlsZSk7CiAJaWYgKHJldCkK LQkJa2ZyZWUoZmlsZV9wcml2KTsKKwkJZ290byBlcnJfY29udGV4dDsKKworCXJldHVybiAwOwog CitlcnJfY29udGV4dDoKKwlpOTE1X2RybV9jbGllbnRfY2xvc2UoY2xpZW50KTsKK2Vycl9jbGll bnQ6CisJa2ZyZWUoZmlsZV9wcml2KTsKK2Vycl9hbGxvYzoKIAlyZXR1cm4gcmV0OwogfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKaW5kZXggNDVkMzJlZjQyNzg3Li5iN2Q0YTZkMmRkNWMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKQEAgLTU2MCw2ICs1NjAsMTEgQEAgdm9pZCBp OTE1X3NldHVwX3N5c2ZzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzdHJ1 Y3QgZGV2aWNlICprZGV2ID0gZGV2X3ByaXYtPmRybS5wcmltYXJ5LT5rZGV2OwogCWludCByZXQ7 CiAKKwlkZXZfcHJpdi0+Y2xpZW50cy5yb290ID0KKwkJa29iamVjdF9jcmVhdGVfYW5kX2FkZCgi Y2xpZW50cyIsICZrZGV2LT5rb2JqKTsKKwlpZiAoIWRldl9wcml2LT5jbGllbnRzLnJvb3QpCisJ CURSTV9FUlJPUigiUGVyLWNsaWVudCBzeXNmcyBzZXR1cCBmYWlsZWRcbiIpOworCiAjaWZkZWYg Q09ORklHX1BNCiAJaWYgKEhBU19SQzYoZGV2X3ByaXYpKSB7CiAJCXJldCA9IHN5c2ZzX21lcmdl X2dyb3VwKCZrZGV2LT5rb2JqLApAQCAtNjI3LDQgKzYzMiw3IEBAIHZvaWQgaTkxNV90ZWFyZG93 bl9zeXNmcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3lzZnNfdW5tZXJn ZV9ncm91cCgma2Rldi0+a29iaiwgJnJjNl9hdHRyX2dyb3VwKTsKIAlzeXNmc191bm1lcmdlX2dy b3VwKCZrZGV2LT5rb2JqLCAmcmM2cF9hdHRyX2dyb3VwKTsKICNlbmRpZgorCisJaWYgKGRldl9w cml2LT5jbGllbnRzLnJvb3QpCisJCWtvYmplY3RfcHV0KGRldl9wcml2LT5jbGllbnRzLnJvb3Qp OwogfQotLSAKMi4yNS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK