From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [BXT MIPI PATCH v3 05/14] drm/i915/bxt: DSI encoder support in CRTC modeset Date: Tue, 1 Sep 2015 19:41:41 +0530 Message-ID: <1441116710-14118-6-git-send-email-uma.shankar@intel.com> References: <1441116710-14118-1-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id B602F72036 for ; Tue, 1 Sep 2015 06:45:04 -0700 (PDT) In-Reply-To: <1441116710-14118-1-git-send-email-uma.shankar@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 Cc: jani.nikula@intel.com, shobhit.kumar@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgoKU0tMIGFu ZCBCWFQgcXVhbGlmaWVzIHRoZSBIQVNfRERJKCkgY2hlY2ssIGFuZCBoZW5jZSBoYXN3ZWxsCm1v ZGVzZXQgZnVuY3Rpb25zIGFyZSByZS11c2VkIGZvciBtb2Rlc2V0IHNlcXVlbmNlLiBCdXQgRERJ CmludGVyZmFjZSBkb2Vzbid0IGluY2x1ZGUgc3VwcG9ydCBmb3IgRFNJLgpUaGlzIHBhdGNoIGFk ZHM6CjEuIGNhc2VzIGZvciBEU0kgZW5jb2RlciwgaW4gdGhvc2UgbW9kZXNldCBmdW5jdGlvbnMg YW5kIGFsbG93cwogICBhIENSVEMgbW9kZXNldAoyLiBBZGRzIGNhbGwgdG8gcHJlX3BsbCBlbmFi bGVkIGZyb20gQ1JUQyBtb2Rlc2V0IGZ1bmN0aW9uLiBOb3RoaW5nCiAgIG5lZWRzIHRvIGJlIGRv bmUgYXMgc3VjaCBpbiBDUlRDIGZvciBEU0kgZW5jb2RlciwgYXMgUExMLCBjbG9jawogICBhbmQg YW5kIHRyYW5zY29kZXIgcHJvZ3JhbW1pbmcgd2lsbCBiZSB0YWtlbiBjYXJlIGluIGVuY29kZXIn cwogICBwcmVfZW5hYmxlIGFuZCBwcmVfcGxsX2VuYWJsZSBmdW5jdGlvbi4KCnYyOiBGaXhlZCBK YW5pJ3MgcmV2aWV3IGNvbW1lbnRzLiBBZGRlZCBJTlZBTElEX1BPUlQgZm9yIG5vbiBEREkKICAg IGVuY29kZXIgbGlrZSBEU0kgZm9yIHBsYXRmb3JtcyBoYXZpbmcgSEFTX0RESSBhcyB0cnVlLgoK djM6IFJlYmFzZWQgb24gbGF0ZXN0IGRybS1uaWdodGx5IGJyYW5jaC4gQWRkZWQgYSBXQVJOX09O IGZvciBpbnZhbGlkCiAgICBlbmNvZGVyLgoKU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1h IDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8 dW1hLnNoYW5rYXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgfCAgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICAg fCAgIDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgIHwgICAxOSArKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyAgIHwgICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9vcHJlZ2lvbi5jIHwgICAgMyArKy0KIDUgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0 aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBmZDFk ZTQ1Li43OGQzMWM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE0Miw2ICsxNDIsNyBA QCBlbnVtIHBsYW5lIHsKICNkZWZpbmUgc3ByaXRlX25hbWUocCwgcykgKChwKSAqIElOVEVMX0lO Rk8oZGV2KS0+bnVtX3Nwcml0ZXNbKHApXSArIChzKSArICdBJykKIAogZW51bSBwb3J0IHsKKwlQ T1JUX0lOVkFMSUQgPSAtMSwKIAlQT1JUX0EgPSAwLAogCVBPUlRfQiwKIAlQT1JUX0MsCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IGNhY2IwN2IuLjVkNWFhZDIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jCkBAIC0yMjcsNiArMjI3LDEwIEBAIHN0YXRpYyB2b2lkIGRkaV9nZXRfZW5j b2Rlcl9wb3J0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAogCX0gZWxzZSBp ZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfQU5BTE9HKSB7CiAJCSpkaWdfcG9ydCA9IE5VTEw7CiAJ CSpwb3J0ID0gUE9SVF9FOworCX0gZWxzZSBpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRFNJKSB7 CisJCSpkaWdfcG9ydCA9IE5VTEw7CisJCSpwb3J0ID0gUE9SVF9JTlZBTElEOworCQlEUk1fREVC VUdfS01TKCJFbmNvZGVyIHR5cGU6IERTSS4gUmV0dXJuaW5nLi4uXG4iKTsKIAl9IGVsc2Ugewog CQlEUk1fRVJST1IoIkludmFsaWQgRERJIGVuY29kZXIgdHlwZSAlZFxuIiwgdHlwZSk7CiAJCUJV RygpOwpAQCAtMzkyLDYgKzM5NiwxMSBAQCB2b2lkIGludGVsX3ByZXBhcmVfZGRpKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAKIAkJZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlciwg JmludGVsX2RpZ19wb3J0LCAmcG9ydCk7CiAKKwkJaWYgKHBvcnQgPT0gUE9SVF9JTlZBTElEKSB7 CisJCQlXQVJOX09OKDEpOworCQkJY29udGludWU7CisJCX0KKwogCQlpZiAodmlzaXRlZFtwb3J0 XSkKIAkJCWNvbnRpbnVlOwogCkBAIC05ODAsNiArOTg5LDggQEAgc3RhdGljIHZvaWQgYnh0X2Rk aV9jbG9ja19nZXQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJZW51bSBwb3J0IHBv cnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChlbmNvZGVyKTsKIAl1aW50MzJfdCBkcGxs ID0gcG9ydDsKIAorCVdBUk5fT04ocG9ydCA9PSBQT1JUX0lOVkFMSUQpOworCiAJcGlwZV9jb25m aWctPnBvcnRfY2xvY2sgPQogCQlieHRfY2FsY19wbGxfbGluayhkZXZfcHJpdiwgZHBsbCk7CiAK QEAgLTE1NzIsNiArMTU4Myw4IEBAIHZvaWQgaW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1 bmMoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWludCB0eXBlID0gaW50ZWxfZW5jb2Rlci0+dHlw ZTsKIAl1aW50MzJfdCB0ZW1wOwogCisJV0FSTl9PTihwb3J0ID09IFBPUlRfSU5WQUxJRCk7CisK IAkvKiBFbmFibGUgVFJBTlNfRERJX0ZVTkNfQ1RMIGZvciB0aGUgcGlwZSB0byB3b3JrIGluIEhE TUkgbW9kZSAqLwogCXRlbXAgPSBUUkFOU19ERElfRlVOQ19FTkFCTEU7CiAJdGVtcCB8PSBUUkFO U19ERElfU0VMRUNUX1BPUlQocG9ydCk7CkBAIC0xNjg0LDYgKzE2OTcsOCBAQCBib29sIGludGVs X2RkaV9jb25uZWN0b3JfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVs X2Nvbm5lY3RvcikKIAllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIHBvd2VyX2RvbWFp bjsKIAl1aW50MzJfdCB0bXA7CiAKKwlXQVJOX09OKHBvcnQgPT0gUE9SVF9JTlZBTElEKTsKKwog CXBvd2VyX2RvbWFpbiA9IGludGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oaW50ZWxfZW5j b2Rlcik7CiAJaWYgKCFpbnRlbF9kaXNwbGF5X3Bvd2VyX2lzX2VuYWJsZWQoZGV2X3ByaXYsIHBv d2VyX2RvbWFpbikpCiAJCXJldHVybiBmYWxzZTsKQEAgLTE3MzAsNiArMTc0NSw4IEBAIGJvb2wg aW50ZWxfZGRpX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl1 MzIgdG1wOwogCWludCBpOwogCisJV0FSTl9PTihwb3J0ID09IFBPUlRfSU5WQUxJRCk7CisKIAlw b3dlcl9kb21haW4gPSBpbnRlbF9kaXNwbGF5X3BvcnRfcG93ZXJfZG9tYWluKGVuY29kZXIpOwog CWlmICghaW50ZWxfZGlzcGxheV9wb3dlcl9pc19lbmFibGVkKGRldl9wcml2LCBwb3dlcl9kb21h aW4pKQogCQlyZXR1cm4gZmFsc2U7CkBAIC0xNzc5LDExICsxNzk2LDE0IEBAIGJvb2wgaW50ZWxf ZGRpX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHZvaWQgaW50 ZWxfZGRpX2VuYWJsZV9waXBlX2Nsb2NrKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQog ewogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9ICZpbnRlbF9jcnRjLT5iYXNlOwotCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpp bnRlbF9lbmNvZGVyID0gaW50ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoY3J0Yyk7CiAJZW51bSBw b3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVyKTsKIAll bnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBpbnRlbF9jcnRjLT5jb25maWctPmNwdV90 cmFuc2NvZGVyOwogCisJV0FSTl9PTihwb3J0ID09IFBPUlRfSU5WQUxJRCk7CisKIAlpZiAoY3B1 X3RyYW5zY29kZXIgIT0gVFJBTlNDT0RFUl9FRFApCiAJCUk5MTVfV1JJVEUoVFJBTlNfQ0xLX1NF TChjcHVfdHJhbnNjb2RlciksCiAJCQkgICBUUkFOU19DTEtfU0VMX1BPUlQocG9ydCkpOwpAQCAt MTg3MCw2ICsxODkwLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGUoc3RydWN0 IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCiAJaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVy LT50eXBlOwogCWludCBoZG1pX2xldmVsOwogCisJV0FSTl9PTihwb3J0ID09IFBPUlRfSU5WQUxJ RCk7CisKIAlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7CiAJCXN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAJCWludGVsX2VkcF9wYW5l bF9vbihpbnRlbF9kcCk7CkBAIC0xOTQ3LDYgKzE5NjksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9k ZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQogCXVp bnQzMl90IHZhbDsKIAlib29sIHdhaXQgPSBmYWxzZTsKIAorCVdBUk5fT04ocG9ydCA9PSBQT1JU X0lOVkFMSUQpOworCiAJdmFsID0gSTkxNV9SRUFEKERESV9CVUZfQ1RMKHBvcnQpKTsKIAlpZiAo dmFsICYgRERJX0JVRl9DVExfRU5BQkxFKSB7CiAJCXZhbCAmPSB+RERJX0JVRl9DVExfRU5BQkxF OwpAQCAtMTk4Niw2ICsyMDEwLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2RkaShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKIAllbnVtIHBvcnQgcG9ydCA9IGludGVs X2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGludGVsX2VuY29kZXIpOwogCWludCB0eXBlID0gaW50ZWxf ZW5jb2Rlci0+dHlwZTsKIAorCVdBUk5fT04ocG9ydCA9PSBQT1JUX0lOVkFMSUQpOworCiAJaWYg KHR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpIHsKIAkJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqaW50ZWxfZGlnX3BvcnQgPQogCQkJZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwpAQCAtMjcz Miw2ICsyNzU4LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZGRpX2NvbXB1dGVfY29uZmlnKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCWludCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNv ZGVyX3BvcnQoZW5jb2Rlcik7CiAKIAlXQVJOKHR5cGUgPT0gSU5URUxfT1VUUFVUX1VOS05PV04s ICJjb21wdXRlX2NvbmZpZygpIG9uIHVua25vd24gb3V0cHV0IVxuIik7CisJV0FSTl9PTihwb3J0 ID09IFBPUlRfSU5WQUxJRCk7CiAKIAlpZiAocG9ydCA9PSBQT1JUX0EpCiAJCXBpcGVfY29uZmln LT5jcHVfdHJhbnNjb2RlciA9IFRSQU5TQ09ERVJfRURQOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCmluZGV4IGI4ZTAzMTAuLjdmMzljYzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKQEAgLTQ5OTEsNiArNDk5MSw3IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0 Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyOworCWJvb2wgaXNfZHNpID0gaW50ZWxfcGlwZV9oYXNfdHlwZShpbnRlbF9jcnRjLCBJTlRF TF9PVVRQVVRfRFNJKTsKIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAKIAlXQVJOX09O KCFjcnRjLT5zdGF0ZS0+ZW5hYmxlKTsKQEAgLTUwMzMsNyArNTAzNCw4IEBAIHN0YXRpYyB2b2lk IGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQlkZXZfcHJpdi0+ ZGlzcGxheS5mZGlfbGlua190cmFpbihjcnRjKTsKIAl9CiAKLQlpbnRlbF9kZGlfZW5hYmxlX3Bp cGVfY2xvY2soaW50ZWxfY3J0Yyk7CisJaWYgKCFpc19kc2kpCisJCWludGVsX2RkaV9lbmFibGVf cGlwZV9jbG9jayhpbnRlbF9jcnRjKTsKIAogCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA9PSA5 KQogCQlza3lsYWtlX3BmaXRfdXBkYXRlKGludGVsX2NydGMsIDEpOwpAQCAtNTA0OSw3ICs1MDUx LDggQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiAJaW50ZWxfY3J0Y19sb2FkX2x1dChjcnRjKTsKIAogCWludGVsX2RkaV9zZXRfcGlwZV9z ZXR0aW5ncyhjcnRjKTsKLQlpbnRlbF9kZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhjcnRjKTsK KwlpZiAoIWlzX2RzaSkKKwkJaW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMoY3J0Yyk7 CiAKIAlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRjKTsKIAlpbnRlbF9lbmFibGVfcGlwZShp bnRlbF9jcnRjKTsKQEAgLTUwNTcsMTMgKzUwNjAsMTYgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9j cnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJaWYgKGludGVsX2NydGMtPmNvbmZp Zy0+aGFzX3BjaF9lbmNvZGVyKQogCQlscHRfcGNoX2VuYWJsZShjcnRjKTsKIAotCWlmIChpbnRl bF9jcnRjLT5jb25maWctPmRwX2VuY29kZXJfaXNfbXN0KQorCWlmIChpbnRlbF9jcnRjLT5jb25m aWctPmRwX2VuY29kZXJfaXNfbXN0ICYmICFpc19kc2kpCiAJCWludGVsX2RkaV9zZXRfdmNfcGF5 bG9hZF9hbGxvYyhjcnRjLCB0cnVlKTsKIAogCWFzc2VydF92YmxhbmtfZGlzYWJsZWQoY3J0Yyk7 CiAJZHJtX2NydGNfdmJsYW5rX29uKGNydGMpOwogCiAJZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRj KGRldiwgY3J0YywgZW5jb2RlcikgeworCQlpZiAoZW5jb2Rlci0+cHJlX3BsbF9lbmFibGUpCisJ CQllbmNvZGVyLT5wcmVfcGxsX2VuYWJsZShlbmNvZGVyKTsKKwogCQllbmNvZGVyLT5lbmFibGUo ZW5jb2Rlcik7CiAJCWludGVsX29wcmVnaW9uX25vdGlmeV9lbmNvZGVyKGVuY29kZXIsIHRydWUp OwogCX0KQEAgLTUxNTksNiArNTE2NSw3IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19kaXNh YmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7 CiAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5j cHVfdHJhbnNjb2RlcjsKKwlib29sIGlzX2RzaSA9IGludGVsX3BpcGVfaGFzX3R5cGUoaW50ZWxf Y3J0YywgSU5URUxfT1VUUFVUX0RTSSk7CiAKIAlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKIAkJ cmV0dXJuOwpAQCAtNTE3OSw3ICs1MTg2LDggQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2Rp c2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWlmIChpbnRlbF9jcnRjLT5jb25maWctPmRw X2VuY29kZXJfaXNfbXN0KQogCQlpbnRlbF9kZGlfc2V0X3ZjX3BheWxvYWRfYWxsb2MoY3J0Yywg ZmFsc2UpOwogCi0JaW50ZWxfZGRpX2Rpc2FibGVfdHJhbnNjb2Rlcl9mdW5jKGRldl9wcml2LCBj cHVfdHJhbnNjb2Rlcik7CisJaWYgKCFpc19kc2kpCisJCWludGVsX2RkaV9kaXNhYmxlX3RyYW5z Y29kZXJfZnVuYyhkZXZfcHJpdiwgY3B1X3RyYW5zY29kZXIpOwogCiAJaWYgKElOVEVMX0lORk8o ZGV2KS0+Z2VuID09IDkpCiAJCXNreWxha2VfcGZpdF91cGRhdGUoaW50ZWxfY3J0YywgMCk7CkBA IC01MTg4LDcgKzUxOTYsOCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZGlzYWJsZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiAJZWxzZQogCQlNSVNTSU5HX0NBU0UoSU5URUxfSU5GTyhkZXYp LT5nZW4pOwogCi0JaW50ZWxfZGRpX2Rpc2FibGVfcGlwZV9jbG9jayhpbnRlbF9jcnRjKTsKKwlp ZiAoIWlzX2RzaSkKKwkJaW50ZWxfZGRpX2Rpc2FibGVfcGlwZV9jbG9jayhpbnRlbF9jcnRjKTsK IAogCWlmIChpbnRlbF9jcnRjLT5jb25maWctPmhhc19wY2hfZW5jb2RlcikgewogCQlscHRfZGlz YWJsZV9wY2hfdHJhbnNjb2RlcihkZXZfcHJpdik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21z dC5jCmluZGV4IDYwMGFmZGIuLmQ2OTE4NmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwX21zdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21z dC5jCkBAIC0xNzMsNiArMTczLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X3ByZV9lbmFibGVf ZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAKIAlpZiAoaW50ZWxfZHAtPmFjdGl2 ZV9tc3RfbGlua3MgPT0gMCkgewogCQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5j b2Rlcl9wb3J0KGVuY29kZXIpOworCQlXQVJOX09OKHBvcnQgPT0gUE9SVF9JTlZBTElEKTsKIAog CQkvKiBGSVhNRTogYWRkIHN1cHBvcnQgZm9yIFNLTCAqLwogCQlpZiAoSU5URUxfSU5GTyhkZXYp LT5nZW4gPCA5KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ByZWdp b24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX29wcmVnaW9uLmMKaW5kZXggNDgxMzM3 NC4uMzI2YWE2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ByZWdp b24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vcHJlZ2lvbi5jCkBAIC0zMzUs NyArMzM1LDcgQEAgaW50IGludGVsX29wcmVnaW9uX25vdGlmeV9lbmNvZGVyKHN0cnVjdCBpbnRl bF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAogCQlyZXR1cm4gMDsKIAogCXBvcnQgPSBpbnRlbF9k ZGlfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVyKTsKLQlpZiAocG9ydCA9PSBQT1JUX0Up IHsKKwlpZiAoKHBvcnQgPT0gUE9SVF9FKSB8fCAocG9ydCA9PSBQT1JUX0lOVkFMSUQpKSB7CiAJ CXBvcnQgPSAwOwogCX0gZWxzZSB7CiAJCXBhcm0gfD0gMSA8PCBwb3J0OwpAQCAtMzU2LDYgKzM1 Niw3IEBAIGludCBpbnRlbF9vcHJlZ2lvbl9ub3RpZnlfZW5jb2RlcihzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqaW50ZWxfZW5jb2RlciwKIAkJdHlwZSA9IERJU1BMQVlfVFlQRV9FWFRFUk5BTF9GTEFU X1BBTkVMOwogCQlicmVhazsKIAljYXNlIElOVEVMX09VVFBVVF9FRFA6CisJY2FzZSBJTlRFTF9P VVRQVVRfRFNJOgogCQl0eXBlID0gRElTUExBWV9UWVBFX0lOVEVSTkFMX0ZMQVRfUEFORUw7CiAJ CWJyZWFrOwogCWRlZmF1bHQ6Ci0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=