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 49543C433DB for ; Thu, 18 Mar 2021 16:10:46 +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 0CF7364E81 for ; Thu, 18 Mar 2021 16:10:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0CF7364E81 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 9C0946E90A; Thu, 18 Mar 2021 16:10:45 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id DE79C6E90A for ; Thu, 18 Mar 2021 16:10:41 +0000 (UTC) IronPort-SDR: 50nmMl51OaRCM5cqLPmiR+UiaZsL1UyiP43ZS1iH2NsTEnvO83B05nA/fNYlB4QZRbTdgINHTx ZalxBQVMB2ww== X-IronPort-AV: E=McAfee;i="6000,8403,9927"; a="189808120" X-IronPort-AV: E=Sophos;i="5.81,259,1610438400"; d="scan'208";a="189808120" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Mar 2021 09:10:41 -0700 IronPort-SDR: 0RbKRbcauaPhSmau4dvPHgA3IKLIoomF6G7VKTDx00HmLFVPI6WDFhFDd4AiOOP+mAOLWsRN0k SWyFyqLPJJWg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,259,1610438400"; d="scan'208";a="374614673" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.171]) by orsmga006.jf.intel.com with SMTP; 18 Mar 2021 09:10:39 -0700 Received: by stinkbox (sSMTP sendmail emulation); Thu, 18 Mar 2021 18:10:38 +0200 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Thu, 18 Mar 2021 18:10:15 +0200 Message-Id: <20210318161015.22070-8-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210318161015.22070-1-ville.syrjala@linux.intel.com> References: <20210318161015.22070-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 7/7] drm/i915: Give g4x_{dp, hdmi}.c g4x_ namespace 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: Daniel Vetter Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCnMv aW50ZWxfL2c0eF8vIGZvciB0aGUgZXh0ZXJuYWxseSB2aXNpYmxlIGc0eF97ZHAsaGRtaX0uYwpm dW5jdGlvbnMuCgpBY2tlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5j aD4KU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2c0eF9kcC5jICAgICAg ICB8IDIzICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvZzR4X2RwLmgg ICAgICAgIHwgMTUgKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9nNHhfaGRt aS5jICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9nNHhfaGRtaS5o ICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 LmMgfCA0NCArKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcC5jICAgICAgfCAgMiArLQogNiBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25z KCspLCA0NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2c0eF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9nNHhfZHAuYwpp bmRleCBhMzVmMTg4NmYyNWIuLjE2YTk1YmFiNzhhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9nNHhfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2c0eF9kcC5jCkBAIC02Niw4ICs2Niw4IEBAIGNvbnN0IHN0cnVjdCBkcGxsICp2bHZfZ2V0 X2RwbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJcmV0dXJuIElTX0NIRVJSWVZJ RVcoaTkxNSkgPyAmY2h2X2RwbGxbMF0uZHBsbCA6ICZ2bHZfZHBsbFswXS5kcGxsOwogfQogCi12 b2lkIGludGVsX2RwX3NldF9jbG9jayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKLQkJ CXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKK3ZvaWQgZzR4X2RwX3NldF9j bG9jayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJICAgICAgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCWNvbnN0IHN0cnVjdCBkcF9s aW5rX2RwbGwgKmRpdmlzb3IgPSBOVUxMOwpAQCAtMjg2LDkgKzI4Niw5IEBAIHN0YXRpYyBib29s IGNwdF9kcF9wb3J0X3NlbGVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAlyZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgaW50ZWxfZHBfcG9ydF9lbmFibGVkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCSAgIGk5MTVfcmVnX3QgZHBfcmVnLCBlbnVt IHBvcnQgcG9ydCwKLQkJCSAgIGVudW0gcGlwZSAqcGlwZSkKK2Jvb2wgZzR4X2RwX3BvcnRfZW5h YmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkgaTkxNV9yZWdfdCBk cF9yZWcsIGVudW0gcG9ydCBwb3J0LAorCQkJIGVudW0gcGlwZSAqcGlwZSkKIHsKIAlib29sIHJl dDsKIAl1MzIgdmFsOwpAQCAtMzIzLDggKzMyMyw4IEBAIHN0YXRpYyBib29sIGludGVsX2RwX2dl dF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlpZiAoIXdha2VyZWYp CiAJCXJldHVybiBmYWxzZTsKIAotCXJldCA9IGludGVsX2RwX3BvcnRfZW5hYmxlZChkZXZfcHJp diwgaW50ZWxfZHAtPm91dHB1dF9yZWcsCi0JCQkJICAgIGVuY29kZXItPnBvcnQsIHBpcGUpOwor CXJldCA9IGc0eF9kcF9wb3J0X2VuYWJsZWQoZGV2X3ByaXYsIGludGVsX2RwLT5vdXRwdXRfcmVn LAorCQkJCSAgZW5jb2Rlci0+cG9ydCwgcGlwZSk7CiAKIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1 dChkZXZfcHJpdiwgZW5jb2Rlci0+cG93ZXJfZG9tYWluLCB3YWtlcmVmKTsKIApAQCAtMTI3MCw4 ICsxMjcwLDggQEAgZW51bSBwaXBlIHZsdl9hY3RpdmVfcGlwZShzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gJmRwX3RvX2RpZ19wb3J0 KGludGVsX2RwKS0+YmFzZTsKIAllbnVtIHBpcGUgcGlwZTsKIAotCWlmIChpbnRlbF9kcF9wb3J0 X2VuYWJsZWQoZGV2X3ByaXYsIGludGVsX2RwLT5vdXRwdXRfcmVnLAotCQkJCSAgZW5jb2Rlci0+ cG9ydCwgJnBpcGUpKQorCWlmIChnNHhfZHBfcG9ydF9lbmFibGVkKGRldl9wcml2LCBpbnRlbF9k cC0+b3V0cHV0X3JlZywKKwkJCQllbmNvZGVyLT5wb3J0LCAmcGlwZSkpCiAJCXJldHVybiBwaXBl OwogCiAJcmV0dXJuIElOVkFMSURfUElQRTsKQEAgLTEzMDEsOSArMTMwMSw4IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfZnVuY3MgaW50ZWxfZHBfZW5jX2Z1bmNzID0gewogCS5k ZXN0cm95ID0gaW50ZWxfZHBfZW5jb2Rlcl9kZXN0cm95LAogfTsKIAotYm9vbCBpbnRlbF9kcF9p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJICAgaTkxNV9yZWdfdCBv dXRwdXRfcmVnLAotCQkgICBlbnVtIHBvcnQgcG9ydCkKK2Jvb2wgZzR4X2RwX2luaXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkgaTkxNV9yZWdfdCBvdXRwdXRfcmVnLCBl bnVtIHBvcnQgcG9ydCkKIHsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydDsK IAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcjsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvZzR4X2RwLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2c0eF9kcC5oCmluZGV4IDUzMDc2MGYwZDhhMi4uZTFmNTAyNjNhNzI1IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2c0eF9kcC5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvZzR4X2RwLmgKQEAgLTE5LDEzICsxOSwxMiBAQCBzdHJ1Y3Qg aW50ZWxfZW5jb2RlcjsKIAogY29uc3Qgc3RydWN0IGRwbGwgKnZsdl9nZXRfZHBsbChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CiBlbnVtIHBpcGUgdmx2X2FjdGl2ZV9waXBlKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApOwotdm9pZCBpbnRlbF9kcF9zZXRfY2xvY2soc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCi0JCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcpOwotYm9vbCBpbnRlbF9kcF9wb3J0X2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAotCQkJICAgaTkxNV9yZWdfdCBkcF9yZWcsIGVudW0gcG9ydCBwb3J0LAot CQkJICAgZW51bSBwaXBlICpwaXBlKTsKLWJvb2wgaW50ZWxfZHBfaW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCSAgIGk5MTVfcmVnX3Qgb3V0cHV0X3JlZywKLQkJICAg ZW51bSBwb3J0IHBvcnQpOwordm9pZCBnNHhfZHBfc2V0X2Nsb2NrKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAorCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcpOworYm9vbCBnNHhfZHBfcG9ydF9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKKwkJCSBpOTE1X3JlZ190IGRwX3JlZywgZW51bSBwb3J0IHBvcnQsCisJCQkgZW51 bSBwaXBlICpwaXBlKTsKK2Jvb2wgZzR4X2RwX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAorCQkgaTkxNV9yZWdfdCBvdXRwdXRfcmVnLCBlbnVtIHBvcnQgcG9ydCk7CiAK ICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9nNHhfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9nNHhfaGRtaS5jCmluZGV4IDhmYTNi OGE1YTU3Mi4uNzhmOTM1MDZmZmFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2c0eF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9nNHhf aGRtaS5jCkBAIC01MjgsOCArNTI4LDggQEAgaW50ZWxfaGRtaV9ob3RwbHVnKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCXJldHVybiBzdGF0ZTsKIH0KIAotdm9pZCBpbnRlbF9oZG1p X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkgICAgIGk5MTVfcmVn X3QgaGRtaV9yZWcsIGVudW0gcG9ydCBwb3J0KQordm9pZCBnNHhfaGRtaV9pbml0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJICAgaTkxNV9yZWdfdCBoZG1pX3JlZywgZW51 bSBwb3J0IHBvcnQpCiB7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQ7CiAJ c3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXI7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2c0eF9oZG1pLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2c0eF9oZG1pLmgKaW5kZXggMGMxOGE0MGFjMzNmLi43YWNhMTRiNjAyYzYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvZzR4X2hkbWkuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2c0eF9oZG1pLmgKQEAgLTEzLDcgKzEzLDcgQEAKIGVu dW0gcG9ydDsKIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlOwogCi12b2lkIGludGVsX2hkbWlfaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCSAgICAgaTkxNV9yZWdfdCBo ZG1pX3JlZywgZW51bSBwb3J0IHBvcnQpOwordm9pZCBnNHhfaGRtaV9pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJICAgaTkxNV9yZWdfdCBoZG1pX3JlZywgZW51bSBw b3J0IHBvcnQpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kaXNwbGF5LmMKaW5kZXggNjg5MDNlZjAyZGY2Li43YjM4YjlhMzhiODUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC00MDYsMTMgKzQwNiwx MyBAQCB2b2lkIGFzc2VydF9wYW5lbF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQogCQkJaW50ZWxfbHZkc19wb3J0X2VuYWJsZWQoZGV2 X3ByaXYsIFBDSF9MVkRTLCAmcGFuZWxfcGlwZSk7CiAJCQlicmVhazsKIAkJY2FzZSBQQU5FTF9Q T1JUX1NFTEVDVF9EUEE6Ci0JCQlpbnRlbF9kcF9wb3J0X2VuYWJsZWQoZGV2X3ByaXYsIERQX0Es IFBPUlRfQSwgJnBhbmVsX3BpcGUpOworCQkJZzR4X2RwX3BvcnRfZW5hYmxlZChkZXZfcHJpdiwg RFBfQSwgUE9SVF9BLCAmcGFuZWxfcGlwZSk7CiAJCQlicmVhazsKIAkJY2FzZSBQQU5FTF9QT1JU X1NFTEVDVF9EUEM6Ci0JCQlpbnRlbF9kcF9wb3J0X2VuYWJsZWQoZGV2X3ByaXYsIFBDSF9EUF9D LCBQT1JUX0MsICZwYW5lbF9waXBlKTsKKwkJCWc0eF9kcF9wb3J0X2VuYWJsZWQoZGV2X3ByaXYs IFBDSF9EUF9DLCBQT1JUX0MsICZwYW5lbF9waXBlKTsKIAkJCWJyZWFrOwogCQljYXNlIFBBTkVM X1BPUlRfU0VMRUNUX0RQRDoKLQkJCWludGVsX2RwX3BvcnRfZW5hYmxlZChkZXZfcHJpdiwgUENI X0RQX0QsIFBPUlRfRCwgJnBhbmVsX3BpcGUpOworCQkJZzR4X2RwX3BvcnRfZW5hYmxlZChkZXZf cHJpdiwgUENIX0RQX0QsIFBPUlRfRCwgJnBhbmVsX3BpcGUpOwogCQkJYnJlYWs7CiAJCWRlZmF1 bHQ6CiAJCQlNSVNTSU5HX0NBU0UocG9ydF9zZWwpOwpAQCAtNTE1LDcgKzUxNSw3IEBAIHN0YXRp YyB2b2lkIGFzc2VydF9wY2hfZHBfZGlzYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogCWVudW0gcGlwZSBwb3J0X3BpcGU7CiAJYm9vbCBzdGF0ZTsKIAotCXN0YXRlID0g aW50ZWxfZHBfcG9ydF9lbmFibGVkKGRldl9wcml2LCBkcF9yZWcsIHBvcnQsICZwb3J0X3BpcGUp OworCXN0YXRlID0gZzR4X2RwX3BvcnRfZW5hYmxlZChkZXZfcHJpdiwgZHBfcmVnLCBwb3J0LCAm cG9ydF9waXBlKTsKIAogCUk5MTVfU1RBVEVfV0FSTihzdGF0ZSAmJiBwb3J0X3BpcGUgPT0gcGlw ZSwKIAkJCSJQQ0ggRFAgJWMgZW5hYmxlZCBvbiB0cmFuc2NvZGVyICVjLCBzaG91bGQgYmUgZGlz YWJsZWRcbiIsCkBAIC0xMTc1MCwyOCArMTE3NTAsMjggQEAgc3RhdGljIHZvaWQgaW50ZWxfc2V0 dXBfb3V0cHV0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWRwZF9pc19l ZHAgPSBpbnRlbF9kcF9pc19wb3J0X2VkcChkZXZfcHJpdiwgUE9SVF9EKTsKIAogCQlpZiAoaWxr X2hhc19lZHBfYShkZXZfcHJpdikpCi0JCQlpbnRlbF9kcF9pbml0KGRldl9wcml2LCBEUF9BLCBQ T1JUX0EpOworCQkJZzR4X2RwX2luaXQoZGV2X3ByaXYsIERQX0EsIFBPUlRfQSk7CiAKIAkJaWYg KGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFBDSF9IRE1JQikgJiBTRFZPX0RFVEVDVEVEKSB7CiAJ CQkvKiBQQ0ggU0RWT0IgbXVsdGlwbGV4IHdpdGggSERNSUIgKi8KIAkJCWZvdW5kID0gaW50ZWxf c2R2b19pbml0KGRldl9wcml2LCBQQ0hfU0RWT0IsIFBPUlRfQik7CiAJCQlpZiAoIWZvdW5kKQot CQkJCWludGVsX2hkbWlfaW5pdChkZXZfcHJpdiwgUENIX0hETUlCLCBQT1JUX0IpOworCQkJCWc0 eF9oZG1pX2luaXQoZGV2X3ByaXYsIFBDSF9IRE1JQiwgUE9SVF9CKTsKIAkJCWlmICghZm91bmQg JiYgKGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFBDSF9EUF9CKSAmIERQX0RFVEVDVEVEKSkKLQkJ CQlpbnRlbF9kcF9pbml0KGRldl9wcml2LCBQQ0hfRFBfQiwgUE9SVF9CKTsKKwkJCQlnNHhfZHBf aW5pdChkZXZfcHJpdiwgUENIX0RQX0IsIFBPUlRfQik7CiAJCX0KIAogCQlpZiAoaW50ZWxfZGVf cmVhZChkZXZfcHJpdiwgUENIX0hETUlDKSAmIFNEVk9fREVURUNURUQpCi0JCQlpbnRlbF9oZG1p X2luaXQoZGV2X3ByaXYsIFBDSF9IRE1JQywgUE9SVF9DKTsKKwkJCWc0eF9oZG1pX2luaXQoZGV2 X3ByaXYsIFBDSF9IRE1JQywgUE9SVF9DKTsKIAogCQlpZiAoIWRwZF9pc19lZHAgJiYgaW50ZWxf ZGVfcmVhZChkZXZfcHJpdiwgUENIX0hETUlEKSAmIFNEVk9fREVURUNURUQpCi0JCQlpbnRlbF9o ZG1pX2luaXQoZGV2X3ByaXYsIFBDSF9IRE1JRCwgUE9SVF9EKTsKKwkJCWc0eF9oZG1pX2luaXQo ZGV2X3ByaXYsIFBDSF9IRE1JRCwgUE9SVF9EKTsKIAogCQlpZiAoaW50ZWxfZGVfcmVhZChkZXZf cHJpdiwgUENIX0RQX0MpICYgRFBfREVURUNURUQpCi0JCQlpbnRlbF9kcF9pbml0KGRldl9wcml2 LCBQQ0hfRFBfQywgUE9SVF9DKTsKKwkJCWc0eF9kcF9pbml0KGRldl9wcml2LCBQQ0hfRFBfQywg UE9SVF9DKTsKIAogCQlpZiAoaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgUENIX0RQX0QpICYgRFBf REVURUNURUQpCi0JCQlpbnRlbF9kcF9pbml0KGRldl9wcml2LCBQQ0hfRFBfRCwgUE9SVF9EKTsK KwkJCWc0eF9kcF9pbml0KGRldl9wcml2LCBQQ0hfRFBfRCwgUE9SVF9EKTsKIAl9IGVsc2UgaWYg KElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7CiAJ CWJvb2wgaGFzX2VkcCwgaGFzX3BvcnQ7CiAKQEAgLTExNzk2LDE2ICsxMTc5NiwxNiBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9zZXR1cF9vdXRwdXRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAkJaGFzX2VkcCA9IGludGVsX2RwX2lzX3BvcnRfZWRwKGRldl9wcml2LCBQT1JUX0Ip OwogCQloYXNfcG9ydCA9IGludGVsX2Jpb3NfaXNfcG9ydF9wcmVzZW50KGRldl9wcml2LCBQT1JU X0IpOwogCQlpZiAoaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgVkxWX0RQX0IpICYgRFBfREVURUNU RUQgfHwgaGFzX3BvcnQpCi0JCQloYXNfZWRwICY9IGludGVsX2RwX2luaXQoZGV2X3ByaXYsIFZM Vl9EUF9CLCBQT1JUX0IpOworCQkJaGFzX2VkcCAmPSBnNHhfZHBfaW5pdChkZXZfcHJpdiwgVkxW X0RQX0IsIFBPUlRfQik7CiAJCWlmICgoaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgVkxWX0hETUlC KSAmIFNEVk9fREVURUNURUQgfHwgaGFzX3BvcnQpICYmICFoYXNfZWRwKQotCQkJaW50ZWxfaGRt aV9pbml0KGRldl9wcml2LCBWTFZfSERNSUIsIFBPUlRfQik7CisJCQlnNHhfaGRtaV9pbml0KGRl dl9wcml2LCBWTFZfSERNSUIsIFBPUlRfQik7CiAKIAkJaGFzX2VkcCA9IGludGVsX2RwX2lzX3Bv cnRfZWRwKGRldl9wcml2LCBQT1JUX0MpOwogCQloYXNfcG9ydCA9IGludGVsX2Jpb3NfaXNfcG9y dF9wcmVzZW50KGRldl9wcml2LCBQT1JUX0MpOwogCQlpZiAoaW50ZWxfZGVfcmVhZChkZXZfcHJp diwgVkxWX0RQX0MpICYgRFBfREVURUNURUQgfHwgaGFzX3BvcnQpCi0JCQloYXNfZWRwICY9IGlu dGVsX2RwX2luaXQoZGV2X3ByaXYsIFZMVl9EUF9DLCBQT1JUX0MpOworCQkJaGFzX2VkcCAmPSBn NHhfZHBfaW5pdChkZXZfcHJpdiwgVkxWX0RQX0MsIFBPUlRfQyk7CiAJCWlmICgoaW50ZWxfZGVf cmVhZChkZXZfcHJpdiwgVkxWX0hETUlDKSAmIFNEVk9fREVURUNURUQgfHwgaGFzX3BvcnQpICYm ICFoYXNfZWRwKQotCQkJaW50ZWxfaGRtaV9pbml0KGRldl9wcml2LCBWTFZfSERNSUMsIFBPUlRf Qyk7CisJCQlnNHhfaGRtaV9pbml0KGRldl9wcml2LCBWTFZfSERNSUMsIFBPUlRfQyk7CiAKIAkJ aWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7CiAJCQkvKgpAQCAtMTE4MTQsOSArMTE4MTQs OSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zZXR1cF9vdXRwdXRzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAkJCSAqLwogCQkJaGFzX3BvcnQgPSBpbnRlbF9iaW9zX2lzX3BvcnRf cHJlc2VudChkZXZfcHJpdiwgUE9SVF9EKTsKIAkJCWlmIChpbnRlbF9kZV9yZWFkKGRldl9wcml2 LCBDSFZfRFBfRCkgJiBEUF9ERVRFQ1RFRCB8fCBoYXNfcG9ydCkKLQkJCQlpbnRlbF9kcF9pbml0 KGRldl9wcml2LCBDSFZfRFBfRCwgUE9SVF9EKTsKKwkJCQlnNHhfZHBfaW5pdChkZXZfcHJpdiwg Q0hWX0RQX0QsIFBPUlRfRCk7CiAJCQlpZiAoaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgQ0hWX0hE TUlEKSAmIFNEVk9fREVURUNURUQgfHwgaGFzX3BvcnQpCi0JCQkJaW50ZWxfaGRtaV9pbml0KGRl dl9wcml2LCBDSFZfSERNSUQsIFBPUlRfRCk7CisJCQkJZzR4X2hkbWlfaW5pdChkZXZfcHJpdiwg Q0hWX0hETUlELCBQT1JUX0QpOwogCQl9CiAKIAkJdmx2X2RzaV9pbml0KGRldl9wcml2KTsKQEAg LTExODM3LDExICsxMTgzNywxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zZXR1cF9vdXRwdXRzKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJCWlmICghZm91bmQgJiYgSVNfRzRY KGRldl9wcml2KSkgewogCQkJCWRybV9kYmdfa21zKCZkZXZfcHJpdi0+ZHJtLAogCQkJCQkgICAg InByb2JpbmcgSERNSSBvbiBTRFZPQlxuIik7Ci0JCQkJaW50ZWxfaGRtaV9pbml0KGRldl9wcml2 LCBHRU40X0hETUlCLCBQT1JUX0IpOworCQkJCWc0eF9oZG1pX2luaXQoZGV2X3ByaXYsIEdFTjRf SERNSUIsIFBPUlRfQik7CiAJCQl9CiAKIAkJCWlmICghZm91bmQgJiYgSVNfRzRYKGRldl9wcml2 KSkKLQkJCQlpbnRlbF9kcF9pbml0KGRldl9wcml2LCBEUF9CLCBQT1JUX0IpOworCQkJCWc0eF9k cF9pbml0KGRldl9wcml2LCBEUF9CLCBQT1JUX0IpOwogCQl9CiAKIAkJLyogQmVmb3JlIEc0WCBT RFZPQyBkb2Vzbid0IGhhdmUgaXRzIG93biBkZXRlY3QgcmVnaXN0ZXIgKi8KQEAgLTExODU2LDE0 ICsxMTg1NiwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zZXR1cF9vdXRwdXRzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJCWlmIChJU19HNFgoZGV2X3ByaXYpKSB7CiAJCQkJ ZHJtX2RiZ19rbXMoJmRldl9wcml2LT5kcm0sCiAJCQkJCSAgICAicHJvYmluZyBIRE1JIG9uIFNE Vk9DXG4iKTsKLQkJCQlpbnRlbF9oZG1pX2luaXQoZGV2X3ByaXYsIEdFTjRfSERNSUMsIFBPUlRf Qyk7CisJCQkJZzR4X2hkbWlfaW5pdChkZXZfcHJpdiwgR0VONF9IRE1JQywgUE9SVF9DKTsKIAkJ CX0KIAkJCWlmIChJU19HNFgoZGV2X3ByaXYpKQotCQkJCWludGVsX2RwX2luaXQoZGV2X3ByaXYs IERQX0MsIFBPUlRfQyk7CisJCQkJZzR4X2RwX2luaXQoZGV2X3ByaXYsIERQX0MsIFBPUlRfQyk7 CiAJCX0KIAogCQlpZiAoSVNfRzRYKGRldl9wcml2KSAmJiAoaW50ZWxfZGVfcmVhZChkZXZfcHJp diwgRFBfRCkgJiBEUF9ERVRFQ1RFRCkpCi0JCQlpbnRlbF9kcF9pbml0KGRldl9wcml2LCBEUF9E LCBQT1JUX0QpOworCQkJZzR4X2RwX2luaXQoZGV2X3ByaXYsIERQX0QsIFBPUlRfRCk7CiAKIAkJ aWYgKFNVUFBPUlRTX1RWKGRldl9wcml2KSkKIAkJCWludGVsX3R2X2luaXQoZGV2X3ByaXYpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCmluZGV4IDEwN2ExMDAwOWY0ZS4u OGRiNjQyMTRhZmVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCkBA IC0xNzgwLDcgKzE3ODAsNyBAQCBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkJcGlwZV9jb25maWctPmRwX21fbi5nbWNoX20gKj0gcGlwZV9j b25maWctPnNwbGl0dGVyLmxpbmtfY291bnQ7CiAKIAlpZiAoIUhBU19EREkoZGV2X3ByaXYpKQot CQlpbnRlbF9kcF9zZXRfY2xvY2soZW5jb2RlciwgcGlwZV9jb25maWcpOworCQlnNHhfZHBfc2V0 X2Nsb2NrKGVuY29kZXIsIHBpcGVfY29uZmlnKTsKIAogCWludGVsX3Zycl9jb21wdXRlX2NvbmZp ZyhwaXBlX2NvbmZpZywgY29ubl9zdGF0ZSk7CiAJaW50ZWxfcHNyX2NvbXB1dGVfY29uZmlnKGlu dGVsX2RwLCBwaXBlX2NvbmZpZyk7Ci0tIAoyLjI2LjIKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=