From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 1/2] drm/i915: Make link training state machine code use function pointers Date: Tue, 15 Sep 2015 16:11:35 +0300 Message-ID: <1442322696-31286-1-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1442237891.2755.24.camel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id E365489B9F for ; Tue, 15 Sep 2015 06:12:37 -0700 (PDT) In-Reply-To: <1442237891.2755.24.camel@gmail.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: Ander Conselvan de Oliveira , thomas.wood@intel.com List-Id: intel-gfx@lists.freedesktop.org Q3JlYXRlIGEgc2VyaWVzIG9mIGZ1bmN0aW9uIHBvaW50ZXJzIGluIGludGVsX2RwIGZvciB0aGUg Y29uc3VtcHRpb24gb2YKdGhlIGxpbmsgdHJhaW5pbmcgc3RhdGUgbWFjaGluZSwgaW5zdGVhZCBv ZiBjYWxsaW5nIHRoZSBmdW5jdGlvbnMgZnJvbQppbnRlbF9kcC5jIGRpcmVjbHkuIFRoaXMgY3Jl YXRlcyB0aGUgaW5zZXJ0aW9uIHBvaW50cyBmb3IgYSBsaW5rCnRyYWluaW5nIHVuaXQgdGVzdCwg dGhhdCB3aWxsIGJlIGFkZGVkIGluIHRoZSBuZXh0IHBhdGNoLgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMgICAgICAgICAgICAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysr LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jIHwg MzYgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaCAgICAgICAgICAgICAgfCAyOSArKysrKysrKysrLS0tLS0tLS0tLS0KIDMgZmlsZXMg Y2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMKaW5kZXggZDkxNGY5NS4uNjQyMmI4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j CkBAIC0xMTg5LDcgKzExODksNyBAQCBpbnRlbF9kcF9zaW5rX3JhdGVzKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsIGNvbnN0IGludCAqKnNpbmtfcmF0ZXMpCiAJcmV0dXJuIChpbnRlbF9kcF9t YXhfbGlua19idyhpbnRlbF9kcCkgPj4gMykgKyAxOwogfQogCi1ib29sIGludGVsX2RwX3NvdXJj ZV9zdXBwb3J0c19oYnIyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCitzdGF0aWMgYm9vbCBp bnRlbF9kcF9zb3VyY2Vfc3VwcG9ydHNfaGJyMihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog ewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQo aW50ZWxfZHApOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkaWdfcG9ydC0+YmFzZS5iYXNl LmRldjsKQEAgLTEzNjgsOCArMTM2OCw4IEBAIGludCBpbnRlbF9kcF9yYXRlX3NlbGVjdChzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgcmF0ZSkKIAlyZXR1cm4gcmF0ZV90b19pbmRleChy YXRlLCBpbnRlbF9kcC0+c2lua19yYXRlcyk7CiB9CiAKLXZvaWQgaW50ZWxfZHBfY29tcHV0ZV9y YXRlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludCBwb3J0X2Nsb2NrLAotCQkJICAgdWlu dDhfdCAqbGlua19idywgdWludDhfdCAqcmF0ZV9zZWxlY3QpCitzdGF0aWMgdm9pZCBpbnRlbF9k cF9jb21wdXRlX3JhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50IHBvcnRfY2xvY2ss CisJCQkJICB1aW50OF90ICpsaW5rX2J3LCB1aW50OF90ICpyYXRlX3NlbGVjdCkKIHsKIAlpZiAo aW50ZWxfZHAtPm51bV9zaW5rX3JhdGVzKSB7CiAJCSpsaW5rX2J3ID0gMDsKQEAgLTMwNDksNyAr MzA0OSw3IEBAIGludGVsX2RwX2RwY2RfcmVhZF93YWtlKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgs IHVuc2lnbmVkIGludCBvZmZzZXQsCiAgKiBGZXRjaCBBVVggQ0ggcmVnaXN0ZXJzIDB4MjAyIC0g MHgyMDcgd2hpY2ggY29udGFpbgogICogbGluayBzdGF0dXMgaW5mb3JtYXRpb24KICAqLwotYm9v bAorc3RhdGljIGJvb2wKIGludGVsX2RwX2dldF9saW5rX3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwLCB1aW50OF90IGxpbmtfc3RhdHVzW0RQX0xJTktfU1RBVFVTX1NJWkVdKQogewog CXJldHVybiBpbnRlbF9kcF9kcGNkX3JlYWRfd2FrZSgmaW50ZWxfZHAtPmF1eCwKQEAgLTMwNTks NyArMzA1OSw3IEBAIGludGVsX2RwX2dldF9saW5rX3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLCB1aW50OF90IGxpbmtfc3RhdHVzW0RQX0xJTktfCiB9CiAKIC8qIFRoZXNlIGFyZSBz b3VyY2Utc3BlY2lmaWMgdmFsdWVzLiAqLwotdWludDhfdAorc3RhdGljIHVpbnQ4X3QKIGludGVs X2RwX3ZvbHRhZ2VfbWF4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7CkBAIC0zMDgyLDcgKzMw ODIsNyBAQCBpbnRlbF9kcF92b2x0YWdlX21heChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog CQlyZXR1cm4gRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19MRVZFTF8yOwogfQogCi11aW50OF90Citz dGF0aWMgdWludDhfdAogaW50ZWxfZHBfcHJlX2VtcGhhc2lzX21heChzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwLCB1aW50OF90IHZvbHRhZ2Vfc3dpbmcpCiB7CiAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7CkBAIC0zNTcwLDcgKzM1NzAsNyBAQCBp bnRlbF9kcF9zZXRfc2lnbmFsX2xldmVscyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50 MzJfdCAqRFApCiAJKkRQID0gKCpEUCAmIH5tYXNrKSB8IHNpZ25hbF9sZXZlbHM7CiB9CiAKLXZv aWQKK3N0YXRpYyB2b2lkCiBpbnRlbF9kcF9wcm9ncmFtX2xpbmtfdHJhaW5pbmdfcGF0dGVybihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJCSAgICAgICB1aW50OF90IGRwX3RyYWluX3Bh dCkKIHsKQEAgLTM1ODQsNyArMzU4NCw3IEBAIGludGVsX2RwX3Byb2dyYW1fbGlua190cmFpbmlu Z19wYXR0ZXJuKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJUE9TVElOR19SRUFEKGludGVs X2RwLT5vdXRwdXRfcmVnKTsKIH0KIAotdm9pZAorc3RhdGljIHZvaWQKIGludGVsX2RwX3VwZGF0 ZV9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9k cCk7CkBAIC0zNTk3LDcgKzM1OTcsMTQgQEAgaW50ZWxfZHBfdXBkYXRlX3NpZ25hbF9sZXZlbHMo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlQT1NUSU5HX1JFQUQoaW50ZWxfZHAtPm91dHB1 dF9yZWcpOwogfQogCi12b2lkIGludGVsX2RwX3NldF9pZGxlX2xpbmtfdHJhaW4oc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKK3N0YXRpYyBzc2l6ZV90CitpbnRlbF9kcF9kcGNkX3dyaXRlKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVuc2lnbmVkIGludCBvZmZzZXQsCisJCSAgICB2b2lk ICpidWZmZXIsIHNpemVfdCBzaXplKQoreworCXJldHVybiBkcm1fZHBfZHBjZF93cml0ZSgmaW50 ZWxfZHAtPmF1eCwgb2Zmc2V0LCBidWZmZXIsIHNpemUpOworfQorCitzdGF0aWMgdm9pZCBpbnRl bF9kcF9zZXRfaWRsZV9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJ c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9y dChpbnRlbF9kcCk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5i YXNlLmJhc2UuZGV2OwpAQCAtNTc0Miw2ICs1NzQ5LDE3IEBAIGludGVsX2RwX2luaXRfY29ubmVj dG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCWlmIChIQVNf RERJKGRldikpCiAJCWludGVsX2RwLT5wcmVwYXJlX2xpbmtfcmV0cmFpbiA9IGludGVsX2RkaV9w cmVwYXJlX2xpbmtfcmV0cmFpbjsKIAorCWludGVsX2RwLT5nZXRfbGlua19zdGF0dXMgPSBpbnRl bF9kcF9nZXRfbGlua19zdGF0dXM7CisJaW50ZWxfZHAtPnVwZGF0ZV9zaWduYWxfbGV2ZWxzID0g aW50ZWxfZHBfdXBkYXRlX3NpZ25hbF9sZXZlbHM7CisJaW50ZWxfZHAtPmNvbXB1dGVfcmF0ZSA9 IGludGVsX2RwX2NvbXB1dGVfcmF0ZTsKKwlpbnRlbF9kcC0+cHJvZ3JhbV9saW5rX3RyYWluaW5n X3BhdHRlcm4gPQorCQlpbnRlbF9kcF9wcm9ncmFtX2xpbmtfdHJhaW5pbmdfcGF0dGVybjsKKwlp bnRlbF9kcC0+c2V0X2lkbGVfbGlua190cmFpbiA9IGludGVsX2RwX3NldF9pZGxlX2xpbmtfdHJh aW47CisJaW50ZWxfZHAtPnZvbHRhZ2VfbWF4ID0gaW50ZWxfZHBfdm9sdGFnZV9tYXg7CisJaW50 ZWxfZHAtPnByZV9lbXBoYXNpc19tYXggPSBpbnRlbF9kcF9wcmVfZW1waGFzaXNfbWF4OworCWlu dGVsX2RwLT5kcGNkX3dyaXRlID0gaW50ZWxfZHBfZHBjZF93cml0ZTsKKwlpbnRlbF9kcC0+c291 cmNlX3N1cHBvcnRzX2hicjIgPSBpbnRlbF9kcF9zb3VyY2Vfc3VwcG9ydHNfaGJyMjsKKwogCS8q IFByZXNlcnZlIHRoZSBjdXJyZW50IGh3IHN0YXRlLiAqLwogCWludGVsX2RwLT5EUCA9IEk5MTVf UkVBRChpbnRlbF9kcC0+b3V0cHV0X3JlZyk7CiAJaW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3Rv ciA9IGludGVsX2Nvbm5lY3RvcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX2xpbmtfdHJhaW5pbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xp bmtfdHJhaW5pbmcuYwppbmRleCA0ZDJiZGMwLi5jMjk4MmY4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jCkBAIC00MywxMSArNDMsMTEgQEAgaW50 ZWxfZ2V0X2FkanVzdF90cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJcCA9IHRo aXNfcDsKIAl9CiAKLQl2b2x0YWdlX21heCA9IGludGVsX2RwX3ZvbHRhZ2VfbWF4KGludGVsX2Rw KTsKKwl2b2x0YWdlX21heCA9IGludGVsX2RwLT52b2x0YWdlX21heChpbnRlbF9kcCk7CiAJaWYg KHYgPj0gdm9sdGFnZV9tYXgpCiAJCXYgPSB2b2x0YWdlX21heCB8IERQX1RSQUlOX01BWF9TV0lO R19SRUFDSEVEOwogCi0JcHJlZW1waF9tYXggPSBpbnRlbF9kcF9wcmVfZW1waGFzaXNfbWF4KGlu dGVsX2RwLCB2KTsKKwlwcmVlbXBoX21heCA9IGludGVsX2RwLT5wcmVfZW1waGFzaXNfbWF4KGlu dGVsX2RwLCB2KTsKIAlpZiAocCA+PSBwcmVlbXBoX21heCkKIAkJcCA9IHByZWVtcGhfbWF4IHwg RFBfVFJBSU5fTUFYX1BSRV9FTVBIQVNJU19SRUFDSEVEOwogCkBAIC02Miw3ICs2Miw3IEBAIGlu dGVsX2RwX3NldF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJdWludDhf dCBidWZbc2l6ZW9mKGludGVsX2RwLT50cmFpbl9zZXQpICsgMV07CiAJaW50IHJldCwgbGVuOwog Ci0JaW50ZWxfZHBfcHJvZ3JhbV9saW5rX3RyYWluaW5nX3BhdHRlcm4oaW50ZWxfZHAsIGRwX3Ry YWluX3BhdCk7CisJaW50ZWxfZHAtPnByb2dyYW1fbGlua190cmFpbmluZ19wYXR0ZXJuKGludGVs X2RwLCBkcF90cmFpbl9wYXQpOwogCiAJYnVmWzBdID0gZHBfdHJhaW5fcGF0OwogCWlmICgoZHBf dHJhaW5fcGF0ICYgRFBfVFJBSU5JTkdfUEFUVEVSTl9NQVNLKSA9PQpAQCAtNzUsOCArNzUsOCBA QCBpbnRlbF9kcF9zZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQls ZW4gPSBpbnRlbF9kcC0+bGFuZV9jb3VudCArIDE7CiAJfQogCi0JcmV0ID0gZHJtX2RwX2RwY2Rf d3JpdGUoJmludGVsX2RwLT5hdXgsIERQX1RSQUlOSU5HX1BBVFRFUk5fU0VULAotCQkJCWJ1Ziwg bGVuKTsKKwlyZXQgPSBpbnRlbF9kcC0+ZHBjZF93cml0ZShpbnRlbF9kcCwgRFBfVFJBSU5JTkdf UEFUVEVSTl9TRVQsCisJCQkJICAgYnVmLCBsZW4pOwogCiAJcmV0dXJuIHJldCA9PSBsZW47CiB9 CkBAIC04Nyw3ICs4Nyw3IEBAIGludGVsX2RwX3Jlc2V0X2xpbmtfdHJhaW4oc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwKIHsKIAlpZiAoIWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQpCiAJCW1l bXNldChpbnRlbF9kcC0+dHJhaW5fc2V0LCAwLCBzaXplb2YoaW50ZWxfZHAtPnRyYWluX3NldCkp OwotCWludGVsX2RwX3VwZGF0ZV9zaWduYWxfbGV2ZWxzKGludGVsX2RwKTsKKwlpbnRlbF9kcC0+ dXBkYXRlX3NpZ25hbF9sZXZlbHMoaW50ZWxfZHApOwogCXJldHVybiBpbnRlbF9kcF9zZXRfbGlu a190cmFpbihpbnRlbF9kcCwgZHBfdHJhaW5fcGF0KTsKIH0KIApAQCAtOTYsMTAgKzk2LDEwIEBA IGludGVsX2RwX3VwZGF0ZV9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7 CiAJaW50IHJldDsKIAotCWludGVsX2RwX3VwZGF0ZV9zaWduYWxfbGV2ZWxzKGludGVsX2RwKTsK KwlpbnRlbF9kcC0+dXBkYXRlX3NpZ25hbF9sZXZlbHMoaW50ZWxfZHApOwogCi0JcmV0ID0gZHJt X2RwX2RwY2Rfd3JpdGUoJmludGVsX2RwLT5hdXgsIERQX1RSQUlOSU5HX0xBTkUwX1NFVCwKLQkJ CQlpbnRlbF9kcC0+dHJhaW5fc2V0LCBpbnRlbF9kcC0+bGFuZV9jb3VudCk7CisJcmV0ID0gaW50 ZWxfZHAtPmRwY2Rfd3JpdGUoaW50ZWxfZHAsIERQX1RSQUlOSU5HX0xBTkUwX1NFVCwKKwkJCQkg ICBpbnRlbF9kcC0+dHJhaW5fc2V0LCBpbnRlbF9kcC0+bGFuZV9jb3VudCk7CiAKIAlyZXR1cm4g cmV0ID09IGludGVsX2RwLT5sYW5lX2NvdW50OwogfQpAQCAtMTE4LDIyICsxMTgsMjIgQEAgaW50 ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQogCWlmIChpbnRlbF9kcC0+cHJlcGFyZV9saW5rX3JldHJhaW4pCiAJCWludGVsX2RwLT5w cmVwYXJlX2xpbmtfcmV0cmFpbihpbnRlbF9kcCk7CiAKLQlpbnRlbF9kcF9jb21wdXRlX3JhdGUo aW50ZWxfZHAsIGludGVsX2RwLT5saW5rX3JhdGUsCi0JCQkgICAgICAmbGlua19idywgJnJhdGVf c2VsZWN0KTsKKwlpbnRlbF9kcC0+Y29tcHV0ZV9yYXRlKGludGVsX2RwLCBpbnRlbF9kcC0+bGlu a19yYXRlLAorCQkJICAgICAgICZsaW5rX2J3LCAmcmF0ZV9zZWxlY3QpOwogCiAJLyogV3JpdGUg dGhlIGxpbmsgY29uZmlndXJhdGlvbiBkYXRhICovCiAJbGlua19jb25maWdbMF0gPSBsaW5rX2J3 OwogCWxpbmtfY29uZmlnWzFdID0gaW50ZWxfZHAtPmxhbmVfY291bnQ7CiAJaWYgKGRybV9kcF9l bmhhbmNlZF9mcmFtZV9jYXAoaW50ZWxfZHAtPmRwY2QpKQogCQlsaW5rX2NvbmZpZ1sxXSB8PSBE UF9MQU5FX0NPVU5UX0VOSEFOQ0VEX0ZSQU1FX0VOOwotCWRybV9kcF9kcGNkX3dyaXRlKCZpbnRl bF9kcC0+YXV4LCBEUF9MSU5LX0JXX1NFVCwgbGlua19jb25maWcsIDIpOworCWludGVsX2RwLT5k cGNkX3dyaXRlKGludGVsX2RwLCBEUF9MSU5LX0JXX1NFVCwgbGlua19jb25maWcsIDIpOwogCWlm IChpbnRlbF9kcC0+bnVtX3NpbmtfcmF0ZXMpCi0JCWRybV9kcF9kcGNkX3dyaXRlKCZpbnRlbF9k cC0+YXV4LCBEUF9MSU5LX1JBVEVfU0VULAorCQlpbnRlbF9kcC0+ZHBjZF93cml0ZShpbnRlbF9k cCwgRFBfTElOS19SQVRFX1NFVCwKIAkJCQkgICZyYXRlX3NlbGVjdCwgMSk7CiAKIAlsaW5rX2Nv bmZpZ1swXSA9IDA7CiAJbGlua19jb25maWdbMV0gPSBEUF9TRVRfQU5TSV84QjEwQjsKLQlkcm1f ZHBfZHBjZF93cml0ZSgmaW50ZWxfZHAtPmF1eCwgRFBfRE9XTlNQUkVBRF9DVFJMLCBsaW5rX2Nv bmZpZywgMik7CisJaW50ZWxfZHAtPmRwY2Rfd3JpdGUoaW50ZWxfZHAsIERQX0RPV05TUFJFQURf Q1RSTCwgbGlua19jb25maWcsIDIpOwogCiAJaW50ZWxfZHAtPkRQIHw9IERQX1BPUlRfRU47CiAK QEAgLTE1MCw3ICsxNTAsNyBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5 KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJbG9vcF90cmllcyA9IDA7CiAJZm9yICg7Oykg ewogCQlkcm1fZHBfbGlua190cmFpbl9jbG9ja19yZWNvdmVyeV9kZWxheShpbnRlbF9kcC0+ZHBj ZCk7Ci0JCWlmICghaW50ZWxfZHBfZ2V0X2xpbmtfc3RhdHVzKGludGVsX2RwLCBsaW5rX3N0YXR1 cykpIHsKKwkJaWYgKCFpbnRlbF9kcC0+Z2V0X2xpbmtfc3RhdHVzKGludGVsX2RwLCBsaW5rX3N0 YXR1cykpIHsKIAkJCURSTV9FUlJPUigiZmFpbGVkIHRvIGdldCBsaW5rIHN0YXR1c1xuIik7CiAJ CQlicmVhazsKIAkJfQpAQCAtMjMyLDcgKzIzMiw3IEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdf Y2hhbm5lbF9lcXVhbGl6YXRpb24oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkgKiBEdWUg dG8gV2FEaXNhYmxlSEJSMiBTS0wgPCBCMCBpcyB0aGUgb25seSBleGNlcHRpb24gd2hlcmUgVFBT MyBpcwogCSAqIHN1cHBvcnRlZCBidXQgc3RpbGwgbm90IGVuYWJsZWQuCiAJICovCi0JaWYgKGlu dGVsX2RwX3NvdXJjZV9zdXBwb3J0c19oYnIyKGludGVsX2RwKSAmJgorCWlmIChpbnRlbF9kcC0+ c291cmNlX3N1cHBvcnRzX2hicjIoaW50ZWxfZHApICYmCiAJICAgIGRybV9kcF90cHMzX3N1cHBv cnRlZChpbnRlbF9kcC0+ZHBjZCkpCiAJCXRyYWluaW5nX3BhdHRlcm4gPSBEUF9UUkFJTklOR19Q QVRURVJOXzM7CiAJZWxzZSBpZiAoaW50ZWxfZHAtPmxpbmtfcmF0ZSA9PSA1NDAwMDApCkBAIC0y NTgsNyArMjU4LDcgQEAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlv bihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCQl9CiAKIAkJZHJtX2RwX2xpbmtfdHJhaW5f Y2hhbm5lbF9lcV9kZWxheShpbnRlbF9kcC0+ZHBjZCk7Ci0JCWlmICghaW50ZWxfZHBfZ2V0X2xp bmtfc3RhdHVzKGludGVsX2RwLCBsaW5rX3N0YXR1cykpIHsKKwkJaWYgKCFpbnRlbF9kcC0+Z2V0 X2xpbmtfc3RhdHVzKGludGVsX2RwLCBsaW5rX3N0YXR1cykpIHsKIAkJCURSTV9FUlJPUigiZmFp bGVkIHRvIGdldCBsaW5rIHN0YXR1c1xuIik7CiAJCQlicmVhazsKIAkJfQpAQCAtMzAyLDcgKzMw Miw3IEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKIAkJKyt0cmllczsKIAl9CiAKLQlpbnRlbF9kcF9zZXRfaWRs ZV9saW5rX3RyYWluKGludGVsX2RwKTsKKwlpbnRlbF9kcC0+c2V0X2lkbGVfbGlua190cmFpbihp bnRlbF9kcCk7CiAKIAlpZiAoY2hhbm5lbF9lcSkgewogCQlpbnRlbF9kcC0+dHJhaW5fc2V0X3Zh bGlkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMzVmZmUyN2UuLmJjMGRl NmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC03NzEsNiArNzcxLDE5IEBAIHN0cnVj dCBpbnRlbF9kcCB7CiAKIAkvKiBUaGlzIGlzIGNhbGxlZCBiZWZvcmUgYSBsaW5rIHRyYWluaW5n IGlzIHN0YXJ0ZXJkICovCiAJdm9pZCAoKnByZXBhcmVfbGlua19yZXRyYWluKShzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKTsKKwlib29sICgqZ2V0X2xpbmtfc3RhdHVzKShzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLAorCQkJCXVpbnQ4X3QgbGlua19zdGF0dXNbRFBfTElOS19TVEFUVVNfU0la RV0pOworCXZvaWQgKCp1cGRhdGVfc2lnbmFsX2xldmVscykoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCk7CisJdm9pZCAoKmNvbXB1dGVfcmF0ZSkoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwg aW50IHBvcnRfY2xvY2ssCisJCQkgICAgIHVpbnQ4X3QgKmxpbmtfYncsIHVpbnQ4X3QgKnJhdGVf c2VsZWN0KTsKKwl2b2lkICgqcHJvZ3JhbV9saW5rX3RyYWluaW5nX3BhdHRlcm4pKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsCisJCQkJCSAgICAgIHVpbnQ4X3QgZHBfdHJhaW5fcGF0KTsKKwl2 b2lkICgqc2V0X2lkbGVfbGlua190cmFpbikoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7CisJ dWludDhfdCAoKnZvbHRhZ2VfbWF4KShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKKwl1aW50 OF90ICgqcHJlX2VtcGhhc2lzX21heCkoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgdWludDhf dCB2b2x0YWdlKTsKKwlzc2l6ZV90ICgqZHBjZF93cml0ZSkoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCwgdW5zaWduZWQgaW50IG9mZnNldCwKKwkJCSAgICAgIHZvaWQgKmJ1ZmZlciwgc2l6ZV90 IHNpemUpOworCWJvb2wgKCpzb3VyY2Vfc3VwcG9ydHNfaGJyMikoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCk7CiAKIAlib29sIHRyYWluX3NldF92YWxpZDsKIApAQCAtMTIxNywyMiArMTIzMCw2 IEBAIHZvaWQgaW50ZWxfZWRwX2RycnNfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogdm9pZCBpbnRlbF9lZHBfZHJyc19mbHVzaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNp Z25lZCBmcm9udGJ1ZmZlcl9iaXRzKTsKIHZvaWQgaHN3X2RwX3NldF9kZGlfcGxsX3NlbChzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwogCi12b2lkCi1pbnRlbF9kcF9wcm9n cmFtX2xpbmtfdHJhaW5pbmdfcGF0dGVybihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAotCQkJ CSAgICAgICB1aW50OF90IGRwX3RyYWluX3BhdCk7Ci12b2lkCi1pbnRlbF9kcF91cGRhdGVfc2ln bmFsX2xldmVscyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKLXZvaWQgaW50ZWxfZHBfc2V0 X2lkbGVfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKLXVpbnQ4X3QKLWlu dGVsX2RwX3ZvbHRhZ2VfbWF4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwotdWludDhfdAot aW50ZWxfZHBfcHJlX2VtcGhhc2lzX21heChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50 OF90IHZvbHRhZ2Vfc3dpbmcpOwotdm9pZCBpbnRlbF9kcF9jb21wdXRlX3JhdGUoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCwgaW50IHBvcnRfY2xvY2ssCi0JCQkgICB1aW50OF90ICpsaW5rX2J3 LCB1aW50OF90ICpyYXRlX3NlbGVjdCk7Ci1ib29sIGludGVsX2RwX3NvdXJjZV9zdXBwb3J0c19o YnIyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwotYm9vbAotaW50ZWxfZHBfZ2V0X2xpbmtf c3RhdHVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQ4X3QgbGlua19zdGF0dXNbRFBf TElOS19TVEFUVVNfU0laRV0pOwotCiAvKiBpbnRlbF9kcF9tc3QuYyAqLwogaW50IGludGVsX2Rw X21zdF9lbmNvZGVyX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3Bv cnQsIGludCBjb25uX2lkKTsKIHZvaWQgaW50ZWxfZHBfbXN0X2VuY29kZXJfY2xlYW51cChzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCk7Ci0tIAoyLjQuMwoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK