From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thulasimani, Sivakumar" Subject: Re: [PATCH 02/15] drm/i915: Don't pass *DP around to link training functions Date: Mon, 19 Oct 2015 10:15:29 +0530 Message-ID: <56247569.7000203@intel.com> References: <1444028487-6501-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1444028487-6501-3-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 9BB276E674 for ; Sun, 18 Oct 2015 21:45:31 -0700 (PDT) In-Reply-To: <1444028487-6501-3-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: Ander Conselvan de Oliveira , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMC81LzIwMTUgMTI6MzEgUE0sIEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSB3cm90 ZToKPiBJdCBqdXN0IG1ha2VzIHRoZSBjb2RlIG1vcmUgY29uZnVzaW5nLCBzbyBqdXN0IHJlZmVy ZW5jZSBpbnRlbF9kcF8+RFAKPiBkaXJlY3RseS4gVGhlIG9sZCBiZWhhdmlvciBvZiBub3QgdXBk YXRpbmcgdGhlIHZhbHVlIGluIGludGVsX2RwIGlmIGxpbmsKPiB0cmFpbmluZyBmYWlsIGlzIHBy ZXNlcnZlZCBieSBzYXZpbmcgdGhlIHByZXZpb3VzIHZhbHVlIG9mIERQIGluIHRoZQo+IHN0YWNr IGFuZCByZXN0b3JpbmcgdGhlIG9sZCB2YWx1ZSBpbiBjYXNlIG9mIGZhaWx1cmUuCj4KPiBTaWdu ZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5k ZS5vbGl2ZWlyYUBpbnRlbC5jb20+Cj4gLS0KPgo+IEknbSBub3Qgc3VyZSB0aGUgb2xkIGJlaGF2 aW9yIGlzIGNvcnJlY3QsIGJ1dCB0byBlcnIgaW4gdGhlIHNpZGUgb2YKPiBjYXV0aW9uIEkgdHJp ZWQgbm90IHRvIGNoYW5nZSBpdC4KPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYyB8IDY2ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g ICAxIGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCj4KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCBjNDIwZWRmLi4zOTFhMzY3IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTM2MDEsNyArMzYwMSw2IEBAIGludGVsX2RwX3NldF9z aWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQzMl90ICpEUCkKPiAg IAo+ICAgc3RhdGljIGJvb2wKPiAgIGludGVsX2RwX3NldF9saW5rX3RyYWluKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsCj4gLQkJCXVpbnQzMl90ICpEUCwKPiAgIAkJCXVpbnQ4X3QgZHBfdHJh aW5fcGF0KQo+ICAgewo+ICAgCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+IEBAIC0zNjEwLDkgKzM2MDksOSBAQCBp bnRlbF9kcF9zZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAgCXVp bnQ4X3QgYnVmW3NpemVvZihpbnRlbF9kcC0+dHJhaW5fc2V0KSArIDFdOwo+ICAgCWludCByZXQs IGxlbjsKPiAgIAo+IC0JX2ludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCBEUCwgZHBf dHJhaW5fcGF0KTsKPiArCV9pbnRlbF9kcF9zZXRfbGlua190cmFpbihpbnRlbF9kcCwgJmludGVs X2RwLT5EUCwgZHBfdHJhaW5fcGF0KTsKPiAgIAo+IC0JSTkxNV9XUklURShpbnRlbF9kcC0+b3V0 cHV0X3JlZywgKkRQKTsKPiArCUk5MTVfV1JJVEUoaW50ZWxfZHAtPm91dHB1dF9yZWcsIGludGVs X2RwLT5EUCk7Cj4gICAJUE9TVElOR19SRUFEKGludGVsX2RwLT5vdXRwdXRfcmVnKTsKPiAgIAo+ ICAgCWJ1ZlswXSA9IGRwX3RyYWluX3BhdDsKPiBAQCAtMzYzMywxNyArMzYzMiwxNyBAQCBpbnRl bF9kcF9zZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAgfQo+ICAg Cj4gICBzdGF0aWMgYm9vbAo+IC1pbnRlbF9kcF9yZXNldF9saW5rX3RyYWluKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsIHVpbnQzMl90ICpEUCwKPiAraW50ZWxfZHBfcmVzZXRfbGlua190cmFp bihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAgCQkJdWludDhfdCBkcF90cmFpbl9wYXQp Cj4gICB7Cj4gICAJaWYgKCFpbnRlbF9kcC0+dHJhaW5fc2V0X3ZhbGlkKQo+ICAgCQltZW1zZXQo aW50ZWxfZHAtPnRyYWluX3NldCwgMCwgc2l6ZW9mKGludGVsX2RwLT50cmFpbl9zZXQpKTsKPiAt CWludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzKGludGVsX2RwLCBEUCk7Cj4gLQlyZXR1cm4gaW50 ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsIERQLCBkcF90cmFpbl9wYXQpOwo+ICsJaW50 ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHMoaW50ZWxfZHAsICZpbnRlbF9kcC0+RFApOwo+ICsJcmV0 dXJuIGludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCBkcF90cmFpbl9wYXQpOwo+ICAg fQo+ICAgCj4gICBzdGF0aWMgYm9vbAo+IC1pbnRlbF9kcF91cGRhdGVfbGlua190cmFpbihzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50MzJfdCAqRFAsCj4gK2ludGVsX2RwX3VwZGF0ZV9s aW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gICAJCQkgICBjb25zdCB1aW50 OF90IGxpbmtfc3RhdHVzW0RQX0xJTktfU1RBVFVTX1NJWkVdKQo+ICAgewo+ICAgCXN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxf ZHApOwo+IEBAIC0zNjUyLDkgKzM2NTEsOSBAQCBpbnRlbF9kcF91cGRhdGVfbGlua190cmFpbihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50MzJfdCAqRFAsCj4gICAJaW50IHJldDsKPiAg IAo+ICAgCWludGVsX2dldF9hZGp1c3RfdHJhaW4oaW50ZWxfZHAsIGxpbmtfc3RhdHVzKTsKPiAt CWludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzKGludGVsX2RwLCBEUCk7Cj4gKwlpbnRlbF9kcF9z ZXRfc2lnbmFsX2xldmVscyhpbnRlbF9kcCwgJmludGVsX2RwLT5EUCk7Cj4gICAKPiAtCUk5MTVf V1JJVEUoaW50ZWxfZHAtPm91dHB1dF9yZWcsICpEUCk7Cj4gKwlJOTE1X1dSSVRFKGludGVsX2Rw LT5vdXRwdXRfcmVnLCBpbnRlbF9kcC0+RFApOwo+ICAgCVBPU1RJTkdfUkVBRChpbnRlbF9kcC0+ b3V0cHV0X3JlZyk7Cj4gICAKPiAgIAlyZXQgPSBkcm1fZHBfZHBjZF93cml0ZSgmaW50ZWxfZHAt PmF1eCwgRFBfVFJBSU5JTkdfTEFORTBfU0VULAo+IEBAIC0zNjk1LDcgKzM2OTQsNyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kcF9zZXRfaWRsZV9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApCj4gICB9Cj4gICAKPiAgIC8qIEVuYWJsZSBjb3JyZXNwb25kaW5nIHBvcnQgYW5kIHN0 YXJ0IHRyYWluaW5nIHBhdHRlcm4gMSAqLwo+IC1zdGF0aWMgdm9pZAo+ICtzdGF0aWMgYm9vbAo+ ICAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZkcF90 b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2UuYmFzZTsKPiBAQCAtMzcwMyw5ICszNzAyLDkgQEAg aW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQo+ICAgCWludCBpOwo+ICAgCXVpbnQ4X3Qgdm9sdGFnZTsKPiAgIAlpbnQgdm9sdGFn ZV90cmllcywgbG9vcF90cmllczsKPiAtCXVpbnQzMl90IERQID0gaW50ZWxfZHAtPkRQOwo+ICAg CXVpbnQ4X3QgbGlua19jb25maWdbMl07Cj4gICAJdWludDhfdCBsaW5rX2J3LCByYXRlX3NlbGVj dDsKPiArCXVpbnQ4X3QgbGlua19zdGF0dXNbRFBfTElOS19TVEFUVVNfU0laRV07Cj4gICAKPiAg IAlpZiAoSEFTX0RESShkZXYpKQo+ICAgCQlpbnRlbF9kZGlfcHJlcGFyZV9saW5rX3JldHJhaW4o ZW5jb2Rlcik7Cj4gQEAgLTM3MjcsMjIgKzM3MjYsMjAgQEAgaW50ZWxfZHBfbGlua190cmFpbmlu Z19jbG9ja19yZWNvdmVyeShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAgCWxpbmtfY29u ZmlnWzFdID0gRFBfU0VUX0FOU0lfOEIxMEI7Cj4gICAJZHJtX2RwX2RwY2Rfd3JpdGUoJmludGVs X2RwLT5hdXgsIERQX0RPV05TUFJFQURfQ1RSTCwgbGlua19jb25maWcsIDIpOwo+ICAgCj4gLQlE UCB8PSBEUF9QT1JUX0VOOwo+ICsJaW50ZWxfZHAtPkRQIHw9IERQX1BPUlRfRU47Cj4gICAKPiAg IAkvKiBjbG9jayByZWNvdmVyeSAqLwo+IC0JaWYgKCFpbnRlbF9kcF9yZXNldF9saW5rX3RyYWlu KGludGVsX2RwLCAmRFAsCj4gKwlpZiAoIWludGVsX2RwX3Jlc2V0X2xpbmtfdHJhaW4oaW50ZWxf ZHAsCj4gICAJCQkJICAgICAgIERQX1RSQUlOSU5HX1BBVFRFUk5fMSB8Cj4gICAJCQkJICAgICAg IERQX0xJTktfU0NSQU1CTElOR19ESVNBQkxFKSkgewo+ICAgCQlEUk1fRVJST1IoImZhaWxlZCB0 byBlbmFibGUgbGluayB0cmFpbmluZ1xuIik7Cj4gLQkJcmV0dXJuOwo+ICsJCXJldHVybiBmYWxz ZTsKPiAgIAl9Cj4gICAKPiAgIAl2b2x0YWdlID0gMHhmZjsKPiAgIAl2b2x0YWdlX3RyaWVzID0g MDsKPiAgIAlsb29wX3RyaWVzID0gMDsKPiAgIAlmb3IgKDs7KSB7Cj4gLQkJdWludDhfdCBsaW5r X3N0YXR1c1tEUF9MSU5LX1NUQVRVU19TSVpFXTsKPiAtCj4gICAJCWRybV9kcF9saW5rX3RyYWlu X2Nsb2NrX3JlY292ZXJ5X2RlbGF5KGludGVsX2RwLT5kcGNkKTsKPiAgIAkJaWYgKCFpbnRlbF9k cF9nZXRfbGlua19zdGF0dXMoaW50ZWxfZHAsIGxpbmtfc3RhdHVzKSkgewo+ICAgCQkJRFJNX0VS Uk9SKCJmYWlsZWQgdG8gZ2V0IGxpbmsgc3RhdHVzXG4iKTsKPiBAQCAtMzc2MiwxMSArMzc1OSwx MSBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCj4gICAJCQlEUk1fREVCVUdfS01TKCJjbG9jayByZWNvdmVyeSBub3Qgb2ss IHJlc2V0Iik7Cj4gICAJCQkvKiBjbGVhciB0aGUgZmxhZyBhcyB3ZSBhcmUgbm90IHJldXNpbmcg dHJhaW4gc2V0ICovCj4gICAJCQlpbnRlbF9kcC0+dHJhaW5fc2V0X3ZhbGlkID0gZmFsc2U7Cj4g LQkJCWlmICghaW50ZWxfZHBfcmVzZXRfbGlua190cmFpbihpbnRlbF9kcCwgJkRQLAo+ICsJCQlp ZiAoIWludGVsX2RwX3Jlc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsCj4gICAJCQkJCQkgICAgICAg RFBfVFJBSU5JTkdfUEFUVEVSTl8xIHwKPiAgIAkJCQkJCSAgICAgICBEUF9MSU5LX1NDUkFNQkxJ TkdfRElTQUJMRSkpIHsKPiAgIAkJCQlEUk1fRVJST1IoImZhaWxlZCB0byBlbmFibGUgbGluayB0 cmFpbmluZ1xuIik7Cj4gLQkJCQlyZXR1cm47Cj4gKwkJCQlyZXR1cm4gZmFsc2U7Cj4gICAJCQl9 Cj4gICAJCQljb250aW51ZTsKPiAgIAkJfQo+IEBAIC0zNzgxLDcgKzM3NzgsNyBAQCBpbnRlbF9k cF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp Cj4gICAJCQkJRFJNX0VSUk9SKCJ0b28gbWFueSBmdWxsIHJldHJpZXMsIGdpdmUgdXBcbiIpOwo+ ICAgCQkJCWJyZWFrOwo+ICAgCQkJfQo+IC0JCQlpbnRlbF9kcF9yZXNldF9saW5rX3RyYWluKGlu dGVsX2RwLCAmRFAsCj4gKwkJCWludGVsX2RwX3Jlc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsCj4g ICAJCQkJCQkgIERQX1RSQUlOSU5HX1BBVFRFUk5fMSB8Cj4gICAJCQkJCQkgIERQX0xJTktfU0NS QU1CTElOR19ESVNBQkxFKTsKPiAgIAkJCXZvbHRhZ2VfdHJpZXMgPSAwOwo+IEBAIC0zODAwLDIz ICszNzk3LDIyIEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3Zlcnkoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKPiAgIAkJdm9sdGFnZSA9IGludGVsX2RwLT50cmFpbl9zZXRb MF0gJiBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX01BU0s7Cj4gICAKPiAgIAkJLyogVXBkYXRlIHRy YWluaW5nIHNldCBhcyByZXF1ZXN0ZWQgYnkgdGFyZ2V0ICovCj4gLQkJaWYgKCFpbnRlbF9kcF91 cGRhdGVfbGlua190cmFpbihpbnRlbF9kcCwgJkRQLCBsaW5rX3N0YXR1cykpIHsKPiArCQlpZiAo IWludGVsX2RwX3VwZGF0ZV9saW5rX3RyYWluKGludGVsX2RwLCBsaW5rX3N0YXR1cykpIHsKPiAg IAkJCURSTV9FUlJPUigiZmFpbGVkIHRvIHVwZGF0ZSBsaW5rIHRyYWluaW5nXG4iKTsKPiAgIAkJ CWJyZWFrOwo+ICAgCQl9Cj4gICAJfQo+ICAgCj4gLQlpbnRlbF9kcC0+RFAgPSBEUDsKPiArCXJl dHVybiBkcm1fZHBfY2xvY2tfcmVjb3Zlcnlfb2sobGlua19zdGF0dXMsIGludGVsX2RwLT5sYW5l X2NvdW50KTsKd2h5IGFyZSB3ZSBjYWxsaW5nIHRoZSBzYW1lIGZ1bmN0aW9uIGFnYWluPyBpbiBi ZXN0IGNhc2UgdGhpcyBmdW5jdGlvbiAKaXMgY2FsbGVkIGFuZCByZXR1cm5lZCB0cnVlLAogIG9y IHdvcnN0IGNhc2UgaXQgd2FzIG5ldmVyIGNhbGxlZC4gc28gaXQgd2lsbCBiZSBzaW1wbGVyIGlm IHdlIHN0b3JlIAp0aGUgcmV0dXJuIHZhbHVlIG9mIHRoaXMgZnVuY3Rpb24KaW5zaWRlIHRoZSBs b29wIGFuZCByZXR1cm4gdGhhdCBoZXJlID8KPiAgIH0KPiAgIAo+IC1zdGF0aWMgdm9pZAo+ICtz dGF0aWMgYm9vbAo+ICAgaW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlv bihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAgewo+ICAgCXN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+ICAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBkaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKPiAgIAlib29sIGNo YW5uZWxfZXEgPSBmYWxzZTsKPiAgIAlpbnQgdHJpZXMsIGNyX3RyaWVzOwo+IC0JdWludDMyX3Qg RFAgPSBpbnRlbF9kcC0+RFA7Cj4gICAJdWludDMyX3QgdHJhaW5pbmdfcGF0dGVybiA9IERQX1RS QUlOSU5HX1BBVFRFUk5fMjsKPiAgIAo+ICAgCS8qCj4gQEAgLTM4MzUsMTEgKzM4MzEsMTEgQEAg aW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbihzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQo+ICAgCQlEUk1fRVJST1IoIjUuNCBHYnBzIGxpbmsgcmF0ZSB3aXRob3V0 IEhCUjIvVFBTMyBzdXBwb3J0XG4iKTsKPiAgIAo+ICAgCS8qIGNoYW5uZWwgZXF1YWxpemF0aW9u ICovCj4gLQlpZiAoIWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsCj4gKwlp ZiAoIWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLAo+ICAgCQkJCSAgICAgdHJhaW5p bmdfcGF0dGVybiB8Cj4gICAJCQkJICAgICBEUF9MSU5LX1NDUkFNQkxJTkdfRElTQUJMRSkpIHsK PiAgIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc3RhcnQgY2hhbm5lbCBlcXVhbGl6YXRpb25cbiIp Owo+IC0JCXJldHVybjsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gICAJfQo+ICAgCj4gICAJdHJpZXMg PSAwOwo+IEBAIC0zODY0LDcgKzM4NjAsNyBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5u ZWxfZXF1YWxpemF0aW9uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICAJCQkJCSAgICAg IGludGVsX2RwLT5sYW5lX2NvdW50KSkgewo+ICAgCQkJaW50ZWxfZHAtPnRyYWluX3NldF92YWxp ZCA9IGZhbHNlOwo+ICAgCQkJaW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeShp bnRlbF9kcCk7Cj4gLQkJCWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsCj4g KwkJCWludGVsX2RwX3NldF9saW5rX3RyYWluKGludGVsX2RwLAo+ICAgCQkJCQkJdHJhaW5pbmdf cGF0dGVybiB8Cj4gICAJCQkJCQlEUF9MSU5LX1NDUkFNQkxJTkdfRElTQUJMRSk7Cj4gICAJCQlj cl90cmllcysrOwo+IEBAIC0zODgxLDcgKzM4NzcsNyBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5n X2NoYW5uZWxfZXF1YWxpemF0aW9uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICAJCWlm ICh0cmllcyA+IDUpIHsKPiAgIAkJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSBmYWxzZTsK PiAgIAkJCWludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnkoaW50ZWxfZHApOwo+ IC0JCQlpbnRlbF9kcF9zZXRfbGlua190cmFpbihpbnRlbF9kcCwgJkRQLAo+ICsJCQlpbnRlbF9k cF9zZXRfbGlua190cmFpbihpbnRlbF9kcCwKPiAgIAkJCQkJCXRyYWluaW5nX3BhdHRlcm4gfAo+ ICAgCQkJCQkJRFBfTElOS19TQ1JBTUJMSU5HX0RJU0FCTEUpOwo+ICAgCQkJdHJpZXMgPSAwOwo+ IEBAIC0zODkwLDcgKzM4ODYsNyBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxfZXF1 YWxpemF0aW9uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICAJCX0KPiAgIAo+ICAgCQkv KiBVcGRhdGUgdHJhaW5pbmcgc2V0IGFzIHJlcXVlc3RlZCBieSB0YXJnZXQgKi8KPiAtCQlpZiAo IWludGVsX2RwX3VwZGF0ZV9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsIGxpbmtfc3RhdHVzKSkg ewo+ICsJCWlmICghaW50ZWxfZHBfdXBkYXRlX2xpbmtfdHJhaW4oaW50ZWxfZHAsIGxpbmtfc3Rh dHVzKSkgewo+ICAgCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gdXBkYXRlIGxpbmsgdHJhaW5pbmdc biIpOwo+ICAgCQkJYnJlYWs7Cj4gICAJCX0KPiBAQCAtMzg5OSwyNSArMzg5NSwyOSBAQCBpbnRl bF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxfZXF1YWxpemF0aW9uKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCj4gICAKPiAgIAlpbnRlbF9kcF9zZXRfaWRsZV9saW5rX3RyYWluKGludGVsX2Rw KTsKPiAgIAo+IC0JaW50ZWxfZHAtPkRQID0gRFA7Cj4gLQo+ICAgCWlmIChjaGFubmVsX2VxKSB7 Cj4gICAJCWludGVsX2RwLT50cmFpbl9zZXRfdmFsaWQgPSB0cnVlOwo+ICAgCQlEUk1fREVCVUdf S01TKCJDaGFubmVsIEVRIGRvbmUuIERQIFRyYWluaW5nIHN1Y2Nlc3NmdWxcbiIpOwo+ICsJCXJl dHVybiB0cnVlOwo+ICsJfSBlbHNlIHsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gICAJfQo+ICAgfQo+ ICAgCj4gICB2b2lkIGludGVsX2RwX3N0b3BfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQo+ICAgewo+IC0JaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsICZpbnRl bF9kcC0+RFAsCj4gKwlpbnRlbF9kcF9zZXRfbGlua190cmFpbihpbnRlbF9kcCwKPiAgIAkJCQlE UF9UUkFJTklOR19QQVRURVJOX0RJU0FCTEUpOwo+ICAgfQo+ICAgCj4gICB2b2lkCj4gICBpbnRl bF9kcF9zdGFydF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICB7Cj4g LQlpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KGludGVsX2RwKTsKPiAtCWlu dGVsX2RwX2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oaW50ZWxfZHApOwo+ICsJ dWludDMyX3QgRFAgPSBpbnRlbF9kcC0+RFA7Cj4gKwo+ICsJaWYgKCFpbnRlbF9kcF9saW5rX3Ry YWluaW5nX2Nsb2NrX3JlY292ZXJ5KGludGVsX2RwKSB8fAo+ICsJICAgICFpbnRlbF9kcF9saW5r X3RyYWluaW5nX2NoYW5uZWxfZXF1YWxpemF0aW9uKGludGVsX2RwKSkKPiArCQlpbnRlbF9kcC0+ RFAgPSBEUDsKaXQgaXMgd3JvbmcgdG8gcmVzdG9yZSB0aGUgdmFsdWUgb2YgRFAgaGVyZSwgd2Ug aGF2ZSBtb2RpZmllZCB0aGUgdmFsdWUgCm9mIHBvcnQvZGRpIGFscmVhZHkgaW5zaWRlIHRoZSB0 d28gZnVuY3Rpb25zLgppZiBlaXRoZXIgb2YgdGhlc2UgdHdvIHN0ZXBzIGZhaWwgd2Ugc2hvdWxk IGNhbGwgc3RvcCBsaW5rIHRyYWluaW5nIGFuZCAKZm9sbG93IGl0IHdpdGggYnNwZWMgZGlzYWJs ZSBzZXF1ZW5jZS4Kc28gc2F2aW5nIGFuZCByZXN0b3Jpbmcgd2lsbCBub3QgaGVscCB1cyBpbiBh bnl3YXkgYnV0IG1vcmUgaGlkZSB0aGUgCnJlYWwgc3RhdHVzIG9mIEhXLgo+ICAgfQo+ICAgCj4g ICBzdGF0aWMgdm9pZAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK