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.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,HK_RANDOM_FROM,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 710E1C433B4 for ; Thu, 13 May 2021 11:00:20 +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 232796143E for ; Thu, 13 May 2021 11:00:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 232796143E 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 BDB4C6E87D; Thu, 13 May 2021 11:00:14 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 286DD6E879; Thu, 13 May 2021 11:00:12 +0000 (UTC) IronPort-SDR: ar+mLABCh2WzbxQ22jnfW+3Yslbj2EE0EPHrBj9kUtg/xioWDnL5BgqW8YiSE2KlKk/qqEcL1v t0KrPT7n5eLg== X-IronPort-AV: E=McAfee;i="6200,9189,9982"; a="187048069" X-IronPort-AV: E=Sophos;i="5.82,296,1613462400"; d="scan'208";a="187048069" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2021 04:00:11 -0700 IronPort-SDR: XAf2XGpzVYQVDKdadks1L5CUPuUvzB/SpNus/JZK+rQ8orzIScX2R2Jx09sNLfql56Aoqh+LLx FbbKZf+xj0Xw== X-IronPort-AV: E=Sophos;i="5.82,296,1613462400"; d="scan'208";a="400930390" Received: from hcadcock-mobl1.ger.corp.intel.com (HELO tursulin-mobl2.home) ([10.213.209.166]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2021 04:00:10 -0700 From: Tvrtko Ursulin To: Intel-gfx@lists.freedesktop.org Date: Thu, 13 May 2021 11:59:56 +0100 Message-Id: <20210513110002.3641705-2-tvrtko.ursulin@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210513110002.3641705-1-tvrtko.ursulin@linux.intel.com> References: <20210513110002.3641705-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 1/7] 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: dri-devel@lists.freedesktop.org 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 by51awpMaW5rOiBodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvbXNnaWQv MjAyMTAxMjQxNTMxMzYuMTkxMjQtMi1jaHJpc0BjaHJpcy13aWxzb24uY28udWsKLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICB8ICAgNSArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcm1fY2xpZW50LmMgfCAyMDAgKysrKysrKysrKysrKysrKysrKysrKysr KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcm1fY2xpZW50LmggfCAgNzEgKysrKysrKysr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICB8ICAgNiArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICB8ICAgNSArCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jICAgICAgICB8ICAyMSArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfc3lzZnMuYyAgICAgIHwgICA4ICsKIDcgZmlsZXMgY2hhbmdlZCwgMzExIGluc2VydGlvbnMo KyksIDUgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcm1fY2xpZW50LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RybV9jbGllbnQuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5kZXggZDBkOTM2ZDkx MzdiLi5lODljZTU0MWZlNjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2Vm aWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCkBAIC0zMyw4ICszMyw5IEBA IHN1YmRpci1jY2ZsYWdzLXkgKz0gLUkkKHNyY3RyZWUpLyQoc3JjKQogIyBQbGVhc2Uga2VlcCB0 aGVzZSBidWlsZCBsaXN0cyBzb3J0ZWQhCiAKICMgY29yZSBkcml2ZXIgY29kZQotaTkxNS15ICs9 IGk5MTVfZHJ2Lm8gXAotCSAgaTkxNV9jb25maWcubyBcCitpOTE1LXkgKz0gaTkxNV9jb25maWcu byBcCisJICBpOTE1X2RybV9jbGllbnQubyBcCisJICBpOTE1X2Rydi5vIFwKIAkgIGk5MTVfaXJx Lm8gXAogCSAgaTkxNV9nZXRwYXJhbS5vIFwKIAkgIGk5MTVfbWl0aWdhdGlvbnMubyBcCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uN2MyZDM2ODYwYWMxCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcm1fY2xpZW50LmMKQEAgLTAsMCArMSwyMDAgQEAKKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAyMCBJbnRlbCBD b3Jwb3JhdGlvbgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxs aW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworI2luY2x1ZGUgImk5MTVf ZHJtX2NsaWVudC5oIgorI2luY2x1ZGUgImk5MTVfZ2VtLmgiCisjaW5jbHVkZSAiaTkxNV91dGls cy5oIgorCit2b2lkIGk5MTVfZHJtX2NsaWVudHNfaW5pdChzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50 cyAqY2xpZW50cywKKwkJCSAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCWNs aWVudHMtPmk5MTUgPSBpOTE1OworCisJY2xpZW50cy0+bmV4dF9pZCA9IDA7CisJeGFfaW5pdF9m bGFncygmY2xpZW50cy0+eGFycmF5LCBYQV9GTEFHU19BTExPQyk7Cit9CisKK3N0YXRpYyBzc2l6 ZV90CitzaG93X2NsaWVudF9uYW1lKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBkZXZpY2Vf YXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGk5MTVfZHJtX2NsaWVudCAq Y2xpZW50ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHR5cGVvZigqY2xpZW50KSwgYXR0ci5uYW1l KTsKKworCXJldHVybiBzeXNmc19lbWl0KGJ1ZiwKKwkJCSAgUkVBRF9PTkNFKGNsaWVudC0+Y2xv c2VkKSA/ICI8JXM+XG4iIDogIiVzXG4iLAorCQkJICBjbGllbnQtPm5hbWUpOworfQorCitzdGF0 aWMgc3NpemVfdAorc2hvd19jbGllbnRfcGlkKHN0cnVjdCBkZXZpY2UgKmtkZXYsIHN0cnVjdCBk ZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGk5MTVfZHJtX2Ns aWVudCAqY2xpZW50ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHR5cGVvZigqY2xpZW50KSwgYXR0 ci5waWQpOworCisJcmV0dXJuIHN5c2ZzX2VtaXQoYnVmLAorCQkJICBSRUFEX09OQ0UoY2xpZW50 LT5jbG9zZWQpID8gIjwldT5cbiIgOiAiJXVcbiIsCisJCQkgIHBpZF9ucihjbGllbnQtPnBpZCkp OworfQorCitzdGF0aWMgaW50IF9fY2xpZW50X3JlZ2lzdGVyX3N5c2ZzKHN0cnVjdCBpOTE1X2Ry bV9jbGllbnQgKmNsaWVudCkKK3sKKwljb25zdCBzdHJ1Y3QgeworCQljb25zdCBjaGFyICpuYW1l OworCQlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0cjsKKwkJc3NpemVfdCAoKnNob3cpKHN0 cnVjdCBkZXZpY2UgKmRldiwKKwkJCQlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJ CQljaGFyICpidWYpOworCX0gZmlsZXNbXSA9IHsKKwkJeyAibmFtZSIsICZjbGllbnQtPmF0dHIu bmFtZSwgc2hvd19jbGllbnRfbmFtZSB9LAorCQl7ICJwaWQiLCAmY2xpZW50LT5hdHRyLnBpZCwg c2hvd19jbGllbnRfcGlkIH0sCisJfTsKKwl1bnNpZ25lZCBpbnQgaTsKKwljaGFyIGJ1ZlsxNl07 CisJaW50IHJldDsKKworCXJldCA9IHNjbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXUiLCBj bGllbnQtPmlkKTsKKwlpZiAocmV0ID09IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsK KworCWNsaWVudC0+cm9vdCA9IGtvYmplY3RfY3JlYXRlX2FuZF9hZGQoYnVmLCBjbGllbnQtPmNs aWVudHMtPnJvb3QpOworCWlmICghY2xpZW50LT5yb290KQorCQlyZXR1cm4gLUVOT01FTTsKKwor CWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGZpbGVzKTsgaSsrKSB7CisJCXN0cnVjdCBkZXZp Y2VfYXR0cmlidXRlICphdHRyID0gZmlsZXNbaV0uYXR0cjsKKworCQlzeXNmc19hdHRyX2luaXQo JmF0dHItPmF0dHIpOworCisJCWF0dHItPmF0dHIubmFtZSA9IGZpbGVzW2ldLm5hbWU7CisJCWF0 dHItPmF0dHIubW9kZSA9IDA0NDQ7CisJCWF0dHItPnNob3cgPSBmaWxlc1tpXS5zaG93OworCisJ CXJldCA9IHN5c2ZzX2NyZWF0ZV9maWxlKGNsaWVudC0+cm9vdCwgJmF0dHItPmF0dHIpOworCQlp ZiAocmV0KQorCQkJYnJlYWs7CisJfQorCisJaWYgKHJldCkKKwkJa29iamVjdF9wdXQoY2xpZW50 LT5yb290KTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIF9fY2xpZW50X3VucmVn aXN0ZXJfc3lzZnMoc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50KQoreworCWtvYmplY3Rf cHV0KGZldGNoX2FuZF96ZXJvKCZjbGllbnQtPnJvb3QpKTsKK30KKworc3RhdGljIGludAorX19p OTE1X2RybV9jbGllbnRfcmVnaXN0ZXIoc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50LAor CQkJICAgc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQoreworCXN0cnVjdCBpOTE1X2RybV9jbGll bnRzICpjbGllbnRzID0gY2xpZW50LT5jbGllbnRzOworCWNoYXIgKm5hbWU7CisJaW50IHJldDsK KworCW5hbWUgPSBrc3RyZHVwKHRhc2stPmNvbW0sIEdGUF9LRVJORUwpOworCWlmICghbmFtZSkK KwkJcmV0dXJuIC1FTk9NRU07CisKKwljbGllbnQtPnBpZCA9IGdldF90YXNrX3BpZCh0YXNrLCBQ SURUWVBFX1BJRCk7CisJY2xpZW50LT5uYW1lID0gbmFtZTsKKworCWlmICghY2xpZW50cy0+cm9v dCkKKwkJcmV0dXJuIDA7IC8qIGludGVsX2ZiZGV2X2luaXQgcmVnaXN0ZXJzIGEgY2xpZW50IGJl Zm9yZSBzeXNmcyAqLworCisJcmV0ID0gX19jbGllbnRfcmVnaXN0ZXJfc3lzZnMoY2xpZW50KTsK KwlpZiAocmV0KQorCQlnb3RvIGVycl9zeXNmczsKKworCXJldHVybiAwOworCitlcnJfc3lzZnM6 CisJcHV0X3BpZChjbGllbnQtPnBpZCk7CisJa2ZyZWUoY2xpZW50LT5uYW1lKTsKKworCXJldHVy biByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIF9faTkxNV9kcm1fY2xpZW50X3VucmVnaXN0ZXIoc3Ry dWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50KQoreworCV9fY2xpZW50X3VucmVnaXN0ZXJfc3lz ZnMoY2xpZW50KTsKKworCXB1dF9waWQoZmV0Y2hfYW5kX3plcm8oJmNsaWVudC0+cGlkKSk7CisJ a2ZyZWUoZmV0Y2hfYW5kX3plcm8oJmNsaWVudC0+bmFtZSkpOworfQorCitzdGF0aWMgdm9pZCBf X3JjdV9pOTE1X2RybV9jbGllbnRfZnJlZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndyaykKK3sKKwlz dHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQgPQorCQljb250YWluZXJfb2Yod3JrLCB0eXBl b2YoKmNsaWVudCksIHJjdS53b3JrKTsKKworCV9faTkxNV9kcm1fY2xpZW50X3VucmVnaXN0ZXIo Y2xpZW50KTsKKworCXhhX2VyYXNlKCZjbGllbnQtPmNsaWVudHMtPnhhcnJheSwgY2xpZW50LT5p ZCk7CisJa2ZyZWUoY2xpZW50KTsKK30KKworc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqCitpOTE1 X2RybV9jbGllbnRfYWRkKHN0cnVjdCBpOTE1X2RybV9jbGllbnRzICpjbGllbnRzLCBzdHJ1Y3Qg dGFza19zdHJ1Y3QgKnRhc2spCit7CisJc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqY2xpZW50Owor CWludCByZXQ7CisKKwljbGllbnQgPSBremFsbG9jKHNpemVvZigqY2xpZW50KSwgR0ZQX0tFUk5F TCk7CisJaWYgKCFjbGllbnQpCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJa3JlZl9p bml0KCZjbGllbnQtPmtyZWYpOworCWNsaWVudC0+Y2xpZW50cyA9IGNsaWVudHM7CisJSU5JVF9S Q1VfV09SSygmY2xpZW50LT5yY3UsIF9fcmN1X2k5MTVfZHJtX2NsaWVudF9mcmVlKTsKKworCXJl dCA9IHhhX2FsbG9jX2N5Y2xpYygmY2xpZW50cy0+eGFycmF5LCAmY2xpZW50LT5pZCwgY2xpZW50 LAorCQkJICAgICAgeGFfbGltaXRfMzJiLCAmY2xpZW50cy0+bmV4dF9pZCwgR0ZQX0tFUk5FTCk7 CisJaWYgKHJldCA8IDApCisJCWdvdG8gZXJyX2lkOworCisJcmV0ID0gX19pOTE1X2RybV9jbGll bnRfcmVnaXN0ZXIoY2xpZW50LCB0YXNrKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9yZWdpc3Rl cjsKKworCXJldHVybiBjbGllbnQ7CisKK2Vycl9yZWdpc3RlcjoKKwl4YV9lcmFzZSgmY2xpZW50 cy0+eGFycmF5LCBjbGllbnQtPmlkKTsKK2Vycl9pZDoKKwlrZnJlZShjbGllbnQpOworCisJcmV0 dXJuIEVSUl9QVFIocmV0KTsKK30KKwordm9pZCBfX2k5MTVfZHJtX2NsaWVudF9mcmVlKHN0cnVj dCBrcmVmICprcmVmKQoreworCXN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCA9CisJCWNv bnRhaW5lcl9vZihrcmVmLCB0eXBlb2YoKmNsaWVudCksIGtyZWYpOworCisJcXVldWVfcmN1X3dv cmsoc3lzdGVtX3dxLCAmY2xpZW50LT5yY3UpOworfQorCit2b2lkIGk5MTVfZHJtX2NsaWVudF9j bG9zZShzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQpCit7CisJR0VNX0JVR19PTihSRUFE X09OQ0UoY2xpZW50LT5jbG9zZWQpKTsKKwlXUklURV9PTkNFKGNsaWVudC0+Y2xvc2VkLCB0cnVl KTsKKwlpOTE1X2RybV9jbGllbnRfcHV0KGNsaWVudCk7Cit9CisKK3ZvaWQgaTkxNV9kcm1fY2xp ZW50c19maW5pKHN0cnVjdCBpOTE1X2RybV9jbGllbnRzICpjbGllbnRzKQoreworCXdoaWxlICgh eGFfZW1wdHkoJmNsaWVudHMtPnhhcnJheSkpIHsKKwkJcmN1X2JhcnJpZXIoKTsKKwkJZmx1c2hf d29ya3F1ZXVlKHN5c3RlbV93cSk7CisJfQorCisJeGFfZGVzdHJveSgmY2xpZW50cy0+eGFycmF5 KTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJtX2NsaWVudC5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcm1fY2xpZW50LmgKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xNTBmOGU4ZDM0ZTYKLS0tIC9kZXYvbnVsbAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RybV9jbGllbnQuaApAQCAtMCwwICsxLDcxIEBA CisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCisvKgorICogQ29weXJpZ2h0IMKp IDIwMjAgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaWZuZGVmIF9fSTkxNV9EUk1fQ0xJRU5U X0hfXworI2RlZmluZSBfX0k5MTVfRFJNX0NMSUVOVF9IX18KKworI2luY2x1ZGUgPGxpbnV4L2Rl dmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tvYmplY3QuaD4KKyNpbmNsdWRlIDxsaW51eC9rcmVm Lmg+CisjaW5jbHVkZSA8bGludXgvcGlkLmg+CisjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4K KyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3hhcnJheS5oPgorCitz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsKKworc3RydWN0IGk5MTVfZHJtX2NsaWVudHMgeworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1OworCisJc3RydWN0IHhhcnJheSB4YXJyYXk7CisJ dTMyIG5leHRfaWQ7CisKKwlzdHJ1Y3Qga29iamVjdCAqcm9vdDsKK307CisKK3N0cnVjdCBpOTE1 X2RybV9jbGllbnQgeworCXN0cnVjdCBrcmVmIGtyZWY7CisKKwlzdHJ1Y3QgcmN1X3dvcmsgcmN1 OworCisJdW5zaWduZWQgaW50IGlkOworCXN0cnVjdCBwaWQgKnBpZDsKKwljaGFyICpuYW1lOwor CWJvb2wgY2xvc2VkOworCisJc3RydWN0IGk5MTVfZHJtX2NsaWVudHMgKmNsaWVudHM7CisKKwlz dHJ1Y3Qga29iamVjdCAqcm9vdDsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0 ZSBwaWQ7CisJCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIG5hbWU7CisJfSBhdHRyOworfTsKKwor dm9pZCBpOTE1X2RybV9jbGllbnRzX2luaXQoc3RydWN0IGk5MTVfZHJtX2NsaWVudHMgKmNsaWVu dHMsCisJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CisKK3N0YXRpYyBpbmxp bmUgc3RydWN0IGk5MTVfZHJtX2NsaWVudCAqCitpOTE1X2RybV9jbGllbnRfZ2V0KHN0cnVjdCBp OTE1X2RybV9jbGllbnQgKmNsaWVudCkKK3sKKwlrcmVmX2dldCgmY2xpZW50LT5rcmVmKTsKKwly ZXR1cm4gY2xpZW50OworfQorCit2b2lkIF9faTkxNV9kcm1fY2xpZW50X2ZyZWUoc3RydWN0IGty ZWYgKmtyZWYpOworCitzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9kcm1fY2xpZW50X3B1dChzdHJ1 Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQpCit7CisJa3JlZl9wdXQoJmNsaWVudC0+a3JlZiwg X19pOTE1X2RybV9jbGllbnRfZnJlZSk7Cit9CisKK3ZvaWQgaTkxNV9kcm1fY2xpZW50X2Nsb3Nl KHN0cnVjdCBpOTE1X2RybV9jbGllbnQgKmNsaWVudCk7CisKK3N0cnVjdCBpOTE1X2RybV9jbGll bnQgKmk5MTVfZHJtX2NsaWVudF9hZGQoc3RydWN0IGk5MTVfZHJtX2NsaWVudHMgKmNsaWVudHMs CisJCQkJCSAgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spOworCit2b2lkIGk5MTVfZHJtX2Ns aWVudHNfZmluaShzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50cyAqY2xpZW50cyk7CisKKyNlbmRpZiAv KiAhX19JOTE1X0RSTV9DTElFTlRfSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCA1 MTE4ZGM4Mzg2YjIuLjJiZTI2YWVhMDM1YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC02 OSw2ICs2OSw3IEBACiAjaW5jbHVkZSAiZ3QvaW50ZWxfcmM2LmgiCiAKICNpbmNsdWRlICJpOTE1 X2RlYnVnZnMuaCIKKyNpbmNsdWRlICJpOTE1X2RybV9jbGllbnQuaCIKICNpbmNsdWRlICJpOTE1 X2Rydi5oIgogI2luY2x1ZGUgImk5MTVfaW9jMzIuaCIKICNpbmNsdWRlICJpOTE1X2lycS5oIgpA QCAtMzM5LDYgKzM0MCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJfZWFybHlfcHJvYmUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJaW50ZWxfZ3RfaW5pdF9lYXJseSgm ZGV2X3ByaXYtPmd0LCBkZXZfcHJpdik7CiAKKwlpOTE1X2RybV9jbGllbnRzX2luaXQoJmRldl9w cml2LT5jbGllbnRzLCBkZXZfcHJpdik7CisKIAlpOTE1X2dlbV9pbml0X2Vhcmx5KGRldl9wcml2 KTsKIAogCS8qIFRoaXMgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGFueSBjYWxscyB0byBIQVNfUENI XyogKi8KQEAgLTM1OCw2ICszNjEsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJpdmVyX2Vhcmx5X3By b2JlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogZXJyX2dlbToKIAlpOTE1 X2dlbV9jbGVhbnVwX2Vhcmx5KGRldl9wcml2KTsKKwlpOTE1X2RybV9jbGllbnRzX2ZpbmkoJmRl dl9wcml2LT5jbGllbnRzKTsKIAlpbnRlbF9ndF9kcml2ZXJfbGF0ZV9yZWxlYXNlKCZkZXZfcHJp di0+Z3QpOwogCXZsdl9zdXNwZW5kX2NsZWFudXAoZGV2X3ByaXYpOwogZXJyX3dvcmtxdWV1ZXM6 CkBAIC0zNzUsNiArMzc5LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfbGF0ZV9yZWxlYXNl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpbnRlbF9pcnFfZmluaShkZXZf cHJpdik7CiAJaW50ZWxfcG93ZXJfZG9tYWluc19jbGVhbnVwKGRldl9wcml2KTsKIAlpOTE1X2dl bV9jbGVhbnVwX2Vhcmx5KGRldl9wcml2KTsKKwlpOTE1X2RybV9jbGllbnRzX2ZpbmkoJmRldl9w cml2LT5jbGllbnRzKTsKIAlpbnRlbF9ndF9kcml2ZXJfbGF0ZV9yZWxlYXNlKCZkZXZfcHJpdi0+ Z3QpOwogCXZsdl9zdXNwZW5kX2NsZWFudXAoZGV2X3ByaXYpOwogCWk5MTVfd29ya3F1ZXVlc19j bGVhbnVwKGRldl9wcml2KTsKQEAgLTk4NCw2ICs5ODksNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2Ry aXZlcl9wb3N0Y2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpm aWxlKQogCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRy aXZlcl9wcml2OwogCiAJaTkxNV9nZW1fY29udGV4dF9jbG9zZShmaWxlKTsKKwlpOTE1X2RybV9j bGllbnRfY2xvc2UoZmlsZV9wcml2LT5jbGllbnQpOwogCiAJa2ZyZWVfcmN1KGZpbGVfcHJpdiwg cmN1KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNjEzMDhjZTE5MDU5Li42YzBmMTIy NDgxNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtOTUsNiArOTUsNyBAQAogI2luY2x1 ZGUgImludGVsX3dha2VyZWYuaCIKICNpbmNsdWRlICJpbnRlbF93b3BjbS5oIgogCisjaW5jbHVk ZSAiaTkxNV9kcm1fY2xpZW50LmgiCiAjaW5jbHVkZSAiaTkxNV9nZW0uaCIKICNpbmNsdWRlICJp OTE1X2dlbV9ndHQuaCIKICNpbmNsdWRlICJpOTE1X2dwdV9lcnJvci5oIgpAQCAtMjIxLDYgKzIy Miw4IEBAIHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgewogCS8qKiBiYW5fc2NvcmU6IEFj Y3VtdWxhdGVkIHNjb3JlIG9mIGFsbCBjdHggYmFucyBhbmQgZmFzdCBoYW5ncy4gKi8KIAlhdG9t aWNfdCBiYW5fc2NvcmU7CiAJdW5zaWduZWQgbG9uZyBoYW5nX3RpbWVzdGFtcDsKKworCXN0cnVj dCBpOTE1X2RybV9jbGllbnQgKmNsaWVudDsKIH07CiAKIC8qIEludGVyZmFjZSBoaXN0b3J5OgpA QCAtMTE2MCw2ICsxMTYzLDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCiAJc3RydWN0 IGk5MTVfcG11IHBtdTsKIAorCXN0cnVjdCBpOTE1X2RybV9jbGllbnRzIGNsaWVudHM7CisKIAlz dHJ1Y3QgaTkxNV9oZGNwX2NvbXBfbWFzdGVyICpoZGNwX21hc3RlcjsKIAlib29sIGhkY3BfY29t cF9hZGRlZDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggZDAwMThjNWY4OGJkLi44NjQz YjJhNjdmNmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMTE4MiwyNSArMTE4Miw0MCBA QCB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogaW50IGk5MTVfZ2VtX29wZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUs IHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRl ICpmaWxlX3ByaXY7Ci0JaW50IHJldDsKKwlzdHJ1Y3QgaTkxNV9kcm1fY2xpZW50ICpjbGllbnQ7 CisJaW50IHJldCA9IC1FTk9NRU07CiAKIAlEUk1fREVCVUcoIlxuIik7CiAKIAlmaWxlX3ByaXYg PSBremFsbG9jKHNpemVvZigqZmlsZV9wcml2KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFmaWxlX3By aXYpCi0JCXJldHVybiAtRU5PTUVNOworCQlnb3RvIGVycl9hbGxvYzsKKworCWNsaWVudCA9IGk5 MTVfZHJtX2NsaWVudF9hZGQoJmk5MTUtPmNsaWVudHMsIGN1cnJlbnQpOworCWlmIChJU19FUlIo Y2xpZW50KSkgeworCQlyZXQgPSBQVFJfRVJSKGNsaWVudCk7CisJCWdvdG8gZXJyX2NsaWVudDsK Kwl9CiAKIAlmaWxlLT5kcml2ZXJfcHJpdiA9IGZpbGVfcHJpdjsKIAlmaWxlX3ByaXYtPmRldl9w cml2ID0gaTkxNTsKIAlmaWxlX3ByaXYtPmZpbGUgPSBmaWxlOworCWZpbGVfcHJpdi0+Y2xpZW50 ID0gY2xpZW50OwogCiAJZmlsZV9wcml2LT5ic2RfZW5naW5lID0gLTE7CiAJZmlsZV9wcml2LT5o YW5nX3RpbWVzdGFtcCA9IGppZmZpZXM7CiAKIAlyZXQgPSBpOTE1X2dlbV9jb250ZXh0X29wZW4o aTkxNSwgZmlsZSk7CiAJaWYgKHJldCkKLQkJa2ZyZWUoZmlsZV9wcml2KTsKKwkJZ290byBlcnJf Y29udGV4dDsKKworCXJldHVybiAwOwogCitlcnJfY29udGV4dDoKKwlpOTE1X2RybV9jbGllbnRf Y2xvc2UoY2xpZW50KTsKK2Vycl9jbGllbnQ6CisJa2ZyZWUoZmlsZV9wcml2KTsKK2Vycl9hbGxv YzoKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKaW5kZXggNGM2 YjVkNTJiNWNhLi5lN2FlZjI5MDY4YWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfc3lzZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKQEAg LTU1NCw2ICs1NTQsMTEgQEAgdm9pZCBpOTE1X3NldHVwX3N5c2ZzKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIAlzdHJ1Y3QgZGV2aWNlICprZGV2ID0gZGV2X3ByaXYtPmRybS5w cmltYXJ5LT5rZGV2OwogCWludCByZXQ7CiAKKwlkZXZfcHJpdi0+Y2xpZW50cy5yb290ID0KKwkJ a29iamVjdF9jcmVhdGVfYW5kX2FkZCgiY2xpZW50cyIsICZrZGV2LT5rb2JqKTsKKwlpZiAoIWRl dl9wcml2LT5jbGllbnRzLnJvb3QpCisJCWRybV93YXJuKCZkZXZfcHJpdi0+ZHJtLCAiUGVyLWNs aWVudCBzeXNmcyBzZXR1cCBmYWlsZWRcbiIpOworCiAjaWZkZWYgQ09ORklHX1BNCiAJaWYgKEhB U19SQzYoZGV2X3ByaXYpKSB7CiAJCXJldCA9IHN5c2ZzX21lcmdlX2dyb3VwKCZrZGV2LT5rb2Jq LApAQCAtNjIxLDQgKzYyNiw3IEBAIHZvaWQgaTkxNV90ZWFyZG93bl9zeXNmcyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3lzZnNfdW5tZXJnZV9ncm91cCgma2Rldi0+a29i aiwgJnJjNl9hdHRyX2dyb3VwKTsKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZrZGV2LT5rb2JqLCAm cmM2cF9hdHRyX2dyb3VwKTsKICNlbmRpZgorCisJaWYgKGRldl9wcml2LT5jbGllbnRzLnJvb3Qp CisJCWtvYmplY3RfcHV0KGRldl9wcml2LT5jbGllbnRzLnJvb3QpOwogfQotLSAKMi4zMC4yCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK