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 94ACFC2D0E4 for ; Tue, 17 Nov 2020 19:44:56 +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 0E7EC2222E for ; Tue, 17 Nov 2020 19:44:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0E7EC2222E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 5842D6E064; Tue, 17 Nov 2020 19:44:55 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 442776E062 for ; Tue, 17 Nov 2020 19:44:54 +0000 (UTC) IronPort-SDR: 1YPmQ+pAt4LFuP66x5HPJ+FTNknAjuixVVxucukGwagZOQTB/ZFnpUx/1A/jPEaHyuxmzDb6w2 fi0gCEos5cxw== X-IronPort-AV: E=McAfee;i="6000,8403,9808"; a="232612526" X-IronPort-AV: E=Sophos;i="5.77,486,1596524400"; d="scan'208";a="232612526" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2020 11:44:52 -0800 IronPort-SDR: uL9MljOlZ9s4KdYRs4wlCVhjfTTzcUETQVAAMgKVYidOEVHgdIZyxSNPao0xCHqkFERMb9Zliv tT3PDR+mDfSg== X-IronPort-AV: E=Sophos;i="5.77,486,1596524400"; d="scan'208";a="359034178" Received: from labuser-z97x-ud5h.jf.intel.com ([10.165.21.211]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 17 Nov 2020 11:44:52 -0800 From: Manasi Navare To: intel-gfx@lists.freedesktop.org Date: Tue, 17 Nov 2020 11:47:05 -0800 Message-Id: <20201117194718.11462-3-manasi.d.navare@intel.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20201117194718.11462-1-manasi.d.navare@intel.com> References: <20201117194718.11462-1-manasi.d.navare@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [CI 02/15] drm/i915/dp: Allow big joiner modes in intel_dp_mode_valid(), v3. 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" RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KClNtYWxsIGNoYW5nZXMgdG8gaW50ZWxfZHBfbW9kZV92YWxpZCgpLCBhbGxvdyBsaXN0aW5n IG1vZGVzIHRoYXQKY2FuIG9ubHkgYmUgc3VwcG9ydGVkIGluIHRoZSBiaWdqb2luZXIgY29uZmln dXJhdGlvbiwgd2hpY2ggaXMKbm90IHN1cHBvcnRlZCB5ZXQuCgp2MTM6CiogQWxsb3cgYmlnam9p bmVyIGlmIGhkaXNwbGF5ID41MTIwCnYxMjoKKiBzbGljZV9jb3VudCBsb2dpYyBzaW1wbGlmeSAo VmlsbGUpCiogRml4IHVubmVjZXNzYXJ5IGNoYW5nZXMgaW4gZG93bnN0cmVhbV9tb2RlX3ZhbGlk IChWaWxsZSkKdjExOgoqIE1ha2UgaW50ZWxfZHBfY2FuX2JpZ2pvaW5lciBub24gc3RhdGljCnNv IGl0IGNhbiBiZSB1c2VkIGluIGludGVsX2Rpc3BsYXkgKE1hbmFzaSkKdjEwOgoqIFNpbXBsaWZ5 IGxvZ2ljIChWaWxsZSkKKiBBbGxvdyBiaWdqb2luZXIgb24gZWRwIChWaWxsZSkKdjk6CiogUmVz dHJpYyBCaWdqb2luZXIgb24gUE9SVCBBIChWaWxsZSkKdjg6CiogdXNlIHNvdXJjZSBkb3RjbG9j ayBmb3IgbWF4IGRvdGNsb2NrIChNYW5hc2kpCnY3OgoqIEFkZCBjYW5fYmlnam9pbmVyKCkgaGVs cGVyIChWaWxsZSkKKiBQYXNzIGJpZ2pvaW5lciB0byBwbGFuZV9zaXplIHZhbGlkYXRpb24gKFZp bGxlKQp2NjoKKiBSZWJhc2UgYWZ0ZXIgZHBfZG93bnN0cmVhbSBtb2RlIHZhbGlkIGNoYW5nZXMg KE1hbmFzaSkKdjU6CiogSW5jcmVhc2UgbWF4IHBsYW5lIHdpZHRoIHRvIHN1cHBvcnQgOEsgd2l0 aCBiaWdqb2luZXIgKE1hYXJ0ZW4pCnY0OgoqIFJlYmFzZSAoTWFuYXNpKQoKQ2hhbmdlcyBzaW5j ZSB2MToKLSBEaXNhbGxvdyBiaWdqb2luZXIgb24gZURQLgpDaGFuZ2VzIHNpbmNlIHYyOgotIFJl bmFtZSBpbnRlbF9kcF9kb3duc3RyZWFtX21heF9kb3RjbG9jayB0byBpbnRlbF9kcF9tYXhfZG90 Y2xvY2ssCiAgYW5kIHNwbGl0IG9mZiB0aGUgZG93bnN0cmVhbSBhbmQgc291cmNlIGNoZWNraW5n IHRvIGl0cyBvd24gZnVuY3Rpb24uCiAgKFZpbGxlKQp2MzoKKiBSZWJhc2UgKE1hbmFzaSkKClNp Z25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5p bnRlbC5jb20+Clt2c3lyamFsYToKKiBLZWVwIGJpZ2pvaW5lciBkaXNhYmxlZCB1bnRpbCBldmVy eXRoaW5nIGlzIHJlYWR5CiogQXBwZWFzZSBjaGVja3BhdGNoXQpTaWduZWQtb2ZmLWJ5OiBWaWxs ZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTog QW5pbWVzaCBNYW5uYSA8YW5pbWVzaC5tYW5uYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgfCAgNSArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmggfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kcC5jICAgICAgfCA4MSArKysrKysrKysrKysrKysrLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5oICAgICAgfCAgMSArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RzaS5jICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYyAgICB8ICAyICstCiA3IGZpbGVzIGNoYW5nZWQs IDc2IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggYTFiOTc1YWIzYmIwLi4xNmM1NWQ4ZmU0 ZGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBA IC0xNzc4MCw3ICsxNzc4MCw4IEBAIGludGVsX21vZGVfdmFsaWQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAogZW51bSBkcm1fbW9kZV9zdGF0dXMKIGludGVsX21vZGVfdmFsaWRfbWF4X3BsYW5l X3NpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJCWNvbnN0IHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQorCQkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlLAorCQkJCWJvb2wgYmlnam9pbmVyKQogewogCWludCBwbGFuZV93aWR0aF9tYXgs IHBsYW5lX2hlaWdodF9tYXg7CiAKQEAgLTE3Nzk3LDcgKzE3Nzk4LDcgQEAgaW50ZWxfbW9kZV92 YWxpZF9tYXhfcGxhbmVfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ ICogdG9vIGJpZyBmb3IgdGhhdC4KIAkgKi8KIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAx MSkgewotCQlwbGFuZV93aWR0aF9tYXggPSA1MTIwOworCQlwbGFuZV93aWR0aF9tYXggPSA1MTIw IDw8IGJpZ2pvaW5lcjsKIAkJcGxhbmVfaGVpZ2h0X21heCA9IDQzMjA7CiAJfSBlbHNlIHsKIAkJ cGxhbmVfd2lkdGhfbWF4ID0gNTEyMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5LmgKaW5kZXggNmJlMTRlODU3MWFhLi41ZTBkNDJkODJjMTEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCkBAIC01MTMsNyArNTEz LDggQEAgdTMyIGludGVsX3BsYW5lX2ZiX21heF9zdHJpZGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogYm9vbCBpbnRlbF9wbGFuZV9jYW5fcmVtYXAoY29uc3Qgc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7CiBlbnVtIGRybV9tb2RlX3N0YXR1cwogaW50 ZWxfbW9kZV92YWxpZF9tYXhfcGxhbmVfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCi0JCQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOworCQkJCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAorCQkJCWJvb2wgYmlnam9pbmVyKTsK IGVudW0gcGh5IGludGVsX3BvcnRfdG9fcGh5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 LCBlbnVtIHBvcnQgcG9ydCk7CiBib29sIGlzX3RyYW5zX3BvcnRfc3luY19tb2RlKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpzdGF0ZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZHAuYwppbmRleCBlYzgzNTlmMDNhYWYuLjVhZDU5NjEwZWIxMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwpAQCAtMjU0LDYgKzI1NCwyMCBAQCBpbnRl bF9kcF9tYXhfZGF0YV9yYXRlKGludCBtYXhfbGlua19jbG9jaywgaW50IG1heF9sYW5lcykKIAly ZXR1cm4gbWF4X2xpbmtfY2xvY2sgKiBtYXhfbGFuZXM7CiB9CiAKK2Jvb2wgaW50ZWxfZHBfY2Fu X2JpZ2pvaW5lcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQoreworCXN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwor CXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gJmludGVsX2RpZ19wb3J0LT5iYXNlOwor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFz ZS5kZXYpOworCisJLyogRklYTUUgcmVtb3ZlIG9uY2UgZXZlcnl0aGluZyBpcyBpbiBwbGFjZSAq LworCXJldHVybiBmYWxzZTsKKworCXJldHVybiBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEyIHx8 CisJCShJTlRFTF9HRU4oZGV2X3ByaXYpID09IDExICYmCisJCSBlbmNvZGVyLT5wb3J0ICE9IFBP UlRfQSk7Cit9CisKIHN0YXRpYyBpbnQgY25sX21heF9zb3VyY2VfcmF0ZShzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQogewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0g ZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwpAQCAtNTE5LDcgKzUzMyw4IEBAIHNtYWxsX2pvaW5l cl9yYW1fc2l6ZV9iaXRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCiBzdGF0aWMg dTE2IGludGVsX2RwX2RzY19nZXRfb3V0cHV0X2JwcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwKIAkJCQkgICAgICAgdTMyIGxpbmtfY2xvY2ssIHUzMiBsYW5lX2NvdW50LAotCQkJCSAg ICAgICB1MzIgbW9kZV9jbG9jaywgdTMyIG1vZGVfaGRpc3BsYXkpCisJCQkJICAgICAgIHUzMiBt b2RlX2Nsb2NrLCB1MzIgbW9kZV9oZGlzcGxheSwKKwkJCQkgICAgICAgYm9vbCBiaWdqb2luZXIp CiB7CiAJdTMyIGJpdHNfcGVyX3BpeGVsLCBtYXhfYnBwX3NtYWxsX2pvaW5lcl9yYW07CiAJaW50 IGk7CkBAIC01MzcsNiArNTUyLDEwIEBAIHN0YXRpYyB1MTYgaW50ZWxfZHBfZHNjX2dldF9vdXRw dXRfYnBwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCS8qIFNtYWxsIEpvaW5lciBD aGVjazogb3V0cHV0IGJwcCA8PSBqb2luZXIgUkFNIChiaXRzKSAvIEhvcml6LiB3aWR0aCAqLwog CW1heF9icHBfc21hbGxfam9pbmVyX3JhbSA9IHNtYWxsX2pvaW5lcl9yYW1fc2l6ZV9iaXRzKGk5 MTUpIC8KIAkJbW9kZV9oZGlzcGxheTsKKworCWlmIChiaWdqb2luZXIpCisJCW1heF9icHBfc21h bGxfam9pbmVyX3JhbSAqPSAyOworCiAJZHJtX2RiZ19rbXMoJmk5MTUtPmRybSwgIk1heCBzbWFs bCBqb2luZXIgYnBwOiAldVxuIiwKIAkJICAgIG1heF9icHBfc21hbGxfam9pbmVyX3JhbSk7CiAK QEAgLTU0Niw2ICs1NjUsMTUgQEAgc3RhdGljIHUxNiBpbnRlbF9kcF9kc2NfZ2V0X291dHB1dF9i cHAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJICovCiAJYml0c19wZXJfcGl4ZWwg PSBtaW4oYml0c19wZXJfcGl4ZWwsIG1heF9icHBfc21hbGxfam9pbmVyX3JhbSk7CiAKKwlpZiAo Ymlnam9pbmVyKSB7CisJCXUzMiBtYXhfYnBwX2JpZ2pvaW5lciA9CisJCQlpOTE1LT5tYXhfY2Rj bGtfZnJlcSAqIDQ4IC8KKwkJCWludGVsX2RwX21vZGVfdG9fZmVjX2Nsb2NrKG1vZGVfY2xvY2sp OworCisJCURSTV9ERUJVR19LTVMoIk1heCBiaWcgam9pbmVyIGJwcDogJXVcbiIsIG1heF9icHBf Ymlnam9pbmVyKTsKKwkJYml0c19wZXJfcGl4ZWwgPSBtaW4oYml0c19wZXJfcGl4ZWwsIG1heF9i cHBfYmlnam9pbmVyKTsKKwl9CisKIAkvKiBFcnJvciBvdXQgaWYgdGhlIG1heCBicHAgaXMgbGVz cyB0aGFuIHNtYWxsZXN0IGFsbG93ZWQgdmFsaWQgYnBwICovCiAJaWYgKGJpdHNfcGVyX3BpeGVs IDwgdmFsaWRfZHNjX2JwcFswXSkgewogCQlkcm1fZGJnX2ttcygmaTkxNS0+ZHJtLCAiVW5zdXBw b3J0ZWQgQlBQICV1LCBtaW4gJXVcbiIsCkBAIC01NjgsNyArNTk2LDggQEAgc3RhdGljIHUxNiBp bnRlbF9kcF9kc2NfZ2V0X291dHB1dF9icHAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUs CiB9CiAKIHN0YXRpYyB1OCBpbnRlbF9kcF9kc2NfZ2V0X3NsaWNlX2NvdW50KHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsCi0JCQkJICAgICAgIGludCBtb2RlX2Nsb2NrLCBpbnQgbW9kZV9oZGlz cGxheSkKKwkJCQkgICAgICAgaW50IG1vZGVfY2xvY2ssIGludCBtb2RlX2hkaXNwbGF5LAorCQkJ CSAgICAgICBib29sIGJpZ2pvaW5lcikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOwogCXU4IG1pbl9zbGljZV9jb3VudCwgaTsKQEAgLTU5 NSwxMiArNjI0LDE4IEBAIHN0YXRpYyB1OCBpbnRlbF9kcF9kc2NfZ2V0X3NsaWNlX2NvdW50KHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAKIAkvKiBGaW5kIHRoZSBjbG9zZXN0IG1hdGNoIHRv IHRoZSB2YWxpZCBzbGljZSBjb3VudCB2YWx1ZXMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlf U0laRSh2YWxpZF9kc2Nfc2xpY2Vjb3VudCk7IGkrKykgewotCQlpZiAodmFsaWRfZHNjX3NsaWNl Y291bnRbaV0gPgotCQkgICAgZHJtX2RwX2RzY19zaW5rX21heF9zbGljZV9jb3VudChpbnRlbF9k cC0+ZHNjX2RwY2QsCi0JCQkJCQkgICAgZmFsc2UpKQorCQl1OCB0ZXN0X3NsaWNlX2NvdW50ID0g dmFsaWRfZHNjX3NsaWNlY291bnRbaV0gPDwgYmlnam9pbmVyOworCisJCWlmICh0ZXN0X3NsaWNl X2NvdW50ID4KKwkJICAgIGRybV9kcF9kc2Nfc2lua19tYXhfc2xpY2VfY291bnQoaW50ZWxfZHAt PmRzY19kcGNkLCBmYWxzZSkpCiAJCQlicmVhazsKLQkJaWYgKG1pbl9zbGljZV9jb3VudCAgPD0g dmFsaWRfZHNjX3NsaWNlY291bnRbaV0pCi0JCQlyZXR1cm4gdmFsaWRfZHNjX3NsaWNlY291bnRb aV07CisKKwkJLyogYmlnIGpvaW5lciBuZWVkcyBzbWFsbCBqb2luZXIgdG8gYmUgZW5hYmxlZCAq LworCQlpZiAoYmlnam9pbmVyICYmIHRlc3Rfc2xpY2VfY291bnQgPCA0KQorCQkJY29udGludWU7 CisKKwkJaWYgKG1pbl9zbGljZV9jb3VudCA8PSB0ZXN0X3NsaWNlX2NvdW50KQorCQkJcmV0dXJu IHRlc3Rfc2xpY2VfY291bnQ7CiAJfQogCiAJZHJtX2RiZ19rbXMoJmk5MTUtPmRybSwgIlVuc3Vw cG9ydGVkIFNsaWNlIENvdW50ICVkXG4iLApAQCAtNzE3LDYgKzc1Miw3IEBAIGludGVsX2RwX21v ZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAl1MTYgZHNjX21heF9v dXRwdXRfYnBwID0gMDsKIAl1OCBkc2Nfc2xpY2VfY291bnQgPSAwOwogCWVudW0gZHJtX21vZGVf c3RhdHVzIHN0YXR1czsKKwlib29sIGRzYyA9IGZhbHNlLCBiaWdqb2luZXIgPSBmYWxzZTsKIAog CWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMU0NBTikKIAkJcmV0dXJuIE1PREVf Tk9fREJMRVNDQU47CkBAIC03MzcsNiArNzczLDE0IEBAIGludGVsX2RwX21vZGVfdmFsaWQoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlpZiAobW9kZS0+Y2xvY2sgPCAxMDAwMCkK IAkJcmV0dXJuIE1PREVfQ0xPQ0tfTE9XOwogCisJaWYgKCh0YXJnZXRfY2xvY2sgPiBtYXhfZG90 Y2xrIHx8IG1vZGUtPmhkaXNwbGF5ID4gNTEyMCkgJiYKKwkgICAgaW50ZWxfZHBfY2FuX2JpZ2pv aW5lcihpbnRlbF9kcCkpIHsKKwkJYmlnam9pbmVyID0gdHJ1ZTsKKwkJbWF4X2RvdGNsayAqPSAy OworCX0KKwlpZiAodGFyZ2V0X2Nsb2NrID4gbWF4X2RvdGNsaykKKwkJcmV0dXJuIE1PREVfQ0xP Q0tfSElHSDsKKwogCW1heF9saW5rX2Nsb2NrID0gaW50ZWxfZHBfbWF4X2xpbmtfcmF0ZShpbnRl bF9kcCk7CiAJbWF4X2xhbmVzID0gaW50ZWxfZHBfbWF4X2xhbmVfY291bnQoaW50ZWxfZHApOwog CkBAIC03NjUsMTYgKzgwOSwyMyBAQCBpbnRlbF9kcF9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCiAJCQkJCQkJICAgIG1heF9saW5rX2Nsb2NrLAogCQkJCQkJCSAg ICBtYXhfbGFuZXMsCiAJCQkJCQkJICAgIHRhcmdldF9jbG9jaywKLQkJCQkJCQkgICAgbW9kZS0+ aGRpc3BsYXkpID4+IDQ7CisJCQkJCQkJICAgIG1vZGUtPmhkaXNwbGF5LAorCQkJCQkJCSAgICBi aWdqb2luZXIpID4+IDQ7CiAJCQlkc2Nfc2xpY2VfY291bnQgPQogCQkJCWludGVsX2RwX2RzY19n ZXRfc2xpY2VfY291bnQoaW50ZWxfZHAsCiAJCQkJCQkJICAgICB0YXJnZXRfY2xvY2ssCi0JCQkJ CQkJICAgICBtb2RlLT5oZGlzcGxheSk7CisJCQkJCQkJICAgICBtb2RlLT5oZGlzcGxheSwKKwkJ CQkJCQkgICAgIGJpZ2pvaW5lcik7CiAJCX0KKworCQlkc2MgPSBkc2NfbWF4X291dHB1dF9icHAg JiYgZHNjX3NsaWNlX2NvdW50OwogCX0KIAotCWlmICgobW9kZV9yYXRlID4gbWF4X3JhdGUgJiYg IShkc2NfbWF4X291dHB1dF9icHAgJiYgZHNjX3NsaWNlX2NvdW50KSkgfHwKLQkgICAgdGFyZ2V0 X2Nsb2NrID4gbWF4X2RvdGNsaykKKwkvKiBiaWcgam9pbmVyIGNvbmZpZ3VyYXRpb24gbmVlZHMg RFNDICovCisJaWYgKGJpZ2pvaW5lciAmJiAhZHNjKQorCQlyZXR1cm4gTU9ERV9DTE9DS19ISUdI OworCisJaWYgKG1vZGVfcmF0ZSA+IG1heF9yYXRlICYmICFkc2MpCiAJCXJldHVybiBNT0RFX0NM T0NLX0hJR0g7CiAKIAlzdGF0dXMgPSBpbnRlbF9kcF9tb2RlX3ZhbGlkX2Rvd25zdHJlYW0oaW50 ZWxfY29ubmVjdG9yLApAQCAtNzgyLDcgKzgzMyw3IEBAIGludGVsX2RwX21vZGVfdmFsaWQoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlpZiAoc3RhdHVzICE9IE1PREVfT0spCiAJ CXJldHVybiBzdGF0dXM7CiAKLQlyZXR1cm4gaW50ZWxfbW9kZV92YWxpZF9tYXhfcGxhbmVfc2l6 ZShkZXZfcHJpdiwgbW9kZSk7CisJcmV0dXJuIGludGVsX21vZGVfdmFsaWRfbWF4X3BsYW5lX3Np emUoZGV2X3ByaXYsIG1vZGUsIGJpZ2pvaW5lcik7CiB9CiAKIHUzMiBpbnRlbF9kcF9wYWNrX2F1 eChjb25zdCB1OCAqc3JjLCBpbnQgc3JjX2J5dGVzKQpAQCAtMjM1MSwxMSArMjQwMiwxMyBAQCBz dGF0aWMgaW50IGludGVsX2RwX2RzY19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLAogCQkJCQkJICAgIHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAogCQkJCQkJICAgIHBp cGVfY29uZmlnLT5sYW5lX2NvdW50LAogCQkJCQkJICAgIGFkanVzdGVkX21vZGUtPmNydGNfY2xv Y2ssCi0JCQkJCQkgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSk7CisJCQkJCQkgICAg YWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSwKKwkJCQkJCSAgICBmYWxzZSk7CiAJCWRzY19k cF9zbGljZV9jb3VudCA9CiAJCQlpbnRlbF9kcF9kc2NfZ2V0X3NsaWNlX2NvdW50KGludGVsX2Rw LAogCQkJCQkJICAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrLAotCQkJCQkJICAgICBhZGp1 c3RlZF9tb2RlLT5jcnRjX2hkaXNwbGF5KTsKKwkJCQkJCSAgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0 Y19oZGlzcGxheSwKKwkJCQkJCSAgICAgZmFsc2UpOwogCQlpZiAoIWRzY19tYXhfb3V0cHV0X2Jw cCB8fCAhZHNjX2RwX3NsaWNlX2NvdW50KSB7CiAJCQlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRy bSwKIAkJCQkgICAgIkNvbXByZXNzZWQgQlBQL1NsaWNlIENvdW50IG5vdCBzdXBwb3J0ZWRcbiIp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5oCmluZGV4IDNmODYyYjRmZDM0 Zi4uYjg3MWEwOWI2OTAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2RwLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5o CkBAIC0xMDYsNiArMTA2LDcgQEAgYm9vbCBpbnRlbF9kcF9zb3VyY2Vfc3VwcG9ydHNfaGJyMyhz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKIGJvb2wgaW50ZWxfZHBfZ2V0X2NvbG9yaW1ldHJ5 X3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKIGludCBpbnRlbF9kcF9saW5rX3Jl cXVpcmVkKGludCBwaXhlbF9jbG9jaywgaW50IGJwcCk7CiBpbnQgaW50ZWxfZHBfbWF4X2RhdGFf cmF0ZShpbnQgbWF4X2xpbmtfY2xvY2ssIGludCBtYXhfbGFuZXMpOworYm9vbCBpbnRlbF9kcF9j YW5fYmlnam9pbmVyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwogYm9vbCBpbnRlbF9kcF9u ZWVkc192c2Nfc2RwKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAog CQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsKIHZv aWQgaW50ZWxfZHBfY29tcHV0ZV9wc3JfdnNjX3NkcChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3Qu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmMKaW5kZXggYzhm Y2VjNGQwNzg4Li4wYzg2ODQ2MzRmY2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcF9tc3QuYwpAQCAtNzE0LDcgKzcxNCw3IEBAIGludGVsX2RwX21zdF9tb2RlX3Zh bGlkX2N0eChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQlyZXR1cm4gMDsKIAl9 CiAKLQkqc3RhdHVzID0gaW50ZWxfbW9kZV92YWxpZF9tYXhfcGxhbmVfc2l6ZShkZXZfcHJpdiwg bW9kZSk7CisJKnN0YXR1cyA9IGludGVsX21vZGVfdmFsaWRfbWF4X3BsYW5lX3NpemUoZGV2X3By aXYsIG1vZGUsIGZhbHNlKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZHNpLmMKaW5kZXggYWZhNGU2ODE3ZThjLi5mNDUzY2ViOGQxNDkgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kc2kuYwpAQCAtNzUsNyArNzUsNyBAQCBl bnVtIGRybV9tb2RlX3N0YXR1cyBpbnRlbF9kc2lfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAogCQkJcmV0dXJuIE1PREVfQ0xPQ0tfSElHSDsKIAl9CiAKLQlyZXR1 cm4gaW50ZWxfbW9kZV92YWxpZF9tYXhfcGxhbmVfc2l6ZShkZXZfcHJpdiwgbW9kZSk7CisJcmV0 dXJuIGludGVsX21vZGVfdmFsaWRfbWF4X3BsYW5lX3NpemUoZGV2X3ByaXYsIG1vZGUsIGZhbHNl KTsKIH0KIAogc3RydWN0IGludGVsX2RzaV9ob3N0ICppbnRlbF9kc2lfaG9zdF9pbml0KHN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9oZG1pLmMKaW5kZXggZjkwODM4YmM3NGZiLi44MjY3NGE4ODUzYzYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jCkBAIC0yMjc0LDcgKzIyNzQsNyBAQCBpbnRl bF9oZG1pX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlpZiAo c3RhdHVzICE9IE1PREVfT0spCiAJCXJldHVybiBzdGF0dXM7CiAKLQlyZXR1cm4gaW50ZWxfbW9k ZV92YWxpZF9tYXhfcGxhbmVfc2l6ZShkZXZfcHJpdiwgbW9kZSk7CisJcmV0dXJuIGludGVsX21v ZGVfdmFsaWRfbWF4X3BsYW5lX3NpemUoZGV2X3ByaXYsIG1vZGUsIGZhbHNlKTsKIH0KIAogYm9v bCBpbnRlbF9oZG1pX2RlZXBfY29sb3JfcG9zc2libGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCi0tIAoyLjE5LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=