From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 2/8] drm/i915: Don't pass *DP around to link training functions Date: Tue, 8 Sep 2015 15:27:53 +0300 Message-ID: <1441715280-11623-3-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1441715280-11623-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 82F3D6E366 for ; Tue, 8 Sep 2015 05:28:09 -0700 (PDT) In-Reply-To: <1441715280-11623-1-git-send-email-ander.conselvan.de.oliveira@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, Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org SXQganVzdCBtYWtlcyB0aGUgY29kZSBtb3JlIGNvbmZ1c2luZywgc28ganVzdCByZWZlcmVuY2Ug aW50ZWxfZHBfPkRQCmRpcmVjdGx5LiBUaGUgb2xkIGJlaGF2aW9yIGlzIHByZXNlcnZlZCBieSBz YXZpbmcgdGhlIHByZXZpb3VzIHZhbHVlIG9mCkRQIGluIHRoZSBzdGFjayBhbmQgcmVzdG9yaW5n IHRoZSBvbGQgdmFsdWUgaW4gY2FzZSBvZiBmYWlsdXJlLgoKLS0KCkknbSBub3Qgc3VyZSB0aGUg b2xkIGJlaGF2aW9yIGlzIGNvcnJlY3QsIGJ1dCB0byBlcnIgaW4gdGhlIHNpZGUgb2YKY2F1dGlv biBJIHRyaWVkIG5vdCB0byBjaGFuZ2UgaXQuCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYyB8IDY2ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKaW5kZXggM2QxOTQwNC4uNThlZmRjYSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jCkBAIC0zNjAwLDcgKzM2MDAsNiBAQCBpbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVscyhz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50MzJfdCAqRFApCiAKIHN0YXRpYyBib29sCiBp bnRlbF9kcF9zZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAotCQkJdWlu dDMyX3QgKkRQLAogCQkJdWludDhfdCBkcF90cmFpbl9wYXQpCiB7CiAJc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7CkBA IC0zNjA5LDkgKzM2MDgsOSBAQCBpbnRlbF9kcF9zZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLAogCXVpbnQ4X3QgYnVmW3NpemVvZihpbnRlbF9kcC0+dHJhaW5fc2V0KSAr IDFdOwogCWludCByZXQsIGxlbjsKIAotCV9pbnRlbF9kcF9zZXRfbGlua190cmFpbihpbnRlbF9k cCwgRFAsIGRwX3RyYWluX3BhdCk7CisJX2ludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2Rw LCAmaW50ZWxfZHAtPkRQLCBkcF90cmFpbl9wYXQpOwogCi0JSTkxNV9XUklURShpbnRlbF9kcC0+ b3V0cHV0X3JlZywgKkRQKTsKKwlJOTE1X1dSSVRFKGludGVsX2RwLT5vdXRwdXRfcmVnLCBpbnRl bF9kcC0+RFApOwogCVBPU1RJTkdfUkVBRChpbnRlbF9kcC0+b3V0cHV0X3JlZyk7CiAKIAlidWZb MF0gPSBkcF90cmFpbl9wYXQ7CkBAIC0zNjMyLDE3ICszNjMxLDE3IEBAIGludGVsX2RwX3NldF9s aW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiB9CiAKIHN0YXRpYyBib29sCi1p bnRlbF9kcF9yZXNldF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQz Ml90ICpEUCwKK2ludGVsX2RwX3Jlc2V0X2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRl bF9kcCwKIAkJCXVpbnQ4X3QgZHBfdHJhaW5fcGF0KQogewogCWlmICghaW50ZWxfZHAtPnRyYWlu X3NldF92YWxpZCkKIAkJbWVtc2V0KGludGVsX2RwLT50cmFpbl9zZXQsIDAsIHNpemVvZihpbnRl bF9kcC0+dHJhaW5fc2V0KSk7Ci0JaW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHMoaW50ZWxfZHAs IERQKTsKLQlyZXR1cm4gaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsIERQLCBkcF90 cmFpbl9wYXQpOworCWludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzKGludGVsX2RwLCAmaW50ZWxf ZHAtPkRQKTsKKwlyZXR1cm4gaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsIGRwX3Ry YWluX3BhdCk7CiB9CiAKIHN0YXRpYyBib29sCi1pbnRlbF9kcF91cGRhdGVfbGlua190cmFpbihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50MzJfdCAqRFAsCitpbnRlbF9kcF91cGRhdGVf bGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJICAgY29uc3QgdWludDhf dCBsaW5rX3N0YXR1c1tEUF9MSU5LX1NUQVRVU19TSVpFXSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKQEAg LTM2NTEsOSArMzY1MCw5IEBAIGludGVsX2RwX3VwZGF0ZV9saW5rX3RyYWluKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsIHVpbnQzMl90ICpEUCwKIAlpbnQgcmV0OwogCiAJaW50ZWxfZ2V0X2Fk anVzdF90cmFpbihpbnRlbF9kcCwgbGlua19zdGF0dXMpOwotCWludGVsX2RwX3NldF9zaWduYWxf bGV2ZWxzKGludGVsX2RwLCBEUCk7CisJaW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHMoaW50ZWxf ZHAsICZpbnRlbF9kcC0+RFApOwogCi0JSTkxNV9XUklURShpbnRlbF9kcC0+b3V0cHV0X3JlZywg KkRQKTsKKwlJOTE1X1dSSVRFKGludGVsX2RwLT5vdXRwdXRfcmVnLCBpbnRlbF9kcC0+RFApOwog CVBPU1RJTkdfUkVBRChpbnRlbF9kcC0+b3V0cHV0X3JlZyk7CiAKIAlyZXQgPSBkcm1fZHBfZHBj ZF93cml0ZSgmaW50ZWxfZHAtPmF1eCwgRFBfVFJBSU5JTkdfTEFORTBfU0VULApAQCAtMzY5NCw3 ICszNjkzLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfc2V0X2lkbGVfbGlua190cmFpbihzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogfQogCiAvKiBFbmFibGUgY29ycmVzcG9uZGluZyBwb3J0 IGFuZCBzdGFydCB0cmFpbmluZyBwYXR0ZXJuIDEgKi8KLXN0YXRpYyB2b2lkCitzdGF0aWMgYm9v bAogaW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQogewogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZkcF90b19kaWdf cG9ydChpbnRlbF9kcCktPmJhc2UuYmFzZTsKQEAgLTM3MDIsOSArMzcwMSw5IEBAIGludGVsX2Rw X2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3Zlcnkoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK IAlpbnQgaTsKIAl1aW50OF90IHZvbHRhZ2U7CiAJaW50IHZvbHRhZ2VfdHJpZXMsIGxvb3BfdHJp ZXM7Ci0JdWludDMyX3QgRFAgPSBpbnRlbF9kcC0+RFA7CiAJdWludDhfdCBsaW5rX2NvbmZpZ1sy XTsKIAl1aW50OF90IGxpbmtfYncsIHJhdGVfc2VsZWN0OworCXVpbnQ4X3QgbGlua19zdGF0dXNb RFBfTElOS19TVEFUVVNfU0laRV07CiAKIAlpZiAoSEFTX0RESShkZXYpKQogCQlpbnRlbF9kZGlf cHJlcGFyZV9saW5rX3JldHJhaW4oZW5jb2Rlcik7CkBAIC0zNzI2LDIyICszNzI1LDIwIEBAIGlu dGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3Zlcnkoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKIAlsaW5rX2NvbmZpZ1sxXSA9IERQX1NFVF9BTlNJXzhCMTBCOwogCWRybV9kcF9kcGNk X3dyaXRlKCZpbnRlbF9kcC0+YXV4LCBEUF9ET1dOU1BSRUFEX0NUUkwsIGxpbmtfY29uZmlnLCAy KTsKIAotCURQIHw9IERQX1BPUlRfRU47CisJaW50ZWxfZHAtPkRQIHw9IERQX1BPUlRfRU47CiAK IAkvKiBjbG9jayByZWNvdmVyeSAqLwotCWlmICghaW50ZWxfZHBfcmVzZXRfbGlua190cmFpbihp bnRlbF9kcCwgJkRQLAorCWlmICghaW50ZWxfZHBfcmVzZXRfbGlua190cmFpbihpbnRlbF9kcCwK IAkJCQkgICAgICAgRFBfVFJBSU5JTkdfUEFUVEVSTl8xIHwKIAkJCQkgICAgICAgRFBfTElOS19T Q1JBTUJMSU5HX0RJU0FCTEUpKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGVuYWJsZSBsaW5r IHRyYWluaW5nXG4iKTsKLQkJcmV0dXJuOworCQlyZXR1cm4gZmFsc2U7CiAJfQogCiAJdm9sdGFn ZSA9IDB4ZmY7CiAJdm9sdGFnZV90cmllcyA9IDA7CiAJbG9vcF90cmllcyA9IDA7CiAJZm9yICg7 OykgewotCQl1aW50OF90IGxpbmtfc3RhdHVzW0RQX0xJTktfU1RBVFVTX1NJWkVdOwotCiAJCWRy bV9kcF9saW5rX3RyYWluX2Nsb2NrX3JlY292ZXJ5X2RlbGF5KGludGVsX2RwLT5kcGNkKTsKIAkJ aWYgKCFpbnRlbF9kcF9nZXRfbGlua19zdGF0dXMoaW50ZWxfZHAsIGxpbmtfc3RhdHVzKSkgewog CQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gZ2V0IGxpbmsgc3RhdHVzXG4iKTsKQEAgLTM3NjEsMTEg KzM3NTgsMTEgQEAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQogCQkJRFJNX0RFQlVHX0tNUygiY2xvY2sgcmVjb3Zlcnkgbm90 IG9rLCByZXNldCIpOwogCQkJLyogY2xlYXIgdGhlIGZsYWcgYXMgd2UgYXJlIG5vdCByZXVzaW5n IHRyYWluIHNldCAqLwogCQkJaW50ZWxfZHAtPnRyYWluX3NldF92YWxpZCA9IGZhbHNlOwotCQkJ aWYgKCFpbnRlbF9kcF9yZXNldF9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsCisJCQlpZiAoIWlu dGVsX2RwX3Jlc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsCiAJCQkJCQkgICAgICAgRFBfVFJBSU5J TkdfUEFUVEVSTl8xIHwKIAkJCQkJCSAgICAgICBEUF9MSU5LX1NDUkFNQkxJTkdfRElTQUJMRSkp IHsKIAkJCQlEUk1fRVJST1IoImZhaWxlZCB0byBlbmFibGUgbGluayB0cmFpbmluZ1xuIik7Ci0J CQkJcmV0dXJuOworCQkJCXJldHVybiBmYWxzZTsKIAkJCX0KIAkJCWNvbnRpbnVlOwogCQl9CkBA IC0zNzgwLDcgKzM3NzcsNyBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5 KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJCQkJRFJNX0VSUk9SKCJ0b28gbWFueSBmdWxs IHJldHJpZXMsIGdpdmUgdXBcbiIpOwogCQkJCWJyZWFrOwogCQkJfQotCQkJaW50ZWxfZHBfcmVz ZXRfbGlua190cmFpbihpbnRlbF9kcCwgJkRQLAorCQkJaW50ZWxfZHBfcmVzZXRfbGlua190cmFp bihpbnRlbF9kcCwKIAkJCQkJCSAgRFBfVFJBSU5JTkdfUEFUVEVSTl8xIHwKIAkJCQkJCSAgRFBf TElOS19TQ1JBTUJMSU5HX0RJU0FCTEUpOwogCQkJdm9sdGFnZV90cmllcyA9IDA7CkBAIC0zNzk5 LDIzICszNzk2LDIyIEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3Zlcnkoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkJdm9sdGFnZSA9IGludGVsX2RwLT50cmFpbl9zZXRb MF0gJiBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX01BU0s7CiAKIAkJLyogVXBkYXRlIHRyYWluaW5n IHNldCBhcyByZXF1ZXN0ZWQgYnkgdGFyZ2V0ICovCi0JCWlmICghaW50ZWxfZHBfdXBkYXRlX2xp bmtfdHJhaW4oaW50ZWxfZHAsICZEUCwgbGlua19zdGF0dXMpKSB7CisJCWlmICghaW50ZWxfZHBf dXBkYXRlX2xpbmtfdHJhaW4oaW50ZWxfZHAsIGxpbmtfc3RhdHVzKSkgewogCQkJRFJNX0VSUk9S KCJmYWlsZWQgdG8gdXBkYXRlIGxpbmsgdHJhaW5pbmdcbiIpOwogCQkJYnJlYWs7CiAJCX0KIAl9 CiAKLQlpbnRlbF9kcC0+RFAgPSBEUDsKKwlyZXR1cm4gZHJtX2RwX2Nsb2NrX3JlY292ZXJ5X29r KGxpbmtfc3RhdHVzLCBpbnRlbF9kcC0+bGFuZV9jb3VudCk7CiB9CiAKLXN0YXRpYyB2b2lkCitz dGF0aWMgYm9vbAogaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBkaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKIAlib29sIGNoYW5uZWxfZXEgPSBmYWxz ZTsKIAlpbnQgdHJpZXMsIGNyX3RyaWVzOwotCXVpbnQzMl90IERQID0gaW50ZWxfZHAtPkRQOwog CXVpbnQzMl90IHRyYWluaW5nX3BhdHRlcm4gPSBEUF9UUkFJTklOR19QQVRURVJOXzI7CiAKIAkv KgpAQCAtMzgzNCwxMSArMzgzMCwxMSBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxf ZXF1YWxpemF0aW9uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJCURSTV9FUlJPUigiNS40 IEdicHMgbGluayByYXRlIHdpdGhvdXQgSEJSMi9UUFMzIHN1cHBvcnRcbiIpOwogCiAJLyogY2hh bm5lbCBlcXVhbGl6YXRpb24gKi8KLQlpZiAoIWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVs X2RwLCAmRFAsCisJaWYgKCFpbnRlbF9kcF9zZXRfbGlua190cmFpbihpbnRlbF9kcCwKIAkJCQkg ICAgIHRyYWluaW5nX3BhdHRlcm4gfAogCQkJCSAgICAgRFBfTElOS19TQ1JBTUJMSU5HX0RJU0FC TEUpKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHN0YXJ0IGNoYW5uZWwgZXF1YWxpemF0aW9u XG4iKTsKLQkJcmV0dXJuOworCQlyZXR1cm4gZmFsc2U7CiAJfQogCiAJdHJpZXMgPSAwOwpAQCAt Mzg2Myw3ICszODU5LDcgQEAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXph dGlvbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCQkJCQkgICAgICBpbnRlbF9kcC0+bGFu ZV9jb3VudCkpIHsKIAkJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSBmYWxzZTsKIAkJCWlu dGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnkoaW50ZWxfZHApOwotCQkJaW50ZWxf ZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsICZEUCwKKwkJCWludGVsX2RwX3NldF9saW5rX3Ry YWluKGludGVsX2RwLAogCQkJCQkJdHJhaW5pbmdfcGF0dGVybiB8CiAJCQkJCQlEUF9MSU5LX1ND UkFNQkxJTkdfRElTQUJMRSk7CiAJCQljcl90cmllcysrOwpAQCAtMzg4MCw3ICszODc2LDcgQEAg aW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbihzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQogCQlpZiAodHJpZXMgPiA1KSB7CiAJCQlpbnRlbF9kcC0+dHJhaW5fc2V0 X3ZhbGlkID0gZmFsc2U7CiAJCQlpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5 KGludGVsX2RwKTsKLQkJCWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsCisJ CQlpbnRlbF9kcF9zZXRfbGlua190cmFpbihpbnRlbF9kcCwKIAkJCQkJCXRyYWluaW5nX3BhdHRl cm4gfAogCQkJCQkJRFBfTElOS19TQ1JBTUJMSU5HX0RJU0FCTEUpOwogCQkJdHJpZXMgPSAwOwpA QCAtMzg4OSw3ICszODg1LDcgQEAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFs aXphdGlvbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCQl9CiAKIAkJLyogVXBkYXRlIHRy YWluaW5nIHNldCBhcyByZXF1ZXN0ZWQgYnkgdGFyZ2V0ICovCi0JCWlmICghaW50ZWxfZHBfdXBk YXRlX2xpbmtfdHJhaW4oaW50ZWxfZHAsICZEUCwgbGlua19zdGF0dXMpKSB7CisJCWlmICghaW50 ZWxfZHBfdXBkYXRlX2xpbmtfdHJhaW4oaW50ZWxfZHAsIGxpbmtfc3RhdHVzKSkgewogCQkJRFJN X0VSUk9SKCJmYWlsZWQgdG8gdXBkYXRlIGxpbmsgdHJhaW5pbmdcbiIpOwogCQkJYnJlYWs7CiAJ CX0KQEAgLTM4OTgsMjUgKzM4OTQsMjkgQEAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVs X2VxdWFsaXphdGlvbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCiAJaW50ZWxfZHBfc2V0 X2lkbGVfbGlua190cmFpbihpbnRlbF9kcCk7CiAKLQlpbnRlbF9kcC0+RFAgPSBEUDsKLQogCWlm IChjaGFubmVsX2VxKSB7CiAJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSB0cnVlOwogCQlE Uk1fREVCVUdfS01TKCJDaGFubmVsIEVRIGRvbmUuIERQIFRyYWluaW5nIHN1Y2Nlc3NmdWxcbiIp OworCQlyZXR1cm4gdHJ1ZTsKKwl9IGVsc2UgeworCQlyZXR1cm4gZmFsc2U7CiAJfQogfQogCiB2 b2lkIGludGVsX2RwX3N0b3BfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog ewotCWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCAmaW50ZWxfZHAtPkRQLAorCWlu dGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLAogCQkJCURQX1RSQUlOSU5HX1BBVFRFUk5f RElTQUJMRSk7CiB9CiAKIHZvaWQKIGludGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCkKIHsKLQlpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292 ZXJ5KGludGVsX2RwKTsKLQlpbnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxfZXF1YWxpemF0 aW9uKGludGVsX2RwKTsKKwl1aW50MzJfdCBEUCA9IGludGVsX2RwLT5EUDsKKworCWlmICghaW50 ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShpbnRlbF9kcCkgfHwKKwkgICAgIWlu dGVsX2RwX2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oaW50ZWxfZHApKQorCQlp bnRlbF9kcC0+RFAgPSBEUDsKIH0KIAogc3RhdGljIHZvaWQKLS0gCjIuNC4zCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=