From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Previte Subject: Re: [PATCH 05/12] drm: Add supporting structure for Displayport Link CTS test 4.2.2.6 Date: Wed, 15 Apr 2015 14:59:32 -0700 Message-ID: <552EDF44.4010905@gmail.com> References: <1429112327-7695-6-git-send-email-tprevite@gmail.com> <1429118137-15820-1-git-send-email-tprevite@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: Intel Graphics Development , DRI Development List-Id: intel-gfx@lists.freedesktop.org CgpPbiA0LzE1LzIwMTUgMToyNSBQTSwgUGF1bG8gWmFub25pIHdyb3RlOgo+IDIwMTUtMDQtMTUg MTQ6MTUgR01ULTAzOjAwIFRvZGQgUHJldml0ZSA8dHByZXZpdGVAZ21haWwuY29tPjoKPj4gRGlz cGxheXBvcnQgY29tcGxpYW5jZSB0ZXN0IDQuMi4yLjYgcmVxdWlyZXMgdGhhdCBhIHNvdXJjZSBk ZXZpY2UgYmUgY2FwYWJsZSBvZgo+PiBkZXRlY3RpbmcgYSBjb3JydXB0IEVESUQuIFRoZSB0ZXN0 IHNwZWNpZmljYXRpb24gc3RhdGVzIHRoYXQgdGhlIHNpbmsgZGV2aWNlCj4+IHNldHMgdXAgdGhl IEVESUQgd2l0aCBhbiBpbnZhbGlkIGNoZWNrc3VtLiBUbyBkbyB0aGlzLCB0aGUgc2luayBzZXRz IHVwIGFuCj4+IGludmFsaWQgRURJRCBoZWFkZXIsIGV4cGVjdGluZyB0aGUgc291cmNlIGRldmlj ZSB0byBnZW5lcmF0ZSB0aGUgY2hlY2tzdW0gYW5kCj4+IGNvbXBhcmUgaXQgdG8gdGhlIHZhbHVl IHN0b3JlZCBpbiB0aGUgbGFzdCBieXRlIG9mIHRoZSBibG9jayBkYXRhLgo+Pgo+PiBVbmZvcnR1 bmF0ZWx5LCB0aGUgRFJNIEVESUQgcmVhZGluZyBhbmQgcGFyc2luZyBmdW5jdGlvbnMgYXJlIGFj dHVhbGx5IHRvbyBnb29kCj4+IGluIHRoaXMgY2FzZTsgdGhlIGhlYWRlciBpcyBmaXhlZCBiZWZv cmUgdGhlIGNoZWNrc3VtIGlzIGNvbXB1dGVkIGFuZCB0aHVzIHRoZQo+PiBjb2RlIG5ldmVyIHNl ZXMgdGhlIGludmFsaWQgY2hlY2tzdW0uIFRoaXMgcmVzdWx0cyBpbiBhIGZhaWx1cmUgdG8gcGFz cyB0aGUKPj4gY29tcGxpYW5jZSB0ZXN0Lgo+Pgo+PiBUbyBjb3JyZWN0IHRoaXMgaXNzdWUsIGEg Y2hlY2tzdW0gaXMgZ2VuZXJhdGVkIHdoZW4gdGhlIEVESUQgaGVhZGVyIGlzIGRldGVjdGVkCj4+ IGFzIGNvcnJ1cHRlZC4gSWYgdGhlIGNoZWNrc3VtIGlzIGludmFsaWQsIGl0IHNldHMgdGhlIGhl YWRlcl9jb3JydXB0IGZsYWcgYW5kCj4+IGxvZ3MgdGhlIGVycm9ycy4gSW4gdGhlIGNhc2Ugb2Yg YSBtb3JlIHNlcmlvdXNseSBkYW1hZ2VkIGhlYWRlciAoZml4dXAgc2NvcmUKPj4gbGVzcyB0aGFu IHRoZSB0aHJlc2hvbGQpIHRoZSBjb2RlIGRvZXMgbm90IGdlbmVyYXRlIHRoZSBjaGVja3N1bSBi dXQgZG9lcyBzZXQKPj4gdGhlIGhlYWRlcl9jb3JydXB0IGZsYWcuCj4+Cj4+IFYyOgo+PiAtIFJl bW92ZWQgdGhlIHN0YXRpYyBib29sIGdsb2JhbAo+PiAtIEFkZGVkIGEgYm9vbCB0byB0aGUgZHJt X2Nvbm5lY3RvciBzdHJ1Y3QgdG8gcmVhcGxjZSB0aGUgc3RhdGljIG9uZSBmb3IKPj4gICAgaG9s ZGluZyB0aGUgc3RhdHVzIG9mIHJhdyBlZGlkIGhlYWRlciBjb3JydXB0aW9uIGRldGVjdGlvbgo+ PiAtIE1vZGlmaWVkIHRoZSBmdW5jdGlvbiBzaWduYXR1cmUgb2YgdGhlIGlzX3ZhbGlkIGZ1bmN0 aW9uIHRvIHRha2UgYW4KPj4gICAgYWRkaXRpb25hbCBwYXJhbWV0ZXIgdG8gc3RvcmUgdGhlIGNv cnJ1cHRpb24gZGV0ZWN0ZWQgdmFsdWUKPj4gLSBGaXhlZCB0aGUgb3RoZXIgY2FsbGVycyBvZiB0 aGUgYWJvdmUgaXNfdmFsaWQgZnVuY3Rpb24KPj4gVjM6Cj4+IC0gVXBkYXRlZCB0aGUgY29tbWl0 IG1lc3NhZ2UgdG8gYmUgbW9yZSBjbGVhciBhYm91dCB3aGF0IGFuZCB3aHkgdGhpcwo+PiAgICBw YXRjaCBkb2VzIHdoYXQgaXQgZG9lcy4KPj4gLSBBZGRlZCBjb21tZW50IGluIGNvZGUgdG8gY2xh cmlmeSB0aGUgb3BlcmF0aW9ucyB0aGVyZQo+PiAtIFJlbW92ZWQgY29tcGxpYW5jZSB2YXJpYWJs ZSBhbmQgY2hlY2tfbGlua19zdGF0dXMgdXBkYXRlOyB0aG9zZQo+PiAgICBoYXZlIGJlZW4gbW92 ZWQgdG8gYSBsYXRlciBwYXRjaAo+PiAtIFJlbW92ZWQgdmFyaWFibGUgYXNzaWdubWVudCBmcm9t IHRoZSBib3R0b20gb2YgdGhlIHRlc3QgaGFuZGxlcgo+PiBWNDoKPj4gLSBSZW1vdmVkIGk5MTUg dGFnIGZyb20gc3ViamVjdCBsaW5lIGFzIHRoZSBwYXRjaCBpcyBub3QgaTkxNS1zcGVjaWZpYwo+ PiBWNToKPj4gLSBNb3ZlZCBjb2RlIGNhdXNpbmcgYSBjb21waWxhdGlvbiBlcnJvciB0byB0aGlz IHBhdGNoIHdoZXJlIHRoZSB2YXJpYWJsZQo+PiAgICBpcyBhY3R1YWxseSBkZWNsYXJlZAo+PiAt IE1haW50YWluZWQgYmxhbmsgbGluZXMgLyBzcGFjaW5nIHNvIGFzIHRvIG5vdCBjb250YW1pbmF0 ZSB0aGUgcGF0Y2gKPj4gVjY6Cj4+IC0gUmVtb3ZlZCBleHRyYSBkZWJ1ZyBtZXNzYWdlcwo+PiAt IEFkZGVkIGRvY3VtZW50YXRpb24gdG8gZm9yIHRoZSBhZGRlZCBwYXJhbWV0ZXIgb24gZHJtX2Vk aWRfYmxvY2tfdmFsaWQKPj4gLSBGaXhlZCBtb3JlIHdoaXRlc3BhY2UgaXNzdWVzIGluIGNoZWNr X2xpbmtfc3RhdHVzCj4+IC0gQWRkZWQgYSBjbGVhciBvZiB0aGUgaGVhZGVyX2NvcnJ1cHQgZmxh ZyB0byB0aGUgZW5kIG9mIHRoZSB0ZXN0IGhhbmRsZXIKPj4gICAgaW4gaW50ZWxfZHAuYwo+PiAt IENoYW5nZWQgdGhlIHVzYWdlIG9mIHRoZSBuZXcgZnVuY3Rpb24gcHJvdG90eXBlIGluIHNldmVy YWwgcGxhY2VzIHRvIHVzZQo+PiAgICBOVUxMIHdoZXJlIGl0IGlzIG5vdCBuZWVkZWQgYnkgY29t cGxpYW5jZSB0ZXN0aW5nCj4+IFY3Ogo+PiAtIFVwZGF0ZWQgdG8gYWNjb3VudCBmb3IgbG9uZ19w dWxzZSBmbGFnIHByb3BhZ2F0aW9uCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFRvZGQgUHJldml0ZSA8 dHByZXZpdGVAZ21haWwuY29tPgo+PiBDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyAgICAgIHwgMzAgKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkX2xv YWQuYyB8ICA3ICsrKysrLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwg IDYgKysrKystCj4+ICAgaW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICB8ICA4ICsrKysr KystCj4+ICAgNCBmaWxlcyBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygt KQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2VkaWQuYwo+PiBpbmRleCA1M2JjN2E2Li4xZWQxOGY1IDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2VkaWQuYwo+PiBAQCAtMTA0MSwxMyArMTA0MSwxNSBAQCBzdGF0aWMgYm9vbCBkcm1fZWRp ZF9pc196ZXJvKGNvbnN0IHU4ICppbl9lZGlkLCBpbnQgbGVuZ3RoKQo+PiAgICAqIEByYXdfZWRp ZDogcG9pbnRlciB0byByYXcgRURJRCBibG9jawo+PiAgICAqIEBibG9jazogdHlwZSBvZiBibG9j ayB0byB2YWxpZGF0ZSAoMCBmb3IgYmFzZSwgZXh0ZW5zaW9uIG90aGVyd2lzZSkKPj4gICAgKiBA cHJpbnRfYmFkX2VkaWQ6IGlmIHRydWUsIGR1bXAgYmFkIEVESUQgYmxvY2tzIHRvIHRoZSBjb25z b2xlCj4+ICsgKiBAaGVhZGVyX2NvcnJ1cHQ6IGlmIHRydWUsIHRoZSBoZWFkZXIgb3IgY2hlY2tz dW0gaXMgaW52YWxpZAo+PiAgICAqCj4+ICAgICogVmFsaWRhdGUgYSBiYXNlIG9yIGV4dGVuc2lv biBFRElEIGJsb2NrIGFuZCBvcHRpb25hbGx5IGR1bXAgYmFkIGJsb2NrcyB0bwo+PiAgICAqIHRo ZSBjb25zb2xlLgo+PiAgICAqCj4+ICAgICogUmV0dXJuOiBUcnVlIGlmIHRoZSBibG9jayBpcyB2 YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlLgo+PiAgICAqLwo+PiAtYm9vbCBkcm1fZWRpZF9ibG9ja192 YWxpZCh1OCAqcmF3X2VkaWQsIGludCBibG9jaywgYm9vbCBwcmludF9iYWRfZWRpZCkKPj4gK2Jv b2wgZHJtX2VkaWRfYmxvY2tfdmFsaWQodTggKnJhd19lZGlkLCBpbnQgYmxvY2ssIGJvb2wgcHJp bnRfYmFkX2VkaWQsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCAqaGVhZGVyX2Nv cnJ1cHQpCj4+ICAgewo+PiAgICAgICAgICB1OCBjc3VtOwo+PiAgICAgICAgICBzdHJ1Y3QgZWRp ZCAqZWRpZCA9IChzdHJ1Y3QgZWRpZCAqKXJhd19lZGlkOwo+PiBAQCAtMTA2Miw5ICsxMDY0LDI1 IEBAIGJvb2wgZHJtX2VkaWRfYmxvY2tfdmFsaWQodTggKnJhd19lZGlkLCBpbnQgYmxvY2ssIGJv b2wgcHJpbnRfYmFkX2VkaWQpCj4+ICAgICAgICAgICAgICAgICAgaW50IHNjb3JlID0gZHJtX2Vk aWRfaGVhZGVyX2lzX3ZhbGlkKHJhd19lZGlkKTsKPj4gICAgICAgICAgICAgICAgICBpZiAoc2Nv cmUgPT0gOCkgOwo+PiAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHNjb3JlID49IGVkaWRfZml4 dXApIHsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgLyogRGlzcGxheXBvcnQgTGluayBDVFMg Q29yZSAxLjIgcmV2MS4xIHRlc3QgNC4yLjIuNgo+PiArICAgICAgICAgICAgICAgICAgICAgICAg KiBJbiBvcmRlciB0byBwcm9wZXJseSBnZW5lcmF0ZSB0aGUgaW52YWxpZCBjaGVja3N1bQo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgKiByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LCBpdCBtdXN0 IGJlIGdlbmVyYXRlZCB1c2luZwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgKiB0aGUgcmF3 IEVESUQgZGF0YS4gT3RoZXJ3aXNlLCB0aGUgZml4LXVwIGNvZGUgaGVyZQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgKiB3aWxsIGNvcnJlY3QgdGhlIHByb2JsZW0sIHRoZSBjaGVja3N1bSBp cyBjb3JyZWN0Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAqIGFuZCB0aGUgdGVzdCBmYWls cwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgKi8KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgY3N1bSA9IGRybV9lZGlkX2Jsb2NrX2NoZWNrc3VtKHJhd19lZGlkKTsKPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgaWYgKGNzdW0pIHsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpZiAoaGVhZGVyX2NvcnJ1cHQpCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqaGVhZGVyX2NvcnJ1cHQgPSAxOwo+PiArICAgICAgICAgICAgICAgICAgICAg ICB9Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUcoIkZpeGluZyBFRElEIGhl YWRlciwgeW91ciBoYXJkd2FyZSBtYXkgYmUgZmFpbGluZ1xuIik7Cj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICBtZW1jcHkocmF3X2VkaWQsIGVkaWRfaGVhZGVyLCBzaXplb2YoZWRpZF9oZWFk ZXIpKTsKPj4gICAgICAgICAgICAgICAgICB9IGVsc2Ugewo+PiArICAgICAgICAgICAgICAgICAg ICAgICBpZiAoaGVhZGVyX2NvcnJ1cHQpIHsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBEUk1fREVCVUdfRFJJVkVSKCJJbnZhbGlkIEVESUQgaGVhZGVyXG4iKTsKPiBTdGlsbCB1 c2luZyBEUk1fREVCVUdfRFJJVkVSLiBTZWUgaW5jbHVkZS9kcm0vZHJtUC5oIGZvciBhIGRlc2Ny aXB0aW9uCj4gb2YgZWFjaCBtYWNyby4gQlRXLCBzaW5jZSB3ZSdyZSBqdXN0IGdvaW5nIHRvIGR1 bXAgdGhlIHdob2xlIEVESUQKPiBhbnl3YXksIHRoZSBtZXNzYWdlIGlzIGFsc28gbm90IHZlcnkg aW5mb3JtYXRpdmUuCkZhaXIgZW5vdWdoLiBSZW1vdmVkIGZvciB0aGUgbmV4dCBwYXRjaC4KPgo+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpoZWFkZXJfY29ycnVwdCA9IDE7Cj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIGdv dG8gYmFkOwo+PiAgICAgICAgICAgICAgICAgIH0KPj4gICAgICAgICAgfQo+PiBAQCAtMTEyOSw3 ICsxMTQ3LDcgQEAgYm9vbCBkcm1fZWRpZF9pc192YWxpZChzdHJ1Y3QgZWRpZCAqZWRpZCkKPj4g ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4+Cj4+ICAgICAgICAgIGZvciAoaSA9IDA7 IGkgPD0gZWRpZC0+ZXh0ZW5zaW9uczsgaSsrKQo+PiAtICAgICAgICAgICAgICAgaWYgKCFkcm1f ZWRpZF9ibG9ja192YWxpZChyYXcgKyBpICogRURJRF9MRU5HVEgsIGksIHRydWUpKQo+PiArICAg ICAgICAgICAgICAgaWYgKCFkcm1fZWRpZF9ibG9ja192YWxpZChyYXcgKyBpICogRURJRF9MRU5H VEgsIGksIHRydWUsIE5VTEwpKQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh bHNlOwo+Pgo+PiAgICAgICAgICByZXR1cm4gdHJ1ZTsKPj4gQEAgLTEyMzIsNyArMTI1MCw4IEBA IHN0cnVjdCBlZGlkICpkcm1fZG9fZ2V0X2VkaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPj4gICAgICAgICAgZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgewo+PiAgICAgICAgICAg ICAgICAgIGlmIChnZXRfZWRpZF9ibG9jayhkYXRhLCBibG9jaywgMCwgRURJRF9MRU5HVEgpKQo+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7Cj4+IC0gICAgICAgICAgICAgICBp ZiAoZHJtX2VkaWRfYmxvY2tfdmFsaWQoYmxvY2ssIDAsIHByaW50X2JhZF9lZGlkKSkKPj4gKyAg ICAgICAgICAgICAgIGlmIChkcm1fZWRpZF9ibG9ja192YWxpZChibG9jaywgMCwgcHJpbnRfYmFk X2VkaWQsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNvbm5l Y3Rvci0+ZWRpZF9oZWFkZXJfY29ycnVwdCkpCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBi cmVhazsKPj4gICAgICAgICAgICAgICAgICBpZiAoaSA9PSAwICYmIGRybV9lZGlkX2lzX3plcm8o YmxvY2ssIEVESURfTEVOR1RIKSkgewo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVj dG9yLT5udWxsX2VkaWRfY291bnRlcisrOwo+PiBAQCAtMTI1Nyw3ICsxMjc2LDEwIEBAIHN0cnVj dCBlZGlkICpkcm1fZG9fZ2V0X2VkaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9jayArICh2YWxpZF9leHRl bnNpb25zICsgMSkgKiBFRElEX0xFTkdUSCwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBqLCBFRElEX0xFTkdUSCkpCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdvdG8gb3V0Owo+PiAtICAgICAgICAgICAgICAgICAgICAgICBpZiAoZHJtX2VkaWRfYmxv Y2tfdmFsaWQoYmxvY2sgKyAodmFsaWRfZXh0ZW5zaW9ucyArIDEpICogRURJRF9MRU5HVEgsIGos IHByaW50X2JhZF9lZGlkKSkgewo+PiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoZHJtX2Vk aWRfYmxvY2tfdmFsaWQoYmxvY2sgKyAodmFsaWRfZXh0ZW5zaW9ucyArIDEpCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEVESURfTEVOR1RILCBq LAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJp bnRfYmFkX2VkaWQsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMKSkgewo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxp ZF9leHRlbnNpb25zKys7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr Owo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9lZGlkX2xvYWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZF9sb2FkLmMK Pj4gaW5kZXggNGMwYWE5Ny4uNDhiNDhlOCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9lZGlkX2xvYWQuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWRfbG9hZC5j Cj4+IEBAIC0yMTYsNyArMjE2LDggQEAgc3RhdGljIHZvaWQgKmVkaWRfbG9hZChzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLCBjb25zdCBjaGFyICpuYW1lLAo+PiAgICAgICAgICAgICAg ICAgIGdvdG8gb3V0Owo+PiAgICAgICAgICB9Cj4+Cj4+IC0gICAgICAgaWYgKCFkcm1fZWRpZF9i bG9ja192YWxpZChlZGlkLCAwLCBwcmludF9iYWRfZWRpZCkpIHsKPj4gKyAgICAgICBpZiAoIWRy bV9lZGlkX2Jsb2NrX3ZhbGlkKGVkaWQsIDAsIHByaW50X2JhZF9lZGlkLAo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmNvbm5lY3Rvci0+ZWRpZF9oZWFkZXJfY29ycnVwdCkp IHsKPj4gICAgICAgICAgICAgICAgICBjb25uZWN0b3ItPmJhZF9lZGlkX2NvdW50ZXIrKzsKPj4g ICAgICAgICAgICAgICAgICBEUk1fRVJST1IoIkJhc2UgYmxvY2sgb2YgRURJRCBmaXJtd2FyZSBc IiVzXCIgaXMgaW52YWxpZCAiLAo+PiAgICAgICAgICAgICAgICAgICAgICBuYW1lKTsKPj4gQEAg LTIyOSw3ICsyMzAsOSBAQCBzdGF0aWMgdm9pZCAqZWRpZF9sb2FkKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsIGNvbnN0IGNoYXIgKm5hbWUsCj4+ICAgICAgICAgICAgICAgICAgaWYg KGkgIT0gdmFsaWRfZXh0ZW5zaW9ucyArIDEpCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBt ZW1jcHkoZWRpZCArICh2YWxpZF9leHRlbnNpb25zICsgMSkgKiBFRElEX0xFTkdUSCwKPj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlZGlkICsgaSAqIEVESURfTEVOR1RILCBFRElEX0xF TkdUSCk7Cj4+IC0gICAgICAgICAgICAgICBpZiAoZHJtX2VkaWRfYmxvY2tfdmFsaWQoZWRpZCAr IGkgKiBFRElEX0xFTkdUSCwgaSwgcHJpbnRfYmFkX2VkaWQpKQo+PiArICAgICAgICAgICAgICAg aWYgKGRybV9lZGlkX2Jsb2NrX3ZhbGlkKGVkaWQgKyBpICogRURJRF9MRU5HVEgsIGksCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRfYmFkX2VkaWQsCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCkpCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICB2YWxpZF9leHRlbnNpb25zKys7Cj4+ICAgICAgICAgIH0KPj4K Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IGluZGV4IGIxMjBkNTkuLmVlNDFlMTAgMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiBAQCAtNDAwNSw2ICs0MDA1LDcgQEAgc3RhdGlj IHVpbnQ4X3QgaW50ZWxfZHBfYXV0b3Rlc3RfcGh5X3BhdHRlcm4oc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKPj4KPj4gICBzdGF0aWMgdm9pZCBpbnRlbF9kcF9oYW5kbGVfdGVzdF9yZXF1ZXN0 KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICAgewo+PiArICAgICAgIHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3Rvci0+YmFz ZTsKPj4gICAgICAgICAgdWludDhfdCByZXNwb25zZSA9IERQX1RFU1RfTkFLOwo+PiAgICAgICAg ICB1aW50OF90IHJ4ZGF0YSA9IDA7Cj4+ICAgICAgICAgIGludCBzdGF0dXMgPSAwOwo+PiBAQCAt NDA1MSw2ICs0MDUyLDkgQEAgdXBkYXRlX3N0YXR1czoKPj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJnJlc3BvbnNlLCAxKTsKPj4gICAgICAgICAgaWYgKHN0YXR1cyA8PSAw KQo+PiAgICAgICAgICAgICAgICAgIERSTV9ERUJVR19LTVMoIkNvdWxkIG5vdCB3cml0ZSB0ZXN0 IHJlc3BvbnNlIHRvIHNpbmtcbiIpOwo+PiArCj4+ICsgICAgICAgLyogQ2xlYXIgRURJRCBjb3Jy dXB0aW9uIGZsYWcgbm93ICovCj4+ICsgICAgICAgY29ubmVjdG9yLT5lZGlkX2hlYWRlcl9jb3Jy dXB0ID0gMDsKPiBJIGRvbid0IHRoaW5rIGl0IG1ha2VzIHNlbnNlIHRvIGNsZWFyIHRoaXMgaW5z aWRlIGk5MTUua28uIFdlJ3JlCj4gYWRkaW5nIHRoZSBmZWF0dXJlIHRvIGRybS5rbywgc28gSXQg bWFrZXMgc2Vuc2UgdG8gY2xlYXIgaXQgdGhlcmUuCkdvb2QgcG9pbnQsIHRoYXQgbWFrZXMgYSBs b3Qgb2Ygc2Vuc2UuIENsZWFyaW5nIHRoZSBmbGFnIGluIHRoZSBEUk0gCm1vZHVsZSBpcyB0aGUg YmVzdCBwbGFjZSBmb3IgaXQuIFRoYW5rcyBQYXVsby4KPiBJc24ndCBpdCBwb3NzaWJsZSB0byBq dXN0IGNsZWFyIGl0IGluc2lkZSBkcm1fZWRpZF9ibG9ja192YWxpZCgpPwo+IFNvbWV0aGluZyBs aWtlOgo+Cj4gaWYgKHNjb3JlID09IDgpIHsKPiAgICAgIGlmIChoZWFkZXJfY29ycnVwdCkKPiAg ICAgICAgICAqaGVhZGVyX2NvcnJ1cHQgPSAwOwo+IH0gZWxzZSBpZiAoc2NvcmUgPj0gZWRpZF9m aXh1cCkgewo+ICAgICAgICAgIC4uLiBldGMgLi4uCj4gICAgICB9Cj4gfQpUaGF0IHNlZW1zIHRo ZSBtb3N0IGxvZ2ljYWwgcGxhY2UgZm9yIGl0LiBEb2Vzbid0IHNlZW0gdG8gY2F1c2UgYW55IApp c3N1ZXMgd2l0aCB0aGUgdGVzdHMgc28gdGhpcyB3b3JrcyBmb3IgbWUuIFVwZGF0ZWQgcGF0Y2gg d2lsbCBiZSBvdXQgCnNob3J0bHkuCgo+IElmIG5vdCwgd2h5PwpBcyBJIHNhaWQgYWJvdmUsIHRo ZSBvbmx5IGlzc3VlIHdvdWxkIGJlIGlmIGl0IGdldHMgY2xlYXJlZCBiZWZvcmUgdGhlIAp0ZXN0 IGhhbmRsZXJzIHNlZSBpdCwgc2luY2UgdGhleSdyZSB0aGUgb25lcyB0aGF0IGNhcmUgYWJvdXQg aXQuIEJ1dCBpdCAKZG9lc24ndCBzbyBpdCdzIGEgbm9uLWlzc3VlLiA6KQoKPgo+PiAgIH0KPj4K Pj4gICBzdGF0aWMgaW50Cj4+IEBAIC00MTM2LDcgKzQxNDAsNyBAQCBpbnRlbF9kcF9jaGVja19s aW5rX3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBib29sIGxvbmdfaHBkKQo+PiAg ICAgICAgICAgKi8KPj4gICAgICAgICAgaWYgKGxvbmdfaHBkKSB7Cj4+ICAgICAgICAgICAgICAg ICAgZWRpZF9yZWFkID0gZHJtX2dldF9lZGlkKGNvbm5lY3RvciwgYWRhcHRlcik7Cj4+IC0gICAg ICAgICAgICAgICBpZiAoIWVkaWRfcmVhZCkgewo+PiArICAgICAgICAgICAgICAgaWYgKCFlZGlk X3JlYWQgfHwgY29ubmVjdG9yLT5lZGlkX2hlYWRlcl9jb3JydXB0ID09IDEpIHsKPj4gICAgICAg ICAgICAgICAgICAgICAgICAgIERSTV9ERUJVR19EUklWRVIoIkludmFsaWQgRURJRCBkZXRlY3Rl ZFxuIik7Cj4+ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKPj4gICAgICAgICAgICAgICAgICAg ICAgICAgIGtmcmVlKGVkaWRfcmVhZCk7Cj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f Y3J0Yy5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+PiBpbmRleCBkNGU0YjgyLi5mN2E0YTky IDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4+ICsrKyBiL2luY2x1ZGUv ZHJtL2RybV9jcnRjLmgKPj4gQEAgLTcxOSw2ICs3MTksMTEgQEAgc3RydWN0IGRybV9jb25uZWN0 b3Igewo+PiAgICAgICAgICBpbnQgbnVsbF9lZGlkX2NvdW50ZXI7IC8qIG5lZWRlZCB0byB3b3Jr YXJvdW5kIHNvbWUgSFcgYnVncyB3aGVyZSB3ZSBnZXQgYWxsIDBzICovCj4+ICAgICAgICAgIHVu c2lnbmVkIGJhZF9lZGlkX2NvdW50ZXI7Cj4+Cj4+ICsgICAgICAgLyogRmxhZyBmb3IgcmF3IEVE SUQgaGVhZGVyIGNvcnJ1cHRpb24gLSB1c2VkIGluIERpc3BsYXlwb3J0Cj4+ICsgICAgICAgICog Y29tcGxpYW5jZSB0ZXN0aW5nIC0gKiBEaXNwbGF5cG9ydCBMaW5rIENUUyBDb3JlIDEuMiByZXYx LjEgNC4yLjIuNgo+PiArICAgICAgICAqLwo+PiArICAgICAgIGJvb2wgZWRpZF9oZWFkZXJfY29y cnVwdDsKPj4gKwo+PiAgICAgICAgICBzdHJ1Y3QgZGVudHJ5ICpkZWJ1Z2ZzX2VudHJ5Owo+Pgo+ PiAgICAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGU7Cj4+IEBAIC0xNDQz LDcgKzE0NDgsOCBAQCBleHRlcm4gdm9pZCBkcm1fc2V0X3ByZWZlcnJlZF9tb2RlKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCBocHJlZiwgaW50IHZwcmVmKTsKPj4KPj4gICBleHRlcm4gaW50IGRybV9lZGlk X2hlYWRlcl9pc192YWxpZChjb25zdCB1OCAqcmF3X2VkaWQpOwo+PiAtZXh0ZXJuIGJvb2wgZHJt X2VkaWRfYmxvY2tfdmFsaWQodTggKnJhd19lZGlkLCBpbnQgYmxvY2ssIGJvb2wgcHJpbnRfYmFk X2VkaWQpOwo+PiArZXh0ZXJuIGJvb2wgZHJtX2VkaWRfYmxvY2tfdmFsaWQodTggKnJhd19lZGlk LCBpbnQgYmxvY2ssIGJvb2wgcHJpbnRfYmFkX2VkaWQsCj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2wgKmhlYWRlcl9jb3JydXB0KTsKPj4gICBleHRlcm4gYm9vbCBkcm1f ZWRpZF9pc192YWxpZChzdHJ1Y3QgZWRpZCAqZWRpZCk7Cj4+Cj4+ICAgZXh0ZXJuIHN0cnVjdCBk cm1fdGlsZV9ncm91cCAqZHJtX21vZGVfY3JlYXRlX3RpbGVfZ3JvdXAoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPj4gLS0KPj4gMS45LjEKPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiBJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPgo+CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=