From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 1/4] drm/i915: Add support for DP link training compliance Date: Fri, 20 Jan 2017 17:05:03 +0200 Message-ID: <87bmv1db6o.fsf@intel.com> References: <1484893418-11309-1-git-send-email-manasi.d.navare@intel.com> <1484893418-11309-2-git-send-email-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1484893418-11309-2-git-send-email-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Manasi Navare , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMCBKYW4gMjAxNywgTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVs LmNvbT4gd3JvdGU6Cj4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgdG8gaGFuZGxlIGF1dG9tYXRl ZCBEUCBjb21wbGlhbmNlCj4gbGluayB0cmFpbmluZyB0ZXN0IHJlcXVlc3RzLiBUaGlzIHBhdGNo IGhhcyBiZWVuIHRlc3RlZCB3aXRoCj4gVW5pZ3JhZiBEUFItMTIwIERQIENvbXBsaWFuY2UgZGV2 aWNlIGZvciB0ZXN0aW5nIExpbmsKPiBUcmFpbmluZyBDb21wbGlhbmNlLgo+IEFmdGVyIHdlIGdl dCBhIHNob3J0IHB1bHNlIENvbXBsaWFuY2UgdGVzdCByZXF1ZXN0LCB0ZXN0Cj4gcmVxdWVzdCB2 YWx1ZXMgYXJlIHJlYWQgYW5kIGhvdHBsdWcgdWV2ZW50IGlzIHNlbnQgaW4gb3JkZXIKPiB0byB0 cmlnZ2VyIGFub3RoZXIgbW9kZXNldCBkdXJpbmcgd2hpY2ggdGhlIHBpcGUgaXMgY29uZmlndXJl ZAo+IGFuZCBsaW5rIGlzIHJldHJhaW5lZCBhbmQgZW5hYmxlZCBmb3IgbGluayBwYXJhbWV0ZXJz IHJlcXVlc3RlZAo+IGJ5IHRoZSB0ZXN0Lgo+Cj4gdjM6Cj4gKiBWYWxpZGF0ZSB0aGUgdGVzdCBs aW5rIHJhdGUgYW5kIGxhbmUgY291bnQgYXMgc29vbiBhcwo+IHRoZSBlcnF1ZXN0IGNvbWVzIChK YW5pIE5pa3VsYSkKPiB2MjoKPiAqIFZhbGlkYXRlIHRoZSB0ZXN0IGxhbmUgY291bnQgYmVmb3Jl IHVzaW5nIGl0IGluCj4gaW50ZWxfZHBfY29tcHV0ZV9jb25maWcgKEphbmkgTmlrdWxhKQo+IFNp Z25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4g Q2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IERhbmll bCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IENjOiBWaWxsZSBTeXJqYWxhIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYyAgfCA2MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgIDIgKysKPiAgMiBmaWxl cyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jCj4gaW5kZXggZTgwZDYyMC4uM2U3NmI2MyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwo+IEBAIC0xNjEzLDYgKzE2MTMsNyBAQCBzdGF0aWMgaW50IGludGVsX2RwX2Nv bXB1dGVfYnBwKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gIAkvKiBDb252ZW5pZW50bHks IHRoZSBsaW5rIEJXIGNvbnN0YW50cyBiZWNvbWUgaW5kaWNlcyB3aXRoIGEgc2hpZnQuLi4qLwo+ ICAJaW50IG1pbl9jbG9jayA9IDA7Cj4gIAlpbnQgbWF4X2Nsb2NrOwo+ICsJaW50IGxpbmtfcmF0 ZV9pbmRleDsKPiAgCWludCBicHAsIG1vZGVfcmF0ZTsKPiAgCWludCBsaW5rX2F2YWlsLCBsaW5r X2Nsb2NrOwo+ICAJaW50IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVTXSA9IHt9 Owo+IEBAIC0xNjU0LDYgKzE2NTUsMTUgQEAgc3RhdGljIGludCBpbnRlbF9kcF9jb21wdXRlX2Jw cChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJaWYgKGFkanVzdGVkX21vZGUtPmZsYWdz ICYgRFJNX01PREVfRkxBR19EQkxDTEspCj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAKPiArCS8qIFVz ZSB2YWx1ZXMgcmVxdWVzdGVkIGJ5IENvbXBsaWFuY2UgVGVzdCBSZXF1ZXN0ICovCj4gKwlpZiAo aW50ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF90eXBlID09IERQX1RFU1RfTElOS19UUkFJTklORykg ewo+ICsJCWxpbmtfcmF0ZV9pbmRleCA9IGludGVsX2RwX2xpbmtfcmF0ZV9pbmRleChpbnRlbF9k cCwKPiArCQkJCQkJCSAgIGNvbW1vbl9yYXRlcywKPiArCQkJCQkJCSAgIGRybV9kcF9id19jb2Rl X3RvX2xpbmtfcmF0ZShpbnRlbF9kcC0+Y29tcGxpYW5jZS50ZXN0X2xpbmtfcmF0ZSkpOwoKWW91 IHNob3VsZCBwcm9iYWJseSBzdG9yZSB0aGUgbGluayAqcmF0ZSogaW5zdGVhZCBvZiB0aGUgbGlu ayByYXRlCipjb2RlKiB0byBpbnRlbF9kcC0+Y29tcGxpYW5jZS50ZXN0X2xpbmtfcmF0ZSBpbgpp bnRlbF9kcF9hdXRvdGVzdF9saW5rX3RyYWluaW5nKCkuCgo+ICsJCWlmIChsaW5rX3JhdGVfaW5k ZXggPj0gMCkKPiArCQkJbWluX2Nsb2NrID0gbWF4X2Nsb2NrID0gbGlua19yYXRlX2luZGV4Owo+ ICsJCW1pbl9sYW5lX2NvdW50ID0gbWF4X2xhbmVfY291bnQgPSBpbnRlbF9kcC0+Y29tcGxpYW5j ZS50ZXN0X2xhbmVfY291bnQ7Cj4gKwl9Cj4gIAlEUk1fREVCVUdfS01TKCJEUCBsaW5rIGNvbXB1 dGF0aW9uIHdpdGggbWF4IGxhbmUgY291bnQgJWkgIgo+ICAJCSAgICAgICJtYXggYncgJWQgcGl4 ZWwgY2xvY2sgJWlLSHpcbiIsCj4gIAkJICAgICAgbWF4X2xhbmVfY291bnQsIGNvbW1vbl9yYXRl c1ttYXhfY2xvY2tdLAo+IEBAIC0zOTIwLDcgKzM5MzAsNDIgQEAgaW50IGludGVsX2RwX3Npbmtf Y3JjKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHU4ICpjcmMpCj4gIAo+ICBzdGF0aWMgdWlu dDhfdCBpbnRlbF9kcF9hdXRvdGVzdF9saW5rX3RyYWluaW5nKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApCj4gIHsKPiAtCXVpbnQ4X3QgdGVzdF9yZXN1bHQgPSBEUF9URVNUX0FDSzsKPiArCXVp bnQ4X3QgdGVzdF9yZXN1bHQgPSBEUF9URVNUX05BSzsKPiArCWludCBzdGF0dXMgPSAwOwo+ICsJ aW50IG1pbl9sYW5lX2NvdW50ID0gMTsKPiArCWludCBjb21tb25fcmF0ZXNbRFBfTUFYX1NVUFBP UlRFRF9SQVRFU10gPSB7fTsKPiArCWludCBsaW5rX3JhdGVfaW5kZXg7Cj4gKwkvKiAoRFAgQ1RT IDEuMikKPiArCSAqIDQuMy4xLjExCj4gKwkgKi8KPiArCS8qIFJlYWQgdGhlIFRFU1RfTEFORV9D T1VOVCBhbmQgVEVTVF9MSU5LX1JUQUUgZmllbGRzIChEUCBDVFMgMy4xLjQpICovCj4gKwlzdGF0 dXMgPSBkcm1fZHBfZHBjZF9yZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfVEVTVF9MQU5FX0NPVU5U LAo+ICsJCQkJICAmaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF9sYW5lX2NvdW50KTsKPiArCj4g KwlpZiAoc3RhdHVzIDw9IDApIHsKPiArCQlEUk1fREVCVUdfS01TKCJMYW5lIGNvdW50IHJlYWQg ZmFpbGVkXG4iKTsKPiArCQlyZXR1cm4gMDsKClNvIGlmIHlvdSBmYWlsIHRvIHJlYWQgdGhlIGxh bmUgY291bnQsIHlvdSByZXR1cm4gMCwgd3JpdGUgdGhhdCB0bwpURVNUX1JFU1BPTlNFLCB3aGlj aCBpcyBzdXBwb3NlZCB0byBoYXZlIG5vIGVmZmVjdCBvbiBURVNUX1JFUSBzdGF0ZSBwZXIKdGhl IHNwZWMsIGkuZS4gd3JpdGluZyAwIGlzIHVzZWxlc3MuIGludGVsX2RwLT5jb21wbGlhbmNlLnRl c3RfdHlwZSBpcwpzZXQgYW55d2F5LCB3aGljaCB3aWxsIHRyeSB0byB1c2UgdGhlIChzdGFsZSkg bGFuZSBjb3VudCBhbmQgbGluayByYXRlCnZhbHVlcy4KCj4gKwl9Cj4gKwlpbnRlbF9kcC0+Y29t cGxpYW5jZS50ZXN0X2xhbmVfY291bnQgJj0gRFBfTUFYX0xBTkVfQ09VTlRfTUFTSzsKPiArCS8q IFZhbGlkYXRlIHRoZSByZXF1ZXN0ZWQgbGFuZSBjb3VudCAqLwo+ICsJaWYgKGludGVsX2RwLT5j b21wbGlhbmNlLnRlc3RfbGFuZV9jb3VudCA8IG1pbl9sYW5lX2NvdW50IHx8Cj4gKwkgICAgaW50 ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF9sYW5lX2NvdW50ID4gaW50ZWxfZHAtPm1heF9zaW5rX2xh bmVfY291bnQpCj4gKwkJcmV0dXJuIHRlc3RfcmVzdWx0OwoKQnV0IGlmIHRoZSBsYW5lIGNvdW50 IGlzIG91dCBvZiBib3VuZHMsIHlvdSByZXR1cm4gTkFLIGFuZCB3cml0ZSB0aGF0IHRvClRFU1Rf UkVTUE9OU0UsICpidXQqIHNldCBpbnRlbF9kcC0+Y29tcGxpYW5jZS50ZXN0X3R5cGUgYW5kCmlu dGVsX2RwLT5jb21wbGlhbmNlLnRlc3RfbGFuZV9jb3VudCBhbnl3YXksIGFuZCB3aWxsIHRyeSB0 byB1c2UgdGhlCnZhbHVlcyBsYXRlciBvbiBhbnl3YXkuCgo+ICsKPiArCXN0YXR1cyA9IGRybV9k cF9kcGNkX3JlYWRiKCZpbnRlbF9kcC0+YXV4LCBEUF9URVNUX0xJTktfUkFURSwKPiArCQkJCSAg ICZpbnRlbF9kcC0+Y29tcGxpYW5jZS50ZXN0X2xpbmtfcmF0ZSk7Cj4gKwlpZiAoc3RhdHVzIDw9 IDApIHsKPiArCQlEUk1fREVCVUdfS01TKCJMaW5rIFJhdGUgcmVhZCBmYWlsZWRcbiIpOwo+ICsJ CXJldHVybiAwOwo+ICsJfQo+ICsJLyogVmFsaWRhdGUgdGhlIHJlcXVlc3RlZCBsaW5rIHJhdGUg Ki8KPiArCWxpbmtfcmF0ZV9pbmRleCA9IGludGVsX2RwX2xpbmtfcmF0ZV9pbmRleChpbnRlbF9k cCwKPiArCQkJCQkJICAgY29tbW9uX3JhdGVzLAo+ICsJCQkJCQkgICBkcm1fZHBfYndfY29kZV90 b19saW5rX3JhdGUoaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF9saW5rX3JhdGUpKTsKPiArCWlm IChsaW5rX3JhdGVfaW5kZXggPCAwKQo+ICsJCXJldHVybiB0ZXN0X3Jlc3VsdDsKClNhbWUgYXMg YWJvdmUgZm9yIGxhbmUgY291bnQsIGluIGJvdGggZXJyb3Igc2NlbmFyaW9zLgoKWW91IHNob3Vs ZCBwcm9iYWJseSByZWFkIGJvdGggbGFuZSBjb3VudCBhbmQgbGluayByYXRlIHRvIGxvY2FsCnZh cmlhYmxlcyBmaXJzdCwgYmFpbCBvdXQgb24gcmVhZCBmYWlsdXJlcywgY2hlY2sgdGhlIHZhbHVl cywgYmFpbCBvdXQKb24gaW52YWxpZCB2YWx1ZXMsIHRoZW4gc2V0IHRoZSB2YWx1ZXMgaW4gaW50 ZWxfZHAtPmNvbXBsaWFuY2UuCgppbnRlbF9kcF9oYW5kbGVfdGVzdF9yZXF1ZXN0KCkgc2hvdWxk IHByb2JhYmx5IGJlIGZpeGVkIHRvIG5vdCBzZXQKaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF90 eXBlIG9uIGVycm9ycy4gUHJlc3VtYWJseSBpdCBzaG91bGQgbm90IHdyaXRlCnplcm8gdmFsdWVz IHRvIFRFU1RfUkVTUE9OU0UgYmVjYXVzZSBpdCBzaG91bGQgaGF2ZSBubyBlZmZlY3QgYW55d2F5 OwpidXQgSSdtIG5vdCBzdXJlIGlmIHdlIHNob3VsZCByZXR1cm4gMCBmcm9tIHRoZSBhdXRvdGVz dCBmdW5jdGlvbnMKYW55d2F5LgoKPiArCj4gKwl0ZXN0X3Jlc3VsdCA9IERQX1RFU1RfQUNLOwo+ ICAJcmV0dXJuIHRlc3RfcmVzdWx0OwoKUGxlYXNlIHRlbGwgbWUgd2hhdCBwdXJwb3NlIGRvZXMg dGhlIHRlc3RfcmVzdWx0IHZhcmlhYmxlIGhhdmUgaW4gdGhpcwpmdW5jdGlvbi4gSSB0aG91Z2h0 IEkgc2FpZCB5b3UgY291bGQgZ2V0IHJpZCBvZiB0aGUgdmFyaWFibGUuCgpCUiwKSmFuaS4KCj4g IH0KPiAgCj4gQEAgLTQxMzUsOSArNDE4MCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX2hhbmRs ZV90ZXN0X3JlcXVlc3Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCWlmICghaW50ZWxf ZHAtPmxhbmVfY291bnQpCj4gIAkJcmV0dXJuOwo+ICAKPiAtCS8qIGlmIGxpbmsgdHJhaW5pbmcg aXMgcmVxdWVzdGVkIHdlIHNob3VsZCBwZXJmb3JtIGl0IGFsd2F5cyAqLwo+IC0JaWYgKChpbnRl bF9kcC0+Y29tcGxpYW5jZS50ZXN0X3R5cGUgPT0gRFBfVEVTVF9MSU5LX1RSQUlOSU5HKSB8fAo+ IC0JICAgICghZHJtX2RwX2NoYW5uZWxfZXFfb2sobGlua19zdGF0dXMsIGludGVsX2RwLT5sYW5l X2NvdW50KSkpIHsKPiArCS8qIFJldHJhaW4gaWYgQ2hhbm5lbCBFUSBvciBDUiBub3Qgb2sgKi8K PiArCWlmICghZHJtX2RwX2NoYW5uZWxfZXFfb2sobGlua19zdGF0dXMsIGludGVsX2RwLT5sYW5l X2NvdW50KSkgewo+ICAJCURSTV9ERUJVR19LTVMoIiVzOiBjaGFubmVsIEVRIG5vdCBvaywgcmV0 cmFpbmluZ1xuIiwKPiAgCQkJICAgICAgaW50ZWxfZW5jb2Rlci0+YmFzZS5uYW1lKTsKPiAgCj4g QEAgLTQxNjIsNiArNDIwNiw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX2hhbmRsZV90ZXN0X3Jl cXVlc3Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgaW50ZWxfZHBfc2hvcnRfcHVsc2Uo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq aW50ZWxfZW5jb2RlciA9ICZkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2U7Cj4gIAl1OCBz aW5rX2lycV92ZWN0b3IgPSAwOwo+ICAJdTggb2xkX3NpbmtfY291bnQgPSBpbnRlbF9kcC0+c2lu a19jb3VudDsKPiAgCWJvb2wgcmV0Owo+IEBAIC00MTk1LDcgKzQyNDAsNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9kcF9oYW5kbGVfdGVzdF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp Cj4gIAkJCQkgICBzaW5rX2lycV92ZWN0b3IpOwo+ICAKPiAgCQlpZiAoc2lua19pcnFfdmVjdG9y ICYgRFBfQVVUT01BVEVEX1RFU1RfUkVRVUVTVCkKPiAtCQkJRFJNX0RFQlVHX0RSSVZFUigiVGVz dCByZXF1ZXN0IGluIHNob3J0IHB1bHNlIG5vdCBoYW5kbGVkXG4iKTsKPiArCQkJaW50ZWxfZHBf aGFuZGxlX3Rlc3RfcmVxdWVzdChpbnRlbF9kcCk7Cj4gIAkJaWYgKHNpbmtfaXJxX3ZlY3RvciAm IChEUF9DUF9JUlEgfCBEUF9TSU5LX1NQRUNJRklDX0lSUSkpCj4gIAkJCURSTV9ERUJVR19EUklW RVIoIkNQIG9yIHNpbmsgc3BlY2lmaWMgaXJxIHVuaGFuZGxlZFxuIik7Cj4gIAl9Cj4gQEAgLTQy MDMsNiArNDI0OCwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9oYW5kbGVfdGVzdF9yZXF1ZXN0 KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAlkcm1fbW9kZXNldF9sb2NrKCZkZXYtPm1v ZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsIE5VTEwpOwo+ICAJaW50ZWxfZHBfY2hlY2tfbGlu a19zdGF0dXMoaW50ZWxfZHApOwo+ICAJZHJtX21vZGVzZXRfdW5sb2NrKCZkZXYtPm1vZGVfY29u ZmlnLmNvbm5lY3Rpb25fbXV0ZXgpOwo+ICsJaWYgKGludGVsX2RwLT5jb21wbGlhbmNlLnRlc3Rf dHlwZSA9PSBEUF9URVNUX0xJTktfVFJBSU5JTkcpIHsKPiArCQlEUk1fREVCVUdfS01TKCJMaW5r IFRyYWluaW5nIENvbXBsaWFuY2UgVGVzdCByZXF1ZXN0ZWRcbiIpOwo+ICsJCS8qIFNlbmQgYSBI b3RwbHVnIFVldmVudCB0byB1c2Vyc3BhY2UgdG8gc3RhcnQgbW9kZXNldCAqLwo+ICsJCWRybV9r bXNfaGVscGVyX2hvdHBsdWdfZXZlbnQoaW50ZWxfZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICsJfQo+ ICAKPiAgCXJldHVybiB0cnVlOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRl eCAwY2VjMDAxLi4xNTg2YTAyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAt ODk0LDYgKzg5NCw4IEBAIHN0cnVjdCBpbnRlbF9kcF9jb21wbGlhbmNlIHsKPiAgCXVuc2lnbmVk IGxvbmcgdGVzdF90eXBlOwo+ICAJc3RydWN0IGludGVsX2RwX2NvbXBsaWFuY2VfZGF0YSB0ZXN0 X2RhdGE7Cj4gIAlib29sIHRlc3RfYWN0aXZlOwo+ICsJdTggdGVzdF9saW5rX3JhdGU7Cj4gKwl1 OCB0ZXN0X2xhbmVfY291bnQ7Cj4gIH07Cj4gIAo+ICBzdHJ1Y3QgaW50ZWxfZHAgewoKLS0gCkph bmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK