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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 4E3FEC433E6 for ; Sat, 23 Jan 2021 15:37:41 +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 A99942313E for ; Sat, 23 Jan 2021 15:37:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A99942313E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=chris-wilson.co.uk 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 638656E1F1; Sat, 23 Jan 2021 15:37:38 +0000 (UTC) Received: from fireflyinternet.com (unknown [77.68.26.236]) by gabe.freedesktop.org (Postfix) with ESMTPS id 79C6F6E1E8 for ; Sat, 23 Jan 2021 15:37:37 +0000 (UTC) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from build.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 23681317-1500050 for ; Sat, 23 Jan 2021 15:37:32 +0000 From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Sat, 23 Jan 2021 15:37:27 +0000 Message-Id: <20210123153733.18139-2-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210123153733.18139-1-chris@chris-wilson.co.uk> References: <20210123153733.18139-1-chris@chris-wilson.co.uk> MIME-Version: 1.0 Subject: [Intel-gfx] [CI 2/8] 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: , 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 aW5pdCBkaXJlY3RseSBmcm9tIGRyaXZlciBpbml0LiAoQ2hyaXMpCgp2MTI6CiAqIERvIG5vdCBm YWlsIGNsaWVudCBhZGQgb24gaWQgd3JhcC4gKE1hY2llaikKCnYxMyAoTHVjYXMpOiBSZWJhc2Ug b24gdXBzdHJlYW0KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxp bkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KUmV2aWV3ZWQtYnk6IEFyYXZpbmQgSWRkYW1zZXR0eSA8YXJhdmluZC5pZGRhbXNl dHR5QGludGVsLmNvbT4gIyB2MTEKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAg ICAgICAgfCAgIDUgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5jIHwg MjAwICsrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJtX2NsaWVudC5oIHwgIDcxICsrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYyAgICAgICAgfCAgIDYgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAg ICAgfCAgIDUgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgfCAgMjEg KystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMgICAgICB8ICAgOCArCiA3IGZp bGVzIGNoYW5nZWQsIDMxMSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5jCiBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcm1fY2xpZW50LmgKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L01ha2VmaWxlCmluZGV4IGVhMWNjNTczNjA0OS4uMDI2ZDUwMDQ0M2Q3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9NYWtlZmlsZQpAQCAtMzQsOCArMzQsOSBAQCBzdWJkaXItY2NmbGFncy15ICs9IC1JJChzcmN0 cmVlKS8kKHNyYykKICMgUGxlYXNlIGtlZXAgdGhlc2UgYnVpbGQgbGlzdHMgc29ydGVkIQogCiAj IGNvcmUgZHJpdmVyIGNvZGUKLWk5MTUteSArPSBpOTE1X2Rydi5vIFwKLQkgIGk5MTVfY29uZmln Lm8gXAoraTkxNS15ICs9IGk5MTVfY29uZmlnLm8gXAorCSAgaTkxNV9kcm1fY2xpZW50Lm8gXAor CSAgaTkxNV9kcnYubyBcCiAJICBpOTE1X2lycS5vIFwKIAkgIGk5MTVfZ2V0cGFyYW0ubyBcCiAJ ICBpOTE1X21pdGlnYXRpb25zLm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcm1fY2xpZW50LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjdjMmQzNjg2MGFjMQot LS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5j CkBAIC0wLDAgKzEsMjAwIEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisvKgor ICogQ29weXJpZ2h0IMKpIDIwMjAgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaW5jbHVkZSA8 bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4 L3R5cGVzLmg+CisKKyNpbmNsdWRlICJpOTE1X2RybV9jbGllbnQuaCIKKyNpbmNsdWRlICJpOTE1 X2dlbS5oIgorI2luY2x1ZGUgImk5MTVfdXRpbHMuaCIKKwordm9pZCBpOTE1X2RybV9jbGllbnRz X2luaXQoc3RydWN0IGk5MTVfZHJtX2NsaWVudHMgKmNsaWVudHMsCisJCQkgICBzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwljbGllbnRzLT5pOTE1ID0gaTkxNTsKKworCWNsaWVu dHMtPm5leHRfaWQgPSAwOworCXhhX2luaXRfZmxhZ3MoJmNsaWVudHMtPnhhcnJheSwgWEFfRkxB R1NfQUxMT0MpOworfQorCitzdGF0aWMgc3NpemVfdAorc2hvd19jbGllbnRfbmFtZShzdHJ1Y3Qg ZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQor eworCXN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCA9CisJCWNvbnRhaW5lcl9vZihhdHRy LCB0eXBlb2YoKmNsaWVudCksIGF0dHIubmFtZSk7CisKKwlyZXR1cm4gc3lzZnNfZW1pdChidWYs CisJCQkgIFJFQURfT05DRShjbGllbnQtPmNsb3NlZCkgPyAiPCVzPlxuIiA6ICIlc1xuIiwKKwkJ CSAgY2xpZW50LT5uYW1lKTsKK30KKworc3RhdGljIHNzaXplX3QKK3Nob3dfY2xpZW50X3BpZChz dHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAq YnVmKQoreworCXN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCA9CisJCWNvbnRhaW5lcl9v ZihhdHRyLCB0eXBlb2YoKmNsaWVudCksIGF0dHIucGlkKTsKKworCXJldHVybiBzeXNmc19lbWl0 KGJ1ZiwKKwkJCSAgUkVBRF9PTkNFKGNsaWVudC0+Y2xvc2VkKSA/ICI8JXU+XG4iIDogIiV1XG4i LAorCQkJICBwaWRfbnIoY2xpZW50LT5waWQpKTsKK30KKworc3RhdGljIGludCBfX2NsaWVudF9y ZWdpc3Rlcl9zeXNmcyhzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQpCit7CisJY29uc3Qg c3RydWN0IHsKKwkJY29uc3QgY2hhciAqbmFtZTsKKwkJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUg KmF0dHI7CisJCXNzaXplX3QgKCpzaG93KShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJc3RydWN0 IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJY2hhciAqYnVmKTsKKwl9IGZpbGVzW10gPSB7 CisJCXsgIm5hbWUiLCAmY2xpZW50LT5hdHRyLm5hbWUsIHNob3dfY2xpZW50X25hbWUgfSwKKwkJ eyAicGlkIiwgJmNsaWVudC0+YXR0ci5waWQsIHNob3dfY2xpZW50X3BpZCB9LAorCX07CisJdW5z aWduZWQgaW50IGk7CisJY2hhciBidWZbMTZdOworCWludCByZXQ7CisKKwlyZXQgPSBzY25wcmlu dGYoYnVmLCBzaXplb2YoYnVmKSwgIiV1IiwgY2xpZW50LT5pZCk7CisJaWYgKHJldCA9PSBzaXpl b2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljbGllbnQtPnJvb3QgPSBrb2JqZWN0X2Ny ZWF0ZV9hbmRfYWRkKGJ1ZiwgY2xpZW50LT5jbGllbnRzLT5yb290KTsKKwlpZiAoIWNsaWVudC0+ cm9vdCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShm aWxlcyk7IGkrKykgeworCQlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciA9IGZpbGVzW2ld LmF0dHI7CisKKwkJc3lzZnNfYXR0cl9pbml0KCZhdHRyLT5hdHRyKTsKKworCQlhdHRyLT5hdHRy Lm5hbWUgPSBmaWxlc1tpXS5uYW1lOworCQlhdHRyLT5hdHRyLm1vZGUgPSAwNDQ0OworCQlhdHRy LT5zaG93ID0gZmlsZXNbaV0uc2hvdzsKKworCQlyZXQgPSBzeXNmc19jcmVhdGVfZmlsZShjbGll bnQtPnJvb3QsICZhdHRyLT5hdHRyKTsKKwkJaWYgKHJldCkKKwkJCWJyZWFrOworCX0KKworCWlm IChyZXQpCisJCWtvYmplY3RfcHV0KGNsaWVudC0+cm9vdCk7CisKKwlyZXR1cm4gcmV0OworfQor CitzdGF0aWMgdm9pZCBfX2NsaWVudF91bnJlZ2lzdGVyX3N5c2ZzKHN0cnVjdCBpOTE1X2RybV9j bGllbnQgKmNsaWVudCkKK3sKKwlrb2JqZWN0X3B1dChmZXRjaF9hbmRfemVybygmY2xpZW50LT5y b290KSk7Cit9CisKK3N0YXRpYyBpbnQKK19faTkxNV9kcm1fY2xpZW50X3JlZ2lzdGVyKHN0cnVj dCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCwKKwkJCSAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFz aykKK3sKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50cyAqY2xpZW50cyA9IGNsaWVudC0+Y2xpZW50 czsKKwljaGFyICpuYW1lOworCWludCByZXQ7CisKKwluYW1lID0ga3N0cmR1cCh0YXNrLT5jb21t LCBHRlBfS0VSTkVMKTsKKwlpZiAoIW5hbWUpCisJCXJldHVybiAtRU5PTUVNOworCisJY2xpZW50 LT5waWQgPSBnZXRfdGFza19waWQodGFzaywgUElEVFlQRV9QSUQpOworCWNsaWVudC0+bmFtZSA9 IG5hbWU7CisKKwlpZiAoIWNsaWVudHMtPnJvb3QpCisJCXJldHVybiAwOyAvKiBpbnRlbF9mYmRl dl9pbml0IHJlZ2lzdGVycyBhIGNsaWVudCBiZWZvcmUgc3lzZnMgKi8KKworCXJldCA9IF9fY2xp ZW50X3JlZ2lzdGVyX3N5c2ZzKGNsaWVudCk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfc3lzZnM7 CisKKwlyZXR1cm4gMDsKKworZXJyX3N5c2ZzOgorCXB1dF9waWQoY2xpZW50LT5waWQpOworCWtm cmVlKGNsaWVudC0+bmFtZSk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBfX2k5 MTVfZHJtX2NsaWVudF91bnJlZ2lzdGVyKHN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCkK K3sKKwlfX2NsaWVudF91bnJlZ2lzdGVyX3N5c2ZzKGNsaWVudCk7CisKKwlwdXRfcGlkKGZldGNo X2FuZF96ZXJvKCZjbGllbnQtPnBpZCkpOworCWtmcmVlKGZldGNoX2FuZF96ZXJvKCZjbGllbnQt Pm5hbWUpKTsKK30KKworc3RhdGljIHZvaWQgX19yY3VfaTkxNV9kcm1fY2xpZW50X2ZyZWUoc3Ry dWN0IHdvcmtfc3RydWN0ICp3cmspCit7CisJc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50 ID0KKwkJY29udGFpbmVyX29mKHdyaywgdHlwZW9mKCpjbGllbnQpLCByY3Uud29yayk7CisKKwlf X2k5MTVfZHJtX2NsaWVudF91bnJlZ2lzdGVyKGNsaWVudCk7CisKKwl4YV9lcmFzZSgmY2xpZW50 LT5jbGllbnRzLT54YXJyYXksIGNsaWVudC0+aWQpOworCWtmcmVlKGNsaWVudCk7Cit9CisKK3N0 cnVjdCBpOTE1X2RybV9jbGllbnQgKgoraTkxNV9kcm1fY2xpZW50X2FkZChzdHJ1Y3QgaTkxNV9k cm1fY2xpZW50cyAqY2xpZW50cywgc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQoreworCXN0cnVj dCBpOTE1X2RybV9jbGllbnQgKmNsaWVudDsKKwlpbnQgcmV0OworCisJY2xpZW50ID0ga3phbGxv YyhzaXplb2YoKmNsaWVudCksIEdGUF9LRVJORUwpOworCWlmICghY2xpZW50KQorCQlyZXR1cm4g RVJSX1BUUigtRU5PTUVNKTsKKworCWtyZWZfaW5pdCgmY2xpZW50LT5rcmVmKTsKKwljbGllbnQt PmNsaWVudHMgPSBjbGllbnRzOworCUlOSVRfUkNVX1dPUksoJmNsaWVudC0+cmN1LCBfX3JjdV9p OTE1X2RybV9jbGllbnRfZnJlZSk7CisKKwlyZXQgPSB4YV9hbGxvY19jeWNsaWMoJmNsaWVudHMt PnhhcnJheSwgJmNsaWVudC0+aWQsIGNsaWVudCwKKwkJCSAgICAgIHhhX2xpbWl0XzMyYiwgJmNs aWVudHMtPm5leHRfaWQsIEdGUF9LRVJORUwpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIGVycl9p ZDsKKworCXJldCA9IF9faTkxNV9kcm1fY2xpZW50X3JlZ2lzdGVyKGNsaWVudCwgdGFzayk7CisJ aWYgKHJldCkKKwkJZ290byBlcnJfcmVnaXN0ZXI7CisKKwlyZXR1cm4gY2xpZW50OworCitlcnJf cmVnaXN0ZXI6CisJeGFfZXJhc2UoJmNsaWVudHMtPnhhcnJheSwgY2xpZW50LT5pZCk7CitlcnJf aWQ6CisJa2ZyZWUoY2xpZW50KTsKKworCXJldHVybiBFUlJfUFRSKHJldCk7Cit9CisKK3ZvaWQg X19pOTE1X2RybV9jbGllbnRfZnJlZShzdHJ1Y3Qga3JlZiAqa3JlZikKK3sKKwlzdHJ1Y3QgaTkx NV9kcm1fY2xpZW50ICpjbGllbnQgPQorCQljb250YWluZXJfb2Yoa3JlZiwgdHlwZW9mKCpjbGll bnQpLCBrcmVmKTsKKworCXF1ZXVlX3JjdV93b3JrKHN5c3RlbV93cSwgJmNsaWVudC0+cmN1KTsK K30KKwordm9pZCBpOTE1X2RybV9jbGllbnRfY2xvc2Uoc3RydWN0IGk5MTVfZHJtX2NsaWVudCAq Y2xpZW50KQoreworCUdFTV9CVUdfT04oUkVBRF9PTkNFKGNsaWVudC0+Y2xvc2VkKSk7CisJV1JJ VEVfT05DRShjbGllbnQtPmNsb3NlZCwgdHJ1ZSk7CisJaTkxNV9kcm1fY2xpZW50X3B1dChjbGll bnQpOworfQorCit2b2lkIGk5MTVfZHJtX2NsaWVudHNfZmluaShzdHJ1Y3QgaTkxNV9kcm1fY2xp ZW50cyAqY2xpZW50cykKK3sKKwl3aGlsZSAoIXhhX2VtcHR5KCZjbGllbnRzLT54YXJyYXkpKSB7 CisJCXJjdV9iYXJyaWVyKCk7CisJCWZsdXNoX3dvcmtxdWV1ZShzeXN0ZW1fd3EpOworCX0KKwor CXhhX2Rlc3Ryb3koJmNsaWVudHMtPnhhcnJheSk7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJtX2NsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMTUw ZjhlOGQzNGU2Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cm1fY2xpZW50LmgKQEAgLTAsMCArMSw3MSBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IE1JVCAqLworLyoKKyAqIENvcHlyaWdodCDCqSAyMDIwIEludGVsIENvcnBvcmF0aW9uCisgKi8K KworI2lmbmRlZiBfX0k5MTVfRFJNX0NMSUVOVF9IX18KKyNkZWZpbmUgX19JOTE1X0RSTV9DTElF TlRfSF9fCisKKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9rb2Jq ZWN0Lmg+CisjaW5jbHVkZSA8bGludXgva3JlZi5oPgorI2luY2x1ZGUgPGxpbnV4L3BpZC5oPgor I2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNp bmNsdWRlIDxsaW51eC94YXJyYXkuaD4KKworc3RydWN0IGRybV9pOTE1X3ByaXZhdGU7CisKK3N0 cnVjdCBpOTE1X2RybV9jbGllbnRzIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNTsK KworCXN0cnVjdCB4YXJyYXkgeGFycmF5OworCXUzMiBuZXh0X2lkOworCisJc3RydWN0IGtvYmpl Y3QgKnJvb3Q7Cit9OworCitzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50IHsKKwlzdHJ1Y3Qga3JlZiBr cmVmOworCisJc3RydWN0IHJjdV93b3JrIHJjdTsKKworCXVuc2lnbmVkIGludCBpZDsKKwlzdHJ1 Y3QgcGlkICpwaWQ7CisJY2hhciAqbmFtZTsKKwlib29sIGNsb3NlZDsKKworCXN0cnVjdCBpOTE1 X2RybV9jbGllbnRzICpjbGllbnRzOworCisJc3RydWN0IGtvYmplY3QgKnJvb3Q7CisJc3RydWN0 IHsKKwkJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgcGlkOworCQlzdHJ1Y3QgZGV2aWNlX2F0dHJp YnV0ZSBuYW1lOworCX0gYXR0cjsKK307CisKK3ZvaWQgaTkxNV9kcm1fY2xpZW50c19pbml0KHN0 cnVjdCBpOTE1X2RybV9jbGllbnRzICpjbGllbnRzLAorCQkJICAgc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpOworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBpOTE1X2RybV9jbGllbnQgKgor aTkxNV9kcm1fY2xpZW50X2dldChzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQpCit7CisJ a3JlZl9nZXQoJmNsaWVudC0+a3JlZik7CisJcmV0dXJuIGNsaWVudDsKK30KKwordm9pZCBfX2k5 MTVfZHJtX2NsaWVudF9mcmVlKHN0cnVjdCBrcmVmICprcmVmKTsKKworc3RhdGljIGlubGluZSB2 b2lkIGk5MTVfZHJtX2NsaWVudF9wdXQoc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50KQor eworCWtyZWZfcHV0KCZjbGllbnQtPmtyZWYsIF9faTkxNV9kcm1fY2xpZW50X2ZyZWUpOworfQor Cit2b2lkIGk5MTVfZHJtX2NsaWVudF9jbG9zZShzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGll bnQpOworCitzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICppOTE1X2RybV9jbGllbnRfYWRkKHN0cnVj dCBpOTE1X2RybV9jbGllbnRzICpjbGllbnRzLAorCQkJCQkgICAgc3RydWN0IHRhc2tfc3RydWN0 ICp0YXNrKTsKKwordm9pZCBpOTE1X2RybV9jbGllbnRzX2Zpbmkoc3RydWN0IGk5MTVfZHJtX2Ns aWVudHMgKmNsaWVudHMpOworCisjZW5kaWYgLyogIV9fSTkxNV9EUk1fQ0xJRU5UX0hfXyAqLwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggYjM3YjE4OWUyMTljLi4zMTRlYWU1NTdjODEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtNzAsNiArNzAsNyBAQAogI2luY2x1ZGUgImd0L2lu dGVsX3JjNi5oIgogCiAjaW5jbHVkZSAiaTkxNV9kZWJ1Z2ZzLmgiCisjaW5jbHVkZSAiaTkxNV9k cm1fY2xpZW50LmgiCiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKICNpbmNsdWRlICJpOTE1X2lvYzMy LmgiCiAjaW5jbHVkZSAiaTkxNV9pcnEuaCIKQEAgLTMzOSw2ICszNDAsOCBAQCBzdGF0aWMgaW50 IGk5MTVfZHJpdmVyX2Vhcmx5X3Byb2JlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAogCWludGVsX2d0X2luaXRfZWFybHkoJmRldl9wcml2LT5ndCwgZGV2X3ByaXYpOwogCisJ aTkxNV9kcm1fY2xpZW50c19pbml0KCZkZXZfcHJpdi0+Y2xpZW50cywgZGV2X3ByaXYpOworCiAJ aTkxNV9nZW1faW5pdF9lYXJseShkZXZfcHJpdik7CiAKIAkvKiBUaGlzIG11c3QgYmUgY2FsbGVk IGJlZm9yZSBhbnkgY2FsbHMgdG8gSEFTX1BDSF8qICovCkBAIC0zNTksNiArMzYyLDcgQEAgc3Rh dGljIGludCBpOTE1X2RyaXZlcl9lYXJseV9wcm9iZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAKIGVycl9nZW06CiAJaTkxNV9nZW1fY2xlYW51cF9lYXJseShkZXZfcHJpdik7 CisJaTkxNV9kcm1fY2xpZW50c19maW5pKCZkZXZfcHJpdi0+Y2xpZW50cyk7CiAJaW50ZWxfZ3Rf ZHJpdmVyX2xhdGVfcmVsZWFzZSgmZGV2X3ByaXYtPmd0KTsKIAl2bHZfc3VzcGVuZF9jbGVhbnVw KGRldl9wcml2KTsKIGVycl93b3JrcXVldWVzOgpAQCAtMzc2LDYgKzM4MCw3IEBAIHN0YXRpYyB2 b2lkIGk5MTVfZHJpdmVyX2xhdGVfcmVsZWFzZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJaW50ZWxfaXJxX2ZpbmkoZGV2X3ByaXYpOwogCWludGVsX3Bvd2VyX2RvbWFpbnNf Y2xlYW51cChkZXZfcHJpdik7CiAJaTkxNV9nZW1fY2xlYW51cF9lYXJseShkZXZfcHJpdik7CisJ aTkxNV9kcm1fY2xpZW50c19maW5pKCZkZXZfcHJpdi0+Y2xpZW50cyk7CiAJaW50ZWxfZ3RfZHJp dmVyX2xhdGVfcmVsZWFzZSgmZGV2X3ByaXYtPmd0KTsKIAl2bHZfc3VzcGVuZF9jbGVhbnVwKGRl dl9wcml2KTsKIAlpOTE1X3dvcmtxdWV1ZXNfY2xlYW51cChkZXZfcHJpdik7CkBAIC0xMDEzLDYg KzEwMTgsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9wb3N0Y2xvc2Uoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQogCXN0cnVjdCBkcm1faTkxNV9maWxl X3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2OwogCiAJaTkxNV9nZW1fY29u dGV4dF9jbG9zZShmaWxlKTsKKwlpOTE1X2RybV9jbGllbnRfY2xvc2UoZmlsZV9wcml2LT5jbGll bnQpOwogCiAJa2ZyZWVfcmN1KGZpbGVfcHJpdiwgcmN1KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKaW5kZXggN2VmYjUwMWUyMmQyLi45OWNmODYxZGY5MmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaApAQCAtOTMsNiArOTMsNyBAQAogI2luY2x1ZGUgImludGVsX3dha2VyZWYuaCIKICNpbmNs dWRlICJpbnRlbF93b3BjbS5oIgogCisjaW5jbHVkZSAiaTkxNV9kcm1fY2xpZW50LmgiCiAjaW5j bHVkZSAiaTkxNV9nZW0uaCIKICNpbmNsdWRlICJpOTE1X2dlbV9ndHQuaCIKICNpbmNsdWRlICJp OTE1X2dwdV9lcnJvci5oIgpAQCAtMjE5LDYgKzIyMCw4IEBAIHN0cnVjdCBkcm1faTkxNV9maWxl X3ByaXZhdGUgewogCS8qKiBiYW5fc2NvcmU6IEFjY3VtdWxhdGVkIHNjb3JlIG9mIGFsbCBjdHgg YmFucyBhbmQgZmFzdCBoYW5ncy4gKi8KIAlhdG9taWNfdCBiYW5fc2NvcmU7CiAJdW5zaWduZWQg bG9uZyBoYW5nX3RpbWVzdGFtcDsKKworCXN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudDsK IH07CiAKIC8qIEludGVyZmFjZSBoaXN0b3J5OgpAQCAtMTIwMyw2ICsxMjA2LDggQEAgc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgewogCiAJc3RydWN0IGk5MTVfcG11IHBtdTsKIAorCXN0cnVjdCBp OTE1X2RybV9jbGllbnRzIGNsaWVudHM7CisKIAlzdHJ1Y3QgaTkxNV9oZGNwX2NvbXBfbWFzdGVy ICpoZGNwX21hc3RlcjsKIAlib29sIGhkY3BfY29tcF9hZGRlZDsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKaW5kZXggOWIwNGRmZjVlYjMyLi42ZjM0NWQ0MDM2YmUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYwpAQCAtMTE4OSwyNSArMTE4OSw0MCBAQCBpbnQgaTkxNV9nZW1fZnJlZXplX2xhdGUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiBpbnQgaTkxNV9nZW1fb3BlbihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3RydWN0IGRybV9maWxlICpmaWxlKQogewogCXN0cnVj dCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdjsKLQlpbnQgcmV0OworCXN0cnVjdCBp OTE1X2RybV9jbGllbnQgKmNsaWVudDsKKwlpbnQgcmV0ID0gLUVOT01FTTsKIAogCURSTV9ERUJV RygiXG4iKTsKIAogCWZpbGVfcHJpdiA9IGt6YWxsb2Moc2l6ZW9mKCpmaWxlX3ByaXYpLCBHRlBf S0VSTkVMKTsKIAlpZiAoIWZpbGVfcHJpdikKLQkJcmV0dXJuIC1FTk9NRU07CisJCWdvdG8gZXJy X2FsbG9jOworCisJY2xpZW50ID0gaTkxNV9kcm1fY2xpZW50X2FkZCgmaTkxNS0+Y2xpZW50cywg Y3VycmVudCk7CisJaWYgKElTX0VSUihjbGllbnQpKSB7CisJCXJldCA9IFBUUl9FUlIoY2xpZW50 KTsKKwkJZ290byBlcnJfY2xpZW50OworCX0KIAogCWZpbGUtPmRyaXZlcl9wcml2ID0gZmlsZV9w cml2OwogCWZpbGVfcHJpdi0+ZGV2X3ByaXYgPSBpOTE1OwogCWZpbGVfcHJpdi0+ZmlsZSA9IGZp bGU7CisJZmlsZV9wcml2LT5jbGllbnQgPSBjbGllbnQ7CiAKIAlmaWxlX3ByaXYtPmJzZF9lbmdp bmUgPSAtMTsKIAlmaWxlX3ByaXYtPmhhbmdfdGltZXN0YW1wID0gamlmZmllczsKIAogCXJldCA9 IGk5MTVfZ2VtX2NvbnRleHRfb3BlbihpOTE1LCBmaWxlKTsKIAlpZiAocmV0KQotCQlrZnJlZShm aWxlX3ByaXYpOworCQlnb3RvIGVycl9jb250ZXh0OwogCisJcmV0dXJuIDA7CisKK2Vycl9jb250 ZXh0OgorCWk5MTVfZHJtX2NsaWVudF9jbG9zZShjbGllbnQpOworZXJyX2NsaWVudDoKKwlrZnJl ZShmaWxlX3ByaXYpOworZXJyX2FsbG9jOgogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfc3lzZnMuYwppbmRleCA0NWQzMmVmNDI3ODcuLmI3ZDRhNmQyZGQ1YyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfc3lzZnMuYwpAQCAtNTYwLDYgKzU2MCwxMSBAQCB2b2lkIGk5MTVfc2V0dXBf c3lzZnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXN0cnVjdCBkZXZpY2Ug KmtkZXYgPSBkZXZfcHJpdi0+ZHJtLnByaW1hcnktPmtkZXY7CiAJaW50IHJldDsKIAorCWRldl9w cml2LT5jbGllbnRzLnJvb3QgPQorCQlrb2JqZWN0X2NyZWF0ZV9hbmRfYWRkKCJjbGllbnRzIiwg JmtkZXYtPmtvYmopOworCWlmICghZGV2X3ByaXYtPmNsaWVudHMucm9vdCkKKwkJRFJNX0VSUk9S KCJQZXItY2xpZW50IHN5c2ZzIHNldHVwIGZhaWxlZFxuIik7CisKICNpZmRlZiBDT05GSUdfUE0K IAlpZiAoSEFTX1JDNihkZXZfcHJpdikpIHsKIAkJcmV0ID0gc3lzZnNfbWVyZ2VfZ3JvdXAoJmtk ZXYtPmtvYmosCkBAIC02MjcsNCArNjMyLDcgQEAgdm9pZCBpOTE1X3RlYXJkb3duX3N5c2ZzKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZr ZGV2LT5rb2JqLCAmcmM2X2F0dHJfZ3JvdXApOwogCXN5c2ZzX3VubWVyZ2VfZ3JvdXAoJmtkZXYt PmtvYmosICZyYzZwX2F0dHJfZ3JvdXApOwogI2VuZGlmCisKKwlpZiAoZGV2X3ByaXYtPmNsaWVu dHMucm9vdCkKKwkJa29iamVjdF9wdXQoZGV2X3ByaXYtPmNsaWVudHMucm9vdCk7CiB9Ci0tIAoy LjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=