From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [RFC 11/13] drm/dp: Add helper to dump DPCD Date: Mon, 17 Aug 2015 10:02:04 +0300 Message-ID: <87fv3ipfdf.fsf@intel.com> References: <1439392001-29637-1-git-send-email-thierry.reding@gmail.com> <1439392001-29637-11-git-send-email-thierry.reding@gmail.com> <87614iqe0o.fsf@intel.com> <20150814172253.GB4193@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 4917E6E439 for ; Sun, 16 Aug 2015 23:59:06 -0700 (PDT) In-Reply-To: <20150814172253.GB4193@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rafael Antognolli Cc: Daniel Vetter , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCAxNCBBdWcgMjAxNSwgUmFmYWVsIEFudG9nbm9sbGkgPHJhZmFlbC5hbnRvZ25vbGxp QGludGVsLmNvbT4gd3JvdGU6Cj4gT24gRnJpLCBBdWcgMTQsIDIwMTUgYXQgMDI6NTY6NTVQTSAr MDMwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IE9uIFdlZCwgMTIgQXVnIDIwMTUsIFRoaWVycnkg UmVkaW5nIDx0aGllcnJ5LnJlZGluZ0BnbWFpbC5jb20+IHdyb3RlOgo+PiA+IEZyb206IFRoaWVy cnkgUmVkaW5nIDx0cmVkaW5nQG52aWRpYS5jb20+Cj4+ID4KPj4gPiBUaGUgbmV3IGRybV9kcF9k cGNkX2R1bXAoKSBoZWxwZXIgZHVtcHMgdGhlIGNvbnRlbnRzIG9mIGEgRFBDRCB0byBhCj4+ID4g c2VxX2ZpbGUgYW5kIGNhbiBiZSB1c2VkIHRvIG1ha2UgdGhlIERQQ0QgYXZhaWxhYmxlIHZpYSBk ZWJ1Z2ZzIGZvcgo+PiA+IGV4YW1wbGUuCj4+IAo+PiBTZWUgaTkxNS9pOTE1X2RlYnVnZnMuYyBm b3Igb25lIERQQ0QgZHVtcCBpbXBsZW1lbnRhdGlvbi4KPj4gCj4+IEFyb3VuZCB0aGUgdGltZSB0 aGF0IHdhcyBhZGRlZCwgdGhlcmUgd2FzIGFsc28gc29tZSBkaXNjdXNzaW9uIChhbmQKPj4gcGF0 Y2hlcyBbMV0pIHRvIGV4cG9zZSBhIHJlYWQvd3JpdGUgZGVidWdmcyBpbnRlcmZhY2UgdG8gRFBD RCwgbGV0dGluZwo+PiB1c2Vyc3BhY2UgYWNjZXNzIGFyYml0cmFyeSBEUENEIHJlZ2lzdGVycy4K Pj4gCj4+IEp1c3QgdGhpcyB3ZWVrIHRoZXJlIHdhcyBzb21lIGRpc2N1c3Npb24gYWJvdXQgcmV2 aXNpdGluZyB0aGF0LiBJdCB3YXMKPj4gYWJvdXQgYWNjZXNzaW5nIHNvbWUgcHJvcHJpZXRhcnkg cGFuZWwgZmVhdHVyZXMsIGJ1dCB0aGVyZSdzIGFsc28gdGhlCj4+IGVhc2Ugb2YgZGVidWdnaW5n IHdpdGhvdXQgaGF2aW5nIHRvIGtlZXAgdXBkYXRpbmcgdGhlIGtlcm5lbCB0byBkdW1wCj4+IG1v cmUuCj4+IAo+PiBJIHRoaW5rIGl0IHdvdWxkIGJlIGdyZWF0IHRvIGFncmVlIG9uIGEgY29tbW9u IGRlYnVnZnMgaW50ZXJmYWNlIHRvCj4+IGFjY2VzcyBEUENEIGFyYml0cmFyaWx5LiBMYXN0IHRp bWUgSSBjaGVja2VkLCB0aGUgYmxvY2tlciB0byB0aGF0IHdhcwo+PiBhY2Nlc3MgdG8gdGhlIGF1 eCBjaGFubmVsIGZyb20gZ2VuZXJpYyBjb2RlOyBpdCdzIGFsd2F5cyBkcml2ZXIKPj4gc3BlY2lm aWMuIFNNT1AuIDspCj4KPiBEbyB5b3UgbWVhbiBpdCB3b3VsZCByZXF1aXJlIHRoZSBnZW5lcmlj IGNvZGUvaW50ZXJmYWNlIHRvIHNvbWVob3cgcm91dGUKPiB0aGlzIHRvIHRoZSBkcml2ZXIgc3Bl Y2lmaWMgY29kZT8gSSBhbSBub3Qgc3VyZSB5ZXQgaG93IHRoaXMgd29ya3MgKGlmCj4gdGhlcmUn cyBzb21ldGhpbmcgbGlrZSBpdCBhcm91bmQpLCBidXQgSSdsbCB0YWtlIGEgbG9vay4KCkRyaXZl cnMgY2FuIGNob29zZSB0byBzdXBwb3J0IERQIEFVWCBhbnkgd2F5IHRoZXkgbGlrZSwgYW5kIHRo ZXkgZG9uJ3QKaGF2ZSB0byB1c2UgdGhlIGNvbW1vbiBoZWxwZXJzIHRvIGRvIHNvLiBJdCdzIHBy ZXR0eSBtdWNoIGFuCmltcGxlbWVudGF0aW9uIGRldGFpbC4gSSB0aGluayB3ZSBjb3VsZCByZXF1 aXJlIHRoZSB1c2Ugb2YgdGhlIGNvbW1vbgpoZWxwZXJzIHRvIHN1cHBvcnQgZ2VuZXJpYyBEUENE IGFjY2VzcyBmcm9tIGRlYnVnZnMsIGJ1dCB3ZSdkIHN0aWxsIGhhdmUKdG8gY29tZSB1cCB3aXRo IGEgd2F5IHRvIGdldCBob2xkIG9mIHN0cnVjdCBkcm1fZHBfYXV4IChhZ2FpbiwgZHJpdmVyCmlu dGVybmFscykgZ2l2ZW4gYSBkcm1fY29ubmVjdG9yIGluIGdlbmVyaWMgZGVidWdmcyBjb2RlLgoK VGhpZXJyeSwgZG8geW91IHNlZSBhbnkgcHJvYmxlbXMgd2l0aCBoYXZpbmcgYSBjb25uZWN0b3Ig ZnVuY3Rpb24gdG8gZ2V0CmhvbGQgb2YgaXRzIGRybV9kcF9hdXg/Cgo+PiBJIGNvdWxkIHB1dCBz b21lIGVmZm9ydCBpbnRvIHRoaXMgKG1heWJlIFJhZmFlbCB0b28/KSwgYXMgbG9uZyBhcyB3ZQo+ PiBjb3VsZCBhZ3JlZSBvbiB0aGUgaW50ZXJmYWNlLiBBcyBJIHdyb3RlIGluIHRoZSByZWZlcmVu Y2VkIHRocmVhZCwgSQo+PiB3YXNuJ3QgdGhyaWxsZWQgYWJvdXQgd2hhdCB3YXMgcHJvcG9zZWQu Cj4+IAo+Cj4gWWVzLCBJJ20gd2lsbGluZyB0byBwdXQgZWZmb3J0IGludG8gdGhpcywgZm9yIHN1 cmUuIEFueSBoZWxwIHBvaW50aW5nIHRvCj4gd2hpY2ggZGlyZWN0aW9uIHRvIGZvbGxvdyBpcyBn cmVhdGx5IGFwcHJlY2lhdGVkLgoKR3JlYXQhCgpCUiwKSmFuaS4KCgo+Cj4gVGhhbmtzLAo+IFJh ZmFlbAo+Cj4+IAo+PiAKPj4gWzFdIGh0dHA6Ly9taWQuZ21hbmUub3JnLzE0Mjg0OTMzMDEtMjAy OTMtMS1naXQtc2VuZC1lbWFpbC1kdXJnYWRvc3MuckBpbnRlbC5jb20KPj4gCj4+IAo+PiAKPj4g Pgo+PiA+IFNpZ25lZC1vZmYtYnk6IFRoaWVycnkgUmVkaW5nIDx0cmVkaW5nQG52aWRpYS5jb20+ Cj4+ID4gLS0tCj4+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgfCAxNDYgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiA+ICBpbmNsdWRlL2RybS9k cm1fZHBfaGVscGVyLmggICAgIHwgICAyICsKPj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAxNDggaW5z ZXJ0aW9ucygrKQo+PiA+Cj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBf aGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jCj4+ID4gaW5kZXggODk2 ODIwMWVhOTNjLi5lYTc0ODg0YzljYjMgMTAwNjQ0Cj4+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9kcF9oZWxwZXIuYwo+PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVy LmMKPj4gPiBAQCAtMjcsNiArMjcsNyBAQAo+PiA+ICAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4K Pj4gPiAgI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Cj4+ID4gICNpbmNsdWRlIDxsaW51eC9pMmMu aD4KPj4gPiArI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+Cj4+ID4gICNpbmNsdWRlIDxkcm0v ZHJtX2RwX2hlbHBlci5oPgo+PiA+ICAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KPj4gPiAgCj4+ID4g QEAgLTI5Miw2ICsyOTMsMTUxIEBAIGludCBkcm1fZHBfZHBjZF9yZWFkX2xpbmtfc3RhdHVzKHN0 cnVjdCBkcm1fZHBfYXV4ICphdXgsCj4+ID4gIH0KPj4gPiAgRVhQT1JUX1NZTUJPTChkcm1fZHBf ZHBjZF9yZWFkX2xpbmtfc3RhdHVzKTsKPj4gPiAgCj4+ID4gKy8qKgo+PiA+ICsgKiBkcm1fZHBf ZHBjZF9kdW1wKCkgLSBkdW1wIERQQ0QgY29udGVudAo+PiA+ICsgKiBAYXV4OiBEaXNwbGF5UG9y dCBBVVggY2hhbm5lbAo+PiA+ICsgKiBAczogZGVzdGluYXRpb24gZm9yIERQQ0QgZHVtcAo+PiA+ ICsgKgo+PiA+ICsgKiBSZWFkcyByZWdpc3RlcnMgZnJvbSB0aGUgRFBDRCB2aWEgYSBEaXNwbGF5 UG9ydCBBVVggY2hhbm5lbCBhbmQgZHVtcHMgdGhlbQo+PiA+ICsgKiB0byBhIHNlcV9maWxlLgo+ PiA+ICsgKi8KPj4gPiArdm9pZCBkcm1fZHBfZHBjZF9kdW1wKHN0cnVjdCBkcm1fZHBfYXV4ICph dXgsIHN0cnVjdCBzZXFfZmlsZSAqcykKPj4gPiArewo+PiA+ICsjZGVmaW5lIERVTVBfUkVHKGF1 eCwgb2Zmc2V0KSAoewkJCQkJXAo+PiA+ICsJCXU4IHZhbHVlOwkJCQkJCVwKPj4gPiArCQlpbnQg ZXJyOwkJCQkJCVwKPj4gPiArCQllcnIgPSBkcm1fZHBfZHBjZF9yZWFkYihhdXgsIG9mZnNldCwg JnZhbHVlKTsJCVwKPj4gPiArCQlpZiAoZXJyIDwgMCkgewkJCQkJCVwKPj4gPiArCQkJZGV2X2Vy cigoYXV4KS0+ZGV2LCAiZmFpbGVkIHRvIHJlYWQgJXM6ICVkXG4iLAlcCj4+ID4gKwkJCQkjb2Zm c2V0LCBlcnIpOwkJCQlcCj4+ID4gKwkJCXJldHVybjsJCQkJCQlcCj4+ID4gKwkJfQkJCQkJCQlc Cj4+ID4gKwkJc2VxX3ByaW50ZihzLCAiJS0zNXMgMHglMDR4IDB4JTAyeFxuIiwgI29mZnNldCwg b2Zmc2V0LAlcCj4+ID4gKwkJCSAgIHZhbHVlKTsJCQkJCVwKPj4gPiArCX0pCj4+ID4gKwo+PiA+ ICsJRFVNUF9SRUcoYXV4LCBEUF9EUENEX1JFVik7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX01B WF9MSU5LX1JBVEUpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9NQVhfTEFORV9DT1VOVCk7Cj4+ ID4gKwlEVU1QX1JFRyhhdXgsIERQX01BWF9ET1dOU1BSRUFEKTsKPj4gPiArCURVTVBfUkVHKGF1 eCwgRFBfTk9SUCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0RPV05TVFJFQU1QT1JUX1BSRVNF TlQpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9NQUlOX0xJTktfQ0hBTk5FTF9DT0RJTkcpOwo+ PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9ET1dOX1NUUkVBTV9QT1JUX0NPVU5UKTsKPj4gPiArCURV TVBfUkVHKGF1eCwgRFBfUkVDRUlWRV9QT1JUXzBfQ0FQXzApOwo+PiA+ICsJRFVNUF9SRUcoYXV4 LCBEUF9SRUNFSVZFX1BPUlRfMF9CVUZGRVJfU0laRSk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQ X1JFQ0VJVkVfUE9SVF8xX0NBUF8wKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfUkVDRUlWRV9Q T1JUXzFfQlVGRkVSX1NJWkUpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9JMkNfU1BFRURfQ0FQ KTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfRURQX0NPTkZJR1VSQVRJT05fQ0FQKTsKPj4gPiAr CURVTVBfUkVHKGF1eCwgRFBfVFJBSU5JTkdfQVVYX1JEX0lOVEVSVkFMKTsKPj4gPiArCURVTVBf UkVHKGF1eCwgRFBfQURBUFRFUl9DQVApOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9TVVBQT1JU RURfTElOS19SQVRFUyk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0ZBVVhfQ0FQKTsKPj4gPiAr CURVTVBfUkVHKGF1eCwgRFBfTVNUTV9DQVApOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9OVU1C RVJfT0ZfQVVESU9fRU5EUE9JTlRTKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfQVZfR1JBTlVM QVJJVFkpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9BVURfREVDX0xBVDApOwo+PiA+ICsJRFVN UF9SRUcoYXV4LCBEUF9BVURfREVDX0xBVDEpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9BVURf UFBfTEFUMCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0FVRF9QUF9MQVQxKTsKPj4gPiArCURV TVBfUkVHKGF1eCwgRFBfVklEX0lOVEVSX0xBVCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX1ZJ RF9QUk9HX0xBVCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX1JFUF9MQVQpOwo+PiA+ICsJRFVN UF9SRUcoYXV4LCBEUF9BVURfREVMX0lOUzApOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9BVURf REVMX0lOUzEpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9BVURfREVMX0lOUzIpOwo+PiA+ICsJ RFVNUF9SRUcoYXV4LCBEUF9SRUNFSVZFUl9BTFBNX0NBUCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgs IERQX0FVRF9ERUxfSU5TMCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0dVSUQpOwo+PiA+ICsJ RFVNUF9SRUcoYXV4LCBEUF9QU1JfU1VQUE9SVCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX1BT Ul9DQVBTKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfRE9XTlNUUkVBTV9QT1JUXzApOwo+PiA+ ICsJRFVNUF9SRUcoYXV4LCBEUF9MSU5LX0JXX1NFVCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQ X0xBTkVfQ09VTlRfU0VUKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfVFJBSU5JTkdfUEFUVEVS Tl9TRVQpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9UUkFJTklOR19MQU5FMF9TRVQpOwo+PiA+ ICsJRFVNUF9SRUcoYXV4LCBEUF9UUkFJTklOR19MQU5FMV9TRVQpOwo+PiA+ICsJRFVNUF9SRUco YXV4LCBEUF9UUkFJTklOR19MQU5FMl9TRVQpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9UUkFJ TklOR19MQU5FM19TRVQpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9ET1dOU1BSRUFEX0NUUkwp Owo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9NQUlOX0xJTktfQ0hBTk5FTF9DT0RJTkdfU0VUKTsK Pj4gPiArCURVTVBfUkVHKGF1eCwgRFBfSTJDX1NQRUVEX0NPTlRST0xfU1RBVFVTKTsKPj4gPiAr CURVTVBfUkVHKGF1eCwgRFBfRURQX0NPTkZJR1VSQVRJT05fU0VUKTsKPj4gPiArCURVTVBfUkVH KGF1eCwgRFBfTElOS19RVUFMX0xBTkUwX1NFVCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0xJ TktfUVVBTF9MQU5FMV9TRVQpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9MSU5LX1FVQUxfTEFO RTJfU0VUKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfTElOS19RVUFMX0xBTkUzX1NFVCk7Cj4+ ID4gKwlEVU1QX1JFRyhhdXgsIERQX1RSQUlOSU5HX0xBTkUwXzFfU0VUMik7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX1RSQUlOSU5HX0xBTkUyXzNfU0VUMik7Cj4+ID4gKwlEVU1QX1JFRyhhdXgs IERQX01TVE1fQ1RSTCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0FVRElPX0RFTEFZMCk7Cj4+ ID4gKwlEVU1QX1JFRyhhdXgsIERQX0FVRElPX0RFTEFZMSk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgs IERQX0FVRElPX0RFTEFZMik7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0xJTktfUkFURV9TRVQp Owo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9SRUNFSVZFUl9BTFBNX0NPTkZJRyk7Cj4+ID4gKwlE VU1QX1JFRyhhdXgsIERQX1NJTktfREVWSUNFX0FVWF9GUkFNRV9TWU5DX0NPTkYpOwo+PiA+ICsJ RFVNUF9SRUcoYXV4LCBEUF9VUFNUUkVBTV9ERVZJQ0VfRFBfUFdSX05FRUQpOwo+PiA+ICsJRFVN UF9SRUcoYXV4LCBEUF9BVVhfRlJBTUVfU1lOQ19WQUxVRSk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgs IERQX1BTUl9FTl9DRkcpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9BREFQVEVSX0NUUkwpOwo+ PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9CUkFOQ0hfREVWSUNFX0NUUkwpOwo+PiA+ICsJRFVNUF9S RUcoYXV4LCBEUF9QQVlMT0FEX0FMTE9DQVRFX1NFVCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQ X1BBWUxPQURfQUxMT0NBVEVfU1RBUlRfVElNRV9TTE9UKTsKPj4gPiArCURVTVBfUkVHKGF1eCwg RFBfUEFZTE9BRF9BTExPQ0FURV9USU1FX1NMT1RfQ09VTlQpOwo+PiA+ICsJRFVNUF9SRUcoYXV4 LCBEUF9TSU5LX0NPVU5UKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfREVWSUNFX1NFUlZJQ0Vf SVJRX1ZFQ1RPUik7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0xBTkUwXzFfU1RBVFVTKTsKPj4g PiArCURVTVBfUkVHKGF1eCwgRFBfTEFORTJfM19TVEFUVVMpOwo+PiA+ICsJRFVNUF9SRUcoYXV4 LCBEUF9MQU5FX0FMSUdOX1NUQVRVU19VUERBVEVEKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBf U0lOS19TVEFUVVMpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9BREpVU1RfUkVRVUVTVF9MQU5F MF8xKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfQURKVVNUX1JFUVVFU1RfTEFORTJfMyk7Cj4+ ID4gKwlEVU1QX1JFRyhhdXgsIERQX1RFU1RfUkVRVUVTVCk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgs IERQX1RFU1RfTElOS19SQVRFKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfVEVTVF9MQU5FX0NP VU5UKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfVEVTVF9DUkNfUl9DUik7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX1RFU1RfQ1JDX0dfWSk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX1RFU1Rf Q1JDX0JfQ0IpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9URVNUX1NJTktfTUlTQyk7Cj4+ID4g KwlEVU1QX1JFRyhhdXgsIERQX1RFU1RfUkVTUE9OU0UpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBE UF9URVNUX0VESURfQ0hFQ0tTVU0pOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9URVNUX1NJTksp Owo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9QQVlMT0FEX1RBQkxFX1VQREFURV9TVEFUVVMpOwo+ PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9WQ19QQVlMT0FEX0lEX1NMT1RfMSk7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX1NPVVJDRV9PVUkpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9TSU5LX09V SSk7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0JSQU5DSF9PVUkpOwo+PiA+ICsJRFVNUF9SRUco YXV4LCBEUF9TRVRfUE9XRVIpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfRFBDRF9SRVYp Owo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfR0VORVJBTF9DQVBfMSk7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX0VEUF9CQUNLTElHSFRfQURKVVNUTUVOVF9DQVApOwo+PiA+ICsJRFVNUF9S RUcoYXV4LCBEUF9FRFBfR0VORVJBTF9DQVBfMik7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0VE UF9HRU5FUkFMX0NBUF8zKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfRURQX0RJU1BMQVlfQ09O VFJPTF9SRUdJU1RFUik7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0VEUF9CQUNLTElHSFRfTU9E RV9TRVRfUkVHSVNURVIpOwo+PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfQkFDS0xJR0hUX0JS SUdIVE5FU1NfTVNCKTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfRURQX0JBQ0tMSUdIVF9CUklH SFRORVNTX0xTQik7Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0VEUF9QV01HRU5fQklUX0NPVU5U KTsKPj4gPiArCURVTVBfUkVHKGF1eCwgRFBfRURQX1BXTUdFTl9CSVRfQ09VTlRfQ0FQX01JTik7 Cj4+ID4gKwlEVU1QX1JFRyhhdXgsIERQX0VEUF9QV01HRU5fQklUX0NPVU5UX0NBUF9NQVgpOwo+ PiA+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfQkFDS0xJR0hUX0NPTlRST0xfU1RBVFVTKTsKPj4g PiArCURVTVBfUkVHKGF1eCwgRFBfRURQX0JBQ0tMSUdIVF9GUkVRX1NFVCk7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX0VEUF9CQUNLTElHSFRfRlJFUV9DQVBfTUlOX01TQik7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX0VEUF9CQUNLTElHSFRfRlJFUV9DQVBfTUlOX01JRCk7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX0VEUF9CQUNLTElHSFRfRlJFUV9DQVBfTUlOX0xTQik7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX0VEUF9CQUNLTElHSFRfRlJFUV9DQVBfTUFYX01TQik7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX0VEUF9CQUNLTElHSFRfRlJFUV9DQVBfTUFYX01JRCk7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX0VEUF9CQUNLTElHSFRfRlJFUV9DQVBfTUFYX0xTQik7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX0VEUF9EQkNfTUlOSU1VTV9CUklHSFRORVNTX1NFVCk7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX0VEUF9EQkNfTUFYSU1VTV9CUklHSFRORVNTX1NFVCk7Cj4+ID4gKwlEVU1Q X1JFRyhhdXgsIERQX0VEUF9SRUdJT05BTF9CQUNLTElHSFRfQkFTRSk7Cj4+ID4gKwlEVU1QX1JF RyhhdXgsIERQX0VEUF9SRUdJT05BTF9CQUNLTElHSFRfMCk7Cj4+ID4gKwo+PiA+ICsjdW5kZWYg RFVNUF9SRUcKPj4gPiArfQo+PiA+ICtFWFBPUlRfU1lNQk9MKGRybV9kcF9kcGNkX2R1bXApOwo+ PiA+ICsKPj4gPiAgc3RhdGljIHZvaWQgZHJtX2RwX2xpbmtfcmVzZXQoc3RydWN0IGRybV9kcF9s aW5rICpsaW5rKQo+PiA+ICB7Cj4+ID4gIAlpZiAoIWxpbmspCj4+ID4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAo+ PiA+IGluZGV4IGQwNDFiYjAwZDZhMC4uMDg5ZDI3NGY4NTdkIDEwMDY0NAo+PiA+IC0tLSBhL2lu Y2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAo+PiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9kcF9o ZWxwZXIuaAo+PiA+IEBAIC03NTQsNiArNzU0LDggQEAgc3RhdGljIGlubGluZSBzc2l6ZV90IGRy bV9kcF9kcGNkX3dyaXRlYihzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LAo+PiA+ICBpbnQgZHJtX2Rw X2RwY2RfcmVhZF9saW5rX3N0YXR1cyhzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LAo+PiA+ICAJCQkJ IHU4IHN0YXR1c1tEUF9MSU5LX1NUQVRVU19TSVpFXSk7Cj4+ID4gIAo+PiA+ICt2b2lkIGRybV9k cF9kcGNkX2R1bXAoc3RydWN0IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IHNlcV9maWxlICpzKTsK Pj4gPiArCj4+ID4gIC8qKgo+PiA+ICAgKiBzdHJ1Y3QgZHJtX2RwX2xpbmtfdHJhaW5fc2V0IC0g bGluayB0cmFpbmluZyBzZXR0aW5ncwo+PiA+ICAgKiBAdm9sdGFnZV9zd2luZzogcGVyLWxhbmUg dm9sdGFnZSBzd2luZwo+PiA+IC0tIAo+PiA+IDIuNC41Cj4+ID4KPj4gPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiA+IGRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKPj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+ID4gaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+PiAKPj4gLS0g Cj4+IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgoKLS0g CkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=