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=-13.9 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, 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 639DCC433DB for ; Wed, 24 Feb 2021 14:42:36 +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 02D1C64EC8 for ; Wed, 24 Feb 2021 14:42:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 02D1C64EC8 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 91E216EAD4; Wed, 24 Feb 2021 14:42:35 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 753A56EAD2 for ; Wed, 24 Feb 2021 14:42:32 +0000 (UTC) IronPort-SDR: 4R02zhLGxU+jMG86S97jfjRnVvP4CLLbw69pBd0BTBZLMzE7vgz+w5Gy8Ldlz3c/ycxtY10dny UacWiCw1HNnw== X-IronPort-AV: E=McAfee;i="6000,8403,9904"; a="172841924" X-IronPort-AV: E=Sophos;i="5.81,203,1610438400"; d="scan'208";a="172841924" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Feb 2021 06:42:31 -0800 IronPort-SDR: Oeh8EQQGz+MrVtWy3ZSUe+9/JWIg3zgQDkBVp0IJlxtgYnD8pwsQ/1SWw8iEyK6dj15/7N2WSG VSH2HygwwSTg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,203,1610438400"; d="scan'208";a="431696751" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.171]) by FMSMGA003.fm.intel.com with SMTP; 24 Feb 2021 06:42:29 -0800 Received: by stinkbox (sSMTP sendmail emulation); Wed, 24 Feb 2021 16:42:28 +0200 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Wed, 24 Feb 2021 16:42:13 +0200 Message-Id: <20210224144214.24803-6-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210224144214.24803-1-ville.syrjala@linux.intel.com> References: <20210224144214.24803-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 5/6] drm/i915: Add encoder->is_clock_enabled() 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" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClN1 cHBvcnQgcmVhZGluZyBvdXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIERESSBjbG9jay4KCk5v dCBzdXJlIHdlIHJlYWxseSB3YW50IHRoaXMuIFNlZW1zIGEgYml0IGV4Y2Vzc2l2ZSBqdXN0IHRv CnJlc3RvcmUgdGhlIGRlYnVnIHByaW50IHRvIGljbF9zYW5pdGl6ZV9lbmNvZGVyX3BsbF9tYXBw aW5nKCk/CkJ1dCBtYXliZSB0aGVyZSdzIG1vcmUgdXNlIGZvciBpdD8KClNpZ25lZC1vZmYtYnk6 IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pY2xfZHNpLmMgICAgICAgIHwgIDE5ICsrKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jcnQuYyAgICAgIHwgICAxICsKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgICAgICB8IDEyMyArKysrKysrKysr KysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmggICAgICB8 ICAgMSArCiAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAg IDQgKwogNSBmaWxlcyBjaGFuZ2VkLCAxNDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ljbF9kc2kuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jCmluZGV4IDI5ZmU0OTE5MzkyYS4u N2YyYWJjMDg4YTY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lj bF9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ljbF9kc2kuYwpAQCAt NjU1LDYgKzY1NSwyNCBAQCBzdGF0aWMgdm9pZCBnZW4xMV9kc2lfdW5nYXRlX2Nsb2NrcyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5kcGxs LmxvY2spOwogfQogCitzdGF0aWMgYm9vbCBnZW4xMV9kc2lfaXNfY2xvY2tfZW5hYmxlZChzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKGVuY29kZXIpOworCWJvb2wgY2xvY2tfZW5h YmxlZCA9IGZhbHNlOworCWVudW0gcGh5IHBoeTsKKwl1MzIgdG1wOworCisJdG1wID0gaW50ZWxf ZGVfcmVhZChkZXZfcHJpdiwgSUNMX0RQQ0xLQV9DRkdDUjApOworCisJZm9yX2VhY2hfZHNpX3Bo eShwaHksIGludGVsX2RzaS0+cGh5cykgeworCQlpZiAoISh0bXAgJiBJQ0xfRFBDTEtBX0NGR0NS MF9ERElfQ0xLX09GRihwaHkpKSkKKwkJCWNsb2NrX2VuYWJsZWQgPSB0cnVlOworCX0KKworCXJl dHVybiBjbG9ja19lbmFibGVkOworfQorCiBzdGF0aWMgdm9pZCBnZW4xMV9kc2lfbWFwX3BsbChz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewpAQCAtMTkzOSw2ICsxOTU3LDcgQEAgdm9pZCBp Y2xfZHNpX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWVuY29kZXIt PnBvd2VyX2RvbWFpbiA9IFBPV0VSX0RPTUFJTl9QT1JUX0RTSTsKIAllbmNvZGVyLT5nZXRfcG93 ZXJfZG9tYWlucyA9IGdlbjExX2RzaV9nZXRfcG93ZXJfZG9tYWluczsKIAllbmNvZGVyLT5kaXNh YmxlX2Nsb2NrID0gZ2VuMTFfZHNpX2dhdGVfY2xvY2tzOworCWVuY29kZXItPmlzX2Nsb2NrX2Vu YWJsZWQgPSBnZW4xMV9kc2lfaXNfY2xvY2tfZW5hYmxlZDsKIAogCS8qIHJlZ2lzdGVyIERTSSBj b25uZWN0b3Igd2l0aCBEUk0gc3Vic3lzdGVtICovCiAJZHJtX2Nvbm5lY3Rvcl9pbml0KGRldiwg Y29ubmVjdG9yLCAmZ2VuMTFfZHNpX2Nvbm5lY3Rvcl9mdW5jcywKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2NydC5jCmluZGV4IGIwM2Y3NDA3NmY2NC4uN2YzZDExYzVjZTNlIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NydC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY3J0LmMKQEAgLTEwNzgsNiArMTA3 OCw3IEBAIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogCQljcnQtPmJhc2UucG9zdF9kaXNhYmxlID0gaHN3X3Bvc3RfZGlzYWJsZV9jcnQ7CiAJ CWNydC0+YmFzZS5lbmFibGVfY2xvY2sgPSBoc3dfZGRpX2VuYWJsZV9jbG9jazsKIAkJY3J0LT5i YXNlLmRpc2FibGVfY2xvY2sgPSBoc3dfZGRpX2Rpc2FibGVfY2xvY2s7CisJCWNydC0+YmFzZS5p c19jbG9ja19lbmFibGVkID0gaHN3X2RkaV9pc19jbG9ja19lbmFibGVkOwogCX0gZWxzZSB7CiAJ CWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkgewogCQkJY3J0LT5iYXNlLmNvbXB1dGVfY29u ZmlnID0gcGNoX2NydF9jb21wdXRlX2NvbmZpZzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2RkaS5jCmluZGV4IDU2ZjVmNTVhN2M4Zi4uN2Q0NzdjNDAwN2M3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKQEAgLTE1ODksNiArMTU4OSwxMiBAQCBz dGF0aWMgdm9pZCBfY25sX2RkaV9kaXNhYmxlX2Nsb2NrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1LCBpOTE1X3JlZ190IHJlZwogCW11dGV4X3VubG9jaygmaTkxNS0+ZHBsbC5sb2NrKTsK IH0KIAorc3RhdGljIGJvb2wgX2NubF9kZGlfaXNfY2xvY2tfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSwgaTkxNV9yZWdfdCByZWcsCisJCQkJICAgICAgdTMyIGNsa19vZmYp Cit7CisJcmV0dXJuICEoaW50ZWxfZGVfcmVhZChpOTE1LCByZWcpICYgY2xrX29mZik7Cit9CisK IHN0YXRpYyBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKgogX2NubF9kZGlfZ2V0X3BsbChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgaTkxNV9yZWdfdCByZWcsCiAJCSB1MzIgY2xrX3Nl bF9tYXNrLCB1MzIgY2xrX3NlbF9zaGlmdCkKQEAgLTE2MjUsNiArMTYzMSwxNSBAQCBzdGF0aWMg dm9pZCBhZGxzX2RkaV9kaXNhYmxlX2Nsb2NrKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KQogCQkJICAgICAgIElDTF9EUENMS0FfQ0ZHQ1IwX0RESV9DTEtfT0ZGKHBoeSkpOwogfQogCitz dGF0aWMgYm9vbCBhZGxzX2RkaV9pc19jbG9ja19lbmFibGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShl bmNvZGVyLT5iYXNlLmRldik7CisJZW51bSBwaHkgcGh5ID0gaW50ZWxfcG9ydF90b19waHkoaTkx NSwgZW5jb2Rlci0+cG9ydCk7CisKKwlyZXR1cm4gX2NubF9kZGlfaXNfY2xvY2tfZW5hYmxlZChp OTE1LCBBRExTX0RQQ0xLQV9DRkdDUihwaHkpLAorCQkJCQkgSUNMX0RQQ0xLQV9DRkdDUjBfRERJ X0NMS19PRkYocGh5KSk7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKmFk bHNfZGRpX2dldF9wbGwoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKQEAg LTE2NjAsNiArMTY3NSwxNSBAQCBzdGF0aWMgdm9pZCBya2xfZGRpX2Rpc2FibGVfY2xvY2soc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJCQkgICAgICAgUktMX0RQQ0xLQV9DRkdDUjBf RERJX0NMS19PRkYocGh5KSk7CiB9CiAKK3N0YXRpYyBib29sIHJrbF9kZGlfaXNfY2xvY2tfZW5h YmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOworCWVudW0gcGh5IHBo eSA9IGludGVsX3BvcnRfdG9fcGh5KGk5MTUsIGVuY29kZXItPnBvcnQpOworCisJcmV0dXJuIF9j bmxfZGRpX2lzX2Nsb2NrX2VuYWJsZWQoaTkxNSwgSUNMX0RQQ0xLQV9DRkdDUjAsCisJCQkJCSBS S0xfRFBDTEtBX0NGR0NSMF9ERElfQ0xLX09GRihwaHkpKTsKK30KKwogc3RhdGljIHN0cnVjdCBp bnRlbF9zaGFyZWRfZHBsbCAqcmtsX2RkaV9nZXRfcGxsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShlbmNv ZGVyLT5iYXNlLmRldik7CkBAIC0xNzA0LDYgKzE3MjgsMTUgQEAgc3RhdGljIHZvaWQgZGcxX2Rk aV9kaXNhYmxlX2Nsb2NrKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCQkJICAgICAg IERHMV9EUENMS0FfQ0ZHQ1IwX0RESV9DTEtfT0ZGKHBoeSkpOwogfQogCitzdGF0aWMgYm9vbCBk ZzFfZGRpX2lzX2Nsb2NrX2VuYWJsZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCit7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGVuY29kZXItPmJhc2Uu ZGV2KTsKKwllbnVtIHBoeSBwaHkgPSBpbnRlbF9wb3J0X3RvX3BoeShpOTE1LCBlbmNvZGVyLT5w b3J0KTsKKworCXJldHVybiBfY25sX2RkaV9pc19jbG9ja19lbmFibGVkKGk5MTUsIERHMV9EUENM S0FfQ0ZHQ1IwKHBoeSksCisJCQkJCSBERzFfRFBDTEtBX0NGR0NSMF9ERElfQ0xLX09GRihwaHkp KTsKK30KKwogc3RhdGljIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqZGcxX2RkaV9nZXRfcGxs KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CkBAIC0xNzM5LDYgKzE3NzIs MTUgQEAgc3RhdGljIHZvaWQgaWNsX2RkaV9jb21ib19kaXNhYmxlX2Nsb2NrKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyKQogCQkJICAgICAgIElDTF9EUENMS0FfQ0ZHQ1IwX0RESV9DTEtf T0ZGKHBoeSkpOwogfQogCitzdGF0aWMgYm9vbCBpY2xfZGRpX2NvbWJvX2lzX2Nsb2NrX2VuYWJs ZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCit7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKKwllbnVtIHBoeSBwaHkg PSBpbnRlbF9wb3J0X3RvX3BoeShpOTE1LCBlbmNvZGVyLT5wb3J0KTsKKworCXJldHVybiBfY25s X2RkaV9pc19jbG9ja19lbmFibGVkKGk5MTUsIElDTF9EUENMS0FfQ0ZHQ1IwLAorCQkJCQkgSUNM X0RQQ0xLQV9DRkdDUjBfRERJX0NMS19PRkYocGh5KSk7Cit9CisKIHN0cnVjdCBpbnRlbF9zaGFy ZWRfZHBsbCAqaWNsX2RkaV9jb21ib19nZXRfcGxsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShlbmNvZGVy LT5iYXNlLmRldik7CkBAIC0xNzc4LDYgKzE4MjAsMjAgQEAgc3RhdGljIHZvaWQganNsX2RkaV90 Y19kaXNhYmxlX2Nsb2NrKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCWludGVsX2Rl X3dyaXRlKGk5MTUsIERESV9DTEtfU0VMKHBvcnQpLCBERElfQ0xLX1NFTF9OT05FKTsKIH0KIAor c3RhdGljIGJvb2wganNsX2RkaV90Y19pc19jbG9ja19lbmFibGVkKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7CisJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0Owor CXUzMiB0bXA7CisKKwl0bXAgPSBpbnRlbF9kZV9yZWFkKGk5MTUsIERESV9DTEtfU0VMKHBvcnQp KTsKKworCWlmICgodG1wICYgRERJX0NMS19TRUxfTUFTSykgPT0gRERJX0NMS19TRUxfTk9ORSkK KwkJcmV0dXJuIGZhbHNlOworCisJcmV0dXJuIGljbF9kZGlfY29tYm9faXNfY2xvY2tfZW5hYmxl ZChlbmNvZGVyKTsKK30KKwogc3RhdGljIHZvaWQgaWNsX2RkaV90Y19lbmFibGVfY2xvY2soc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewpAQCAtMTgxNiw2ICsxODcyLDIzIEBAIHN0YXRpYyB2 b2lkIGljbF9kZGlfdGNfZGlzYWJsZV9jbG9jayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl cikKIAlpbnRlbF9kZV93cml0ZShpOTE1LCBERElfQ0xLX1NFTChwb3J0KSwgRERJX0NMS19TRUxf Tk9ORSk7CiB9CiAKK3N0YXRpYyBib29sIGljbF9kZGlfdGNfaXNfY2xvY2tfZW5hYmxlZChzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOworCWVudW0gdGNfcG9ydCB0Y19wb3J0 ID0gaW50ZWxfcG9ydF90b190YyhpOTE1LCBlbmNvZGVyLT5wb3J0KTsKKwllbnVtIHBvcnQgcG9y dCA9IGVuY29kZXItPnBvcnQ7CisJdTMyIHRtcDsKKworCXRtcCA9IGludGVsX2RlX3JlYWQoaTkx NSwgRERJX0NMS19TRUwocG9ydCkpOworCisJaWYgKCh0bXAgJiBERElfQ0xLX1NFTF9NQVNLKSA9 PSBERElfQ0xLX1NFTF9OT05FKQorCQlyZXR1cm4gZmFsc2U7CisKKwl0bXAgPSBpbnRlbF9kZV9y ZWFkKGk5MTUsIElDTF9EUENMS0FfQ0ZHQ1IwKTsKKworCXJldHVybiAhKHRtcCAmIElDTF9EUENM S0FfQ0ZHQ1IwX1RDX0NMS19PRkYodGNfcG9ydCkpOworfQorCiBzdGF0aWMgc3RydWN0IGludGVs X3NoYXJlZF9kcGxsICppY2xfZGRpX3RjX2dldF9wbGwoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGVuY29k ZXItPmJhc2UuZGV2KTsKQEAgLTE4NzEsNiArMTk0NCwxNSBAQCBzdGF0aWMgdm9pZCBjbmxfZGRp X2Rpc2FibGVfY2xvY2soc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJCQkgICAgICAg RFBDTEtBX0NGR0NSMF9ERElfQ0xLX09GRihwb3J0KSk7CiB9CiAKK3N0YXRpYyBib29sIGNubF9k ZGlfaXNfY2xvY2tfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3sKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYp OworCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKKworCXJldHVybiBfY25sX2RkaV9p c19jbG9ja19lbmFibGVkKGk5MTUsIERQQ0xLQV9DRkdDUjAsCisJCQkJCSBEUENMS0FfQ0ZHQ1Iw X0RESV9DTEtfT0ZGKHBvcnQpKTsKK30KKwogc3RhdGljIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBs bCAqY25sX2RkaV9nZXRfcGxsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogewogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7 CkBAIC0xOTM4LDYgKzIwMjAsMTggQEAgc3RhdGljIHZvaWQgc2tsX2RkaV9kaXNhYmxlX2Nsb2Nr KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCW11dGV4X3VubG9jaygmaTkxNS0+ZHBs bC5sb2NrKTsKIH0KIAorc3RhdGljIGJvb2wgc2tsX2RkaV9pc19jbG9ja19lbmFibGVkKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CisJZW51bSBwb3J0IHBvcnQgPSBlbmNv ZGVyLT5wb3J0OworCisJLyoKKwkgKiBGSVhNRSBOb3Qgc3VyZSBpZiB0aGUgb3ZlcnJpZGUgYWZm ZWN0cyBib3RoCisJICogdGhlIFBMTCBzZWxlY3Rpb24gYW5kIHRoZSBDTEtfT0ZGIGJpdC4KKwkg Ki8KKwlyZXR1cm4gIShpbnRlbF9kZV9yZWFkKGk5MTUsIERQTExfQ1RSTDIpICYgRFBMTF9DVFJM Ml9ERElfQ0xLX09GRihwb3J0KSk7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2Rw bGwgKnNrbF9kZGlfZ2V0X3BsbChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYp OwpAQCAtMTk4MSw2ICsyMDc1LDE0IEBAIHZvaWQgaHN3X2RkaV9kaXNhYmxlX2Nsb2NrKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCWludGVsX2RlX3dyaXRlKGk5MTUsIFBPUlRfQ0xL X1NFTChwb3J0KSwgUE9SVF9DTEtfU0VMX05PTkUpOwogfQogCitib29sIGhzd19kZGlfaXNfY2xv Y2tfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3sKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOworCWVudW0g cG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKKworCXJldHVybiBpbnRlbF9kZV9yZWFkKGk5MTUs IFBPUlRfQ0xLX1NFTChwb3J0KSkgIT0gUE9SVF9DTEtfU0VMX05PTkU7Cit9CisKIHN0YXRpYyBz dHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKmhzd19kZGlfZ2V0X3BsbChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwpAQCAtMjA4NCw4ICsyMTg2LDE1IEBAIHZvaWQgaWNsX3Nh bml0aXplX2VuY29kZXJfcGxsX21hcHBpbmcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIp CiAJCWRkaV9jbGtfbmVlZGVkID0gZmFsc2U7CiAJfQogCi0JaWYgKCFkZGlfY2xrX25lZWRlZCAm JiBlbmNvZGVyLT5kaXNhYmxlX2Nsb2NrKQotCQllbmNvZGVyLT5kaXNhYmxlX2Nsb2NrKGVuY29k ZXIpOworCWlmIChkZGlfY2xrX25lZWRlZCB8fCAhZW5jb2Rlci0+ZGlzYWJsZV9jbG9jayB8fAor CSAgICAhZW5jb2Rlci0+aXNfY2xvY2tfZW5hYmxlZChlbmNvZGVyKSkKKwkJcmV0dXJuOworCisJ ZHJtX25vdGljZSgmaTkxNS0+ZHJtLAorCQkgICAiW0VOQ09ERVI6JWQ6JXNdIGlzIGRpc2FibGVk L2luIERTSSBtb2RlIHdpdGggYW4gdW5nYXRlZCBEREkgY2xvY2ssIGdhdGUgaXRcbiIsCisJCSAg IGVuY29kZXItPmJhc2UuYmFzZS5pZCwgZW5jb2Rlci0+YmFzZS5uYW1lKTsKKworCWVuY29kZXIt PmRpc2FibGVfY2xvY2soZW5jb2Rlcik7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC00MzM1LDM4ICs0 NDQ0LDQ2IEBAIHZvaWQgaW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKIAlpZiAoSVNfQUxERVJMQUtFX1MoZGV2X3ByaXYpKSB7 CiAJCWVuY29kZXItPmVuYWJsZV9jbG9jayA9IGFkbHNfZGRpX2VuYWJsZV9jbG9jazsKIAkJZW5j b2Rlci0+ZGlzYWJsZV9jbG9jayA9IGFkbHNfZGRpX2Rpc2FibGVfY2xvY2s7CisJCWVuY29kZXIt PmlzX2Nsb2NrX2VuYWJsZWQgPSBhZGxzX2RkaV9pc19jbG9ja19lbmFibGVkOwogCQllbmNvZGVy LT5nZXRfY29uZmlnID0gYWRsc19kZGlfZ2V0X2NvbmZpZzsKIAl9IGVsc2UgaWYgKElTX1JPQ0tF VExBS0UoZGV2X3ByaXYpKSB7CiAJCWVuY29kZXItPmVuYWJsZV9jbG9jayA9IHJrbF9kZGlfZW5h YmxlX2Nsb2NrOwogCQllbmNvZGVyLT5kaXNhYmxlX2Nsb2NrID0gcmtsX2RkaV9kaXNhYmxlX2Ns b2NrOworCQllbmNvZGVyLT5pc19jbG9ja19lbmFibGVkID0gcmtsX2RkaV9pc19jbG9ja19lbmFi bGVkOwogCQllbmNvZGVyLT5nZXRfY29uZmlnID0gcmtsX2RkaV9nZXRfY29uZmlnOwogCX0gZWxz ZSBpZiAoSVNfREcxKGRldl9wcml2KSkgewogCQllbmNvZGVyLT5lbmFibGVfY2xvY2sgPSBkZzFf ZGRpX2VuYWJsZV9jbG9jazsKIAkJZW5jb2Rlci0+ZGlzYWJsZV9jbG9jayA9IGRnMV9kZGlfZGlz YWJsZV9jbG9jazsKKwkJZW5jb2Rlci0+aXNfY2xvY2tfZW5hYmxlZCA9IGRnMV9kZGlfaXNfY2xv Y2tfZW5hYmxlZDsKIAkJZW5jb2Rlci0+Z2V0X2NvbmZpZyA9IGRnMV9kZGlfZ2V0X2NvbmZpZzsK IAl9IGVsc2UgaWYgKElTX0pTTF9FSEwoZGV2X3ByaXYpKSB7CiAJCWlmIChpbnRlbF9kZGlfaXNf dGMoZGV2X3ByaXYsIHBvcnQpKSB7CiAJCQllbmNvZGVyLT5lbmFibGVfY2xvY2sgPSBqc2xfZGRp X3RjX2VuYWJsZV9jbG9jazsKIAkJCWVuY29kZXItPmRpc2FibGVfY2xvY2sgPSBqc2xfZGRpX3Rj X2Rpc2FibGVfY2xvY2s7CisJCQllbmNvZGVyLT5pc19jbG9ja19lbmFibGVkID0ganNsX2RkaV90 Y19pc19jbG9ja19lbmFibGVkOwogCQkJZW5jb2Rlci0+Z2V0X2NvbmZpZyA9IGljbF9kZGlfY29t Ym9fZ2V0X2NvbmZpZzsKIAkJfSBlbHNlIHsKIAkJCWVuY29kZXItPmVuYWJsZV9jbG9jayA9IGlj bF9kZGlfY29tYm9fZW5hYmxlX2Nsb2NrOwogCQkJZW5jb2Rlci0+ZGlzYWJsZV9jbG9jayA9IGlj bF9kZGlfY29tYm9fZGlzYWJsZV9jbG9jazsKKwkJCWVuY29kZXItPmlzX2Nsb2NrX2VuYWJsZWQg PSBpY2xfZGRpX2NvbWJvX2lzX2Nsb2NrX2VuYWJsZWQ7CiAJCQllbmNvZGVyLT5nZXRfY29uZmln ID0gaWNsX2RkaV9jb21ib19nZXRfY29uZmlnOwogCQl9CiAJfSBlbHNlIGlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDExKSB7CiAJCWlmIChpbnRlbF9kZGlfaXNfdGMoZGV2X3ByaXYsIHBvcnQp KSB7CiAJCQllbmNvZGVyLT5lbmFibGVfY2xvY2sgPSBpY2xfZGRpX3RjX2VuYWJsZV9jbG9jazsK IAkJCWVuY29kZXItPmRpc2FibGVfY2xvY2sgPSBpY2xfZGRpX3RjX2Rpc2FibGVfY2xvY2s7CisJ CQllbmNvZGVyLT5pc19jbG9ja19lbmFibGVkID0gaWNsX2RkaV90Y19pc19jbG9ja19lbmFibGVk OwogCQkJZW5jb2Rlci0+Z2V0X2NvbmZpZyA9IGljbF9kZGlfdGNfZ2V0X2NvbmZpZzsKIAkJfSBl bHNlIHsKIAkJCWVuY29kZXItPmVuYWJsZV9jbG9jayA9IGljbF9kZGlfY29tYm9fZW5hYmxlX2Ns b2NrOwogCQkJZW5jb2Rlci0+ZGlzYWJsZV9jbG9jayA9IGljbF9kZGlfY29tYm9fZGlzYWJsZV9j bG9jazsKKwkJCWVuY29kZXItPmlzX2Nsb2NrX2VuYWJsZWQgPSBpY2xfZGRpX2NvbWJvX2lzX2Ns b2NrX2VuYWJsZWQ7CiAJCQllbmNvZGVyLT5nZXRfY29uZmlnID0gaWNsX2RkaV9jb21ib19nZXRf Y29uZmlnOwogCQl9CiAJfSBlbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkgewogCQll bmNvZGVyLT5lbmFibGVfY2xvY2sgPSBjbmxfZGRpX2VuYWJsZV9jbG9jazsKIAkJZW5jb2Rlci0+ ZGlzYWJsZV9jbG9jayA9IGNubF9kZGlfZGlzYWJsZV9jbG9jazsKKwkJZW5jb2Rlci0+aXNfY2xv Y2tfZW5hYmxlZCA9IGNubF9kZGlfaXNfY2xvY2tfZW5hYmxlZDsKIAkJZW5jb2Rlci0+Z2V0X2Nv bmZpZyA9IGNubF9kZGlfZ2V0X2NvbmZpZzsKIAl9IGVsc2UgaWYgKElTX0dFTjlfTFAoZGV2X3By aXYpKSB7CiAJCS8qIEJYVC9HTEsgaGF2ZSBmaXhlZCBQTEwtPnBvcnQgbWFwcGluZyAqLwpAQCAt NDM3NCwxMCArNDQ5MSwxMiBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpCiAJfSBlbHNlIGlmIChJU19HRU45X0JD KGRldl9wcml2KSkgewogCQllbmNvZGVyLT5lbmFibGVfY2xvY2sgPSBza2xfZGRpX2VuYWJsZV9j bG9jazsKIAkJZW5jb2Rlci0+ZGlzYWJsZV9jbG9jayA9IHNrbF9kZGlfZGlzYWJsZV9jbG9jazsK KwkJZW5jb2Rlci0+aXNfY2xvY2tfZW5hYmxlZCA9IHNrbF9kZGlfaXNfY2xvY2tfZW5hYmxlZDsK IAkJZW5jb2Rlci0+Z2V0X2NvbmZpZyA9IHNrbF9kZGlfZ2V0X2NvbmZpZzsKIAl9IGVsc2UgaWYg KElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSVNfSEFTV0VMTChkZXZfcHJpdikpIHsKIAkJZW5j b2Rlci0+ZW5hYmxlX2Nsb2NrID0gaHN3X2RkaV9lbmFibGVfY2xvY2s7CiAJCWVuY29kZXItPmRp c2FibGVfY2xvY2sgPSBoc3dfZGRpX2Rpc2FibGVfY2xvY2s7CisJCWVuY29kZXItPmlzX2Nsb2Nr X2VuYWJsZWQgPSBoc3dfZGRpX2lzX2Nsb2NrX2VuYWJsZWQ7CiAJCWVuY29kZXItPmdldF9jb25m aWcgPSBoc3dfZGRpX2dldF9jb25maWc7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kZGkuaAppbmRleCAwNzgwYzQ3ZWZlMGYuLjk5Y2ViYmU2YjU4NiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5oCkBAIC0zNiw2ICszNiw3IEBAIHZvaWQg aW50ZWxfZGRpX2dldF9jbG9jayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHZvaWQg aHN3X2RkaV9lbmFibGVfY2xvY2soc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKIHZvaWQgaHN3X2Rk aV9kaXNhYmxlX2Nsb2NrKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKK2Jvb2wgaHN3 X2RkaV9pc19jbG9ja19lbmFibGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKIHZv aWQgaHN3X2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJ c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwogc3RydWN0IGludGVsX3NoYXJl ZF9kcGxsICppY2xfZGRpX2NvbWJvX2dldF9wbGwoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlf dHlwZXMuaAppbmRleCAxYTc2ZTFkOWRlN2EuLjViMmU4MWRiMGEyMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKQEAgLTIyNiw2 ICsyMjYsMTAgQEAgc3RydWN0IGludGVsX2VuY29kZXIgewogCXZvaWQgKCplbmFibGVfY2xvY2sp KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7CiAJdm9pZCAoKmRpc2FibGVfY2xvY2spKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKKwkvKgorCSAqIFJldHVybnMgd2hldGhlciB0aGUg cG9ydCBjbG9jayBpcyBlbmFibGVkIG9yIG5vdC4KKwkgKi8KKwlib29sICgqaXNfY2xvY2tfZW5h YmxlZCkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwogCWVudW0gaHBkX3BpbiBocGRf cGluOwogCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gcG93ZXJfZG9tYWluOwogCS8q IGZvciBjb21tdW5pY2F0aW9uIHdpdGggYXVkaW8gY29tcG9uZW50OyBwcm90ZWN0ZWQgYnkgYXZf bXV0ZXggKi8KLS0gCjIuMjYuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==