From mboxrd@z Thu Jan 1 00:00:00 1970 From: sonika Subject: Re: [PATCH 14/13] drm/i915: Unconfuse DP link rate array names Date: Tue, 17 Mar 2015 15:15:33 +0530 Message-ID: <5507F7BD.4090800@intel.com> References: <1426173039-24584-1-git-send-email-ville.syrjala@linux.intel.com> <1426268431-3287-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 9D58F72068 for ; Tue, 17 Mar 2015 02:53:32 -0700 (PDT) In-Reply-To: <1426268431-3287-1-git-send-email-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: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIEZyaWRheSAxMyBNYXJjaCAyMDE1IDExOjEwIFBNLCB2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbSB3cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgo+Cj4gVG8ga2VlcCB0aGluZ3MgY2xlYXIgcmVuYW1lIHRoZSBpbnRlbF9k cC0+c3VwcG9ydGVkX3JhdGVzW10gdG8KPiBpbnRlbF9kcC0+c2lua19yYXRlc1tdLCBhbmQgcmVu YW1lIHRoZSBzdXBwb3J0ZWRfcmF0ZXNbXSBuYW1lIHdlIHVzZWQKPiBlbHNld2hlcmUgZm9yIHRo ZSBpbnRlcnNlY3Rpb24gb2Ygc291cmNlIGFuZCBzaW5rIHJhdGVzIHRvCj4gY29tbW9uX3JhdGVz W10uCj4KPiBDYzogU29uaWthIEppbmRhbCA8c29uaWthLmppbmRhbEBpbnRlbC5jb20+Cj4gU2ln bmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgIHwgNzAgKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBfbXN0LmMgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggICAgfCAgNSArLS0KPiAgIDMgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwg MzggZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCA3MTU2OTRh Li4zOTNmZWVkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTExMzUsOSArMTEz NSw5IEBAIGhzd19kcF9zZXRfZGRpX3BsbF9zZWwoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBp cGVfY29uZmlnLCBpbnQgbGlua19idykKPiAgIHN0YXRpYyBpbnQKPiAgIGludGVsX2RwX3Npbmtf cmF0ZXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgY29uc3QgaW50ICoqc2lua19yYXRlcykK PiAgIHsKPiAtCWlmIChpbnRlbF9kcC0+bnVtX3N1cHBvcnRlZF9yYXRlcykgewo+IC0JCSpzaW5r X3JhdGVzID0gaW50ZWxfZHAtPnN1cHBvcnRlZF9yYXRlczsKPiAtCQlyZXR1cm4gaW50ZWxfZHAt Pm51bV9zdXBwb3J0ZWRfcmF0ZXM7Cj4gKwlpZiAoaW50ZWxfZHAtPm51bV9zaW5rX3JhdGVzKSB7 Cj4gKwkJKnNpbmtfcmF0ZXMgPSBpbnRlbF9kcC0+c2lua19yYXRlczsKPiArCQlyZXR1cm4gaW50 ZWxfZHAtPm51bV9zaW5rX3JhdGVzOwo+ICAgCX0KPiAgIAo+ICAgCSpzaW5rX3JhdGVzID0gZGVm YXVsdF9yYXRlczsKPiBAQCAtMTIwMCw3ICsxMjAwLDcgQEAgaW50ZWxfZHBfc2V0X2Nsb2NrKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAgCj4gICBzdGF0aWMgaW50IGludGVyc2Vj dF9yYXRlcyhjb25zdCBpbnQgKnNvdXJjZV9yYXRlcywgaW50IHNvdXJjZV9sZW4sCj4gICAJCQkg ICBjb25zdCBpbnQgKnNpbmtfcmF0ZXMsIGludCBzaW5rX2xlbiwKPiAtCQkJICAgaW50ICpzdXBw b3J0ZWRfcmF0ZXMpCj4gKwkJCSAgIGludCAqY29tbW9uX3JhdGVzKQo+ICAgewo+ICAgCWludCBp ID0gMCwgaiA9IDAsIGsgPSAwOwo+ICAgCj4gQEAgLTEyMDgsNyArMTIwOCw3IEBAIHN0YXRpYyBp bnQgaW50ZXJzZWN0X3JhdGVzKGNvbnN0IGludCAqc291cmNlX3JhdGVzLCBpbnQgc291cmNlX2xl biwKPiAgIAkJaWYgKHNvdXJjZV9yYXRlc1tpXSA9PSBzaW5rX3JhdGVzW2pdKSB7Cj4gICAJCQlp ZiAoV0FSTl9PTihrID49IERQX01BWF9TVVBQT1JURURfUkFURVMpKQo+ICAgCQkJCXJldHVybiBr Owo+IC0JCQlzdXBwb3J0ZWRfcmF0ZXNba10gPSBzb3VyY2VfcmF0ZXNbaV07Cj4gKwkJCWNvbW1v bl9yYXRlc1trXSA9IHNvdXJjZV9yYXRlc1tpXTsKPiAgIAkJCSsrazsKPiAgIAkJCSsraTsKPiAg IAkJCSsrajsKPiBAQCAtMTIyMSw4ICsxMjIxLDggQEAgc3RhdGljIGludCBpbnRlcnNlY3RfcmF0 ZXMoY29uc3QgaW50ICpzb3VyY2VfcmF0ZXMsIGludCBzb3VyY2VfbGVuLAo+ICAgCXJldHVybiBr Owo+ICAgfQo+ICAgCj4gLXN0YXRpYyBpbnQgaW50ZWxfc3VwcG9ydGVkX3JhdGVzKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsCj4gLQkJCQkgaW50ICpzdXBwb3J0ZWRfcmF0ZXMpCj4gK3N0YXRp YyBpbnQgaW50ZWxfZHBfY29tbW9uX3JhdGVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4g KwkJCQkgaW50ICpjb21tb25fcmF0ZXMpCj4gICB7Cj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4gICAJY29uc3QgaW50ICpzb3VyY2VfcmF0 ZXMsICpzaW5rX3JhdGVzOwo+IEBAIC0xMjMzLDcgKzEyMzMsNyBAQCBzdGF0aWMgaW50IGludGVs X3N1cHBvcnRlZF9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAgCj4gICAJcmV0 dXJuIGludGVyc2VjdF9yYXRlcyhzb3VyY2VfcmF0ZXMsIHNvdXJjZV9sZW4sCj4gICAJCQkgICAg ICAgc2lua19yYXRlcywgc2lua19sZW4sCj4gLQkJCSAgICAgICBzdXBwb3J0ZWRfcmF0ZXMpOwo+ ICsJCQkgICAgICAgY29tbW9uX3JhdGVzKTsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIHZvaWQgc25w cmludGZfaW50X2FycmF5KGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwKPiBAQCAtMTI1Niw4ICsxMjU2 LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfcHJpbnRfcmF0ZXMoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9f ZGV2KGludGVsX2RwKTsKPiAgIAljb25zdCBpbnQgKnNvdXJjZV9yYXRlcywgKnNpbmtfcmF0ZXM7 Cj4gLQlpbnQgc291cmNlX2xlbiwgc2lua19sZW4sIHN1cHBvcnRlZF9sZW47Cj4gLQlpbnQgc3Vw cG9ydGVkX3JhdGVzW0RQX01BWF9TVVBQT1JURURfUkFURVNdOwo+ICsJaW50IHNvdXJjZV9sZW4s IHNpbmtfbGVuLCBjb21tb25fbGVuOwo+ICsJaW50IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9S VEVEX1JBVEVTXTsKPiAgIAljaGFyIHN0clsxMjhdOyAvKiBGSVhNRTogdG9vIGJpZyBmb3Igc3Rh Y2s/ICovCj4gICAKPiAgIAlpZiAoKGRybV9kZWJ1ZyAmIERSTV9VVF9LTVMpID09IDApCj4gQEAg LTEyNzEsOSArMTI3MSw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3ByaW50X3JhdGVzKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICAJc25wcmludGZfaW50X2FycmF5KHN0ciwgc2l6ZW9m KHN0ciksIHNpbmtfcmF0ZXMsIHNpbmtfbGVuKTsKPiAgIAlEUk1fREVCVUdfS01TKCJzaW5rIHJh dGVzOiAlc1xuIiwgc3RyKTsKPiAgIAo+IC0Jc3VwcG9ydGVkX2xlbiA9IGludGVsX3N1cHBvcnRl ZF9yYXRlcyhpbnRlbF9kcCwgc3VwcG9ydGVkX3JhdGVzKTsKPiAtCXNucHJpbnRmX2ludF9hcnJh eShzdHIsIHNpemVvZihzdHIpLCBzdXBwb3J0ZWRfcmF0ZXMsIHN1cHBvcnRlZF9sZW4pOwo+IC0J RFJNX0RFQlVHX0tNUygic3VwcG9ydGVkIHJhdGVzOiAlc1xuIiwgc3RyKTsKPiArCWNvbW1vbl9s ZW4gPSBpbnRlbF9kcF9jb21tb25fcmF0ZXMoaW50ZWxfZHAsIGNvbW1vbl9yYXRlcyk7Cj4gKwlz bnByaW50Zl9pbnRfYXJyYXkoc3RyLCBzaXplb2Yoc3RyKSwgY29tbW9uX3JhdGVzLCBjb21tb25f bGVuKTsKPiArCURSTV9ERUJVR19LTVMoImNvbW1vbiByYXRlczogJXNcbiIsIHN0cik7Cj4gICB9 Cj4gICAKPiAgIHN0YXRpYyBpbnQgcmF0ZV90b19pbmRleChpbnQgZmluZCwgY29uc3QgaW50ICpy YXRlcykKPiBAQCAtMTI5Myw3ICsxMjkzLDcgQEAgaW50ZWxfZHBfbWF4X2xpbmtfcmF0ZShzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAgCWludCByYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JB VEVTXSA9IHt9Owo+ICAgCWludCBsZW47Cj4gICAKPiAtCWxlbiA9IGludGVsX3N1cHBvcnRlZF9y YXRlcyhpbnRlbF9kcCwgcmF0ZXMpOwo+ICsJbGVuID0gaW50ZWxfZHBfY29tbW9uX3JhdGVzKGlu dGVsX2RwLCByYXRlcyk7Cj4gICAJaWYgKFdBUk5fT04obGVuIDw9IDApKQo+ICAgCQlyZXR1cm4g MTYyMDAwOwo+ICAgCj4gQEAgLTEzMDIsNyArMTMwMiw3IEBAIGludGVsX2RwX21heF9saW5rX3Jh dGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgIAo+ICAgaW50IGludGVsX2RwX3JhdGVf c2VsZWN0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludCByYXRlKQo+ICAgewo+IC0JcmV0 dXJuIHJhdGVfdG9faW5kZXgocmF0ZSwgaW50ZWxfZHAtPnN1cHBvcnRlZF9yYXRlcyk7Cj4gKwly ZXR1cm4gcmF0ZV90b19pbmRleChyYXRlLCBpbnRlbF9kcC0+c2lua19yYXRlcyk7Cj4gICB9Cj4g ICAKPiAgIGJvb2wKPiBAQCAtMTMyNCwxNSArMTMyNCwxNSBAQCBpbnRlbF9kcF9jb21wdXRlX2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgIAlpbnQgbWF4X2Nsb2NrOwo+ ICAgCWludCBicHAsIG1vZGVfcmF0ZTsKPiAgIAlpbnQgbGlua19hdmFpbCwgbGlua19jbG9jazsK PiAtCWludCBzdXBwb3J0ZWRfcmF0ZXNbRFBfTUFYX1NVUFBPUlRFRF9SQVRFU10gPSB7fTsKPiAt CWludCBzdXBwb3J0ZWRfbGVuOwo+ICsJaW50IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9SVEVE X1JBVEVTXSA9IHt9Owo+ICsJaW50IGNvbW1vbl9sZW47Cj4gICAKPiAtCXN1cHBvcnRlZF9sZW4g PSBpbnRlbF9zdXBwb3J0ZWRfcmF0ZXMoaW50ZWxfZHAsIHN1cHBvcnRlZF9yYXRlcyk7Cj4gKwlj b21tb25fbGVuID0gaW50ZWxfZHBfY29tbW9uX3JhdGVzKGludGVsX2RwLCBjb21tb25fcmF0ZXMp Owo+ICAgCj4gICAJLyogTm8gY29tbW9uIGxpbmsgcmF0ZXMgYmV0d2VlbiBzb3VyY2UgYW5kIHNp bmsgKi8KPiAtCVdBUk5fT04oc3VwcG9ydGVkX2xlbiA8PSAwKTsKPiArCVdBUk5fT04oY29tbW9u X2xlbiA8PSAwKTsKPiAgIAo+IC0JbWF4X2Nsb2NrID0gc3VwcG9ydGVkX2xlbiAtIDE7Cj4gKwlt YXhfY2xvY2sgPSBjb21tb25fbGVuIC0gMTsKPiAgIAo+ICAgCWlmIChIQVNfUENIX1NQTElUKGRl dikgJiYgIUhBU19EREkoZGV2KSAmJiBwb3J0ICE9IFBPUlRfQSkKPiAgIAkJcGlwZV9jb25maWct Pmhhc19wY2hfZW5jb2RlciA9IHRydWU7Cj4gQEAgLTEzNTcsNyArMTM1Nyw3IEBAIGludGVsX2Rw X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAgCj4gICAJ RFJNX0RFQlVHX0tNUygiRFAgbGluayBjb21wdXRhdGlvbiB3aXRoIG1heCBsYW5lIGNvdW50ICVp ICIKPiAgIAkJICAgICAgIm1heCBidyAlZCBwaXhlbCBjbG9jayAlaUtIelxuIiwKPiAtCQkgICAg ICBtYXhfbGFuZV9jb3VudCwgc3VwcG9ydGVkX3JhdGVzW21heF9jbG9ja10sCj4gKwkJICAgICAg bWF4X2xhbmVfY291bnQsIGNvbW1vbl9yYXRlc1ttYXhfY2xvY2tdLAo+ICAgCQkgICAgICBhZGp1 c3RlZF9tb2RlLT5jcnRjX2Nsb2NrKTsKPiAgIAo+ICAgCS8qIFdhbGsgdGhyb3VnaCBhbGwgYnBw IHZhbHVlcy4gTHVja2lseSB0aGV5J3JlIGFsbCBuaWNlbHkgc3BhY2VkIHdpdGggMgo+IEBAIC0x MzkwLDcgKzEzOTAsNyBAQCBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKPiAgIAkJCQlsYW5lX2NvdW50IDw9IG1heF9sYW5lX2NvdW50Owo+ICAg CQkJCWxhbmVfY291bnQgPDw9IDEpIHsKPiAgIAo+IC0JCQkJbGlua19jbG9jayA9IHN1cHBvcnRl ZF9yYXRlc1tjbG9ja107Cj4gKwkJCQlsaW5rX2Nsb2NrID0gY29tbW9uX3JhdGVzW2Nsb2NrXTsK PiAgIAkJCQlsaW5rX2F2YWlsID0gaW50ZWxfZHBfbWF4X2RhdGFfcmF0ZShsaW5rX2Nsb2NrLAo+ ICAgCQkJCQkJCQkgICAgbGFuZV9jb3VudCk7Cj4gICAKPiBAQCAtMTQyMSwxOCArMTQyMSwxOCBA QCBmb3VuZDoKPiAgIAo+ICAgCWludGVsX2RwLT5sYW5lX2NvdW50ID0gbGFuZV9jb3VudDsKPiAg IAo+IC0JaWYgKGludGVsX2RwLT5udW1fc3VwcG9ydGVkX3JhdGVzKSB7Cj4gKwlpZiAoaW50ZWxf ZHAtPm51bV9zaW5rX3JhdGVzKSB7Cj4gICAJCWludGVsX2RwLT5saW5rX2J3ID0gMDsKPiAgIAkJ aW50ZWxfZHAtPnJhdGVfc2VsZWN0ID0KPiAtCQkJaW50ZWxfZHBfcmF0ZV9zZWxlY3QoaW50ZWxf ZHAsIHN1cHBvcnRlZF9yYXRlc1tjbG9ja10pOwo+ICsJCQlpbnRlbF9kcF9yYXRlX3NlbGVjdChp bnRlbF9kcCwgY29tbW9uX3JhdGVzW2Nsb2NrXSk7Cj4gICAJfSBlbHNlIHsKPiAgIAkJaW50ZWxf ZHAtPmxpbmtfYncgPQo+IC0JCQlkcm1fZHBfbGlua19yYXRlX3RvX2J3X2NvZGUoc3VwcG9ydGVk X3JhdGVzW2Nsb2NrXSk7Cj4gKwkJCWRybV9kcF9saW5rX3JhdGVfdG9fYndfY29kZShjb21tb25f cmF0ZXNbY2xvY2tdKTsKPiAgIAkJaW50ZWxfZHAtPnJhdGVfc2VsZWN0ID0gMDsKPiAgIAl9Cj4g ICAKPiAgIAlwaXBlX2NvbmZpZy0+cGlwZV9icHAgPSBicHA7Cj4gLQlwaXBlX2NvbmZpZy0+cG9y dF9jbG9jayA9IHN1cHBvcnRlZF9yYXRlc1tjbG9ja107Cj4gKwlwaXBlX2NvbmZpZy0+cG9ydF9j bG9jayA9IGNvbW1vbl9yYXRlc1tjbG9ja107Cj4gICAKPiAgIAlEUk1fREVCVUdfS01TKCJEUCBs aW5rIGJ3ICUwMnggbGFuZSBjb3VudCAlZCBjbG9jayAlZCBicHAgJWRcbiIsCj4gICAJCSAgICAg IGludGVsX2RwLT5saW5rX2J3LCBpbnRlbF9kcC0+bGFuZV9jb3VudCwKPiBAQCAtMTQ1NSw3ICsx NDU1LDcgQEAgZm91bmQ6Cj4gICAJfQo+ICAgCj4gICAJaWYgKElTX1NLWUxBS0UoZGV2KSAmJiBp c19lZHAoaW50ZWxfZHApKQo+IC0JCXNrbF9lZHBfc2V0X3BsbF9jb25maWcocGlwZV9jb25maWcs IHN1cHBvcnRlZF9yYXRlc1tjbG9ja10pOwo+ICsJCXNrbF9lZHBfc2V0X3BsbF9jb25maWcocGlw ZV9jb25maWcsIGNvbW1vbl9yYXRlc1tjbG9ja10pOwo+ICAgCWVsc2UgaWYgKElTX0hBU1dFTEwo ZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkKPiAgIAkJaHN3X2RwX3NldF9kZGlfcGxsX3NlbChw aXBlX2NvbmZpZywgaW50ZWxfZHAtPmxpbmtfYncpOwo+ICAgCWVsc2UKPiBAQCAtMzU0Miw3ICsz NTQyLDcgQEAgaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQo+ICAgCWlmIChkcm1fZHBfZW5oYW5jZWRfZnJhbWVfY2FwKGludGVsX2RwLT5kcGNkKSkK PiAgIAkJbGlua19jb25maWdbMV0gfD0gRFBfTEFORV9DT1VOVF9FTkhBTkNFRF9GUkFNRV9FTjsK PiAgIAlkcm1fZHBfZHBjZF93cml0ZSgmaW50ZWxfZHAtPmF1eCwgRFBfTElOS19CV19TRVQsIGxp bmtfY29uZmlnLCAyKTsKPiAtCWlmIChpbnRlbF9kcC0+bnVtX3N1cHBvcnRlZF9yYXRlcykKPiAr CWlmIChpbnRlbF9kcC0+bnVtX3NpbmtfcmF0ZXMpCj4gICAJCWRybV9kcF9kcGNkX3dyaXRlKCZp bnRlbF9kcC0+YXV4LCBEUF9MSU5LX1JBVEVfU0VULAo+ICAgCQkJCSZpbnRlbF9kcC0+cmF0ZV9z ZWxlY3QsIDEpOwo+ICAgCj4gQEAgLTM3OTQsMjMgKzM3OTQsMjMgQEAgaW50ZWxfZHBfZ2V0X2Rw Y2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgIAkgICAgKGludGVsX2RwLT5kcGNkW0RQ X0VEUF9DT05GSUdVUkFUSU9OX0NBUF0gJglEUF9EUENEX0RJU1BMQVlfQ09OVFJPTF9DQVBBQkxF KSAmJgo+ICAgCSAgICAoaW50ZWxfZHBfZHBjZF9yZWFkX3dha2UoJmludGVsX2RwLT5hdXgsIERQ X0VEUF9EUENEX1JFViwgJnJldiwgMSkgPT0gMSkgJiYKPiAgIAkgICAgKHJldiA+PSAweDAzKSkg eyAvKiBlRHAgdjEuNCBvciBoaWdoZXIgKi8KPiAtCQlfX2xlMTYgc3VwcG9ydGVkX3JhdGVzW0RQ X01BWF9TVVBQT1JURURfUkFURVNdOwo+ICsJCV9fbGUxNiBzaW5rX3JhdGVzW0RQX01BWF9TVVBQ T1JURURfUkFURVNdOwo+ICAgCQlpbnQgaTsKPiAgIAo+ICAgCQlpbnRlbF9kcF9kcGNkX3JlYWRf d2FrZSgmaW50ZWxfZHAtPmF1eCwKPiAgIAkJCQlEUF9TVVBQT1JURURfTElOS19SQVRFUywKPiAt CQkJCXN1cHBvcnRlZF9yYXRlcywKPiAtCQkJCXNpemVvZihzdXBwb3J0ZWRfcmF0ZXMpKTsKPiAr CQkJCXNpbmtfcmF0ZXMsCj4gKwkJCQlzaXplb2Yoc2lua19yYXRlcykpOwo+ICAgCj4gLQkJZm9y IChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3VwcG9ydGVkX3JhdGVzKTsgaSsrKSB7Cj4gLQkJCWlu dCB2YWwgPSBsZTE2X3RvX2NwdShzdXBwb3J0ZWRfcmF0ZXNbaV0pOwo+ICsJCWZvciAoaSA9IDA7 IGkgPCBBUlJBWV9TSVpFKHNpbmtfcmF0ZXMpOyBpKyspIHsKPiArCQkJaW50IHZhbCA9IGxlMTZf dG9fY3B1KHNpbmtfcmF0ZXNbaV0pOwo+ICAgCj4gICAJCQlpZiAodmFsID09IDApCj4gICAJCQkJ YnJlYWs7Cj4gICAKPiAtCQkJaW50ZWxfZHAtPnN1cHBvcnRlZF9yYXRlc1tpXSA9IHZhbCAqIDIw MDsKPiArCQkJaW50ZWxfZHAtPnNpbmtfcmF0ZXNbaV0gPSB2YWwgKiAyMDA7Cj4gICAJCX0KPiAt CQlpbnRlbF9kcC0+bnVtX3N1cHBvcnRlZF9yYXRlcyA9IGk7Cj4gKwkJaW50ZWxfZHAtPm51bV9z aW5rX3JhdGVzID0gaTsKPiAgIAl9Cj4gICAKPiAgIAlpbnRlbF9kcF9wcmludF9yYXRlcyhpbnRl bF9kcCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKPiBpbmRleCA3ZTZmMTI1OS4u OTcxMTYzZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3Qu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gQEAgLTU1LDcg KzU1LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZHBfbXN0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAgCj4gICAJcmF0ZSA9IGludGVsX2RwX21heF9saW5r X3JhdGUoaW50ZWxfZHApOwo+ICAgCj4gLQlpZiAoaW50ZWxfZHAtPm51bV9zdXBwb3J0ZWRfcmF0 ZXMpIHsKPiArCWlmIChpbnRlbF9kcC0+bnVtX3NpbmtfcmF0ZXMpIHsKPiAgIAkJaW50ZWxfZHAt PmxpbmtfYncgPSAwOwo+ICAgCQlpbnRlbF9kcC0+cmF0ZV9zZWxlY3QgPSBpbnRlbF9kcF9yYXRl X3NlbGVjdChpbnRlbF9kcCwgcmF0ZSk7Cj4gICAJfSBlbHNlIHsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+IGluZGV4IDQxNzQxOTguLmExYmFhYTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+IEBAIC02MjcsOCArNjI3LDkgQEAgc3RydWN0IGludGVsX2RwIHsKPiAgIAl1aW50 OF90IGRwY2RbRFBfUkVDRUlWRVJfQ0FQX1NJWkVdOwo+ICAgCXVpbnQ4X3QgcHNyX2RwY2RbRURQ X1BTUl9SRUNFSVZFUl9DQVBfU0laRV07Cj4gICAJdWludDhfdCBkb3duc3RyZWFtX3BvcnRzW0RQ X01BWF9ET1dOU1RSRUFNX1BPUlRTXTsKPiAtCXVpbnQ4X3QgbnVtX3N1cHBvcnRlZF9yYXRlczsK PiAtCWludCBzdXBwb3J0ZWRfcmF0ZXNbRFBfTUFYX1NVUFBPUlRFRF9SQVRFU107Cj4gKwkvKiBz aW5rIHJhdGVzIGFzIHJlcG9ydGVkIGJ5IERQX1NVUFBPUlRFRF9MSU5LX1JBVEVTICovCj4gKwl1 aW50OF90IG51bV9zaW5rX3JhdGVzOwo+ICsJaW50IHNpbmtfcmF0ZXNbRFBfTUFYX1NVUFBPUlRF RF9SQVRFU107Cj4gICAJc3RydWN0IGRybV9kcF9hdXggYXV4Owo+ICAgCXVpbnQ4X3QgdHJhaW5f c2V0WzRdOwo+ICAgCWludCBwYW5lbF9wb3dlcl91cF9kZWxheTsKVGhpcyBzZXJpZXMgbG9va3Mg Z29vZCB0byBtZS4gU28gZm9yIGFsbCB0aGUgcGF0Y2hlcyAxIC0gMTQsCgpSZXZpZXdlZC1ieTog U29uaWthIEppbmRhbCA8c29uaWthLmppbmRhbEBpbnRlbC5jb20+CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=