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=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 50EC3C3524D for ; Mon, 3 Feb 2020 15:15:04 +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 30952218AC for ; Mon, 3 Feb 2020 15:15:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 30952218AC 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=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 12DF66EC53; Mon, 3 Feb 2020 15:15:03 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id C01546EC52; Mon, 3 Feb 2020 15:15:00 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Feb 2020 07:15:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,398,1574150400"; d="scan'208";a="225194522" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga008.fm.intel.com with SMTP; 03 Feb 2020 07:14:57 -0800 Received: by stinkbox (sSMTP sendmail emulation); Mon, 03 Feb 2020 17:14:57 +0200 From: Ville Syrjala To: dri-devel@lists.freedesktop.org Subject: [PATCH 24/26] drm/i915: Decouple DP++ from the HDMI code Date: Mon, 3 Feb 2020 17:13:41 +0200 Message-Id: <20200203151343.14378-25-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200203151343.14378-1-ville.syrjala@linux.intel.com> References: <20200203151343.14378-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkRl Y291cGxlIHRoZSBEUCBkdWFsIG1vZGUgYWRhcHRvciBzdHVmZiBmcm9tIHRoZSBIRE1JIGNvZGUg c28gdGhhdAp3ZSBjYW4gdHJ5IHRvIHVzZSBpdCBmb3IgRFAgYnJhbmNoIGRvd25zdHJlYW0gZmFj aW5nIEhETUkgcG9ydHMgYXMKd2VsbC4KClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kZGkuYyAgICAgIHwgIDYgKy0KIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Rpc3BsYXlfdHlwZXMuaCAgICB8IDEyICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9oZG1pLmMgICAgIHwgOTQgKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmggICAgIHwgIDkgKy0KIDQgZmlsZXMgY2hh bmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKaW5kZXggM2QxMzkzZmY2NDM1Li45MmMyODA5MDVmMzEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYwpAQCAtMzU5OCw3ICsz NTk4LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlpbnQgbGV2ZWwgPSBpbnRlbF9kZGlfaGRtaV9sZXZlbChl bmNvZGVyKTsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19k aWdfcG9ydChlbmNvZGVyKTsKIAotCWludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQo aW50ZWxfaGRtaSwgdHJ1ZSk7CisJaW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChl bmNvZGVyLAorCQkJCQkgICAmaW50ZWxfaGRtaS0+ZHBfZHVhbF9tb2RlLCB0cnVlKTsKIAlpbnRl bF9kZGlfY2xrX3NlbGVjdChlbmNvZGVyLCBjcnRjX3N0YXRlKTsKIAogCWludGVsX2Rpc3BsYXlf cG93ZXJfZ2V0KGRldl9wcml2LCBkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7CkBAIC0z Nzc4LDcgKzM3NzksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlX2hkbWko c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAlpbnRlbF9kZGlfY2xrX2Rpc2FibGUo ZW5jb2Rlcik7CiAKLQlpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KGludGVsX2hk bWksIGZhbHNlKTsKKwlpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KGVuY29kZXIs CisJCQkJCSAgICZpbnRlbF9oZG1pLT5kcF9kdWFsX21vZGUsIGZhbHNlKTsKIH0KIAogc3RhdGlj IHZvaWQgaWNsX2Rpc2FibGVfdHJhbnNjb2Rlcl9wb3J0X3N5bmMoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAppbmRleCAwMDQ3MTc5MWQ3NzIuLjBkMTM1 ODU5ZTlkNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5X3R5cGVzLmgKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJpOTE1X2Rydi5oIgog I2luY2x1ZGUgImludGVsX2RlLmgiCiAKK3N0cnVjdCBpMmNfYWRhcHRlcjsKIHN0cnVjdCBkcm1f cHJpbnRlcjsKIHN0cnVjdCBfX2ludGVsX2dsb2JhbF9vYmpzX3N0YXRlOwogCkBAIC0xMTUwLDE1 ICsxMTUxLDE4IEBAIHN0cnVjdCBjeHNyX2xhdGVuY3kgewogI2RlZmluZSB0b19pbnRlbF9wbGFu ZV9zdGF0ZSh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlLCB1YXBp KQogI2RlZmluZSBpbnRlbF9mYl9vYmooeCkgKCh4KSA/IHRvX2ludGVsX2JvKCh4KS0+b2JqWzBd KSA6IE5VTEwpCiAKK3N0cnVjdCBpbnRlbF9kcF9kdWFsX21vZGUgeworCXN0cnVjdCBpMmNfYWRh cHRlciAqYWRhcHRlcjsKKwlpbnQgbWF4X3RtZHNfY2xvY2s7CisJZW51bSBkcm1fZHBfZHVhbF9t b2RlX3R5cGUgdHlwZTsKK307CisKIHN0cnVjdCBpbnRlbF9oZG1pIHsKIAlpOTE1X3JlZ190IGhk bWlfcmVnOwogCWludCBkZGNfYnVzOwotCXN0cnVjdCB7Ci0JCWVudW0gZHJtX2RwX2R1YWxfbW9k ZV90eXBlIHR5cGU7Ci0JCWludCBtYXhfdG1kc19jbG9jazsKLQl9IGRwX2R1YWxfbW9kZTsKIAli b29sIGhhc19oZG1pX3Npbms7CiAJYm9vbCBoYXNfYXVkaW87CisJc3RydWN0IGludGVsX2RwX2R1 YWxfbW9kZSBkcF9kdWFsX21vZGU7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqYXR0YWNoZWRf Y29ubmVjdG9yOwogCXN0cnVjdCBjZWNfbm90aWZpZXIgKmNlY19ub3RpZmllcjsKIH07CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jCmluZGV4IDllMDMxNmY2ZWIzZi4u YWQ4ZTk3NDU4NWI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWku YwpAQCAtMTI0OSwyMCArMTI0OSwxOSBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X2luZm9mcmFtZXMo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICAmY3J0Y19zdGF0ZS0+aW5m b2ZyYW1lcy5kcm0pOwogfQogCi12b2lkIGludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRw dXQoc3RydWN0IGludGVsX2hkbWkgKmhkbWksIGJvb2wgZW5hYmxlKQordm9pZCBpbnRlbF9kcF9k dWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAor CQkJCQlzdHJ1Y3QgaW50ZWxfZHBfZHVhbF9tb2RlICpkcF9kdWFsX21vZGUsCisJCQkJCWJvb2wg ZW5hYmxlKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo aW50ZWxfaGRtaV90b19kZXYoaGRtaSkpOwotCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9 Ci0JCWludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2LCBoZG1pLT5kZGNfYnVzKTsKLQot CWlmIChoZG1pLT5kcF9kdWFsX21vZGUudHlwZSA8IERSTV9EUF9EVUFMX01PREVfVFlQRTJfRFZJ KQorCWlmIChkcF9kdWFsX21vZGUtPnR5cGUgPCBEUk1fRFBfRFVBTF9NT0RFX1RZUEUyX0RWSSkK IAkJcmV0dXJuOwogCi0JRFJNX0RFQlVHX0tNUygiJXMgRFAgZHVhbCBtb2RlIGFkYXB0b3IgVE1E UyBvdXRwdXRcbiIsCisJRFJNX0RFQlVHX0tNUygiW0VOQ09ERVI6JWQ6JXNdICVzIERQIGR1YWwg bW9kZSBhZGFwdG9yIFRNRFMgb3V0cHV0XG4iLAorCQkgICAgICBlbmNvZGVyLT5iYXNlLmJhc2Uu aWQsIGVuY29kZXItPmJhc2UubmFtZSwKIAkJICAgICAgZW5hYmxlID8gIkVuYWJsaW5nIiA6ICJE aXNhYmxpbmciKTsKIAotCWRybV9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KGhkbWktPmRw X2R1YWxfbW9kZS50eXBlLAotCQkJCQkgYWRhcHRlciwgZW5hYmxlKTsKKwlkcm1fZHBfZHVhbF9t b2RlX3NldF90bWRzX291dHB1dChkcF9kdWFsX21vZGUtPnR5cGUsCisJCQkJCSBkcF9kdWFsX21v ZGUtPmFkYXB0ZXIsIGVuYWJsZSk7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfaGRtaV9oZGNwX3Jl YWQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCkBAIC0xNzUwLDcg KzE3NDksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3ByZXBhcmUoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVk X21vZGUgPSAmY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZTsKIAl1MzIgaGRtaV92YWw7CiAK LQlpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KGludGVsX2hkbWksIHRydWUpOwor CWludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQoZW5jb2RlciwKKwkJCQkJICAgJmlu dGVsX2hkbWktPmRwX2R1YWxfbW9kZSwgdHJ1ZSk7CiAKIAloZG1pX3ZhbCA9IFNEVk9fRU5DT0RJ TkdfSERNSTsKIAlpZiAoIUhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpICYmIGNydGNfc3RhdGUtPmxp bWl0ZWRfY29sb3JfcmFuZ2UpCkBAIC0yMDY0LDcgKzIwNjQsOCBAQCBzdGF0aWMgdm9pZCBpbnRl bF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgICAg IGZhbHNlLAogCQkJCSAgICAgICBvbGRfY3J0Y19zdGF0ZSwgb2xkX2Nvbm5fc3RhdGUpOwogCi0J aW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChpbnRlbF9oZG1pLCBmYWxzZSk7CisJ aW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChlbmNvZGVyLAorCQkJCQkgICAmaW50 ZWxfaGRtaS0+ZHBfZHVhbF9tb2RlLCBmYWxzZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGc0eF9kaXNh YmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCkBAIC0yNTE5LDI4ICsyNTIw LDI0IEBAIGludCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogfQogCiBzdGF0aWMgdm9pZAotaW50ZWxfaGRtaV91bnNldF9lZGlkKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCitpbnRlbF9oZG1pX3Vuc2V0X2VkaWQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBpbnRlbF9oZG1pICppbnRl bF9oZG1pID0gaW50ZWxfYXR0YWNoZWRfaGRtaSh0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9y KSk7CisJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBpbnRlbF9hdHRhY2hlZF9oZG1p KGNvbm5lY3Rvcik7CiAKIAlpbnRlbF9oZG1pLT5oYXNfaGRtaV9zaW5rID0gZmFsc2U7CiAJaW50 ZWxfaGRtaS0+aGFzX2F1ZGlvID0gZmFsc2U7CiAKLQlpbnRlbF9oZG1pLT5kcF9kdWFsX21vZGUu dHlwZSA9IERSTV9EUF9EVUFMX01PREVfTk9ORTsKLQlpbnRlbF9oZG1pLT5kcF9kdWFsX21vZGUu bWF4X3RtZHNfY2xvY2sgPSAwOworCWludGVsX2RwX2R1YWxfbW9kZV9yZXNldCgmaW50ZWxfaGRt aS0+ZHBfZHVhbF9tb2RlKTsKIAotCWtmcmVlKHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3Ip LT5kZXRlY3RfZWRpZCk7Ci0JdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3RvciktPmRldGVjdF9l ZGlkID0gTlVMTDsKKwlrZnJlZShjb25uZWN0b3ItPmRldGVjdF9lZGlkKTsKKwljb25uZWN0b3It PmRldGVjdF9lZGlkID0gTlVMTDsKIH0KIAotc3RhdGljIHZvaWQKLWludGVsX2hkbWlfZHBfZHVh bF9tb2RlX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGhhc19l ZGlkKQordm9pZCBpbnRlbF9kcF9kdWFsX21vZGVfZGV0ZWN0KHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvciwKKwkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZHBfZHVhbF9tb2RlICpkcF9k dWFsX21vZGUsCisJCQkgICAgICAgYm9vbCBhc3N1bWVfdHlwZTFfZHZpKQogewotCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpOwotCXN0 cnVjdCBpbnRlbF9oZG1pICpoZG1pID0gaW50ZWxfYXR0YWNoZWRfaGRtaSh0b19pbnRlbF9jb25u ZWN0b3IoY29ubmVjdG9yKSk7Ci0JZW51bSBwb3J0IHBvcnQgPSBoZG1pX3RvX2RpZ19wb3J0KGhk bWkpLT5iYXNlLnBvcnQ7Ci0Jc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0KLQkJaW50ZWxf Z21idXNfZ2V0X2FkYXB0ZXIoZGV2X3ByaXYsIGhkbWktPmRkY19idXMpOworCXN0cnVjdCBpMmNf YWRhcHRlciAqYWRhcHRlciA9IGRwX2R1YWxfbW9kZS0+YWRhcHRlcjsKIAllbnVtIGRybV9kcF9k dWFsX21vZGVfdHlwZSB0eXBlID0gZHJtX2RwX2R1YWxfbW9kZV9kZXRlY3QoYWRhcHRlcik7CiAK IAkvKgpAQCAtMjU1OSw5ICsyNTU2LDkgQEAgaW50ZWxfaGRtaV9kcF9kdWFsX21vZGVfZGV0ZWN0 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgaGFzX2VkaWQpCiAJCS8qIEFu IG92ZXJyaWRkZW4gRURJRCBpbXBseSB0aGF0IHdlIHdhbnQgdGhpcyBwb3J0IGZvciB0ZXN0aW5n LgogCQkgKiBNYWtlIHN1cmUgbm90IHRvIHNldCBsaW1pdHMgZm9yIHRoYXQgcG9ydC4KIAkJICov Ci0JCWlmIChoYXNfZWRpZCAmJiAhY29ubmVjdG9yLT5vdmVycmlkZV9lZGlkICYmCi0JCSAgICBp bnRlbF9iaW9zX2lzX3BvcnRfZHBfZHVhbF9tb2RlKGRldl9wcml2LCBwb3J0KSkgewotCQkJRFJN X0RFQlVHX0tNUygiQXNzdW1pbmcgRFAgZHVhbCBtb2RlIGFkYXB0b3IgcHJlc2VuY2UgYmFzZWQg b24gVkJUXG4iKTsKKwkJaWYgKGFzc3VtZV90eXBlMV9kdmkpIHsKKwkJCURSTV9ERUJVR19LTVMo IltDT05ORUNUT1I6JWQ6JXNdIEFzc3VtaW5nIHR5cGUxIERWSSBEUCBkdWFsIG1vZGUgYWRhcHRv ciBwcmVzZW5jZVxuIiwKKwkJCQkgICAgICBjb25uZWN0b3ItPmJhc2UuYmFzZS5pZCwgY29ubmVj dG9yLT5iYXNlLm5hbWUpOwogCQkJdHlwZSA9IERSTV9EUF9EVUFMX01PREVfVFlQRTFfRFZJOwog CQl9IGVsc2UgewogCQkJdHlwZSA9IERSTV9EUF9EVUFMX01PREVfTk9ORTsKQEAgLTI1NzEsMjAg KzI1NjgsMjggQEAgaW50ZWxfaGRtaV9kcF9kdWFsX21vZGVfZGV0ZWN0KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsIGJvb2wgaGFzX2VkaWQpCiAJaWYgKHR5cGUgPT0gRFJNX0RQX0RV QUxfTU9ERV9OT05FKQogCQlyZXR1cm47CiAKLQloZG1pLT5kcF9kdWFsX21vZGUudHlwZSA9IHR5 cGU7Ci0JaGRtaS0+ZHBfZHVhbF9tb2RlLm1heF90bWRzX2Nsb2NrID0KKwlkcF9kdWFsX21vZGUt PnR5cGUgPSB0eXBlOworCWRwX2R1YWxfbW9kZS0+bWF4X3RtZHNfY2xvY2sgPQogCQlkcm1fZHBf ZHVhbF9tb2RlX21heF90bWRzX2Nsb2NrKHR5cGUsIGFkYXB0ZXIpOwogCi0JRFJNX0RFQlVHX0tN UygiRFAgZHVhbCBtb2RlIGFkYXB0b3IgKCVzKSBkZXRlY3RlZCAobWF4IFRNRFMgY2xvY2s6ICVk IGtIeilcbiIsCisJRFJNX0RFQlVHX0tNUygiW0NPTk5FQ1RPUjolZDolc10gRFAgZHVhbCBtb2Rl IGFkYXB0b3IgKCVzKSBkZXRlY3RlZCAobWF4IFRNRFMgY2xvY2s6ICVkIGtIeilcbiIsCisJCSAg ICAgIGNvbm5lY3Rvci0+YmFzZS5iYXNlLmlkLCBjb25uZWN0b3ItPmJhc2UubmFtZSwKIAkJICAg ICAgZHJtX2RwX2dldF9kdWFsX21vZGVfdHlwZV9uYW1lKHR5cGUpLAotCQkgICAgICBoZG1pLT5k cF9kdWFsX21vZGUubWF4X3RtZHNfY2xvY2spOworCQkgICAgICBkcF9kdWFsX21vZGUtPm1heF90 bWRzX2Nsb2NrKTsKK30KKwordm9pZCBpbnRlbF9kcF9kdWFsX21vZGVfcmVzZXQoc3RydWN0IGlu dGVsX2RwX2R1YWxfbW9kZSAqZHBfZHVhbF9tb2RlKQoreworCWRwX2R1YWxfbW9kZS0+dHlwZSA9 IERSTV9EUF9EVUFMX01PREVfTk9ORTsKKwlkcF9kdWFsX21vZGUtPm1heF90bWRzX2Nsb2NrID0g MDsKIH0KIAogc3RhdGljIGJvb2wKLWludGVsX2hkbWlfc2V0X2VkaWQoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKK2ludGVsX2hkbWlfc2V0X2VkaWQoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpOwotCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1p ID0gaW50ZWxfYXR0YWNoZWRfaGRtaSh0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKSk7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJh c2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGludGVsX2F0dGFjaGVk X2hkbWkoY29ubmVjdG9yKTsKKwllbnVtIHBvcnQgcG9ydCA9IGhkbWlfdG9fZGlnX3BvcnQoaW50 ZWxfaGRtaSktPmJhc2UucG9ydDsKIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKIAlzdHJ1Y3Qg ZWRpZCAqZWRpZDsKIAlib29sIGNvbm5lY3RlZCA9IGZhbHNlOwpAQCAtMjU5NCwyMCArMjU5OSwy MiBAQCBpbnRlbF9oZG1pX3NldF9lZGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ip CiAKIAlpMmMgPSBpbnRlbF9nbWJ1c19nZXRfYWRhcHRlcihkZXZfcHJpdiwgaW50ZWxfaGRtaS0+ ZGRjX2J1cyk7CiAKLQllZGlkID0gZHJtX2dldF9lZGlkKGNvbm5lY3RvciwgaTJjKTsKKwllZGlk ID0gZHJtX2dldF9lZGlkKCZjb25uZWN0b3ItPmJhc2UsIGkyYyk7CiAKIAlpZiAoIWVkaWQgJiYg IWludGVsX2dtYnVzX2lzX2ZvcmNlZF9iaXQoaTJjKSkgewogCQlEUk1fREVCVUdfS01TKCJIRE1J IEdNQlVTIEVESUQgcmVhZCBmYWlsZWQsIHJldHJ5IHVzaW5nIEdQSU8gYml0LWJhbmdpbmdcbiIp OwogCQlpbnRlbF9nbWJ1c19mb3JjZV9iaXQoaTJjLCB0cnVlKTsKLQkJZWRpZCA9IGRybV9nZXRf ZWRpZChjb25uZWN0b3IsIGkyYyk7CisJCWVkaWQgPSBkcm1fZ2V0X2VkaWQoJmNvbm5lY3Rvci0+ YmFzZSwgaTJjKTsKIAkJaW50ZWxfZ21idXNfZm9yY2VfYml0KGkyYywgZmFsc2UpOwogCX0KIAot CWludGVsX2hkbWlfZHBfZHVhbF9tb2RlX2RldGVjdChjb25uZWN0b3IsIGVkaWQgIT0gTlVMTCk7 CisJaW50ZWxfZHBfZHVhbF9tb2RlX2RldGVjdChjb25uZWN0b3IsICZpbnRlbF9oZG1pLT5kcF9k dWFsX21vZGUsCisJCQkJICBlZGlkICYmICFjb25uZWN0b3ItPmJhc2Uub3ZlcnJpZGVfZWRpZCAm JgorCQkJCSAgaW50ZWxfYmlvc19pc19wb3J0X2RwX2R1YWxfbW9kZShkZXZfcHJpdiwgcG9ydCkp OwogCiAJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9HTUJV Uywgd2FrZXJlZik7CiAKLQl0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKS0+ZGV0ZWN0X2Vk aWQgPSBlZGlkOworCWNvbm5lY3Rvci0+ZGV0ZWN0X2VkaWQgPSBlZGlkOwogCWlmIChlZGlkICYm IGVkaWQtPmlucHV0ICYgRFJNX0VESURfSU5QVVRfRElHSVRBTCkgewogCQlpbnRlbF9oZG1pLT5o YXNfYXVkaW8gPSBkcm1fZGV0ZWN0X21vbml0b3JfYXVkaW8oZWRpZCk7CiAJCWludGVsX2hkbWkt Pmhhc19oZG1pX3NpbmsgPSBkcm1fZGV0ZWN0X2hkbWlfbW9uaXRvcihlZGlkKTsKQEAgLTI2Mzgs OSArMjY0NSw5IEBAIGludGVsX2hkbWlfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsIGJvb2wgZm9yY2UpCiAJICAgICFpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGVu Y29kZXIpKQogCQlnb3RvIG91dDsKIAotCWludGVsX2hkbWlfdW5zZXRfZWRpZChjb25uZWN0b3Ip OworCWludGVsX2hkbWlfdW5zZXRfZWRpZCh0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKSk7 CiAKLQlpZiAoaW50ZWxfaGRtaV9zZXRfZWRpZChjb25uZWN0b3IpKQorCWlmIChpbnRlbF9oZG1p X3NldF9lZGlkKHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpKSkKIAkJc3RhdHVzID0gY29u bmVjdG9yX3N0YXR1c19jb25uZWN0ZWQ7CiAKIG91dDoKQEAgLTI2NjQsMTIgKzI2NzEsMTIgQEAg aW50ZWxfaGRtaV9mb3JjZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCURSTV9E RUJVR19LTVMoIltDT05ORUNUT1I6JWQ6JXNdXG4iLAogCQkgICAgICBjb25uZWN0b3ItPmJhc2Uu aWQsIGNvbm5lY3Rvci0+bmFtZSk7CiAKLQlpbnRlbF9oZG1pX3Vuc2V0X2VkaWQoY29ubmVjdG9y KTsKKwlpbnRlbF9oZG1pX3Vuc2V0X2VkaWQodG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcikp OwogCiAJaWYgKGNvbm5lY3Rvci0+c3RhdHVzICE9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVk KQogCQlyZXR1cm47CiAKLQlpbnRlbF9oZG1pX3NldF9lZGlkKGNvbm5lY3Rvcik7CisJaW50ZWxf aGRtaV9zZXRfZWRpZCh0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKSk7CiB9CiAKIHN0YXRp YyBpbnQgaW50ZWxfaGRtaV9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKQEAgLTMxODgsNiArMzE5NSw5IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3Rvcihz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKIAlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKIAkJY29ubmVjdG9y LT55Y2Jjcl80MjBfYWxsb3dlZCA9IHRydWU7CiAKKwlpbnRlbF9oZG1pLT5kcF9kdWFsX21vZGUu YWRhcHRlciA9CisJCWludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2LCBpbnRlbF9oZG1p LT5kZGNfYnVzKTsKKwogCWludGVsX2VuY29kZXItPmhwZF9waW4gPSBpbnRlbF9ocGRfcGluX2Rl ZmF1bHQoZGV2X3ByaXYsIHBvcnQpOwogCiAJaWYgKEhBU19EREkoZGV2X3ByaXYpKQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuaAppbmRleCA1MmNlYThiZWFmYmIuLmU2 ZjcwNDc2OTdmZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9oZG1pLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmgK QEAgLTE4LDYgKzE4LDcgQEAgc3RydWN0IGRybV9lbmNvZGVyOwogc3RydWN0IGRybV9pOTE1X3By aXZhdGU7CiBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yOwogc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dDsKK3N0cnVjdCBpbnRlbF9kcF9kdWFsX21vZGU7CiBzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsKIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlOwogc3RydWN0IGludGVsX2hkbWk7CkBAIC0zNyw3ICszOCwx MyBAQCBib29sIGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKIAkJCQkgICAgICAgYm9vbCBoaWdoX3RtZHNfY2xvY2tfcmF0aW8sCiAJCQkJICAgICAg IGJvb2wgc2NyYW1ibGluZyk7Ci12b2lkIGludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRw dXQoc3RydWN0IGludGVsX2hkbWkgKmhkbWksIGJvb2wgZW5hYmxlKTsKK3ZvaWQgaW50ZWxfZHBf ZHVhbF9tb2RlX2RldGVjdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCisJCQkg ICAgICAgc3RydWN0IGludGVsX2RwX2R1YWxfbW9kZSAqZHBfZHVhbF9tb2RlLAorCQkJICAgICAg IGJvb2wgYXNzdW1lX3R5cGUxX2R2aSk7Cit2b2lkIGludGVsX2RwX2R1YWxfbW9kZV9yZXNldChz dHJ1Y3QgaW50ZWxfZHBfZHVhbF9tb2RlICpkcF9kdWFsX21vZGUpOwordm9pZCBpbnRlbF9kcF9k dWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZHIsCisJ CQkJCXN0cnVjdCBpbnRlbF9kcF9kdWFsX21vZGUgKmRwX2R1YWxfbW9kZSwKKwkJCQkJYm9vbCBl bmFibGUpOwogdm9pZCBpbnRlbF9pbmZvZnJhbWVfaW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICppbnRlbF9kaWdfcG9ydCk7CiB1MzIgaW50ZWxfaGRtaV9pbmZvZnJhbWVzX2VuYWJsZWQo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Ci0tIAoyLjI0LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= 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=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,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 37E81C35247 for ; Mon, 3 Feb 2020 15:15:03 +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 12D79217BA for ; Mon, 3 Feb 2020 15:15:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 12D79217BA 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 825F56EC51; Mon, 3 Feb 2020 15:15:02 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id C01546EC52; Mon, 3 Feb 2020 15:15:00 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Feb 2020 07:15:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,398,1574150400"; d="scan'208";a="225194522" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga008.fm.intel.com with SMTP; 03 Feb 2020 07:14:57 -0800 Received: by stinkbox (sSMTP sendmail emulation); Mon, 03 Feb 2020 17:14:57 +0200 From: Ville Syrjala To: dri-devel@lists.freedesktop.org Date: Mon, 3 Feb 2020 17:13:41 +0200 Message-Id: <20200203151343.14378-25-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200203151343.14378-1-ville.syrjala@linux.intel.com> References: <20200203151343.14378-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 24/26] drm/i915: Decouple DP++ from the HDMI code 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: intel-gfx@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" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkRl Y291cGxlIHRoZSBEUCBkdWFsIG1vZGUgYWRhcHRvciBzdHVmZiBmcm9tIHRoZSBIRE1JIGNvZGUg c28gdGhhdAp3ZSBjYW4gdHJ5IHRvIHVzZSBpdCBmb3IgRFAgYnJhbmNoIGRvd25zdHJlYW0gZmFj aW5nIEhETUkgcG9ydHMgYXMKd2VsbC4KClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kZGkuYyAgICAgIHwgIDYgKy0KIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Rpc3BsYXlfdHlwZXMuaCAgICB8IDEyICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9oZG1pLmMgICAgIHwgOTQgKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmggICAgIHwgIDkgKy0KIDQgZmlsZXMgY2hh bmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKaW5kZXggM2QxMzkzZmY2NDM1Li45MmMyODA5MDVmMzEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYwpAQCAtMzU5OCw3ICsz NTk4LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlpbnQgbGV2ZWwgPSBpbnRlbF9kZGlfaGRtaV9sZXZlbChl bmNvZGVyKTsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19k aWdfcG9ydChlbmNvZGVyKTsKIAotCWludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQo aW50ZWxfaGRtaSwgdHJ1ZSk7CisJaW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChl bmNvZGVyLAorCQkJCQkgICAmaW50ZWxfaGRtaS0+ZHBfZHVhbF9tb2RlLCB0cnVlKTsKIAlpbnRl bF9kZGlfY2xrX3NlbGVjdChlbmNvZGVyLCBjcnRjX3N0YXRlKTsKIAogCWludGVsX2Rpc3BsYXlf cG93ZXJfZ2V0KGRldl9wcml2LCBkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7CkBAIC0z Nzc4LDcgKzM3NzksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlX2hkbWko c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAlpbnRlbF9kZGlfY2xrX2Rpc2FibGUo ZW5jb2Rlcik7CiAKLQlpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KGludGVsX2hk bWksIGZhbHNlKTsKKwlpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KGVuY29kZXIs CisJCQkJCSAgICZpbnRlbF9oZG1pLT5kcF9kdWFsX21vZGUsIGZhbHNlKTsKIH0KIAogc3RhdGlj IHZvaWQgaWNsX2Rpc2FibGVfdHJhbnNjb2Rlcl9wb3J0X3N5bmMoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAppbmRleCAwMDQ3MTc5MWQ3NzIuLjBkMTM1 ODU5ZTlkNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5X3R5cGVzLmgKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJpOTE1X2Rydi5oIgog I2luY2x1ZGUgImludGVsX2RlLmgiCiAKK3N0cnVjdCBpMmNfYWRhcHRlcjsKIHN0cnVjdCBkcm1f cHJpbnRlcjsKIHN0cnVjdCBfX2ludGVsX2dsb2JhbF9vYmpzX3N0YXRlOwogCkBAIC0xMTUwLDE1 ICsxMTUxLDE4IEBAIHN0cnVjdCBjeHNyX2xhdGVuY3kgewogI2RlZmluZSB0b19pbnRlbF9wbGFu ZV9zdGF0ZSh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlLCB1YXBp KQogI2RlZmluZSBpbnRlbF9mYl9vYmooeCkgKCh4KSA/IHRvX2ludGVsX2JvKCh4KS0+b2JqWzBd KSA6IE5VTEwpCiAKK3N0cnVjdCBpbnRlbF9kcF9kdWFsX21vZGUgeworCXN0cnVjdCBpMmNfYWRh cHRlciAqYWRhcHRlcjsKKwlpbnQgbWF4X3RtZHNfY2xvY2s7CisJZW51bSBkcm1fZHBfZHVhbF9t b2RlX3R5cGUgdHlwZTsKK307CisKIHN0cnVjdCBpbnRlbF9oZG1pIHsKIAlpOTE1X3JlZ190IGhk bWlfcmVnOwogCWludCBkZGNfYnVzOwotCXN0cnVjdCB7Ci0JCWVudW0gZHJtX2RwX2R1YWxfbW9k ZV90eXBlIHR5cGU7Ci0JCWludCBtYXhfdG1kc19jbG9jazsKLQl9IGRwX2R1YWxfbW9kZTsKIAli b29sIGhhc19oZG1pX3Npbms7CiAJYm9vbCBoYXNfYXVkaW87CisJc3RydWN0IGludGVsX2RwX2R1 YWxfbW9kZSBkcF9kdWFsX21vZGU7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqYXR0YWNoZWRf Y29ubmVjdG9yOwogCXN0cnVjdCBjZWNfbm90aWZpZXIgKmNlY19ub3RpZmllcjsKIH07CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jCmluZGV4IDllMDMxNmY2ZWIzZi4u YWQ4ZTk3NDU4NWI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWku YwpAQCAtMTI0OSwyMCArMTI0OSwxOSBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X2luZm9mcmFtZXMo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICAmY3J0Y19zdGF0ZS0+aW5m b2ZyYW1lcy5kcm0pOwogfQogCi12b2lkIGludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRw dXQoc3RydWN0IGludGVsX2hkbWkgKmhkbWksIGJvb2wgZW5hYmxlKQordm9pZCBpbnRlbF9kcF9k dWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAor CQkJCQlzdHJ1Y3QgaW50ZWxfZHBfZHVhbF9tb2RlICpkcF9kdWFsX21vZGUsCisJCQkJCWJvb2wg ZW5hYmxlKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo aW50ZWxfaGRtaV90b19kZXYoaGRtaSkpOwotCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9 Ci0JCWludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2LCBoZG1pLT5kZGNfYnVzKTsKLQot CWlmIChoZG1pLT5kcF9kdWFsX21vZGUudHlwZSA8IERSTV9EUF9EVUFMX01PREVfVFlQRTJfRFZJ KQorCWlmIChkcF9kdWFsX21vZGUtPnR5cGUgPCBEUk1fRFBfRFVBTF9NT0RFX1RZUEUyX0RWSSkK IAkJcmV0dXJuOwogCi0JRFJNX0RFQlVHX0tNUygiJXMgRFAgZHVhbCBtb2RlIGFkYXB0b3IgVE1E UyBvdXRwdXRcbiIsCisJRFJNX0RFQlVHX0tNUygiW0VOQ09ERVI6JWQ6JXNdICVzIERQIGR1YWwg bW9kZSBhZGFwdG9yIFRNRFMgb3V0cHV0XG4iLAorCQkgICAgICBlbmNvZGVyLT5iYXNlLmJhc2Uu aWQsIGVuY29kZXItPmJhc2UubmFtZSwKIAkJICAgICAgZW5hYmxlID8gIkVuYWJsaW5nIiA6ICJE aXNhYmxpbmciKTsKIAotCWRybV9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KGhkbWktPmRw X2R1YWxfbW9kZS50eXBlLAotCQkJCQkgYWRhcHRlciwgZW5hYmxlKTsKKwlkcm1fZHBfZHVhbF9t b2RlX3NldF90bWRzX291dHB1dChkcF9kdWFsX21vZGUtPnR5cGUsCisJCQkJCSBkcF9kdWFsX21v ZGUtPmFkYXB0ZXIsIGVuYWJsZSk7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfaGRtaV9oZGNwX3Jl YWQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCkBAIC0xNzUwLDcg KzE3NDksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3ByZXBhcmUoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVk X21vZGUgPSAmY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZTsKIAl1MzIgaGRtaV92YWw7CiAK LQlpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KGludGVsX2hkbWksIHRydWUpOwor CWludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQoZW5jb2RlciwKKwkJCQkJICAgJmlu dGVsX2hkbWktPmRwX2R1YWxfbW9kZSwgdHJ1ZSk7CiAKIAloZG1pX3ZhbCA9IFNEVk9fRU5DT0RJ TkdfSERNSTsKIAlpZiAoIUhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpICYmIGNydGNfc3RhdGUtPmxp bWl0ZWRfY29sb3JfcmFuZ2UpCkBAIC0yMDY0LDcgKzIwNjQsOCBAQCBzdGF0aWMgdm9pZCBpbnRl bF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgICAg IGZhbHNlLAogCQkJCSAgICAgICBvbGRfY3J0Y19zdGF0ZSwgb2xkX2Nvbm5fc3RhdGUpOwogCi0J aW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChpbnRlbF9oZG1pLCBmYWxzZSk7CisJ aW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChlbmNvZGVyLAorCQkJCQkgICAmaW50 ZWxfaGRtaS0+ZHBfZHVhbF9tb2RlLCBmYWxzZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGc0eF9kaXNh YmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCkBAIC0yNTE5LDI4ICsyNTIw LDI0IEBAIGludCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogfQogCiBzdGF0aWMgdm9pZAotaW50ZWxfaGRtaV91bnNldF9lZGlkKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCitpbnRlbF9oZG1pX3Vuc2V0X2VkaWQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBpbnRlbF9oZG1pICppbnRl bF9oZG1pID0gaW50ZWxfYXR0YWNoZWRfaGRtaSh0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9y KSk7CisJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBpbnRlbF9hdHRhY2hlZF9oZG1p KGNvbm5lY3Rvcik7CiAKIAlpbnRlbF9oZG1pLT5oYXNfaGRtaV9zaW5rID0gZmFsc2U7CiAJaW50 ZWxfaGRtaS0+aGFzX2F1ZGlvID0gZmFsc2U7CiAKLQlpbnRlbF9oZG1pLT5kcF9kdWFsX21vZGUu dHlwZSA9IERSTV9EUF9EVUFMX01PREVfTk9ORTsKLQlpbnRlbF9oZG1pLT5kcF9kdWFsX21vZGUu bWF4X3RtZHNfY2xvY2sgPSAwOworCWludGVsX2RwX2R1YWxfbW9kZV9yZXNldCgmaW50ZWxfaGRt aS0+ZHBfZHVhbF9tb2RlKTsKIAotCWtmcmVlKHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3Ip LT5kZXRlY3RfZWRpZCk7Ci0JdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3RvciktPmRldGVjdF9l ZGlkID0gTlVMTDsKKwlrZnJlZShjb25uZWN0b3ItPmRldGVjdF9lZGlkKTsKKwljb25uZWN0b3It PmRldGVjdF9lZGlkID0gTlVMTDsKIH0KIAotc3RhdGljIHZvaWQKLWludGVsX2hkbWlfZHBfZHVh bF9tb2RlX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGhhc19l ZGlkKQordm9pZCBpbnRlbF9kcF9kdWFsX21vZGVfZGV0ZWN0KHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvciwKKwkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZHBfZHVhbF9tb2RlICpkcF9k dWFsX21vZGUsCisJCQkgICAgICAgYm9vbCBhc3N1bWVfdHlwZTFfZHZpKQogewotCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpOwotCXN0 cnVjdCBpbnRlbF9oZG1pICpoZG1pID0gaW50ZWxfYXR0YWNoZWRfaGRtaSh0b19pbnRlbF9jb25u ZWN0b3IoY29ubmVjdG9yKSk7Ci0JZW51bSBwb3J0IHBvcnQgPSBoZG1pX3RvX2RpZ19wb3J0KGhk bWkpLT5iYXNlLnBvcnQ7Ci0Jc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0KLQkJaW50ZWxf Z21idXNfZ2V0X2FkYXB0ZXIoZGV2X3ByaXYsIGhkbWktPmRkY19idXMpOworCXN0cnVjdCBpMmNf YWRhcHRlciAqYWRhcHRlciA9IGRwX2R1YWxfbW9kZS0+YWRhcHRlcjsKIAllbnVtIGRybV9kcF9k dWFsX21vZGVfdHlwZSB0eXBlID0gZHJtX2RwX2R1YWxfbW9kZV9kZXRlY3QoYWRhcHRlcik7CiAK IAkvKgpAQCAtMjU1OSw5ICsyNTU2LDkgQEAgaW50ZWxfaGRtaV9kcF9kdWFsX21vZGVfZGV0ZWN0 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgaGFzX2VkaWQpCiAJCS8qIEFu IG92ZXJyaWRkZW4gRURJRCBpbXBseSB0aGF0IHdlIHdhbnQgdGhpcyBwb3J0IGZvciB0ZXN0aW5n LgogCQkgKiBNYWtlIHN1cmUgbm90IHRvIHNldCBsaW1pdHMgZm9yIHRoYXQgcG9ydC4KIAkJICov Ci0JCWlmIChoYXNfZWRpZCAmJiAhY29ubmVjdG9yLT5vdmVycmlkZV9lZGlkICYmCi0JCSAgICBp bnRlbF9iaW9zX2lzX3BvcnRfZHBfZHVhbF9tb2RlKGRldl9wcml2LCBwb3J0KSkgewotCQkJRFJN X0RFQlVHX0tNUygiQXNzdW1pbmcgRFAgZHVhbCBtb2RlIGFkYXB0b3IgcHJlc2VuY2UgYmFzZWQg b24gVkJUXG4iKTsKKwkJaWYgKGFzc3VtZV90eXBlMV9kdmkpIHsKKwkJCURSTV9ERUJVR19LTVMo IltDT05ORUNUT1I6JWQ6JXNdIEFzc3VtaW5nIHR5cGUxIERWSSBEUCBkdWFsIG1vZGUgYWRhcHRv ciBwcmVzZW5jZVxuIiwKKwkJCQkgICAgICBjb25uZWN0b3ItPmJhc2UuYmFzZS5pZCwgY29ubmVj dG9yLT5iYXNlLm5hbWUpOwogCQkJdHlwZSA9IERSTV9EUF9EVUFMX01PREVfVFlQRTFfRFZJOwog CQl9IGVsc2UgewogCQkJdHlwZSA9IERSTV9EUF9EVUFMX01PREVfTk9ORTsKQEAgLTI1NzEsMjAg KzI1NjgsMjggQEAgaW50ZWxfaGRtaV9kcF9kdWFsX21vZGVfZGV0ZWN0KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsIGJvb2wgaGFzX2VkaWQpCiAJaWYgKHR5cGUgPT0gRFJNX0RQX0RV QUxfTU9ERV9OT05FKQogCQlyZXR1cm47CiAKLQloZG1pLT5kcF9kdWFsX21vZGUudHlwZSA9IHR5 cGU7Ci0JaGRtaS0+ZHBfZHVhbF9tb2RlLm1heF90bWRzX2Nsb2NrID0KKwlkcF9kdWFsX21vZGUt PnR5cGUgPSB0eXBlOworCWRwX2R1YWxfbW9kZS0+bWF4X3RtZHNfY2xvY2sgPQogCQlkcm1fZHBf ZHVhbF9tb2RlX21heF90bWRzX2Nsb2NrKHR5cGUsIGFkYXB0ZXIpOwogCi0JRFJNX0RFQlVHX0tN UygiRFAgZHVhbCBtb2RlIGFkYXB0b3IgKCVzKSBkZXRlY3RlZCAobWF4IFRNRFMgY2xvY2s6ICVk IGtIeilcbiIsCisJRFJNX0RFQlVHX0tNUygiW0NPTk5FQ1RPUjolZDolc10gRFAgZHVhbCBtb2Rl IGFkYXB0b3IgKCVzKSBkZXRlY3RlZCAobWF4IFRNRFMgY2xvY2s6ICVkIGtIeilcbiIsCisJCSAg ICAgIGNvbm5lY3Rvci0+YmFzZS5iYXNlLmlkLCBjb25uZWN0b3ItPmJhc2UubmFtZSwKIAkJICAg ICAgZHJtX2RwX2dldF9kdWFsX21vZGVfdHlwZV9uYW1lKHR5cGUpLAotCQkgICAgICBoZG1pLT5k cF9kdWFsX21vZGUubWF4X3RtZHNfY2xvY2spOworCQkgICAgICBkcF9kdWFsX21vZGUtPm1heF90 bWRzX2Nsb2NrKTsKK30KKwordm9pZCBpbnRlbF9kcF9kdWFsX21vZGVfcmVzZXQoc3RydWN0IGlu dGVsX2RwX2R1YWxfbW9kZSAqZHBfZHVhbF9tb2RlKQoreworCWRwX2R1YWxfbW9kZS0+dHlwZSA9 IERSTV9EUF9EVUFMX01PREVfTk9ORTsKKwlkcF9kdWFsX21vZGUtPm1heF90bWRzX2Nsb2NrID0g MDsKIH0KIAogc3RhdGljIGJvb2wKLWludGVsX2hkbWlfc2V0X2VkaWQoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKK2ludGVsX2hkbWlfc2V0X2VkaWQoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpOwotCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1p ID0gaW50ZWxfYXR0YWNoZWRfaGRtaSh0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKSk7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJh c2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGludGVsX2F0dGFjaGVk X2hkbWkoY29ubmVjdG9yKTsKKwllbnVtIHBvcnQgcG9ydCA9IGhkbWlfdG9fZGlnX3BvcnQoaW50 ZWxfaGRtaSktPmJhc2UucG9ydDsKIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKIAlzdHJ1Y3Qg ZWRpZCAqZWRpZDsKIAlib29sIGNvbm5lY3RlZCA9IGZhbHNlOwpAQCAtMjU5NCwyMCArMjU5OSwy MiBAQCBpbnRlbF9oZG1pX3NldF9lZGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ip CiAKIAlpMmMgPSBpbnRlbF9nbWJ1c19nZXRfYWRhcHRlcihkZXZfcHJpdiwgaW50ZWxfaGRtaS0+ ZGRjX2J1cyk7CiAKLQllZGlkID0gZHJtX2dldF9lZGlkKGNvbm5lY3RvciwgaTJjKTsKKwllZGlk ID0gZHJtX2dldF9lZGlkKCZjb25uZWN0b3ItPmJhc2UsIGkyYyk7CiAKIAlpZiAoIWVkaWQgJiYg IWludGVsX2dtYnVzX2lzX2ZvcmNlZF9iaXQoaTJjKSkgewogCQlEUk1fREVCVUdfS01TKCJIRE1J IEdNQlVTIEVESUQgcmVhZCBmYWlsZWQsIHJldHJ5IHVzaW5nIEdQSU8gYml0LWJhbmdpbmdcbiIp OwogCQlpbnRlbF9nbWJ1c19mb3JjZV9iaXQoaTJjLCB0cnVlKTsKLQkJZWRpZCA9IGRybV9nZXRf ZWRpZChjb25uZWN0b3IsIGkyYyk7CisJCWVkaWQgPSBkcm1fZ2V0X2VkaWQoJmNvbm5lY3Rvci0+ YmFzZSwgaTJjKTsKIAkJaW50ZWxfZ21idXNfZm9yY2VfYml0KGkyYywgZmFsc2UpOwogCX0KIAot CWludGVsX2hkbWlfZHBfZHVhbF9tb2RlX2RldGVjdChjb25uZWN0b3IsIGVkaWQgIT0gTlVMTCk7 CisJaW50ZWxfZHBfZHVhbF9tb2RlX2RldGVjdChjb25uZWN0b3IsICZpbnRlbF9oZG1pLT5kcF9k dWFsX21vZGUsCisJCQkJICBlZGlkICYmICFjb25uZWN0b3ItPmJhc2Uub3ZlcnJpZGVfZWRpZCAm JgorCQkJCSAgaW50ZWxfYmlvc19pc19wb3J0X2RwX2R1YWxfbW9kZShkZXZfcHJpdiwgcG9ydCkp OwogCiAJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9HTUJV Uywgd2FrZXJlZik7CiAKLQl0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKS0+ZGV0ZWN0X2Vk aWQgPSBlZGlkOworCWNvbm5lY3Rvci0+ZGV0ZWN0X2VkaWQgPSBlZGlkOwogCWlmIChlZGlkICYm IGVkaWQtPmlucHV0ICYgRFJNX0VESURfSU5QVVRfRElHSVRBTCkgewogCQlpbnRlbF9oZG1pLT5o YXNfYXVkaW8gPSBkcm1fZGV0ZWN0X21vbml0b3JfYXVkaW8oZWRpZCk7CiAJCWludGVsX2hkbWkt Pmhhc19oZG1pX3NpbmsgPSBkcm1fZGV0ZWN0X2hkbWlfbW9uaXRvcihlZGlkKTsKQEAgLTI2Mzgs OSArMjY0NSw5IEBAIGludGVsX2hkbWlfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsIGJvb2wgZm9yY2UpCiAJICAgICFpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKGVu Y29kZXIpKQogCQlnb3RvIG91dDsKIAotCWludGVsX2hkbWlfdW5zZXRfZWRpZChjb25uZWN0b3Ip OworCWludGVsX2hkbWlfdW5zZXRfZWRpZCh0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKSk7 CiAKLQlpZiAoaW50ZWxfaGRtaV9zZXRfZWRpZChjb25uZWN0b3IpKQorCWlmIChpbnRlbF9oZG1p X3NldF9lZGlkKHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpKSkKIAkJc3RhdHVzID0gY29u bmVjdG9yX3N0YXR1c19jb25uZWN0ZWQ7CiAKIG91dDoKQEAgLTI2NjQsMTIgKzI2NzEsMTIgQEAg aW50ZWxfaGRtaV9mb3JjZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCURSTV9E RUJVR19LTVMoIltDT05ORUNUT1I6JWQ6JXNdXG4iLAogCQkgICAgICBjb25uZWN0b3ItPmJhc2Uu aWQsIGNvbm5lY3Rvci0+bmFtZSk7CiAKLQlpbnRlbF9oZG1pX3Vuc2V0X2VkaWQoY29ubmVjdG9y KTsKKwlpbnRlbF9oZG1pX3Vuc2V0X2VkaWQodG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcikp OwogCiAJaWYgKGNvbm5lY3Rvci0+c3RhdHVzICE9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVk KQogCQlyZXR1cm47CiAKLQlpbnRlbF9oZG1pX3NldF9lZGlkKGNvbm5lY3Rvcik7CisJaW50ZWxf aGRtaV9zZXRfZWRpZCh0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKSk7CiB9CiAKIHN0YXRp YyBpbnQgaW50ZWxfaGRtaV9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKQEAgLTMxODgsNiArMzE5NSw5IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3Rvcihz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKIAlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKIAkJY29ubmVjdG9y LT55Y2Jjcl80MjBfYWxsb3dlZCA9IHRydWU7CiAKKwlpbnRlbF9oZG1pLT5kcF9kdWFsX21vZGUu YWRhcHRlciA9CisJCWludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2LCBpbnRlbF9oZG1p LT5kZGNfYnVzKTsKKwogCWludGVsX2VuY29kZXItPmhwZF9waW4gPSBpbnRlbF9ocGRfcGluX2Rl ZmF1bHQoZGV2X3ByaXYsIHBvcnQpOwogCiAJaWYgKEhBU19EREkoZGV2X3ByaXYpKQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuaAppbmRleCA1MmNlYThiZWFmYmIuLmU2 ZjcwNDc2OTdmZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9oZG1pLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmgK QEAgLTE4LDYgKzE4LDcgQEAgc3RydWN0IGRybV9lbmNvZGVyOwogc3RydWN0IGRybV9pOTE1X3By aXZhdGU7CiBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yOwogc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dDsKK3N0cnVjdCBpbnRlbF9kcF9kdWFsX21vZGU7CiBzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsKIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlOwogc3RydWN0IGludGVsX2hkbWk7CkBAIC0zNyw3ICszOCwx MyBAQCBib29sIGludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKIAkJCQkgICAgICAgYm9vbCBoaWdoX3RtZHNfY2xvY2tfcmF0aW8sCiAJCQkJICAgICAg IGJvb2wgc2NyYW1ibGluZyk7Ci12b2lkIGludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRw dXQoc3RydWN0IGludGVsX2hkbWkgKmhkbWksIGJvb2wgZW5hYmxlKTsKK3ZvaWQgaW50ZWxfZHBf ZHVhbF9tb2RlX2RldGVjdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCisJCQkg ICAgICAgc3RydWN0IGludGVsX2RwX2R1YWxfbW9kZSAqZHBfZHVhbF9tb2RlLAorCQkJICAgICAg IGJvb2wgYXNzdW1lX3R5cGUxX2R2aSk7Cit2b2lkIGludGVsX2RwX2R1YWxfbW9kZV9yZXNldChz dHJ1Y3QgaW50ZWxfZHBfZHVhbF9tb2RlICpkcF9kdWFsX21vZGUpOwordm9pZCBpbnRlbF9kcF9k dWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZHIsCisJ CQkJCXN0cnVjdCBpbnRlbF9kcF9kdWFsX21vZGUgKmRwX2R1YWxfbW9kZSwKKwkJCQkJYm9vbCBl bmFibGUpOwogdm9pZCBpbnRlbF9pbmZvZnJhbWVfaW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICppbnRlbF9kaWdfcG9ydCk7CiB1MzIgaW50ZWxfaGRtaV9pbmZvZnJhbWVzX2VuYWJsZWQo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Ci0tIAoyLjI0LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=