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,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 D6FAEC433E9 for ; Sun, 24 Jan 2021 15:31:54 +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 92FB422E03 for ; Sun, 24 Jan 2021 15:31:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 92FB422E03 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 F000089EFF; Sun, 24 Jan 2021 15:31:52 +0000 (UTC) Received: from fireflyinternet.com (unknown [77.68.26.236]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7F85A89E52 for ; Sun, 24 Jan 2021 15:31:42 +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 23686704-1500050 for ; Sun, 24 Jan 2021 15:31:34 +0000 From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Sun, 24 Jan 2021 15:31:30 +0000 Message-Id: <20210124153136.19124-2-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210124153136.19124-1-chris@chris-wilson.co.uk> References: <20210124153136.19124-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+Ckxpbms6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9y Zy9wYXRjaC9tc2dpZC8yMDIxMDEyMzE1MzczMy4xODEzOS0yLWNocmlzQGNocmlzLXdpbHNvbi5j by51awotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgICAgIHwgICA1ICst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuYyB8IDIwMCArKysrKysrKysr KysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuaCB8 ICA3MSArKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgIHwg ICA2ICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgIHwgICA1ICsKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgIHwgIDIxICsrLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jICAgICAgfCAgIDggKwogNyBmaWxlcyBjaGFuZ2VkLCAz MTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpp bmRleCBlYTFjYzU3MzYwNDkuLjAyNmQ1MDA0NDNkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAg LTM0LDggKzM0LDkgQEAgc3ViZGlyLWNjZmxhZ3MteSArPSAtSSQoc3JjdHJlZSkvJChzcmMpCiAj IFBsZWFzZSBrZWVwIHRoZXNlIGJ1aWxkIGxpc3RzIHNvcnRlZCEKIAogIyBjb3JlIGRyaXZlciBj b2RlCi1pOTE1LXkgKz0gaTkxNV9kcnYubyBcCi0JICBpOTE1X2NvbmZpZy5vIFwKK2k5MTUteSAr PSBpOTE1X2NvbmZpZy5vIFwKKwkgIGk5MTVfZHJtX2NsaWVudC5vIFwKKwkgIGk5MTVfZHJ2Lm8g XAogCSAgaTkxNV9pcnEubyBcCiAJICBpOTE1X2dldHBhcmFtLm8gXAogCSAgaTkxNV9taXRpZ2F0 aW9ucy5vIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVu dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcm1fY2xpZW50LmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43YzJkMzY4NjBhYzEKLS0tIC9kZXYvbnVsbAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuYwpAQCAtMCwwICsxLDIw MCBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAorLyoKKyAqIENvcHlyaWdodCDC qSAyMDIwIEludGVsIENvcnBvcmF0aW9uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5o PgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisj aW5jbHVkZSAiaTkxNV9kcm1fY2xpZW50LmgiCisjaW5jbHVkZSAiaTkxNV9nZW0uaCIKKyNpbmNs dWRlICJpOTE1X3V0aWxzLmgiCisKK3ZvaWQgaTkxNV9kcm1fY2xpZW50c19pbml0KHN0cnVjdCBp OTE1X2RybV9jbGllbnRzICpjbGllbnRzLAorCQkJICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpCit7CisJY2xpZW50cy0+aTkxNSA9IGk5MTU7CisKKwljbGllbnRzLT5uZXh0X2lkID0g MDsKKwl4YV9pbml0X2ZsYWdzKCZjbGllbnRzLT54YXJyYXksIFhBX0ZMQUdTX0FMTE9DKTsKK30K Kworc3RhdGljIHNzaXplX3QKK3Nob3dfY2xpZW50X25hbWUoc3RydWN0IGRldmljZSAqa2Rldiwg c3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgaTkx NV9kcm1fY2xpZW50ICpjbGllbnQgPQorCQljb250YWluZXJfb2YoYXR0ciwgdHlwZW9mKCpjbGll bnQpLCBhdHRyLm5hbWUpOworCisJcmV0dXJuIHN5c2ZzX2VtaXQoYnVmLAorCQkJICBSRUFEX09O Q0UoY2xpZW50LT5jbG9zZWQpID8gIjwlcz5cbiIgOiAiJXNcbiIsCisJCQkgIGNsaWVudC0+bmFt ZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitzaG93X2NsaWVudF9waWQoc3RydWN0IGRldmljZSAq a2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1 Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQgPQorCQljb250YWluZXJfb2YoYXR0ciwgdHlwZW9m KCpjbGllbnQpLCBhdHRyLnBpZCk7CisKKwlyZXR1cm4gc3lzZnNfZW1pdChidWYsCisJCQkgIFJF QURfT05DRShjbGllbnQtPmNsb3NlZCkgPyAiPCV1PlxuIiA6ICIldVxuIiwKKwkJCSAgcGlkX25y KGNsaWVudC0+cGlkKSk7Cit9CisKK3N0YXRpYyBpbnQgX19jbGllbnRfcmVnaXN0ZXJfc3lzZnMo c3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50KQoreworCWNvbnN0IHN0cnVjdCB7CisJCWNv bnN0IGNoYXIgKm5hbWU7CisJCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyOworCQlzc2l6 ZV90ICgqc2hvdykoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCXN0cnVjdCBkZXZpY2VfYXR0cmli dXRlICphdHRyLAorCQkJCWNoYXIgKmJ1Zik7CisJfSBmaWxlc1tdID0geworCQl7ICJuYW1lIiwg JmNsaWVudC0+YXR0ci5uYW1lLCBzaG93X2NsaWVudF9uYW1lIH0sCisJCXsgInBpZCIsICZjbGll bnQtPmF0dHIucGlkLCBzaG93X2NsaWVudF9waWQgfSwKKwl9OworCXVuc2lnbmVkIGludCBpOwor CWNoYXIgYnVmWzE2XTsKKwlpbnQgcmV0OworCisJcmV0ID0gc2NucHJpbnRmKGJ1Ziwgc2l6ZW9m KGJ1ZiksICIldSIsIGNsaWVudC0+aWQpOworCWlmIChyZXQgPT0gc2l6ZW9mKGJ1ZikpCisJCXJl dHVybiAtRUlOVkFMOworCisJY2xpZW50LT5yb290ID0ga29iamVjdF9jcmVhdGVfYW5kX2FkZChi dWYsIGNsaWVudC0+Y2xpZW50cy0+cm9vdCk7CisJaWYgKCFjbGllbnQtPnJvb3QpCisJCXJldHVy biAtRU5PTUVNOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZmlsZXMpOyBpKyspIHsK KwkJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIgPSBmaWxlc1tpXS5hdHRyOworCisJCXN5 c2ZzX2F0dHJfaW5pdCgmYXR0ci0+YXR0cik7CisKKwkJYXR0ci0+YXR0ci5uYW1lID0gZmlsZXNb aV0ubmFtZTsKKwkJYXR0ci0+YXR0ci5tb2RlID0gMDQ0NDsKKwkJYXR0ci0+c2hvdyA9IGZpbGVz W2ldLnNob3c7CisKKwkJcmV0ID0gc3lzZnNfY3JlYXRlX2ZpbGUoY2xpZW50LT5yb290LCAmYXR0 ci0+YXR0cik7CisJCWlmIChyZXQpCisJCQlicmVhazsKKwl9CisKKwlpZiAocmV0KQorCQlrb2Jq ZWN0X3B1dChjbGllbnQtPnJvb3QpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQg X19jbGllbnRfdW5yZWdpc3Rlcl9zeXNmcyhzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQp Cit7CisJa29iamVjdF9wdXQoZmV0Y2hfYW5kX3plcm8oJmNsaWVudC0+cm9vdCkpOworfQorCitz dGF0aWMgaW50CitfX2k5MTVfZHJtX2NsaWVudF9yZWdpc3RlcihzdHJ1Y3QgaTkxNV9kcm1fY2xp ZW50ICpjbGllbnQsCisJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCit7CisJc3RydWN0 IGk5MTVfZHJtX2NsaWVudHMgKmNsaWVudHMgPSBjbGllbnQtPmNsaWVudHM7CisJY2hhciAqbmFt ZTsKKwlpbnQgcmV0OworCisJbmFtZSA9IGtzdHJkdXAodGFzay0+Y29tbSwgR0ZQX0tFUk5FTCk7 CisJaWYgKCFuYW1lKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWNsaWVudC0+cGlkID0gZ2V0X3Rh c2tfcGlkKHRhc2ssIFBJRFRZUEVfUElEKTsKKwljbGllbnQtPm5hbWUgPSBuYW1lOworCisJaWYg KCFjbGllbnRzLT5yb290KQorCQlyZXR1cm4gMDsgLyogaW50ZWxfZmJkZXZfaW5pdCByZWdpc3Rl cnMgYSBjbGllbnQgYmVmb3JlIHN5c2ZzICovCisKKwlyZXQgPSBfX2NsaWVudF9yZWdpc3Rlcl9z eXNmcyhjbGllbnQpOworCWlmIChyZXQpCisJCWdvdG8gZXJyX3N5c2ZzOworCisJcmV0dXJuIDA7 CisKK2Vycl9zeXNmczoKKwlwdXRfcGlkKGNsaWVudC0+cGlkKTsKKwlrZnJlZShjbGllbnQtPm5h bWUpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgX19pOTE1X2RybV9jbGllbnRf dW5yZWdpc3RlcihzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQpCit7CisJX19jbGllbnRf dW5yZWdpc3Rlcl9zeXNmcyhjbGllbnQpOworCisJcHV0X3BpZChmZXRjaF9hbmRfemVybygmY2xp ZW50LT5waWQpKTsKKwlrZnJlZShmZXRjaF9hbmRfemVybygmY2xpZW50LT5uYW1lKSk7Cit9CisK K3N0YXRpYyB2b2lkIF9fcmN1X2k5MTVfZHJtX2NsaWVudF9mcmVlKHN0cnVjdCB3b3JrX3N0cnVj dCAqd3JrKQoreworCXN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCA9CisJCWNvbnRhaW5l cl9vZih3cmssIHR5cGVvZigqY2xpZW50KSwgcmN1LndvcmspOworCisJX19pOTE1X2RybV9jbGll bnRfdW5yZWdpc3RlcihjbGllbnQpOworCisJeGFfZXJhc2UoJmNsaWVudC0+Y2xpZW50cy0+eGFy cmF5LCBjbGllbnQtPmlkKTsKKwlrZnJlZShjbGllbnQpOworfQorCitzdHJ1Y3QgaTkxNV9kcm1f Y2xpZW50ICoKK2k5MTVfZHJtX2NsaWVudF9hZGQoc3RydWN0IGk5MTVfZHJtX2NsaWVudHMgKmNs aWVudHMsIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKK3sKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xp ZW50ICpjbGllbnQ7CisJaW50IHJldDsKKworCWNsaWVudCA9IGt6YWxsb2Moc2l6ZW9mKCpjbGll bnQpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNsaWVudCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01F TSk7CisKKwlrcmVmX2luaXQoJmNsaWVudC0+a3JlZik7CisJY2xpZW50LT5jbGllbnRzID0gY2xp ZW50czsKKwlJTklUX1JDVV9XT1JLKCZjbGllbnQtPnJjdSwgX19yY3VfaTkxNV9kcm1fY2xpZW50 X2ZyZWUpOworCisJcmV0ID0geGFfYWxsb2NfY3ljbGljKCZjbGllbnRzLT54YXJyYXksICZjbGll bnQtPmlkLCBjbGllbnQsCisJCQkgICAgICB4YV9saW1pdF8zMmIsICZjbGllbnRzLT5uZXh0X2lk LCBHRlBfS0VSTkVMKTsKKwlpZiAocmV0IDwgMCkKKwkJZ290byBlcnJfaWQ7CisKKwlyZXQgPSBf X2k5MTVfZHJtX2NsaWVudF9yZWdpc3RlcihjbGllbnQsIHRhc2spOworCWlmIChyZXQpCisJCWdv dG8gZXJyX3JlZ2lzdGVyOworCisJcmV0dXJuIGNsaWVudDsKKworZXJyX3JlZ2lzdGVyOgorCXhh X2VyYXNlKCZjbGllbnRzLT54YXJyYXksIGNsaWVudC0+aWQpOworZXJyX2lkOgorCWtmcmVlKGNs aWVudCk7CisKKwlyZXR1cm4gRVJSX1BUUihyZXQpOworfQorCit2b2lkIF9faTkxNV9kcm1fY2xp ZW50X2ZyZWUoc3RydWN0IGtyZWYgKmtyZWYpCit7CisJc3RydWN0IGk5MTVfZHJtX2NsaWVudCAq Y2xpZW50ID0KKwkJY29udGFpbmVyX29mKGtyZWYsIHR5cGVvZigqY2xpZW50KSwga3JlZik7CisK KwlxdWV1ZV9yY3Vfd29yayhzeXN0ZW1fd3EsICZjbGllbnQtPnJjdSk7Cit9CisKK3ZvaWQgaTkx NV9kcm1fY2xpZW50X2Nsb3NlKHN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCkKK3sKKwlH RU1fQlVHX09OKFJFQURfT05DRShjbGllbnQtPmNsb3NlZCkpOworCVdSSVRFX09OQ0UoY2xpZW50 LT5jbG9zZWQsIHRydWUpOworCWk5MTVfZHJtX2NsaWVudF9wdXQoY2xpZW50KTsKK30KKwordm9p ZCBpOTE1X2RybV9jbGllbnRzX2Zpbmkoc3RydWN0IGk5MTVfZHJtX2NsaWVudHMgKmNsaWVudHMp Cit7CisJd2hpbGUgKCF4YV9lbXB0eSgmY2xpZW50cy0+eGFycmF5KSkgeworCQlyY3VfYmFycmll cigpOworCQlmbHVzaF93b3JrcXVldWUoc3lzdGVtX3dxKTsKKwl9CisKKwl4YV9kZXN0cm95KCZj bGllbnRzLT54YXJyYXkpOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcm1fY2xpZW50LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjE1MGY4ZThkMzRlNgotLS0g L2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5oCkBA IC0wLDAgKzEsNzEgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KKy8qCisg KiBDb3B5cmlnaHQgwqkgMjAyMCBJbnRlbCBDb3Jwb3JhdGlvbgorICovCisKKyNpZm5kZWYgX19J OTE1X0RSTV9DTElFTlRfSF9fCisjZGVmaW5lIF9fSTkxNV9EUk1fQ0xJRU5UX0hfXworCisjaW5j bHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgva29iamVjdC5oPgorI2luY2x1 ZGUgPGxpbnV4L2tyZWYuaD4KKyNpbmNsdWRlIDxsaW51eC9waWQuaD4KKyNpbmNsdWRlIDxsaW51 eC9yY3VwZGF0ZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgv eGFycmF5Lmg+CisKK3N0cnVjdCBkcm1faTkxNV9wcml2YXRlOworCitzdHJ1Y3QgaTkxNV9kcm1f Y2xpZW50cyB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTU7CisKKwlzdHJ1Y3QgeGFy cmF5IHhhcnJheTsKKwl1MzIgbmV4dF9pZDsKKworCXN0cnVjdCBrb2JqZWN0ICpyb290OworfTsK Kworc3RydWN0IGk5MTVfZHJtX2NsaWVudCB7CisJc3RydWN0IGtyZWYga3JlZjsKKworCXN0cnVj dCByY3Vfd29yayByY3U7CisKKwl1bnNpZ25lZCBpbnQgaWQ7CisJc3RydWN0IHBpZCAqcGlkOwor CWNoYXIgKm5hbWU7CisJYm9vbCBjbG9zZWQ7CisKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50cyAq Y2xpZW50czsKKworCXN0cnVjdCBrb2JqZWN0ICpyb290OworCXN0cnVjdCB7CisJCXN0cnVjdCBk ZXZpY2VfYXR0cmlidXRlIHBpZDsKKwkJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgbmFtZTsKKwl9 IGF0dHI7Cit9OworCit2b2lkIGk5MTVfZHJtX2NsaWVudHNfaW5pdChzdHJ1Y3QgaTkxNV9kcm1f Y2xpZW50cyAqY2xpZW50cywKKwkJCSAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsK Kworc3RhdGljIGlubGluZSBzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICoKK2k5MTVfZHJtX2NsaWVu dF9nZXQoc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50KQoreworCWtyZWZfZ2V0KCZjbGll bnQtPmtyZWYpOworCXJldHVybiBjbGllbnQ7Cit9CisKK3ZvaWQgX19pOTE1X2RybV9jbGllbnRf ZnJlZShzdHJ1Y3Qga3JlZiAqa3JlZik7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2RybV9j bGllbnRfcHV0KHN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCkKK3sKKwlrcmVmX3B1dCgm Y2xpZW50LT5rcmVmLCBfX2k5MTVfZHJtX2NsaWVudF9mcmVlKTsKK30KKwordm9pZCBpOTE1X2Ry bV9jbGllbnRfY2xvc2Uoc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50KTsKKworc3RydWN0 IGk5MTVfZHJtX2NsaWVudCAqaTkxNV9kcm1fY2xpZW50X2FkZChzdHJ1Y3QgaTkxNV9kcm1fY2xp ZW50cyAqY2xpZW50cywKKwkJCQkJICAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayk7CisKK3Zv aWQgaTkxNV9kcm1fY2xpZW50c19maW5pKHN0cnVjdCBpOTE1X2RybV9jbGllbnRzICpjbGllbnRz KTsKKworI2VuZGlmIC8qICFfX0k5MTVfRFJNX0NMSUVOVF9IX18gKi8KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jCmluZGV4IGIzN2IxODllMjE5Yy4uMzE0ZWFlNTU3YzgxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKQEAgLTcwLDYgKzcwLDcgQEAKICNpbmNsdWRlICJndC9pbnRlbF9yYzYuaCIKIAog I2luY2x1ZGUgImk5MTVfZGVidWdmcy5oIgorI2luY2x1ZGUgImk5MTVfZHJtX2NsaWVudC5oIgog I2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAjaW5jbHVkZSAiaTkxNV9pb2MzMi5oIgogI2luY2x1ZGUg Imk5MTVfaXJxLmgiCkBAIC0zMzksNiArMzQwLDggQEAgc3RhdGljIGludCBpOTE1X2RyaXZlcl9l YXJseV9wcm9iZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlpbnRlbF9n dF9pbml0X2Vhcmx5KCZkZXZfcHJpdi0+Z3QsIGRldl9wcml2KTsKIAorCWk5MTVfZHJtX2NsaWVu dHNfaW5pdCgmZGV2X3ByaXYtPmNsaWVudHMsIGRldl9wcml2KTsKKwogCWk5MTVfZ2VtX2luaXRf ZWFybHkoZGV2X3ByaXYpOwogCiAJLyogVGhpcyBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYW55IGNh bGxzIHRvIEhBU19QQ0hfKiAqLwpAQCAtMzU5LDYgKzM2Miw3IEBAIHN0YXRpYyBpbnQgaTkxNV9k cml2ZXJfZWFybHlfcHJvYmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiBl cnJfZ2VtOgogCWk5MTVfZ2VtX2NsZWFudXBfZWFybHkoZGV2X3ByaXYpOworCWk5MTVfZHJtX2Ns aWVudHNfZmluaSgmZGV2X3ByaXYtPmNsaWVudHMpOwogCWludGVsX2d0X2RyaXZlcl9sYXRlX3Jl bGVhc2UoJmRldl9wcml2LT5ndCk7CiAJdmx2X3N1c3BlbmRfY2xlYW51cChkZXZfcHJpdik7CiBl cnJfd29ya3F1ZXVlczoKQEAgLTM3Niw2ICszODAsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZl cl9sYXRlX3JlbGVhc2Uoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWludGVs X2lycV9maW5pKGRldl9wcml2KTsKIAlpbnRlbF9wb3dlcl9kb21haW5zX2NsZWFudXAoZGV2X3By aXYpOwogCWk5MTVfZ2VtX2NsZWFudXBfZWFybHkoZGV2X3ByaXYpOworCWk5MTVfZHJtX2NsaWVu dHNfZmluaSgmZGV2X3ByaXYtPmNsaWVudHMpOwogCWludGVsX2d0X2RyaXZlcl9sYXRlX3JlbGVh c2UoJmRldl9wcml2LT5ndCk7CiAJdmx2X3N1c3BlbmRfY2xlYW51cChkZXZfcHJpdik7CiAJaTkx NV93b3JrcXVldWVzX2NsZWFudXAoZGV2X3ByaXYpOwpAQCAtMTAxMyw2ICsxMDE4LDcgQEAgc3Rh dGljIHZvaWQgaTkxNV9kcml2ZXJfcG9zdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBkcm1fZmlsZSAqZmlsZSkKIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxl X3ByaXYgPSBmaWxlLT5kcml2ZXJfcHJpdjsKIAogCWk5MTVfZ2VtX2NvbnRleHRfY2xvc2UoZmls ZSk7CisJaTkxNV9kcm1fY2xpZW50X2Nsb3NlKGZpbGVfcHJpdi0+Y2xpZW50KTsKIAogCWtmcmVl X3JjdShmaWxlX3ByaXYsIHJjdSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDdlZmI1 MDFlMjJkMi4uOTljZjg2MWRmOTJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTkzLDYg KzkzLDcgQEAKICNpbmNsdWRlICJpbnRlbF93YWtlcmVmLmgiCiAjaW5jbHVkZSAiaW50ZWxfd29w Y20uaCIKIAorI2luY2x1ZGUgImk5MTVfZHJtX2NsaWVudC5oIgogI2luY2x1ZGUgImk5MTVfZ2Vt LmgiCiAjaW5jbHVkZSAiaTkxNV9nZW1fZ3R0LmgiCiAjaW5jbHVkZSAiaTkxNV9ncHVfZXJyb3Iu aCIKQEAgLTIxOSw2ICsyMjAsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlIHsKIAkv KiogYmFuX3Njb3JlOiBBY2N1bXVsYXRlZCBzY29yZSBvZiBhbGwgY3R4IGJhbnMgYW5kIGZhc3Qg aGFuZ3MuICovCiAJYXRvbWljX3QgYmFuX3Njb3JlOwogCXVuc2lnbmVkIGxvbmcgaGFuZ190aW1l c3RhbXA7CisKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQ7CiB9OwogCiAvKiBJbnRl cmZhY2UgaGlzdG9yeToKQEAgLTEyMDMsNiArMTIwNiw4IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlIHsKIAogCXN0cnVjdCBpOTE1X3BtdSBwbXU7CiAKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50 cyBjbGllbnRzOworCiAJc3RydWN0IGk5MTVfaGRjcF9jb21wX21hc3RlciAqaGRjcF9tYXN0ZXI7 CiAJYm9vbCBoZGNwX2NvbXBfYWRkZWQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDli MDRkZmY1ZWIzMi4uNmYzNDVkNDAzNmJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTEx ODksMjUgKzExODksNDAgQEAgaW50IGk5MTVfZ2VtX2ZyZWV6ZV9sYXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KQogaW50IGk5MTVfZ2VtX29wZW4oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZmls ZV9wcml2YXRlICpmaWxlX3ByaXY7Ci0JaW50IHJldDsKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50 ICpjbGllbnQ7CisJaW50IHJldCA9IC1FTk9NRU07CiAKIAlEUk1fREVCVUcoIlxuIik7CiAKIAlm aWxlX3ByaXYgPSBremFsbG9jKHNpemVvZigqZmlsZV9wcml2KSwgR0ZQX0tFUk5FTCk7CiAJaWYg KCFmaWxlX3ByaXYpCi0JCXJldHVybiAtRU5PTUVNOworCQlnb3RvIGVycl9hbGxvYzsKKworCWNs aWVudCA9IGk5MTVfZHJtX2NsaWVudF9hZGQoJmk5MTUtPmNsaWVudHMsIGN1cnJlbnQpOworCWlm IChJU19FUlIoY2xpZW50KSkgeworCQlyZXQgPSBQVFJfRVJSKGNsaWVudCk7CisJCWdvdG8gZXJy X2NsaWVudDsKKwl9CiAKIAlmaWxlLT5kcml2ZXJfcHJpdiA9IGZpbGVfcHJpdjsKIAlmaWxlX3By aXYtPmRldl9wcml2ID0gaTkxNTsKIAlmaWxlX3ByaXYtPmZpbGUgPSBmaWxlOworCWZpbGVfcHJp di0+Y2xpZW50ID0gY2xpZW50OwogCiAJZmlsZV9wcml2LT5ic2RfZW5naW5lID0gLTE7CiAJZmls ZV9wcml2LT5oYW5nX3RpbWVzdGFtcCA9IGppZmZpZXM7CiAKIAlyZXQgPSBpOTE1X2dlbV9jb250 ZXh0X29wZW4oaTkxNSwgZmlsZSk7CiAJaWYgKHJldCkKLQkJa2ZyZWUoZmlsZV9wcml2KTsKKwkJ Z290byBlcnJfY29udGV4dDsKIAorCXJldHVybiAwOworCitlcnJfY29udGV4dDoKKwlpOTE1X2Ry bV9jbGllbnRfY2xvc2UoY2xpZW50KTsKK2Vycl9jbGllbnQ6CisJa2ZyZWUoZmlsZV9wcml2KTsK K2Vycl9hbGxvYzoKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMK aW5kZXggNDVkMzJlZjQyNzg3Li43MWM0YjgyYTEwNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc3lzZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5 c2ZzLmMKQEAgLTU2MCw2ICs1NjAsMTEgQEAgdm9pZCBpOTE1X3NldHVwX3N5c2ZzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzdHJ1Y3QgZGV2aWNlICprZGV2ID0gZGV2X3By aXYtPmRybS5wcmltYXJ5LT5rZGV2OwogCWludCByZXQ7CiAKKwlkZXZfcHJpdi0+Y2xpZW50cy5y b290ID0KKwkJa29iamVjdF9jcmVhdGVfYW5kX2FkZCgiY2xpZW50cyIsICZrZGV2LT5rb2JqKTsK KwlpZiAoIWRldl9wcml2LT5jbGllbnRzLnJvb3QpCisJCWRybV93YXJuKCZkZXZfcHJpdi0+ZHJt LCAiUGVyLWNsaWVudCBzeXNmcyBzZXR1cCBmYWlsZWRcbiIpOworCiAjaWZkZWYgQ09ORklHX1BN CiAJaWYgKEhBU19SQzYoZGV2X3ByaXYpKSB7CiAJCXJldCA9IHN5c2ZzX21lcmdlX2dyb3VwKCZr ZGV2LT5rb2JqLApAQCAtNjI3LDQgKzYzMiw3IEBAIHZvaWQgaTkxNV90ZWFyZG93bl9zeXNmcyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3lzZnNfdW5tZXJnZV9ncm91cCgm a2Rldi0+a29iaiwgJnJjNl9hdHRyX2dyb3VwKTsKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZrZGV2 LT5rb2JqLCAmcmM2cF9hdHRyX2dyb3VwKTsKICNlbmRpZgorCisJaWYgKGRldl9wcml2LT5jbGll bnRzLnJvb3QpCisJCWtvYmplY3RfcHV0KGRldl9wcml2LT5jbGllbnRzLnJvb3QpOwogfQotLSAK Mi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK