From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [CI 07/19] drm/i915/dp: Compute DSC pipe config in atomic check Date: Fri, 2 Nov 2018 20:49:20 -0700 Message-ID: <20181103034932.26493-7-manasi.d.navare@intel.com> References: <20181103034932.26493-1-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7FCA26E653 for ; Sat, 3 Nov 2018 03:47:15 +0000 (UTC) In-Reply-To: <20181103034932.26493-1-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RFNDIHBhcmFtcyBsaWtlIHRoZSBlbmFibGUsIGNvbXByZXNzZWQgYnBwLCBzbGljZSBjb3VudCBh bmQKZHNjX3NwbGl0IGFyZSBhZGRlZCB0byB0aGUgaW50ZWxfY3J0Y19zdGF0ZS4gVGhlc2UgcGFy YW1ldGVycwphcmUgc2V0IGJhc2VkIG9uIHRoZSByZXF1ZXN0ZWQgbW9kZSBhbmQgYXZhaWxhYmxl IGxpbmsgcGFyYW1ldGVycwpkdXJpbmcgdGhlIHBpcGUgY29uZmlndXJhdGlvbiBpbiBhdG9taWMg Y2hlY2sgcGhhc2UuClRoZXNlIHZhbHVlcyBhcmUgdGhlbiBsYXRlciB1c2VkIHRvIHBvcHVsYXRl IHRoZSByZW1haW5pbmcgRFNDCmFuZCBSQyBwYXJhbWV0ZXJzIGJlZm9yZSBlbmJhbGluZyBEU0Mg aW4gYXRvbWljIGNvbW1pdC4KCnYxMjoKKiBPdmVycmlkZSBicHAgd2l0aCBkc2MgZHBjZCBjb2xv ciBkZXB0aCAoTWFuYXNpKQp2MTE6CiogQ29uc3QgY3J0Y19zdGF0ZSwgcmVqZWN0IERTQyBvbiBE UCB3aXRob3V0IEZFQyAoVmlsbGUpCiogRG9udCBzZXQgZHNjX3NwbGl0IHRvIGZhbHNlIChWaWxs ZSkKdjEwOgoqIEFkZCBhIGhlbHBlciBmb3IgZHBfZHNjIHN1cHBvcnQgKFZpbGxlKQoqIFNldCBw aXBlX2NvbmZpZyB0byBtYXggYnBwLCBsaW5rIHBhcmFtcyBmb3IgRFNDIGZvciBub3cgKFZpbGxl KQoqIENvbXB1dGUgYnBwIC0gdXNlIGRwIGRzYyBzdXBwb3J0IGhlbHBlciAoVmlsbGUpCnY5Ogoq IFJlYmFzZSBvbiB0b3Agb2YgZHJtLXRpcCB0aGF0IG5vdyB1c2VzIGZhc3RfbmFycm93IGNvbmZp Zwpmb3IgZWRwIChNYW5hc2kpCnY4OgoqIENoZWNrIGZvciBEU0MgYnBjIG5vdCAwIChtYW5hc2kp Cgp2NzoKKiBGaXggaW5kZW50YXRpb24gaW4gY29tcHV0ZV9tX24gKE1hbmFzaSkKCnY2IChGcm9t IEdhdXJhdik6CiogUmVtb3ZlIGZ1bmN0aW9uIGNhbGwgb2YgaW50ZWxfZHBfY29tcHV0ZV9kc2Nf cGFyYW1zKCkgYW5kCmludm9rZSBpbnRlbF9kcF9jb21wdXRlX2RzY19wYXJhbXMoKSBpbiB0aGUg cGF0Y2ggd2hlcmUKaXQgaXMgZGVmaW5lZCB0byBmaXggY29tcGlsYXRpb24gd2FybmluZyAoR2F1 cmF2KQoKdjU6CkFkZCBkcm1fZHNjX2NmZyBpbiBpbnRlbF9jcnRjX3N0YXRlIChNYW5hc2kpCgp2 NDoKKiBSZWJhc2Ugb24gcmVmYWN0b3Jpbmcgb2YgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcgb24g dGlwIChNYW5hc2kpCiogQWRkIGEgY29tbWVudCB3aHkgd2UgbmVlZCB0byBjaGVjayBQU1Igd2hp bGUgZW5hYmxpbmcgRFNDIChHYXVyYXYpCgp2MzoKKiBDaGVjayBQUFIgPiBtYXhfY2RjbG9jayB0 byB1c2UgMiBWRFNDIGluc3RhbmNlcyAoVmlsbGUpCgp2MjoKKiBBZGQgaWYtZWxzZSBmb3IgZURQ L0RQIChHYXVyYXYpCgpDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNv bT4KQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzog QW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgpDYzogR2F1cmF2IEsg U2luZ2ggPGdhdXJhdi5rLnNpbmdoQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5h dmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEFudXNoYSBTcml2 YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KQWNrZWQtYnk6IEphbmkgTmlrdWxhIDxq YW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIHwgIDIwICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuaCB8ICAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgIHwgMTcw ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBfbXN0LmMgIHwgICAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDE2OSBpbnNlcnRpb25zKCspLCAy NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMzFm YmY2N2NiNjYxLi42Y2M2NGMxMzJjOGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKQEAgLTY0NDIsNyArNjQ0Miw3IEBAIHN0YXRpYyBpbnQgaXJvbmxha2VfZmRpX2NvbXB1dGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAogCiAJcGlwZV9jb25maWctPmZk aV9sYW5lcyA9IGxhbmU7CiAKLQlpbnRlbF9saW5rX2NvbXB1dGVfbV9uKHBpcGVfY29uZmlnLT5w aXBlX2JwcCwgbGFuZSwgZmRpX2RvdGNsb2NrLAorCWludGVsX2xpbmtfY29tcHV0ZV9tX24ocGlw ZV9jb25maWctPnBpcGVfYnBwLCAwLCBsYW5lLCBmZGlfZG90Y2xvY2ssCiAJCQkgICAgICAgbGlu a19idywgJnBpcGVfY29uZmlnLT5mZGlfbV9uLCBmYWxzZSk7CiAKIAlyZXQgPSBpcm9ubGFrZV9j aGVja19mZGlfbGFuZXMoZGV2LCBpbnRlbF9jcnRjLT5waXBlLCBwaXBlX2NvbmZpZyk7CkBAIC02 Njc5LDE3ICs2Njc5LDI1IEBAIHN0YXRpYyB2b2lkIGNvbXB1dGVfbV9uKHVuc2lnbmVkIGludCBt LCB1bnNpZ25lZCBpbnQgbiwKIH0KIAogdm9pZAotaW50ZWxfbGlua19jb21wdXRlX21fbihpbnQg Yml0c19wZXJfcGl4ZWwsIGludCBubGFuZXMsCitpbnRlbF9saW5rX2NvbXB1dGVfbV9uKGludCBi aXRzX3Blcl9waXhlbCwgdWludDE2X3QgY29tcHJlc3NlZF9icHAsCisJCSAgICAgICBpbnQgbmxh bmVzLAogCQkgICAgICAgaW50IHBpeGVsX2Nsb2NrLCBpbnQgbGlua19jbG9jaywKIAkJICAgICAg IHN0cnVjdCBpbnRlbF9saW5rX21fbiAqbV9uLAogCQkgICAgICAgYm9vbCBjb25zdGFudF9uKQog ewogCW1fbi0+dHUgPSA2NDsKIAotCWNvbXB1dGVfbV9uKGJpdHNfcGVyX3BpeGVsICogcGl4ZWxf Y2xvY2ssCi0JCSAgICBsaW5rX2Nsb2NrICogbmxhbmVzICogOCwKLQkJICAgICZtX24tPmdtY2hf bSwgJm1fbi0+Z21jaF9uLAotCQkgICAgY29uc3RhbnRfbik7CisJLyogRm9yIERTQywgRGF0YSBN L04gY2FsY3VsYXRpb24gdXNlcyBjb21wcmVzc2VkIEJQUCAqLworCWlmIChjb21wcmVzc2VkX2Jw cCkKKwkJY29tcHV0ZV9tX24oY29tcHJlc3NlZF9icHAgKiBwaXhlbF9jbG9jaywKKwkJCSAgICBs aW5rX2Nsb2NrICogbmxhbmVzICogOCwKKwkJCSAgICAmbV9uLT5nbWNoX20sICZtX24tPmdtY2hf biwKKwkJCSAgICBjb25zdGFudF9uKTsKKwllbHNlCisJCWNvbXB1dGVfbV9uKGJpdHNfcGVyX3Bp eGVsICogcGl4ZWxfY2xvY2ssCisJCQkgICAgbGlua19jbG9jayAqIG5sYW5lcyAqIDgsCisJCQkg ICAgJm1fbi0+Z21jaF9tLCAmbV9uLT5nbWNoX24sCisJCQkgICAgY29uc3RhbnRfbik7CiAKIAlj b21wdXRlX21fbihwaXhlbF9jbG9jaywgbGlua19jbG9jaywKIAkJICAgICZtX24tPmxpbmtfbSwg Jm1fbi0+bGlua19uLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5oCmluZGV4IDVkNTBk ZWNiY2JiNS4uYjBiMjNlMWU5MzkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5o CkBAIC00MDcsNyArNDA3LDggQEAgc3RydWN0IGludGVsX2xpbmtfbV9uIHsKIAkgICAgIChfX2kp KyspIFwKIAkJZm9yX2VhY2hfaWYocGxhbmUpCiAKLXZvaWQgaW50ZWxfbGlua19jb21wdXRlX21f bihpbnQgYnBwLCBpbnQgbmxhbmVzLAordm9pZCBpbnRlbF9saW5rX2NvbXB1dGVfbV9uKGludCBi cHAsIHVpbnQxNl90IGNvbXByZXNzZWRfYnBwLAorCQkJICAgIGludCBubGFuZXMsCiAJCQkgICAg aW50IHBpeGVsX2Nsb2NrLCBpbnQgbGlua19jbG9jaywKIAkJCSAgICBzdHJ1Y3QgaW50ZWxfbGlu a19tX24gKm1fbiwKIAkJCSAgICBib29sIGNvbnN0YW50X24pOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMKaW5kZXggZDZlZTExNTI1ZGQ5Li45YTFhZjI1ZjMzMTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYwpAQCAtNDcsNiArNDcsOCBAQAogCiAvKiBEUCBEU0Mgc21hbGwgam9pbmVyIGhhcyAyIEZJ Rk9zIGVhY2ggb2YgNjQwIHggNiBieXRlcyAqLwogI2RlZmluZSBEUF9EU0NfTUFYX1NNQUxMX0pP SU5FUl9SQU1fQlVGRkVSCTYxNDQwCisjZGVmaW5lIERQX0RTQ19NSU5fU1VQUE9SVEVEX0JQQwkJ OAorI2RlZmluZSBEUF9EU0NfTUFYX1NVUFBPUlRFRF9CUEMJCTEwCiAKIC8qIERQIERTQyB0aHJv dWdocHV0IHZhbHVlcyB1c2VkIGZvciBzbGljZSBjb3VudCBjYWxjdWxhdGlvbnMgS1BpeGVscy9z ICovCiAjZGVmaW5lIERQX0RTQ19QRUFLX1BJWEVMX1JBVEUJCQkyNzIwMDAwCkBAIC0xODQwLDYg KzE4NDIsMjkgQEAgc3RydWN0IGxpbmtfY29uZmlnX2xpbWl0cyB7CiAJaW50IG1pbl9icHAsIG1h eF9icHA7CiB9OwogCitzdGF0aWMgYm9vbCBpbnRlbF9kcF9zb3VyY2Vfc3VwcG9ydHNfZHNjKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCisJCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7CisKKwkvKiBGSVhNRTogRkVDIG5lZWRlZCBmb3IgZXh0 ZXJuYWwgRFAgdW50aWwgdGhlbiByZWplY3QgRFNDIG9uIERQICovCisJaWYgKCFpbnRlbF9kcF9p c19lZHAoaW50ZWxfZHApKQorCQlyZXR1cm4gZmFsc2U7CisKKwlyZXR1cm4gSU5URUxfR0VOKGRl dl9wcml2KSA+PSAxMCAmJgorCQlwaXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIgIT0gVFJBTlND T0RFUl9BOworfQorCitzdGF0aWMgYm9vbCBpbnRlbF9kcF9zdXBwb3J0c19kc2Moc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCwKKwkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpw aXBlX2NvbmZpZykKK3sKKwlpZiAoIWludGVsX2RwX3NvdXJjZV9zdXBwb3J0c19kc2MoaW50ZWxf ZHAsIHBpcGVfY29uZmlnKSB8fAorCSAgICAhZHJtX2RwX3Npbmtfc3VwcG9ydHNfZHNjKGludGVs X2RwLT5kc2NfZHBjZCkpCisJCXJldHVybiBmYWxzZTsKKworCXJldHVybiB0cnVlOworfQorCiBz dGF0aWMgaW50IGludGVsX2RwX2NvbXB1dGVfYnBwKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAs CiAJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewpAQCAtMTg2Myw2 ICsxODg4LDE4IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfY29tcHV0ZV9icHAoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwKIAkJfQogCX0KIAorCS8qCisJICogSWYgRFNDIGlzIHN1cHBvcnRlZCwg dXNlIHRoZSBtYXggdmFsdWUgcmVwb3J0ZWQgYnkgcGFuZWwuCisJICogVGhlIEVESUQgdmFsdWUg Y2FuIGJlIGlnbm9yZWQuIFNvIG92ZXJ3cml0ZSB0aGUgYnBwCisJICovCisJaWYgKGludGVsX2Rw X3N1cHBvcnRzX2RzYyhpbnRlbF9kcCwgcGlwZV9jb25maWcpKSB7CisJCWJwYyA9IG1pbl90KHU4 LAorCQkJICAgIGRybV9kcF9kc2Nfc2lua19tYXhfY29sb3JfZGVwdGgoaW50ZWxfZHAtPmRzY19k cGNkKSwKKwkJCSAgICBEUF9EU0NfTUFYX1NVUFBPUlRFRF9CUEMpOworCQlpZiAoYnBjKQorCQkJ YnBwID0gMyAqIGJwYzsKKwl9CisKIAlyZXR1cm4gYnBwOwogfQogCkBAIC0xOTc0LDYgKzIwMTEs ODAgQEAgaW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZ19mYXN0KHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsCiAJcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgYm9vbCBpbnRlbF9kcF9kc2Nf Y29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKKwkJCQkJc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAorCQkJCQljb25zdCBzdHJ1Y3QgbGlua19jb25m aWdfbGltaXRzICpsaW1pdHMpCit7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3Bv cnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7CisJc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0 ZWRfbW9kZTsKKwl1MTYgZHNjX21heF9vdXRwdXRfYnBwID0gMDsKKwl1OCBkc2NfZHBfc2xpY2Vf Y291bnQgPSAwOworCisJaWYgKCFpbnRlbF9kcF9zdXBwb3J0c19kc2MoaW50ZWxfZHAsIHBpcGVf Y29uZmlnKSkKKwkJcmV0dXJuIGZhbHNlOworCisJLyogRFNDIG5vdCBzdXBwb3J0ZWQgZm9yIERT QyBzaW5rIEJQQyA8IDggKi8KKwlpZiAobGltaXRzLT5tYXhfYnBwIDwgMyAqIERQX0RTQ19NSU5f U1VQUE9SVEVEX0JQQykgeworCQlEUk1fREVCVUdfS01TKCJObyBEU0Mgc3VwcG9ydCBmb3IgbGVz cyB0aGFuIDhicGNcbiIpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJLyoKKwkgKiBGb3Igbm93 IGVuYWJsZSBEU0MgZm9yIG1heCBicHAsIG1heCBsaW5rIHJhdGUsIG1heCBsYW5lIGNvdW50Lgor CSAqIE9wdGltaXplIHRoaXMgbGF0ZXIgZm9yIHRoZSBtaW5pbXVtIHBvc3NpYmxlIGxpbmsgcmF0 ZS9sYW5lIGNvdW50CisJICogd2l0aCBEU0MgZW5hYmxlZCBmb3IgdGhlIHJlcXVlc3RlZCBtb2Rl LgorCSAqLworCXBpcGVfY29uZmlnLT5waXBlX2JwcCA9IGxpbWl0cy0+bWF4X2JwcDsKKwlwaXBl X2NvbmZpZy0+cG9ydF9jbG9jayA9IGludGVsX2RwLT5jb21tb25fcmF0ZXNbbGltaXRzLT5tYXhf Y2xvY2tdOworCXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0gbGltaXRzLT5tYXhfbGFuZV9jb3Vu dDsKKworCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKSB7CisJCXBpcGVfY29uZmlnLT5k c2NfcGFyYW1zLmNvbXByZXNzZWRfYnBwID0KKwkJCWRybV9lZHBfZHNjX3Npbmtfb3V0cHV0X2Jw cChpbnRlbF9kcC0+ZHNjX2RwY2QpID4+IDQ7CisJCXBpcGVfY29uZmlnLT5kc2NfcGFyYW1zLnNs aWNlX2NvdW50ID0KKwkJCWRybV9kcF9kc2Nfc2lua19tYXhfc2xpY2VfY291bnQoaW50ZWxfZHAt PmRzY19kcGNkLAorCQkJCQkJCXRydWUpOworCX0gZWxzZSB7CisJCWRzY19tYXhfb3V0cHV0X2Jw cCA9CisJCQlpbnRlbF9kcF9kc2NfZ2V0X291dHB1dF9icHAocGlwZV9jb25maWctPnBvcnRfY2xv Y2ssCisJCQkJCQkgICAgcGlwZV9jb25maWctPmxhbmVfY291bnQsCisJCQkJCQkgICAgYWRqdXN0 ZWRfbW9kZS0+Y3J0Y19jbG9jaywKKwkJCQkJCSAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX2hkaXNw bGF5KTsKKwkJZHNjX2RwX3NsaWNlX2NvdW50ID0KKwkJCWludGVsX2RwX2RzY19nZXRfc2xpY2Vf Y291bnQoaW50ZWxfZHAsCisJCQkJCQkgICAgIGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2ssCisJ CQkJCQkgICAgIGFkanVzdGVkX21vZGUtPmNydGNfaGRpc3BsYXkpOworCQlpZiAoIShkc2NfbWF4 X291dHB1dF9icHAgJiYgZHNjX2RwX3NsaWNlX2NvdW50KSkgeworCQkJRFJNX0RFQlVHX0tNUygi Q29tcHJlc3NlZCBCUFAvU2xpY2UgQ291bnQgbm90IHN1cHBvcnRlZFxuIik7CisJCQlyZXR1cm4g ZmFsc2U7CisJCX0KKwkJcGlwZV9jb25maWctPmRzY19wYXJhbXMuY29tcHJlc3NlZF9icHAgPSBk c2NfbWF4X291dHB1dF9icHAgPj4gNDsKKwkJcGlwZV9jb25maWctPmRzY19wYXJhbXMuc2xpY2Vf Y291bnQgPSBkc2NfZHBfc2xpY2VfY291bnQ7CisJfQorCS8qCisJICogVkRTQyBlbmdpbmUgb3Bl cmF0ZXMgYXQgMSBQaXhlbCBwZXIgY2xvY2ssIHNvIGlmIHBlYWsgcGl4ZWwgcmF0ZQorCSAqIGlz IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSBDZGNsb2NrIGFuZCBpZiBzbGljZSBjb3VudCBpcyBl dmVuCisJICogdGhlbiB3ZSBuZWVkIHRvIHVzZSAyIFZEU0MgaW5zdGFuY2VzLgorCSAqLworCWlm IChhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrID4gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxKSB7 CisJCWlmIChwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5zbGljZV9jb3VudCA+IDEpIHsKKwkJCXBp cGVfY29uZmlnLT5kc2NfcGFyYW1zLmRzY19zcGxpdCA9IHRydWU7CisJCX0gZWxzZSB7CisJCQlE Uk1fREVCVUdfS01TKCJDYW5ub3Qgc3BsaXQgc3RyZWFtIHRvIHVzZSAyIFZEU0MgaW5zdGFuY2Vz XG4iKTsKKwkJCXJldHVybiBmYWxzZTsKKwkJfQorCX0KKwlwaXBlX2NvbmZpZy0+ZHNjX3BhcmFt cy5jb21wcmVzc2lvbl9lbmFibGUgPSB0cnVlOworCURSTV9ERUJVR19LTVMoIkRQIERTQyBjb21w dXRlZCB3aXRoIElucHV0IEJwcCA9ICVkICIKKwkJICAgICAgIkNvbXByZXNzZWQgQnBwID0gJWQg U2xpY2UgQ291bnQgPSAlZFxuIiwKKwkJICAgICAgcGlwZV9jb25maWctPnBpcGVfYnBwLAorCQkg ICAgICBwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5jb21wcmVzc2VkX2JwcCwKKwkJICAgICAgcGlw ZV9jb25maWctPmRzY19wYXJhbXMuc2xpY2VfY291bnQpOworCisJcmV0dXJuIHRydWU7Cit9CisK IHN0YXRpYyBib29sCiBpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmlnKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcpCkBAIC0xOTgyLDYgKzIwOTMsNyBAQCBpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmln KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwogCXN0cnVjdCBsaW5rX2NvbmZp Z19saW1pdHMgbGltaXRzOwogCWludCBjb21tb25fbGVuOworCWJvb2wgcmV0ID0gZmFsc2U7CiAK IAljb21tb25fbGVuID0gaW50ZWxfZHBfY29tbW9uX2xlbl9yYXRlX2xpbWl0KGludGVsX2RwLAog CQkJCQkJICAgIGludGVsX2RwLT5tYXhfbGlua19yYXRlKTsKQEAgLTE5OTUsOCArMjEwNywxMiBA QCBpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCWxpbWl0cy5taW5fbGFuZV9jb3VudCA9IDE7CiAJbGltaXRzLm1heF9sYW5lX2NvdW50 ID0gaW50ZWxfZHBfbWF4X2xhbmVfY291bnQoaW50ZWxfZHApOwogCi0JbGltaXRzLm1pbl9icHAg PSA2ICogMzsKIAlsaW1pdHMubWF4X2JwcCA9IGludGVsX2RwX2NvbXB1dGVfYnBwKGludGVsX2Rw LCBwaXBlX2NvbmZpZyk7CisJaWYgKGludGVsX2RwX3N1cHBvcnRzX2RzYyhpbnRlbF9kcCwgcGlw ZV9jb25maWcpICYmCisJICAgIGxpbWl0cy5tYXhfYnBwID49IERQX0RTQ19NSU5fU1VQUE9SVEVE X0JQQyozKQorCQlsaW1pdHMubWluX2JwcCA9IERQX0RTQ19NSU5fU1VQUE9SVEVEX0JQQyAqIDM7 CisJZWxzZQorCQlsaW1pdHMubWluX2JwcCA9IDYgKiAzOwogCiAJaWYgKGludGVsX2RwX2lzX2Vk cChpbnRlbF9kcCkgJiYgaW50ZWxfZHAtPmVkcF9kcGNkWzBdIDwgRFBfRURQXzE0KSB7CiAJCS8q CkBAIC0yMDIwLDcgKzIxMzYsNyBAQCBpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmlnKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkgICAgICBpbnRlbF9kcC0+Y29tbW9uX3JhdGVz W2xpbWl0cy5tYXhfY2xvY2tdLAogCQkgICAgICBsaW1pdHMubWF4X2JwcCwgYWRqdXN0ZWRfbW9k ZS0+Y3J0Y19jbG9jayk7CiAKLQlpZiAoaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkgeworCWlm IChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKQogCQkvKgogCQkgKiBPcHRpbWl6ZSBmb3IgZmFz dCBhbmQgbmFycm93LiBlRFAgMS4zIHNlY3Rpb24gMy4zIGFuZCBlRFAgMS40CiAJCSAqIHNlY3Rp b24gQS4xOiAiSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGUgbWluaW11bSBudW1iZXIgb2YKQEAg LTIwMzAsMjYgKzIxNDYsNDIgQEAgaW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICogTm90ZSB0aGF0IHdlIHVzZSB0aGUgbWF4IGNs b2NrIGFuZCBsYW5lIGNvdW50IGZvciBlRFAgMS4zIGFuZAogCQkgKiBlYXJsaWVyLCBhbmQgZmFz dCB2cy4gd2lkZSBpcyBpcnJlbGV2YW50LgogCQkgKi8KLQkJaWYgKCFpbnRlbF9kcF9jb21wdXRl X2xpbmtfY29uZmlnX2Zhc3QoaW50ZWxfZHAsIHBpcGVfY29uZmlnLAotCQkJCQkJICAgICAgICZs aW1pdHMpKQotCQkJcmV0dXJuIGZhbHNlOwotCX0gZWxzZSB7CisJCXJldCA9IGludGVsX2RwX2Nv bXB1dGVfbGlua19jb25maWdfZmFzdChpbnRlbF9kcCwgcGlwZV9jb25maWcsCisJCQkJCQkJJmxp bWl0cyk7CisJZWxzZQogCQkvKiBPcHRpbWl6ZSBmb3Igc2xvdyBhbmQgd2lkZS4gKi8KLQkJaWYg KCFpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmlnX3dpZGUoaW50ZWxfZHAsIHBpcGVfY29uZmln LAotCQkJCQkJICAgICAgICZsaW1pdHMpKQorCQlyZXQgPSBpbnRlbF9kcF9jb21wdXRlX2xpbmtf Y29uZmlnX3dpZGUoaW50ZWxfZHAsIHBpcGVfY29uZmlnLAorCQkJCQkJCSZsaW1pdHMpOworCisJ LyogZW5hYmxlIGNvbXByZXNzaW9uIGlmIHRoZSBtb2RlIGRvZXNuJ3QgZml0IGF2YWlsYWJsZSBC VyAqLworCWlmICghcmV0KSB7CisJCWlmICghaW50ZWxfZHBfZHNjX2NvbXB1dGVfY29uZmlnKGlu dGVsX2RwLCBwaXBlX2NvbmZpZywKKwkJCQkJCSAmbGltaXRzKSkKIAkJCXJldHVybiBmYWxzZTsK IAl9CiAKLQlEUk1fREVCVUdfS01TKCJEUCBsYW5lIGNvdW50ICVkIGNsb2NrICVkIGJwcCAlZFxu IiwKLQkJICAgICAgcGlwZV9jb25maWctPmxhbmVfY291bnQsIHBpcGVfY29uZmlnLT5wb3J0X2Ns b2NrLAotCQkgICAgICBwaXBlX2NvbmZpZy0+cGlwZV9icHApOworCWlmIChwaXBlX2NvbmZpZy0+ ZHNjX3BhcmFtcy5jb21wcmVzc2lvbl9lbmFibGUpIHsKKwkJRFJNX0RFQlVHX0tNUygiRFAgbGFu ZSBjb3VudCAlZCBjbG9jayAlZCBJbnB1dCBicHAgJWQgQ29tcHJlc3NlZCBicHAgJWRcbiIsCisJ CQkgICAgICBwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCwgcGlwZV9jb25maWctPnBvcnRfY2xvY2ss CisJCQkgICAgICBwaXBlX2NvbmZpZy0+cGlwZV9icHAsCisJCQkgICAgICBwaXBlX2NvbmZpZy0+ ZHNjX3BhcmFtcy5jb21wcmVzc2VkX2JwcCk7CiAKLQlEUk1fREVCVUdfS01TKCJEUCBsaW5rIHJh dGUgcmVxdWlyZWQgJWkgYXZhaWxhYmxlICVpXG4iLAotCQkgICAgICBpbnRlbF9kcF9saW5rX3Jl cXVpcmVkKGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2ssCi0JCQkJCSAgICAgcGlwZV9jb25maWct PnBpcGVfYnBwKSwKLQkJICAgICAgaW50ZWxfZHBfbWF4X2RhdGFfcmF0ZShwaXBlX2NvbmZpZy0+ cG9ydF9jbG9jaywKLQkJCQkJICAgICBwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCkpOworCQlEUk1f REVCVUdfS01TKCJEUCBsaW5rIHJhdGUgcmVxdWlyZWQgJWkgYXZhaWxhYmxlICVpXG4iLAorCQkJ ICAgICAgaW50ZWxfZHBfbGlua19yZXF1aXJlZChhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrLAor CQkJCQkJICAgICBwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5jb21wcmVzc2VkX2JwcCksCisJCQkg ICAgICBpbnRlbF9kcF9tYXhfZGF0YV9yYXRlKHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAorCQkJ CQkJICAgICBwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCkpOworCX0gZWxzZSB7CisJCURSTV9ERUJV R19LTVMoIkRQIGxhbmUgY291bnQgJWQgY2xvY2sgJWQgYnBwICVkXG4iLAorCQkJICAgICAgcGlw ZV9jb25maWctPmxhbmVfY291bnQsIHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAorCQkJICAgICAg cGlwZV9jb25maWctPnBpcGVfYnBwKTsKIAorCQlEUk1fREVCVUdfS01TKCJEUCBsaW5rIHJhdGUg cmVxdWlyZWQgJWkgYXZhaWxhYmxlICVpXG4iLAorCQkJICAgICAgaW50ZWxfZHBfbGlua19yZXF1 aXJlZChhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrLAorCQkJCQkJICAgICBwaXBlX2NvbmZpZy0+ cGlwZV9icHApLAorCQkJICAgICAgaW50ZWxfZHBfbWF4X2RhdGFfcmF0ZShwaXBlX2NvbmZpZy0+ cG9ydF9jbG9jaywKKwkJCQkJCSAgICAgcGlwZV9jb25maWctPmxhbmVfY291bnQpKTsKKwl9CiAJ cmV0dXJuIHRydWU7CiB9CiAKQEAgLTIxMzMsNyArMjI2NSw5IEBAIGludGVsX2RwX2NvbXB1dGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJaW50ZWxfY29ubl9zdGF0 ZS0+YnJvYWRjYXN0X3JnYiA9PSBJTlRFTF9CUk9BRENBU1RfUkdCX0xJTUlURUQ7CiAJfQogCi0J aW50ZWxfbGlua19jb21wdXRlX21fbihwaXBlX2NvbmZpZy0+cGlwZV9icHAsIHBpcGVfY29uZmln LT5sYW5lX2NvdW50LAorCWludGVsX2xpbmtfY29tcHV0ZV9tX24ocGlwZV9jb25maWctPnBpcGVf YnBwLAorCQkJICAgICAgIHBpcGVfY29uZmlnLT5kc2NfcGFyYW1zLmNvbXByZXNzZWRfYnBwLAor CQkJICAgICAgIHBpcGVfY29uZmlnLT5sYW5lX2NvdW50LAogCQkJICAgICAgIGFkanVzdGVkX21v ZGUtPmNydGNfY2xvY2ssCiAJCQkgICAgICAgcGlwZV9jb25maWctPnBvcnRfY2xvY2ssCiAJCQkg ICAgICAgJnBpcGVfY29uZmlnLT5kcF9tX24sCkBAIC0yMTQyLDcgKzIyNzYsNyBAQCBpbnRlbF9k cF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlpZiAoaW50 ZWxfY29ubmVjdG9yLT5wYW5lbC5kb3duY2xvY2tfbW9kZSAhPSBOVUxMICYmCiAJCWRldl9wcml2 LT5kcnJzLnR5cGUgPT0gU0VBTUxFU1NfRFJSU19TVVBQT1JUKSB7CiAJCQlwaXBlX2NvbmZpZy0+ aGFzX2RycnMgPSB0cnVlOwotCQkJaW50ZWxfbGlua19jb21wdXRlX21fbihwaXBlX2NvbmZpZy0+ cGlwZV9icHAsCisJCQlpbnRlbF9saW5rX2NvbXB1dGVfbV9uKHBpcGVfY29uZmlnLT5waXBlX2Jw cCwgMCwKIAkJCQkJICAgICAgIHBpcGVfY29uZmlnLT5sYW5lX2NvdW50LAogCQkJCQkgICAgICAg aW50ZWxfY29ubmVjdG9yLT5wYW5lbC5kb3duY2xvY2tfbW9kZS0+Y2xvY2ssCiAJCQkJCSAgICAg ICBwaXBlX2NvbmZpZy0+cG9ydF9jbG9jaywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMK aW5kZXggOGI3MWQ2NGViZDlkLi5lMDJjYWVkZDQ0M2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwX21zdC5jCkBAIC05MCw3ICs5MCw3IEBAIHN0YXRpYyBib29sIGludGVsX2RwX21zdF9jb21w dXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJfQogCX0KIAotCWlu dGVsX2xpbmtfY29tcHV0ZV9tX24oYnBwLCBsYW5lX2NvdW50LAorCWludGVsX2xpbmtfY29tcHV0 ZV9tX24oYnBwLCAwLCBsYW5lX2NvdW50LAogCQkJICAgICAgIGFkanVzdGVkX21vZGUtPmNydGNf Y2xvY2ssCiAJCQkgICAgICAgcGlwZV9jb25maWctPnBvcnRfY2xvY2ssCiAJCQkgICAgICAgJnBp cGVfY29uZmlnLT5kcF9tX24sCi0tIAoyLjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=