From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 25/29] drm/i915: Stop frobbing with DDI encoder->type Date: Thu, 21 Sep 2017 14:06:54 +0300 Message-ID: <20170921110654.18388-1-ville.syrjala@linux.intel.com> References: <20170918182604.9519-26-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 466226E82C for ; Thu, 21 Sep 2017 11:07:02 +0000 (UTC) In-Reply-To: <20170918182604.9519-26-ville.syrjala@linux.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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkN1 cnJlbnRseSB0aGUgRERJIGVuY29kZXItPnR5cGUgd2lsbCBjaGFuZ2UgYXQgcnVudGltZSBkZXBl bmRpbmcgb24Kd2hhdCBraW5kIG9mIGhvdHBsdWdzIHdlJ3ZlIHByb2Nlc3NlZC4gVGhhdCdzIHF1 aXRlIGJhZCBzaW5jZSB3ZSBjYW4ndApyZWFsbHkgdHJ1c3QgdGhhdCB0aGF0IGN1cnJlbnQgdmFs dWUgb2YgZW5jb2Rlci0+dHlwZSBhY3R1YWxseSBtYXRjaGVzCnRoZSB0eXBlIG9mIHNpZ25hbCB3 ZSdyZSB0cnlpbmcgdG8gZHJpdmUgdGhyb3VnaCBpdC4KCkxldCdzIGVsaW1pbmF0ZSB0aGF0IHBy b2JsZW0gYnkgZGVjbGFyaW5nIHRoYXQgbm9uLWVEUCBEREkgcG9ydCB3aWxsCmFsd2F5cyBoYXZl IHRoZSBlbmNvZGVyIHR5cGUgYXMgSU5URUxfT1VUUFVUX0RESS4gVGhpcyBtZWFucyB0aGUgY29k ZQpjYW4gbm8gbG9uZ2VyIHRyeSB0byBkaXN0aW5ndWlzaCBEUCB2cy4gSERNSSBiYXNlZCBvbiBl bmNvZGVyLT50eXBlLgpXZSdsbCBlRFAgYXMgSU5URUxfT1VUUFVUX0VEUCwgc2luY2UgaXQnbGwg bmV2ZXIgY2hhbmdlIGFuZCB0aGVyZSdzIGEKYnVuY2ggb2YgY29kZSB0aGF0IHJlbGllcyBvbiB0 aGF0IHZhbHVlIHRvIGlkZW50b2Z5IGVEUC4KCldlJ2xsIGludHJvZHVjZSBhIG5ldyBlbmNvZGVy IC5jb21wdXRlX291dHB1dF90eXBlKCkgaG9vay4gVGhpcyBhbGxvd3MKdXMgdG8gY29tcHV0ZSB0 aGUgZnVsbCBvdXRwdXRfdHlwZXMgYmVmb3JlIGFueSBlbmNvZGVyIC5jb21wdXRlX2NvbmZpZygp Cmhvb2tzIGdldCBjYWxsZWQsIHRodXMgdGhvc2UgaG9va3MgY2FuIHJlbHkgb24gb3V0cHV0X3R5 cGVzIGJlaW5nCmNvcnJlY3QsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgY2xvbmluZyBvbiBvbGRyIHBs YXRmb3Jtcy4gRm9yIG5vdyB3ZSdsbApqdXN0IGxvb2sgYXQgdGhlIGNvbm5lY3RvciB0eXBlIGFu ZCBwaWNrIHRoZSBjb3JyZWN0IG1vZGUgYmFzZWQgb24gdGhhdC4KSW4gdGhlIGZ1dHVyZSB0aGUg bmV3IGhvb2sgY291bGQgYmUgdXNlZCB0byBpbXBsZW1lbnQgZHluYW1pYyBzd2l0Y2hpbmcKYmV0 d2VlbiBMUyBhbmQgUENPTiBtb2RlcyBmb3IgTFNQQ09OLgoKVE9ETzogbWF5YmUgbWFrZSAuZ2V0 X2NvbmZpZygpIHBvcHVsYXRlIG91dHB1dF90eXBlcyByYXRoZXIgdGhhbiBkb2luZwp0aGUgZGVm YXVsdCBlbmNvZGVyLT50eXBlIHRoaW5nIGluIGNhbGxlciBhbmQgdGhlbiB1bmRvaW5nIGl0IGZv cgpEREkgaW4gLmdldF9jb25maWcoKS4KCnYyOiBGaXggQlhUL0dMSyBQUFMgZXhwbG9zaW9uIHdp dGggRFNJL01TVCBlbmNvZGVycwoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYyAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAg ICAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICB8IDExICsrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jICAgICAgIHwgMTUgKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oICAgICAgfCAgNyArKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jICAgICB8IDEwICsrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX29w cmVnaW9uLmMgfCAgMiArLQogNyBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAzNiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IGNhNmZhNmQx MjJjNi4uNzM2MDE0NjQyNDBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAt MzA1Myw3ICszMDUzLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfY29ubmVjdG9yX2luZm8oc3RydWN0 IHNlcV9maWxlICptLAogCQlicmVhazsKIAljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9IRE1JQToK IAkJaWYgKGludGVsX2VuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkgfHwKLQkJICAg IGludGVsX2VuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX1VOS05PV04pCisJCSAgICBpbnRl bF9lbmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9EREkpCiAJCQlpbnRlbF9oZG1pX2luZm8o bSwgaW50ZWxfY29ubmVjdG9yKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGRpLmMKaW5kZXggZDYyNWJmZTZkNDIwLi5lOTNlZDBkMzE3MzggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jCkBAIC00OTcsMTAgKzQ5Nyw4IEBAIGVudW0gcG9ydCBpbnRlbF9kZGlfZ2V0 X2VuY29kZXJfcG9ydChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlzd2l0Y2ggKGVu Y29kZXItPnR5cGUpIHsKIAljYXNlIElOVEVMX09VVFBVVF9EUF9NU1Q6CiAJCXJldHVybiBlbmNf dG9fbXN0KCZlbmNvZGVyLT5iYXNlKS0+cHJpbWFyeS0+cG9ydDsKLQljYXNlIElOVEVMX09VVFBV VF9EUDoKIAljYXNlIElOVEVMX09VVFBVVF9FRFA6Ci0JY2FzZSBJTlRFTF9PVVRQVVRfSERNSToK LQljYXNlIElOVEVMX09VVFBVVF9VTktOT1dOOgorCWNhc2UgSU5URUxfT1VUUFVUX0RESToKIAkJ cmV0dXJuIGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSktPnBvcnQ7CiAJY2FzZSBJTlRF TF9PVVRQVVRfQU5BTE9HOgogCQlyZXR1cm4gUE9SVF9FOwpAQCAtMTUxNiw2ICsxNTE0LDcgQEAg dm9pZCBpbnRlbF9kZGlfc2V0X3ZjX3BheWxvYWRfYWxsb2MoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2Nv ZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAJdWludDMyX3QgdGVtcDsKKwogCXRl bXAgPSBJOTE1X1JFQUQoVFJBTlNfRERJX0ZVTkNfQ1RMKGNwdV90cmFuc2NvZGVyKSk7CiAJaWYg KHN0YXRlID09IHRydWUpCiAJCXRlbXAgfD0gVFJBTlNfRERJX0RQX1ZDX1BBWUxPQURfQUxMT0M7 CkBAIC0yNDg5LDYgKzI0ODgsMTMgQEAgdm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydDsKIAl1MzIgdGVtcCwgZmxhZ3MgPSAwOwogCisJLyoKKwkgKiBDYW4gYmUgc2V0 IGJ5IHRoZSBjYWxsZXIgYmFzZWQgb24gZW5jb2Rlci0+dHlwZS4KKwkgKiBVbmRvIHRoYXQgc2lu Y2Ugd2UgZG9uJ3Qgd2FudCBJTlRFTF9PVVRQVVRfRERJCisJICogdG8gYXBwZWFyIGluIG91dHB1 dF90eXBlcy4KKwkgKi8KKwlwaXBlX2NvbmZpZy0+b3V0cHV0X3R5cGVzICY9IH5CSVQoSU5URUxf T1VUUFVUX0RESSk7CisKIAkvKiBYWFg6IERTSSB0cmFuc2NvZGVyIHBhcmFub2lhICovCiAJaWYg KFdBUk5fT04odHJhbnNjb2Rlcl9pc19kc2koY3B1X3RyYW5zY29kZXIpKSkKIAkJcmV0dXJuOwpA QCAtMjUzNywxMiArMjU0MywyMyBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJcGlwZV9jb25maWctPmhkbWlfaGlnaF90bWRzX2Ns b2NrX3JhdGlvID0gdHJ1ZTsKIAkJLyogZmFsbCB0aHJvdWdoICovCiAJY2FzZSBUUkFOU19ERElf TU9ERV9TRUxFQ1RfRFZJOgorCQlwaXBlX2NvbmZpZy0+b3V0cHV0X3R5cGVzIHw9IEJJVChJTlRF TF9PVVRQVVRfSERNSSk7CiAJCXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0gNDsKIAkJYnJlYWs7 CiAJY2FzZSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRkRJOgorCQlwaXBlX2NvbmZpZy0+b3V0cHV0 X3R5cGVzIHw9IEJJVChJTlRFTF9PVVRQVVRfQU5BTE9HKTsKIAkJYnJlYWs7CiAJY2FzZSBUUkFO U19ERElfTU9ERV9TRUxFQ1RfRFBfU1NUOgorCQlpZiAoZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9P VVRQVVRfRURQKQorCQkJcGlwZV9jb25maWctPm91dHB1dF90eXBlcyB8PSBCSVQoSU5URUxfT1VU UFVUX0VEUCk7CisJCWVsc2UKKwkJCXBpcGVfY29uZmlnLT5vdXRwdXRfdHlwZXMgfD0gQklUKElO VEVMX09VVFBVVF9EUCk7CisJCXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0KKwkJCSgodGVtcCAm IERESV9QT1JUX1dJRFRIX01BU0spID4+IERESV9QT1JUX1dJRFRIX1NISUZUKSArIDE7CisJCWlu dGVsX2RwX2dldF9tX24oaW50ZWxfY3J0YywgcGlwZV9jb25maWcpOworCQlicmVhazsKIAljYXNl IFRSQU5TX0RESV9NT0RFX1NFTEVDVF9EUF9NU1Q6CisJCXBpcGVfY29uZmlnLT5vdXRwdXRfdHlw ZXMgfD0gQklUKElOVEVMX09VVFBVVF9EUF9NU1QpOwogCQlwaXBlX2NvbmZpZy0+bGFuZV9jb3Vu dCA9CiAJCQkoKHRlbXAgJiBERElfUE9SVF9XSURUSF9NQVNLKSA+PiBERElfUE9SVF9XSURUSF9T SElGVCkgKyAxOwogCQlpbnRlbF9kcF9nZXRfbV9uKGludGVsX2NydGMsIHBpcGVfY29uZmlnKTsK QEAgLTI1ODEsMjEgKzI1OTgsMzYgQEAgdm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCWJ4dF9kZGlfcGh5X2dldF9sYW5lX2xhdF9vcHRp bV9tYXNrKGVuY29kZXIpOwogfQogCitzdGF0aWMgZW51bSBpbnRlbF9vdXRwdXRfdHlwZQoraW50 ZWxfZGRpX2NvbXB1dGVfb3V0cHV0X3R5cGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CisJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCSAgICAg IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQoreworCXN3aXRjaCAoY29u bl9zdGF0ZS0+Y29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSkgeworCWNhc2UgRFJNX01PREVfQ09O TkVDVE9SX0hETUlBOgorCQlyZXR1cm4gSU5URUxfT1VUUFVUX0hETUk7CisJY2FzZSBEUk1fTU9E RV9DT05ORUNUT1JfZURQOgorCQlyZXR1cm4gSU5URUxfT1VUUFVUX0VEUDsKKwljYXNlIERSTV9N T0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydDoKKwkJcmV0dXJuIElOVEVMX09VVFBVVF9EUDsKKwlk ZWZhdWx0OgorCQlNSVNTSU5HX0NBU0UoY29ubl9zdGF0ZS0+Y29ubmVjdG9yLT5jb25uZWN0b3Jf dHlwZSk7CisJCXJldHVybiBJTlRFTF9PVVRQVVRfVU5VU0VEOworCX0KK30KKwogc3RhdGljIGJv b2wgaW50ZWxfZGRpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCQkJCSAg ICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0J aW50IHR5cGUgPSBlbmNvZGVyLT50eXBlOwogCWludCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNv ZGVyX3BvcnQoZW5jb2Rlcik7CiAJaW50IHJldDsKIAotCVdBUk4odHlwZSA9PSBJTlRFTF9PVVRQ VVRfVU5LTk9XTiwgImNvbXB1dGVfY29uZmlnKCkgb24gdW5rbm93biBvdXRwdXQhXG4iKTsKLQog CWlmIChwb3J0ID09IFBPUlRfQSkKIAkJcGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVyID0gVFJB TlNDT0RFUl9FRFA7CiAKLQlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkKKwlpZiAoaW50 ZWxfY3J0Y19oYXNfdHlwZShwaXBlX2NvbmZpZywgSU5URUxfT1VUUFVUX0hETUkpKQogCQlyZXQg PSBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKGVuY29kZXIsIHBpcGVfY29uZmlnLCBjb25uX3N0 YXRlKTsKIAllbHNlCiAJCXJldCA9IGludGVsX2RwX2NvbXB1dGVfY29uZmlnKGVuY29kZXIsIHBp cGVfY29uZmlnLCBjb25uX3N0YXRlKTsKQEAgLTI3MTUsNiArMjc0Nyw3IEBAIHZvaWQgaW50ZWxf ZGRpX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9y dCkKIAlkcm1fZW5jb2Rlcl9pbml0KCZkZXZfcHJpdi0+ZHJtLCBlbmNvZGVyLCAmaW50ZWxfZGRp X2Z1bmNzLAogCQkJIERSTV9NT0RFX0VOQ09ERVJfVE1EUywgIkRESSAlYyIsIHBvcnRfbmFtZShw b3J0KSk7CiAKKwlpbnRlbF9lbmNvZGVyLT5jb21wdXRlX291dHB1dF90eXBlID0gaW50ZWxfZGRp X2NvbXB1dGVfb3V0cHV0X3R5cGU7CiAJaW50ZWxfZW5jb2Rlci0+Y29tcHV0ZV9jb25maWcgPSBp bnRlbF9kZGlfY29tcHV0ZV9jb25maWc7CiAJaW50ZWxfZW5jb2Rlci0+ZW5hYmxlID0gaW50ZWxf ZW5hYmxlX2RkaTsKIAlpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCkBAIC0yNzc0LDcgKzI4MDcs NyBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgZW51bSBwb3J0IHBvcnQpCiAKIAlpbnRlbF9kaWdfcG9ydC0+bWF4X2xhbmVzID0gbWF4X2xh bmVzOwogCi0JaW50ZWxfZW5jb2Rlci0+dHlwZSA9IElOVEVMX09VVFBVVF9VTktOT1dOOworCWlu dGVsX2VuY29kZXItPnR5cGUgPSBJTlRFTF9PVVRQVVRfRERJOwogCWludGVsX2VuY29kZXItPnBv d2VyX2RvbWFpbiA9IGludGVsX3BvcnRfdG9fcG93ZXJfZG9tYWluKHBvcnQpOwogCWludGVsX2Vu Y29kZXItPnBvcnQgPSBwb3J0OwogCWludGVsX2VuY29kZXItPmNydGNfbWFzayA9ICgxIDw8IDAp IHwgKDEgPDwgMSkgfCAoMSA8PCAyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpp bmRleCA5MjIxZjYxMzY0M2EuLjE4YmZmYjg4M2E2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwpAQCAtMTA2OTYsNyArMTA2OTYsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IG91dHB1dF90eXBlX3N0cltdID0gewogCU9VVFBVVF9UWVBFKERQKSwKIAlPVVRQVVRfVFlQ RShFRFApLAogCU9VVFBVVF9UWVBFKERTSSksCi0JT1VUUFVUX1RZUEUoVU5LTk9XTiksCisJT1VU UFVUX1RZUEUoRERJKSwKIAlPVVRQVVRfVFlQRShEUF9NU1QpLAogfTsKIApAQCAtMTA4NjcsNyAr MTA4NjcsNyBAQCBzdGF0aWMgYm9vbCBjaGVja19kaWdpdGFsX3BvcnRfY29uZmxpY3RzKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAogCQlzd2l0Y2ggKGVuY29kZXItPnR5cGUpIHsK IAkJCXVuc2lnbmVkIGludCBwb3J0X21hc2s7Ci0JCWNhc2UgSU5URUxfT1VUUFVUX1VOS05PV046 CisJCWNhc2UgSU5URUxfT1VUUFVUX0RESToKIAkJCWlmIChXQVJOX09OKCFIQVNfRERJKHRvX2k5 MTUoZGV2KSkpKQogCQkJCWJyZWFrOwogCQljYXNlIElOVEVMX09VVFBVVF9EUDoKQEAgLTExMDAw LDcgKzExMDAwLDEyIEBAIGludGVsX21vZGVzZXRfcGlwZV9jb25maWcoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCQkgKiBEZXRlcm1pbmUgb3V0cHV0X3R5cGVzIGJlZm9yZSBjYWxsaW5nIHRoZSAu Y29tcHV0ZV9jb25maWcoKQogCQkgKiBob29rcyBzbyB0aGF0IHRoZSBob29rcyBjYW4gdXNlIHRo aXMgaW5mb3JtYXRpb24gc2FmZWx5LgogCQkgKi8KLQkJcGlwZV9jb25maWctPm91dHB1dF90eXBl cyB8PSAxIDw8IGVuY29kZXItPnR5cGU7CisJCWlmIChlbmNvZGVyLT5jb21wdXRlX291dHB1dF90 eXBlKQorCQkJcGlwZV9jb25maWctPm91dHB1dF90eXBlcyB8PQorCQkJCUJJVChlbmNvZGVyLT5j b21wdXRlX291dHB1dF90eXBlKGVuY29kZXIsIHBpcGVfY29uZmlnLAorCQkJCQkJCQkgY29ubmVj dG9yX3N0YXRlKSk7CisJCWVsc2UKKwkJCXBpcGVfY29uZmlnLT5vdXRwdXRfdHlwZXMgfD0gQklU KGVuY29kZXItPnR5cGUpOwogCX0KIAogZW5jb2Rlcl9yZXRyeToKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cC5jCmluZGV4IDJlZjY4ZDI4ZWExZS4uNWIyY2Y1Njc3YzZhIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKQEAgLTc2OSw3ICs3NjksOCBAQCB2b2lkIGludGVsX3Bvd2VyX3NlcXVlbmNlcl9yZXNl dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCXN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHA7CiAKIAkJaWYgKGVuY29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0RQICYmCi0J CSAgICBlbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9FRFApCisJCSAgICBlbmNvZGVyLT50 eXBlICE9IElOVEVMX09VVFBVVF9FRFAgJiYKKwkJICAgIGVuY29kZXItPnR5cGUgIT0gSU5URUxf T1VUUFVUX0RESSkKIAkJCWNvbnRpbnVlOwogCiAJCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2Rw KCZlbmNvZGVyLT5iYXNlKTsKQEAgLTQ3MTksOCArNDcyMCw2IEBAIGludGVsX2RwX2xvbmdfcHVs c2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKQogewogCXN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfY29ubmVjdG9yLT5iYXNlOwogCXN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBpbnRlbF9hdHRhY2hlZF9kcChjb25uZWN0b3IpOwotCXN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQo aW50ZWxfZHApOwotCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gJmludGVs X2RpZ19wb3J0LT5iYXNlOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRl djsKIAllbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIHN0YXR1czsKIAl1OCBzaW5rX2lycV92ZWN0 b3IgPSAwOwpAQCAtNDc1Myw5ICs0NzUyLDYgQEAgaW50ZWxfZHBfbG9uZ19wdWxzZShzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpCiAJCWdvdG8gb3V0OwogCX0KIAotCWlm IChpbnRlbF9lbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9FRFApCi0JCWludGVsX2VuY29k ZXItPnR5cGUgPSBJTlRFTF9PVVRQVVRfRFA7Ci0KIAlEUk1fREVCVUdfS01TKCJEaXNwbGF5IFBv cnQgVFBTMyBzdXBwb3J0OiBzb3VyY2UgJXMsIHNpbmsgJXNcbiIsCiAJCSAgICAgIHllc25vKGlu dGVsX2RwX3NvdXJjZV9zdXBwb3J0c19oYnIyKGludGVsX2RwKSksCiAJCSAgICAgIHllc25vKGRy bV9kcF90cHMzX3N1cHBvcnRlZChpbnRlbF9kcC0+ZHBjZCkpKTsKQEAgLTQ4NzYsOSArNDg3Miw2 IEBAIGludGVsX2RwX2ZvcmNlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJaW50 ZWxfZHBfc2V0X2VkaWQoaW50ZWxfZHApOwogCiAJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2 X3ByaXYsIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKLQotCWlmIChpbnRlbF9lbmNvZGVy LT50eXBlICE9IElOVEVMX09VVFBVVF9FRFApCi0JCWludGVsX2VuY29kZXItPnR5cGUgPSBJTlRF TF9PVVRQVVRfRFA7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfZHBfZ2V0X21vZGVzKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCkBAIC01MDk3LDEwICs1MDkwLDYgQEAgaW50ZWxfZHBf aHBkX3B1bHNlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBib29s IGxvbmdfaHBkKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKIAllbnVtIGlycXJldHVybiByZXQgPSBJUlFfTk9ORTsKIAotCWlmIChpbnRlbF9kaWdf cG9ydC0+YmFzZS50eXBlICE9IElOVEVMX09VVFBVVF9FRFAgJiYKLQkgICAgaW50ZWxfZGlnX3Bv cnQtPmJhc2UudHlwZSAhPSBJTlRFTF9PVVRQVVRfSERNSSkKLQkJaW50ZWxfZGlnX3BvcnQtPmJh c2UudHlwZSA9IElOVEVMX09VVFBVVF9EUDsKLQogCWlmIChsb25nX2hwZCAmJiBpbnRlbF9kaWdf cG9ydC0+YmFzZS50eXBlID09IElOVEVMX09VVFBVVF9FRFApIHsKIAkJLyoKIAkJICogdmRkIG9m ZiBjYW4gZ2VuZXJhdGUgYSBsb25nIHB1bHNlIG9uIGVEUCB3aGljaApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAppbmRleCAzMDc4MDc2NzI4OTYuLjZlMzc1ZDJlMDUyYyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKQEAgLTE3Myw3ICsxNzMsNyBAQCBlbnVtIGludGVsX291dHB1dF90eXBlIHsK IAlJTlRFTF9PVVRQVVRfRFAgPSA3LAogCUlOVEVMX09VVFBVVF9FRFAgPSA4LAogCUlOVEVMX09V VFBVVF9EU0kgPSA5LAotCUlOVEVMX09VVFBVVF9VTktOT1dOID0gMTAsCisJSU5URUxfT1VUUFVU X0RESSA9IDEwLAogCUlOVEVMX09VVFBVVF9EUF9NU1QgPSAxMSwKIH07CiAKQEAgLTIxNiw2ICsy MTYsOSBAQCBzdHJ1Y3QgaW50ZWxfZW5jb2RlciB7CiAJZW51bSBwb3J0IHBvcnQ7CiAJdW5zaWdu ZWQgaW50IGNsb25lYWJsZTsKIAl2b2lkICgqaG90X3BsdWcpKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICopOworCWVudW0gaW50ZWxfb3V0cHV0X3R5cGUgKCpjb21wdXRlX291dHB1dF90eXBlKShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqLAorCQkJCQkJICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KiwKKwkJCQkJCSAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICopOwogCWJvb2wgKCpj b21wdXRlX2NvbmZpZykoc3RydWN0IGludGVsX2VuY29kZXIgKiwKIAkJCSAgICAgICBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqLAogCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRl ICopOwpAQCAtMTE1MSw3ICsxMTU0LDcgQEAgZW5jX3RvX2RpZ19wb3J0KHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlcikKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9IHRv X2ludGVsX2VuY29kZXIoZW5jb2Rlcik7CiAKIAlzd2l0Y2ggKGludGVsX2VuY29kZXItPnR5cGUp IHsKLQljYXNlIElOVEVMX09VVFBVVF9VTktOT1dOOgorCWNhc2UgSU5URUxfT1VUUFVUX0RESToK IAkJV0FSTl9PTighSEFTX0RESSh0b19pOTE1KGVuY29kZXItPmRldikpKTsKIAljYXNlIElOVEVM X09VVFBVVF9EUDoKIAljYXNlIElOVEVMX09VVFBVVF9FRFA6CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMKaW5kZXggZTZmOGYzMGNlN2JkLi5hYjhmOGQ3NTEwODEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9oZG1pLmMKQEAgLTE2MDQsMTIgKzE2MDQsOSBAQCBpbnRlbF9oZG1pX2RldGVjdChzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQogCiAJaW50ZWxfaGRtaV91 bnNldF9lZGlkKGNvbm5lY3Rvcik7CiAKLQlpZiAoaW50ZWxfaGRtaV9zZXRfZWRpZChjb25uZWN0 b3IpKSB7Ci0JCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gaW50ZWxfYXR0YWNoZWRf aGRtaShjb25uZWN0b3IpOwotCi0JCWhkbWlfdG9fZGlnX3BvcnQoaW50ZWxfaGRtaSktPmJhc2Uu dHlwZSA9IElOVEVMX09VVFBVVF9IRE1JOworCWlmIChpbnRlbF9oZG1pX3NldF9lZGlkKGNvbm5l Y3RvcikpCiAJCXN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwotCX0gZWxzZQor CWVsc2UKIAkJc3RhdHVzID0gY29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7CiAKIAlpbnRl bF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0dNQlVTKTsKQEAgLTE2 MjAsOCArMTYxNyw2IEBAIGludGVsX2hkbWlfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsIGJvb2wgZm9yY2UpCiBzdGF0aWMgdm9pZAogaW50ZWxfaGRtaV9mb3JjZShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBpbnRlbF9oZG1pICppbnRl bF9oZG1pID0gaW50ZWxfYXR0YWNoZWRfaGRtaShjb25uZWN0b3IpOwotCiAJRFJNX0RFQlVHX0tN UygiW0NPTk5FQ1RPUjolZDolc11cbiIsCiAJCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5pZCwgY29u bmVjdG9yLT5uYW1lKTsKIApAQCAtMTYzMSw3ICsxNjI2LDYgQEAgaW50ZWxfaGRtaV9mb3JjZShz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQlyZXR1cm47CiAKIAlpbnRlbF9oZG1p X3NldF9lZGlkKGNvbm5lY3Rvcik7Ci0JaGRtaV90b19kaWdfcG9ydChpbnRlbF9oZG1pKS0+YmFz ZS50eXBlID0gSU5URUxfT1VUUFVUX0hETUk7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfaGRtaV9n ZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9vcHJlZ2lvbi5jCmluZGV4IDk4MTU0ZWZjYjJmNC4uZDU3YWRlMGI2NTJhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lvbi5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMKQEAgLTM4Myw3ICszODMsNyBAQCBpbnQg aW50ZWxfb3ByZWdpb25fbm90aWZ5X2VuY29kZXIoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVs X2VuY29kZXIsCiAJY2FzZSBJTlRFTF9PVVRQVVRfQU5BTE9HOgogCQl0eXBlID0gRElTUExBWV9U WVBFX0NSVDsKIAkJYnJlYWs7Ci0JY2FzZSBJTlRFTF9PVVRQVVRfVU5LTk9XTjoKKwljYXNlIElO VEVMX09VVFBVVF9EREk6CiAJY2FzZSBJTlRFTF9PVVRQVVRfRFA6CiAJY2FzZSBJTlRFTF9PVVRQ VVRfSERNSToKIAljYXNlIElOVEVMX09VVFBVVF9EUF9NU1Q6Ci0tIAoyLjEzLjUKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=