From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Previte Subject: Re: [PATCH 06/13] drm: Add supporting structure for Displayport Link CTS test 4.2.2.6 Date: Tue, 14 Apr 2015 23:56:25 -0700 Message-ID: <552E0B99.8010604@gmail.com> References: <1428682372-21586-7-git-send-email-tprevite@gmail.com> <1428936839-13507-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 CgpPbiA0LzEzLzE1IDM6MTggUE0sIFBhdWxvIFphbm9uaSB3cm90ZToKPiAyMDE1LTA0LTEzIDEx OjUzIEdNVC0wMzowMCBUb2RkIFByZXZpdGUgPHRwcmV2aXRlQGdtYWlsLmNvbT46Cj4+IERpc3Bs YXlwb3J0IGNvbXBsaWFuY2UgdGVzdCA0LjIuMi42IHJlcXVpcmVzIHRoYXQgYSBzb3VyY2UgZGV2 aWNlIGJlIGNhcGFibGUgb2YKPj4gZGV0ZWN0aW5nIGEgY29ycnVwdCBFRElELiBUaGUgdGVzdCBz cGVjaWZpY2F0aW9uIHN0YXRlcyB0aGF0IHRoZSBzaW5rIGRldmljZQo+PiBzZXRzIHVwIHRoZSBF RElEIHdpdGggYW4gaW52YWxpZCBjaGVja3N1bS4gVG8gZG8gdGhpcywgdGhlIHNpbmsgc2V0cyB1 cCBhbgo+PiBpbnZhbGlkIEVESUQgaGVhZGVyLCBleHBlY3RpbmcgdGhlIHNvdXJjZSBkZXZpY2Ug dG8gZ2VuZXJhdGUgdGhlIGNoZWNrc3VtIGFuZAo+PiBjb21wYXJlIGl0IHRvIHRoZSB2YWx1ZSBz dG9yZWQgaW4gdGhlIGxhc3QgYnl0ZSBvZiB0aGUgYmxvY2sgZGF0YS4KPj4KPj4gVW5mb3J0dW5h dGVseSwgdGhlIERSTSBFRElEIHJlYWRpbmcgYW5kIHBhcnNpbmcgZnVuY3Rpb25zIGFyZSBhY3R1 YWxseSB0b28gZ29vZAo+PiBpbiB0aGlzIGNhc2U7IHRoZSBoZWFkZXIgaXMgZml4ZWQgYmVmb3Jl IHRoZSBjaGVja3N1bSBpcyBjb21wdXRlZCBhbmQgdGh1cyB0aGUKPj4gY29kZSBuZXZlciBzZWVz IHRoZSBpbnZhbGlkIGNoZWNrc3VtLiBUaGlzIHJlc3VsdHMgaW4gYSBmYWlsdXJlIHRvIHBhc3Mg dGhlCj4+IGNvbXBsaWFuY2UgdGVzdC4KPj4KPj4gVG8gY29ycmVjdCB0aGlzIGlzc3VlLCBhIGNo ZWNrc3VtIGlzIGdlbmVyYXRlZCB3aGVuIHRoZSBFRElEIGhlYWRlciBpcyBkZXRlY3RlZAo+PiBh cyBjb3JydXB0ZWQuIElmIHRoZSBjaGVja3N1bSBpcyBpbnZhbGlkLCBpdCBzZXRzIHRoZSBoZWFk ZXJfY29ycnVwdCBmbGFnIGFuZAo+PiBsb2dzIHRoZSBlcnJvcnMuIEluIHRoZSBjYXNlIG9mIGEg bW9yZSBzZXJpb3VzbHkgZGFtYWdlZCBoZWFkZXIgKGZpeHVwIHNjb3JlCj4+IGxlc3MgdGhhbiB0 aGUgdGhyZXNob2xkKSB0aGUgY29kZSBkb2VzIG5vdCBnZW5lcmF0ZSB0aGUgY2hlY2tzdW0gYnV0 IGRvZXMgc2V0Cj4+IHRoZSBoZWFkZXJfY29ycnVwdCBmbGFnLgo+Pgo+PiBWMjoKPj4gLSBSZW1v dmVkIHRoZSBzdGF0aWMgYm9vbCBnbG9iYWwKPj4gLSBBZGRlZCBhIGJvb2wgdG8gdGhlIGRybV9j b25uZWN0b3Igc3RydWN0IHRvIHJlYXBsY2UgdGhlIHN0YXRpYyBvbmUgZm9yCj4+ICAgIGhvbGRp bmcgdGhlIHN0YXR1cyBvZiByYXcgZWRpZCBoZWFkZXIgY29ycnVwdGlvbiBkZXRlY3Rpb24KPj4g LSBNb2RpZmllZCB0aGUgZnVuY3Rpb24gc2lnbmF0dXJlIG9mIHRoZSBpc192YWxpZCBmdW5jdGlv biB0byB0YWtlIGFuCj4+ICAgIGFkZGl0aW9uYWwgcGFyYW1ldGVyIHRvIHN0b3JlIHRoZSBjb3Jy dXB0aW9uIGRldGVjdGVkIHZhbHVlCj4+IC0gRml4ZWQgdGhlIG90aGVyIGNhbGxlcnMgb2YgdGhl IGFib3ZlIGlzX3ZhbGlkIGZ1bmN0aW9uCj4+IFYzOgo+PiAtIFVwZGF0ZWQgdGhlIGNvbW1pdCBt ZXNzYWdlIHRvIGJlIG1vcmUgY2xlYXIgYWJvdXQgd2hhdCBhbmQgd2h5IHRoaXMKPj4gICAgcGF0 Y2ggZG9lcyB3aGF0IGl0IGRvZXMuCj4+IC0gQWRkZWQgY29tbWVudCBpbiBjb2RlIHRvIGNsYXJp ZnkgdGhlIG9wZXJhdGlvbnMgdGhlcmUKPj4gLSBSZW1vdmVkIGNvbXBsaWFuY2UgdmFyaWFibGUg YW5kIGNoZWNrX2xpbmtfc3RhdHVzIHVwZGF0ZTsgdGhvc2UKPj4gICAgaGF2ZSBiZWVuIG1vdmVk IHRvIGEgbGF0ZXIgcGF0Y2gKPj4gLSBSZW1vdmVkIHZhcmlhYmxlIGFzc2lnbm1lbnQgZnJvbSB0 aGUgYm90dG9tIG9mIHRoZSB0ZXN0IGhhbmRsZXIKPj4gVjQ6Cj4+IC0gUmVtb3ZlZCBpOTE1IHRh ZyBmcm9tIHN1YmplY3QgbGluZSBhcyB0aGUgcGF0Y2ggaXMgbm90IGk5MTUtc3BlY2lmaWMKPj4g VjU6Cj4+IC0gTW92ZWQgY29kZSBjYXVzaW5nIGEgY29tcGlsYXRpb24gZXJyb3IgdG8gdGhpcyBw YXRjaCB3aGVyZSB0aGUgdmFyaWFibGUKPj4gICAgaXMgYWN0dWFsbHkgZGVjbGFyZWQKPj4KPj4g U2lnbmVkLW9mZi1ieTogVG9kZCBQcmV2aXRlIDx0cHJldml0ZUBnbWFpbC5jb20+Cj4+IENjOiBk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZWRpZC5jICAgICAgICB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0K Pj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWRfbG9hZC5jICAgfCAgNyArKysrKy0tCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jIHwgIDQgKystLQo+PiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICB8ICAyICstCj4+ICAgaW5jbHVkZS9kcm0vZHJtX2Ny dGMuaCAgICAgICAgICAgIHwgIDggKysrKysrKy0KPj4gICA1IGZpbGVzIGNoYW5nZWQsIDQxIGlu c2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+PiBpbmRleCA1 M2JjN2E2Li4xMmU1YmU3IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQu Ywo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+PiBAQCAtMTAwNSw3ICsxMDA1 LDYgQEAgaW50IGRybV9lZGlkX2hlYWRlcl9pc192YWxpZChjb25zdCB1OCAqcmF3X2VkaWQpCj4+ ICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YoZWRpZF9oZWFkZXIpOyBpKyspCj4+ICAg ICAgICAgICAgICAgICAgaWYgKHJhd19lZGlkW2ldID09IGVkaWRfaGVhZGVyW2ldKQo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgc2NvcmUrKzsKPj4gLQo+PiAgICAgICAgICByZXR1cm4gc2Nv cmU7Cj4+ICAgfQo+PiAgIEVYUE9SVF9TWU1CT0woZHJtX2VkaWRfaGVhZGVyX2lzX3ZhbGlkKTsK PiBCYWQgY2h1bmsuLi4KRml4ZWQKPgo+PiBAQCAtMTA0Nyw3ICsxMDQ2LDggQEAgc3RhdGljIGJv b2wgZHJtX2VkaWRfaXNfemVybyhjb25zdCB1OCAqaW5fZWRpZCwgaW50IGxlbmd0aCkKPj4gICAg Kgo+PiAgICAqIFJldHVybjogVHJ1ZSBpZiB0aGUgYmxvY2sgaXMgdmFsaWQsIGZhbHNlIG90aGVy d2lzZS4KPj4gICAgKi8KPj4gLWJvb2wgZHJtX2VkaWRfYmxvY2tfdmFsaWQodTggKnJhd19lZGlk LCBpbnQgYmxvY2ssIGJvb2wgcHJpbnRfYmFkX2VkaWQpCj4+ICtib29sIGRybV9lZGlkX2Jsb2Nr X3ZhbGlkKHU4ICpyYXdfZWRpZCwgaW50IGJsb2NrLCBib29sIHByaW50X2JhZF9lZGlkLAo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKmhlYWRlcl9jb3JydXB0KQo+IE5lZWQgdG8g YWRkIHRoZSBuZXcgcGFyYW1ldGVyIGRlc2NyaXB0aW9uIHRvIHRoZSBkb2N1bWVudGF0aW9uIGFi b3ZlLgpEb25lLgo+Cj4+ICAgewo+PiAgICAgICAgICB1OCBjc3VtOwo+PiAgICAgICAgICBzdHJ1 Y3QgZWRpZCAqZWRpZCA9IChzdHJ1Y3QgZWRpZCAqKXJhd19lZGlkOwo+PiBAQCAtMTA2Miw5ICsx MDYyLDI3IEBAIGJvb2wgZHJtX2VkaWRfYmxvY2tfdmFsaWQodTggKnJhd19lZGlkLCBpbnQgYmxv Y2ssIGJvb2wgcHJpbnRfYmFkX2VkaWQpCj4+ICAgICAgICAgICAgICAgICAgaW50IHNjb3JlID0g ZHJtX2VkaWRfaGVhZGVyX2lzX3ZhbGlkKHJhd19lZGlkKTsKPj4gICAgICAgICAgICAgICAgICBp ZiAoc2NvcmUgPT0gOCkgOwo+PiAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHNjb3JlID49IGVk aWRfZml4dXApIHsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgLyogRGlzcGxheXBvcnQgTGlu ayBDVFMgQ29yZSAxLjIgcmV2MS4xIHRlc3QgNC4yLjIuNgo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgKiBJbiBvcmRlciB0byBwcm9wZXJseSBnZW5lcmF0ZSB0aGUgaW52YWxpZCBjaGVja3N1 bQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgKiByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LCBp dCBtdXN0IGJlIGdlbmVyYXRlZCB1c2luZwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgKiB0 aGUgcmF3IEVESUQgZGF0YS4gT3RoZXJ3aXNlLCB0aGUgZml4LXVwIGNvZGUgaGVyZQo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgKiB3aWxsIGNvcnJlY3QgdGhlIHByb2JsZW0sIHRoZSBjaGVj a3N1bSBpcyB0aGVuIGNvcnJlY3QKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICogYW5kIHRo ZSB0ZXN0IGZhaWxzCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAqLwo+PiArICAgICAgICAg ICAgICAgICAgICAgICBjc3VtID0gZHJtX2VkaWRfYmxvY2tfY2hlY2tzdW0ocmF3X2VkaWQpOwo+ PiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3N1bSkgewo+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIERSTV9ERUJVR19EUklWRVIoIkludmFsaWQgRURJRCBoZWFkZXIsIHNj b3JlID0gJWRcbiIsIHNjb3JlKTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE Uk1fREVCVUdfRFJJVkVSKCJJbnZhbGlkIEVESUQgY2hlY2tzdW0gJWRcbiIsIGNzdW0pOwo+IE5v IG9uZSBvbiB0aGlzIGZpbGUgdXNlcyBEUk1fREVCVUdfRFJJVkVSICh5b3UgdXNlIDIgY2FsbHMg aGVyZSBhbmQgb25lIGJlbG93KS4KPgo+IEFsc28sIGR1cmluZyAibm9ybWFsIG9wZXJhdGlvbiIg d2UgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgY2hlY2tzdW0gYmFzZWQKPiBvbiB0aGUgZml4ZWQgRURJ RCBoZWFkZXIsIHNvIGlmIHdlIGFsc28gcHJpbnQgdGhlc2UgbWVzc2FnZXMgaGVyZQo+IHdlJ3Jl IGFsd2F5cyBnb2luZyB0byBoYXZlIGEgbWVzc2FnZSBjb21wbGFpbmluZyBhYm91dCBpbnZhbGlk Cj4gY2hlY2tzdW06IGVpdGhlciB0aGlzIG9uZSBvciB0aGUgb3RoZXIgdGhhdCdzIGFscmVhZHkg dGhlcmUuIE15Cj4gYmlrZXNoZWQgd291bGQgYmUgdG8ganVzdCByZW1vdmUgdGhlIG1lc3NhZ2Vz IHlvdSBhZGRlZCBoZXJlIGFuZCBiZWxvdwo+IHRvIG5vdCBjb25mdXNlIHVzZXJzLiBMZXQncyBh c3N1bWUgdGhhdCB0aGUgYmFkIGhlYWRlciBpcyBkdWUgdG8gc29tZQo+IGNvbW11bmljYXRpb24v Y29ycnVwdGlvbiBlcnJvciwgYW5kIHRoZSBIVyBtYW51ZmFjdHVyZXJzIGRpZCBub3QKPiBwcm9n cmFtIGFuIEVESUQgd2l0aCBhIGJhZCBoZWFkZXIgYW5kIGEgY29ycmVjdCBjaGVja3N1bSBiYXNl ZCBvbiBiYWQKPiBoZWFkZXIgOikKV29ya3MgZm9yIG1lLiBNZXNzYWdlcyBoYXZlIGJlZW4gcmVt b3ZlZC4KPgo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoZWFkZXJfY29y cnVwdCkKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpoZWFkZXJf Y29ycnVwdCA9IDE7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPj4gICAgICAgICAgICAg ICAgICAgICAgICAgIERSTV9ERUJVRygiRml4aW5nIEVESUQgaGVhZGVyLCB5b3VyIGhhcmR3YXJl IG1heSBiZSBmYWlsaW5nXG4iKTsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgIG1lbWNweShy YXdfZWRpZCwgZWRpZF9oZWFkZXIsIHNpemVvZihlZGlkX2hlYWRlcikpOwo+PiAgICAgICAgICAg ICAgICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChoZWFkZXJfY29y cnVwdCkgewo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9ERUJVR19EUklW RVIoIkludmFsaWQgRURJRCBoZWFkZXJcbiIpOwo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICpoZWFkZXJfY29ycnVwdCA9IDE7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIH0K PiBXZSBkb24ndCBldmVyIHNldCBoZWFkZXJfY29ycnVwdCBiYWNrIHRvIGZhbHNlLCBzbyBpZiB3 ZSBldmVyIGdldCBhCj4gY29ycnVwdCBoZWFkZXIgb25jZSwgdGhlIGhlYWRlcl9jb3JydXB0IGZs YWcgd2lsbCBzdGF5IHRoZXJlIGV2ZW4gaWYKPiBpdCBnZXRzIGZpeGVkIHNvbWVob3cgKHN1Y2gg YXMgYSBEUCBjb21wbGlhbmNlIHRlc3RlciBzdGFydGluZyB0bwo+IHN1Ym1pdCB0aGUgY29ycmVj dCBoZWFkZXIpLgpUaGlzIGlzIGZpeGVkIGFzIHdlbGwuIFRoZSBmbGFnIG5vdyBpcyByZXNldCB0 byAwIGF0IHRoZSBlbmQgb2YgdGhlIHRlc3QgCmhhbmRsZXIuCj4KPj4gICAgICAgICAgICAgICAg ICAgICAgICAgIGdvdG8gYmFkOwo+PiAgICAgICAgICAgICAgICAgIH0KPj4gICAgICAgICAgfQo+ PiBAQCAtMTEyOSw3ICsxMTQ3LDcgQEAgYm9vbCBkcm1fZWRpZF9pc192YWxpZChzdHJ1Y3QgZWRp ZCAqZWRpZCkKPj4gICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4+Cj4+ICAgICAgICAg IGZvciAoaSA9IDA7IGkgPD0gZWRpZC0+ZXh0ZW5zaW9uczsgaSsrKQo+PiAtICAgICAgICAgICAg ICAgaWYgKCFkcm1fZWRpZF9ibG9ja192YWxpZChyYXcgKyBpICogRURJRF9MRU5HVEgsIGksIHRy dWUpKQo+PiArICAgICAgICAgICAgICAgaWYgKCFkcm1fZWRpZF9ibG9ja192YWxpZChyYXcgKyBp ICogRURJRF9MRU5HVEgsIGksIHRydWUsIE5VTEwpKQo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIGZhbHNlOwo+Pgo+PiAgICAgICAgICByZXR1cm4gdHJ1ZTsKPj4gQEAgLTEyMzIs NyArMTI1MCw4IEBAIHN0cnVjdCBlZGlkICpkcm1fZG9fZ2V0X2VkaWQoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPj4gICAgICAgICAgZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgewo+ PiAgICAgICAgICAgICAgICAgIGlmIChnZXRfZWRpZF9ibG9jayhkYXRhLCBibG9jaywgMCwgRURJ RF9MRU5HVEgpKQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7Cj4+IC0gICAg ICAgICAgICAgICBpZiAoZHJtX2VkaWRfYmxvY2tfdmFsaWQoYmxvY2ssIDAsIHByaW50X2JhZF9l ZGlkKSkKPj4gKyAgICAgICAgICAgICAgIGlmIChkcm1fZWRpZF9ibG9ja192YWxpZChibG9jaywg MCwgcHJpbnRfYmFkX2VkaWQsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmNvbm5lY3Rvci0+ZWRpZF9oZWFkZXJfY29ycnVwdCkpCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICBicmVhazsKPj4gICAgICAgICAgICAgICAgICBpZiAoaSA9PSAwICYmIGRybV9l ZGlkX2lzX3plcm8oYmxvY2ssIEVESURfTEVOR1RIKSkgewo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgY29ubmVjdG9yLT5udWxsX2VkaWRfY291bnRlcisrOwo+PiBAQCAtMTI1Nyw3ICsxMjc2 LDkgQEAgc3RydWN0IGVkaWQgKmRybV9kb19nZXRfZWRpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrICsg KHZhbGlkX2V4dGVuc2lvbnMgKyAxKSAqIEVESURfTEVOR1RILAo+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGosIEVESURfTEVOR1RIKSkKPj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ290byBvdXQ7Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGlmIChk cm1fZWRpZF9ibG9ja192YWxpZChibG9jayArICh2YWxpZF9leHRlbnNpb25zICsgMSkgKiBFRElE X0xFTkdUSCwgaiwgcHJpbnRfYmFkX2VkaWQpKSB7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAg IGlmIChkcm1fZWRpZF9ibG9ja192YWxpZChibG9jayArICh2YWxpZF9leHRlbnNpb25zICsgMSkg KiBFRElEX0xFTkdUSCwgaiwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHByaW50X2JhZF9lZGlkLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmNvbm5lY3Rvci0+ZWRpZF9oZWFkZXJfY29ycnVwdCkp IHsKPiBZb3UgY2FuIHVzZSBOVUxMIGhlcmUgc2luY2Ugd2UncmUgbm90IGhhbmRsaW5nIGJsb2Nr IDAgYW55bW9yZS4KRml4ZWQuCj4KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dmFsaWRfZXh0ZW5zaW9ucysrOwo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi cmVhazsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgIH0KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fZWRpZF9sb2FkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWRfbG9h ZC5jCj4+IGluZGV4IDczMmNiNmYuLjE1MDU0OTQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZWRpZF9sb2FkLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkX2xv YWQuYwo+PiBAQCAtMjE2LDcgKzIxNiw4IEBAIHN0YXRpYyB2b2lkICplZGlkX2xvYWQoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgY29uc3QgY2hhciAqbmFtZSwKPj4gICAgICAgICAg ICAgICAgICBnb3RvIG91dDsKPj4gICAgICAgICAgfQo+Pgo+PiAtICAgICAgIGlmICghZHJtX2Vk aWRfYmxvY2tfdmFsaWQoZWRpZCwgMCwgcHJpbnRfYmFkX2VkaWQpKSB7Cj4+ICsgICAgICAgaWYg KCFkcm1fZWRpZF9ibG9ja192YWxpZChlZGlkLCAwLCBwcmludF9iYWRfZWRpZCwKPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb25uZWN0b3ItPmVkaWRfaGVhZGVyX2NvcnJ1 cHQpKSB7Cj4+ICAgICAgICAgICAgICAgICAgY29ubmVjdG9yLT5iYWRfZWRpZF9jb3VudGVyKys7 Cj4+ICAgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJCYXNlIGJsb2NrIG9mIEVESUQgZmlybXdh cmUgXCIlc1wiIGlzIGludmFsaWQgIiwKPj4gICAgICAgICAgICAgICAgICAgICAgbmFtZSk7Cj4+ IEBAIC0yMjksNyArMjMwLDkgQEAgc3RhdGljIHZvaWQgKmVkaWRfbG9hZChzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLCBjb25zdCBjaGFyICpuYW1lLAo+PiAgICAgICAgICAgICAgICAg IGlmIChpICE9IHZhbGlkX2V4dGVuc2lvbnMgKyAxKQo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgbWVtY3B5KGVkaWQgKyAodmFsaWRfZXh0ZW5zaW9ucyArIDEpICogRURJRF9MRU5HVEgsCj4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpZCArIGkgKiBFRElEX0xFTkdUSCwgRURJ RF9MRU5HVEgpOwo+PiAtICAgICAgICAgICAgICAgaWYgKGRybV9lZGlkX2Jsb2NrX3ZhbGlkKGVk aWQgKyBpICogRURJRF9MRU5HVEgsIGksIHByaW50X2JhZF9lZGlkKSkKPj4gKyAgICAgICAgICAg ICAgIGlmIChkcm1fZWRpZF9ibG9ja192YWxpZChlZGlkICsgaSAqIEVESURfTEVOR1RILCBpLAo+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50X2JhZF9lZGlk LAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb25uZWN0b3It PmVkaWRfaGVhZGVyX2NvcnJ1cHQpKQo+IFNhbWUgaGVyZTogbm90IGl0ZXJhdGluZyBvdmVyIGJs b2NrIDAuCkZpeGVkCj4gQnR3LCB3aHkgY2FuJ3Qgd2UganVzdCB1c2UgTlVMTCBvbiBlZGlkX2xv YWQ/CkkgdGhpbmsgaXQncyBhdCB0b28gaGlnaCBsZXZlbCBhZ2FpbiBhbmQgdGhlIGZpeCB1cCBj b2RlIHdpbGwgZ2V0IGluIHRoZSAKd2F5Lgo+Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICB2 YWxpZF9leHRlbnNpb25zKys7Cj4+ICAgICAgICAgIH0KPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4 eF9kcnYuYwo+PiBpbmRleCBhOTA0MWQxLi45YzNkNmIzIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2kyYy90 ZGE5OTh4X2Rydi5jCj4+IEBAIC0xMTA2LDcgKzExMDYsNyBAQCBzdGF0aWMgdWludDhfdCAqZG9f Z2V0X2VkaWQoc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdikKPj4gICAgICAgICAgaWYgKHJlYWRf ZWRpZF9ibG9jayhwcml2LCBibG9jaywgMCkpCj4+ICAgICAgICAgICAgICAgICAgZ290byBmYWls Owo+Pgo+PiAtICAgICAgIGlmICghZHJtX2VkaWRfYmxvY2tfdmFsaWQoYmxvY2ssIDAsIHByaW50 X2JhZF9lZGlkKSkKPj4gKyAgICAgICBpZiAoIWRybV9lZGlkX2Jsb2NrX3ZhbGlkKGJsb2NrLCAw LCBwcmludF9iYWRfZWRpZCwgTlVMTCkpCj4+ICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwo+ Pgo+PiAgICAgICAgICAvKiBpZiB0aGVyZSdzIG5vIGV4dGVuc2lvbnMsIHdlJ3JlIGRvbmUgKi8K Pj4gQEAgLTExMjMsNyArMTEyMyw3IEBAIHN0YXRpYyB1aW50OF90ICpkb19nZXRfZWRpZChzdHJ1 Y3QgdGRhOTk4eF9wcml2ICpwcml2KQo+PiAgICAgICAgICAgICAgICAgIGlmIChyZWFkX2VkaWRf YmxvY2socHJpdiwgZXh0X2Jsb2NrLCBqKSkKPj4gICAgICAgICAgICAgICAgICAgICAgICAgIGdv dG8gZmFpbDsKPj4KPj4gLSAgICAgICAgICAgICAgIGlmICghZHJtX2VkaWRfYmxvY2tfdmFsaWQo ZXh0X2Jsb2NrLCBqLCBwcmludF9iYWRfZWRpZCkpCj4+ICsgICAgICAgICAgICAgICBpZiAoIWRy bV9lZGlkX2Jsb2NrX3ZhbGlkKGV4dF9ibG9jaywgaiwgcHJpbnRfYmFkX2VkaWQsIE5VTEwpKQo+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwo+Pgo+PiAgICAgICAgICAgICAg ICAgIHZhbGlkX2V4dGVuc2lvbnMrKzsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IGluZGV4 IGUxZDZlNzkuLjc3YjZiMTUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiBAQCAt MzkyMiw3ICszOTIyLDcgQEAgaW50ZWxfZHBfY2hlY2tfbGlua19zdGF0dXMoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKPj4gICAgICAgICAgICogNC4yLjIuMSAtIEVESUQgcmVhZCByZXF1aXJl ZCBmb3IgYWxsIEhQRCBldmVudHMKPj4gICAgICAgICAgICAqLwo+PiAgICAgICAgICAgZWRpZF9y ZWFkID0gZHJtX2dldF9lZGlkKGNvbm5lY3RvciwgYWRhcHRlcik7Cj4+IC0gICAgICAgIGlmICgh ZWRpZF9yZWFkKSB7Cj4+ICsgICAgICAgIGlmICghZWRpZF9yZWFkIHx8IGNvbm5lY3Rvci0+ZWRp ZF9oZWFkZXJfY29ycnVwdCA9PSAxKSB7Cj4+ICAgICAgICAgICAgICAgICAgIERSTV9ERUJVR19E UklWRVIoIkludmFsaWQgRURJRCBkZXRlY3RlZFxuIik7Cj4+ICAgICAgICAgICB9Cj4+Cj4+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMu aAo+PiBpbmRleCAwMjYxNDE3Li5lMzFhNGIzIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2RybS9k cm1fY3J0Yy5oCj4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPj4gQEAgLTcxOSw2ICs3 MTksMTEgQEAgc3RydWN0IGRybV9jb25uZWN0b3Igewo+PiAgICAgICAgICBpbnQgbnVsbF9lZGlk X2NvdW50ZXI7IC8qIG5lZWRlZCB0byB3b3JrYXJvdW5kIHNvbWUgSFcgYnVncyB3aGVyZSB3ZSBn ZXQgYWxsIDBzICovCj4+ICAgICAgICAgIHVuc2lnbmVkIGJhZF9lZGlkX2NvdW50ZXI7Cj4+Cj4+ ICsgICAgICAgLyogRmxhZyBmb3IgcmF3IEVESUQgaGVhZGVyIGNvcnJ1cHRpb24gLSB1c2VkIGlu IERpc3BsYXlwb3J0IGNvbXBsaWFuY2UgdGVzdGluZwo+PiArICAgICAgICAqIERpc3BsYXlwb3J0 IExpbmsgQ1RTIENvcmUgMS4yIHJldjEuMSA0LjIuMi42Cj4+ICsgICAgICAgICovCj4+ICsgICAg ICAgYm9vbCBlZGlkX2hlYWRlcl9jb3JydXB0Owo+PiArCj4+ICAgICAgICAgIHN0cnVjdCBkZW50 cnkgKmRlYnVnZnNfZW50cnk7Cj4+Cj4+ICAgICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpzdGF0ZTsKPj4gQEAgLTE0MzYsNyArMTQ0MSw4IEBAIGV4dGVybiB2b2lkIGRybV9zZXRf cHJlZmVycmVkX21vZGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhwcmVmLCBpbnQgdnByZWYpOwo+Pgo+ PiAgIGV4dGVybiBpbnQgZHJtX2VkaWRfaGVhZGVyX2lzX3ZhbGlkKGNvbnN0IHU4ICpyYXdfZWRp ZCk7Cj4+IC1leHRlcm4gYm9vbCBkcm1fZWRpZF9ibG9ja192YWxpZCh1OCAqcmF3X2VkaWQsIGlu dCBibG9jaywgYm9vbCBwcmludF9iYWRfZWRpZCk7Cj4+ICtleHRlcm4gYm9vbCBkcm1fZWRpZF9i bG9ja192YWxpZCh1OCAqcmF3X2VkaWQsIGludCBibG9jaywgYm9vbCBwcmludF9iYWRfZWRpZCwg Ym9vbCAqaGVhZGVyX2NvcnJ1cHQpOwo+PiArCj4+ICAgZXh0ZXJuIGJvb2wgZHJtX2VkaWRfaXNf dmFsaWQoc3RydWN0IGVkaWQgKmVkaWQpOwo+Pgo+PiAgIGV4dGVybiBzdHJ1Y3QgZHJtX3RpbGVf Z3JvdXAgKmRybV9tb2RlX2NyZWF0ZV90aWxlX2dyb3VwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Cj4+IC0tCj4+IDEuOS4xCj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCj4KPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK