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: Fri, 14 Aug 2015 14:56:55 +0300 Message-ID: <87614iqe0o.fsf@intel.com> References: <1439392001-29637-1-git-send-email-thierry.reding@gmail.com> <1439392001-29637-11-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 98DF76E863 for ; Fri, 14 Aug 2015 04:53:58 -0700 (PDT) In-Reply-To: <1439392001-29637-11-git-send-email-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , dri-devel@lists.freedesktop.org Cc: "Antognolli, Rafael" , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAxMiBBdWcgMjAxNSwgVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWls LmNvbT4gd3JvdGU6Cj4gRnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4K Pgo+IFRoZSBuZXcgZHJtX2RwX2RwY2RfZHVtcCgpIGhlbHBlciBkdW1wcyB0aGUgY29udGVudHMg b2YgYSBEUENEIHRvIGEKPiBzZXFfZmlsZSBhbmQgY2FuIGJlIHVzZWQgdG8gbWFrZSB0aGUgRFBD RCBhdmFpbGFibGUgdmlhIGRlYnVnZnMgZm9yCj4gZXhhbXBsZS4KClNlZSBpOTE1L2k5MTVfZGVi dWdmcy5jIGZvciBvbmUgRFBDRCBkdW1wIGltcGxlbWVudGF0aW9uLgoKQXJvdW5kIHRoZSB0aW1l IHRoYXQgd2FzIGFkZGVkLCB0aGVyZSB3YXMgYWxzbyBzb21lIGRpc2N1c3Npb24gKGFuZApwYXRj aGVzIFsxXSkgdG8gZXhwb3NlIGEgcmVhZC93cml0ZSBkZWJ1Z2ZzIGludGVyZmFjZSB0byBEUENE LCBsZXR0aW5nCnVzZXJzcGFjZSBhY2Nlc3MgYXJiaXRyYXJ5IERQQ0QgcmVnaXN0ZXJzLgoKSnVz dCB0aGlzIHdlZWsgdGhlcmUgd2FzIHNvbWUgZGlzY3Vzc2lvbiBhYm91dCByZXZpc2l0aW5nIHRo YXQuIEl0IHdhcwphYm91dCBhY2Nlc3Npbmcgc29tZSBwcm9wcmlldGFyeSBwYW5lbCBmZWF0dXJl cywgYnV0IHRoZXJlJ3MgYWxzbyB0aGUKZWFzZSBvZiBkZWJ1Z2dpbmcgd2l0aG91dCBoYXZpbmcg dG8ga2VlcCB1cGRhdGluZyB0aGUga2VybmVsIHRvIGR1bXAKbW9yZS4KCkkgdGhpbmsgaXQgd291 bGQgYmUgZ3JlYXQgdG8gYWdyZWUgb24gYSBjb21tb24gZGVidWdmcyBpbnRlcmZhY2UgdG8KYWNj ZXNzIERQQ0QgYXJiaXRyYXJpbHkuIExhc3QgdGltZSBJIGNoZWNrZWQsIHRoZSBibG9ja2VyIHRv IHRoYXQgd2FzCmFjY2VzcyB0byB0aGUgYXV4IGNoYW5uZWwgZnJvbSBnZW5lcmljIGNvZGU7IGl0 J3MgYWx3YXlzIGRyaXZlcgpzcGVjaWZpYy4gU01PUC4gOykKCkkgY291bGQgcHV0IHNvbWUgZWZm b3J0IGludG8gdGhpcyAobWF5YmUgUmFmYWVsIHRvbz8pLCBhcyBsb25nIGFzIHdlCmNvdWxkIGFn cmVlIG9uIHRoZSBpbnRlcmZhY2UuIEFzIEkgd3JvdGUgaW4gdGhlIHJlZmVyZW5jZWQgdGhyZWFk LCBJCndhc24ndCB0aHJpbGxlZCBhYm91dCB3aGF0IHdhcyBwcm9wb3NlZC4KCkJSLApKYW5pLgoK ClsxXSBodHRwOi8vbWlkLmdtYW5lLm9yZy8xNDI4NDkzMzAxLTIwMjkzLTEtZ2l0LXNlbmQtZW1h aWwtZHVyZ2Fkb3NzLnJAaW50ZWwuY29tCgoKCj4KPiBTaWduZWQtb2ZmLWJ5OiBUaGllcnJ5IFJl ZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Rw X2hlbHBlci5jIHwgMTQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK PiAgaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oICAgICB8ICAgMiArCj4gIDIgZmlsZXMgY2hh bmdlZCwgMTQ4IGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2RwX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYwo+IGluZGV4 IDg5NjgyMDFlYTkzYy4uZWE3NDg4NGM5Y2IzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZHBfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5j Cj4gQEAgLTI3LDYgKzI3LDcgQEAKPiAgI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Cj4gICNpbmNs dWRlIDxsaW51eC9zY2hlZC5oPgo+ICAjaW5jbHVkZSA8bGludXgvaTJjLmg+Cj4gKyNpbmNsdWRl IDxsaW51eC9zZXFfZmlsZS5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9kcF9oZWxwZXIuaD4KPiAg I2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4gIAo+IEBAIC0yOTIsNiArMjkzLDE1MSBAQCBpbnQgZHJt X2RwX2RwY2RfcmVhZF9saW5rX3N0YXR1cyhzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LAo+ICB9Cj4g IEVYUE9SVF9TWU1CT0woZHJtX2RwX2RwY2RfcmVhZF9saW5rX3N0YXR1cyk7Cj4gIAo+ICsvKioK PiArICogZHJtX2RwX2RwY2RfZHVtcCgpIC0gZHVtcCBEUENEIGNvbnRlbnQKPiArICogQGF1eDog RGlzcGxheVBvcnQgQVVYIGNoYW5uZWwKPiArICogQHM6IGRlc3RpbmF0aW9uIGZvciBEUENEIGR1 bXAKPiArICoKPiArICogUmVhZHMgcmVnaXN0ZXJzIGZyb20gdGhlIERQQ0QgdmlhIGEgRGlzcGxh eVBvcnQgQVVYIGNoYW5uZWwgYW5kIGR1bXBzIHRoZW0KPiArICogdG8gYSBzZXFfZmlsZS4KPiAr ICovCj4gK3ZvaWQgZHJtX2RwX2RwY2RfZHVtcChzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCBzdHJ1 Y3Qgc2VxX2ZpbGUgKnMpCj4gK3sKPiArI2RlZmluZSBEVU1QX1JFRyhhdXgsIG9mZnNldCkgKHsJ CQkJCVwKPiArCQl1OCB2YWx1ZTsJCQkJCQlcCj4gKwkJaW50IGVycjsJCQkJCQlcCj4gKwkJZXJy ID0gZHJtX2RwX2RwY2RfcmVhZGIoYXV4LCBvZmZzZXQsICZ2YWx1ZSk7CQlcCj4gKwkJaWYgKGVy ciA8IDApIHsJCQkJCQlcCj4gKwkJCWRldl9lcnIoKGF1eCktPmRldiwgImZhaWxlZCB0byByZWFk ICVzOiAlZFxuIiwJXAo+ICsJCQkJI29mZnNldCwgZXJyKTsJCQkJXAo+ICsJCQlyZXR1cm47CQkJ CQkJXAo+ICsJCX0JCQkJCQkJXAo+ICsJCXNlcV9wcmludGYocywgIiUtMzVzIDB4JTA0eCAweCUw MnhcbiIsICNvZmZzZXQsIG9mZnNldCwJXAo+ICsJCQkgICB2YWx1ZSk7CQkJCQlcCj4gKwl9KQo+ ICsKPiArCURVTVBfUkVHKGF1eCwgRFBfRFBDRF9SRVYpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9N QVhfTElOS19SQVRFKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfTUFYX0xBTkVfQ09VTlQpOwo+ICsJ RFVNUF9SRUcoYXV4LCBEUF9NQVhfRE9XTlNQUkVBRCk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX05P UlApOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9ET1dOU1RSRUFNUE9SVF9QUkVTRU5UKTsKPiArCURV TVBfUkVHKGF1eCwgRFBfTUFJTl9MSU5LX0NIQU5ORUxfQ09ESU5HKTsKPiArCURVTVBfUkVHKGF1 eCwgRFBfRE9XTl9TVFJFQU1fUE9SVF9DT1VOVCk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX1JFQ0VJ VkVfUE9SVF8wX0NBUF8wKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfUkVDRUlWRV9QT1JUXzBfQlVG RkVSX1NJWkUpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9SRUNFSVZFX1BPUlRfMV9DQVBfMCk7Cj4g KwlEVU1QX1JFRyhhdXgsIERQX1JFQ0VJVkVfUE9SVF8xX0JVRkZFUl9TSVpFKTsKPiArCURVTVBf UkVHKGF1eCwgRFBfSTJDX1NQRUVEX0NBUCk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0VEUF9DT05G SUdVUkFUSU9OX0NBUCk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX1RSQUlOSU5HX0FVWF9SRF9JTlRF UlZBTCk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0FEQVBURVJfQ0FQKTsKPiArCURVTVBfUkVHKGF1 eCwgRFBfU1VQUE9SVEVEX0xJTktfUkFURVMpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9GQVVYX0NB UCk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX01TVE1fQ0FQKTsKPiArCURVTVBfUkVHKGF1eCwgRFBf TlVNQkVSX09GX0FVRElPX0VORFBPSU5UUyk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0FWX0dSQU5V TEFSSVRZKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfQVVEX0RFQ19MQVQwKTsKPiArCURVTVBfUkVH KGF1eCwgRFBfQVVEX0RFQ19MQVQxKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfQVVEX1BQX0xBVDAp Owo+ICsJRFVNUF9SRUcoYXV4LCBEUF9BVURfUFBfTEFUMSk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQ X1ZJRF9JTlRFUl9MQVQpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9WSURfUFJPR19MQVQpOwo+ICsJ RFVNUF9SRUcoYXV4LCBEUF9SRVBfTEFUKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfQVVEX0RFTF9J TlMwKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfQVVEX0RFTF9JTlMxKTsKPiArCURVTVBfUkVHKGF1 eCwgRFBfQVVEX0RFTF9JTlMyKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfUkVDRUlWRVJfQUxQTV9D QVApOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9BVURfREVMX0lOUzApOwo+ICsJRFVNUF9SRUcoYXV4 LCBEUF9HVUlEKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfUFNSX1NVUFBPUlQpOwo+ICsJRFVNUF9S RUcoYXV4LCBEUF9QU1JfQ0FQUyk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0RPV05TVFJFQU1fUE9S VF8wKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfTElOS19CV19TRVQpOwo+ICsJRFVNUF9SRUcoYXV4 LCBEUF9MQU5FX0NPVU5UX1NFVCk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX1RSQUlOSU5HX1BBVFRF Uk5fU0VUKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfVFJBSU5JTkdfTEFORTBfU0VUKTsKPiArCURV TVBfUkVHKGF1eCwgRFBfVFJBSU5JTkdfTEFORTFfU0VUKTsKPiArCURVTVBfUkVHKGF1eCwgRFBf VFJBSU5JTkdfTEFORTJfU0VUKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfVFJBSU5JTkdfTEFORTNf U0VUKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfRE9XTlNQUkVBRF9DVFJMKTsKPiArCURVTVBfUkVH KGF1eCwgRFBfTUFJTl9MSU5LX0NIQU5ORUxfQ09ESU5HX1NFVCk7Cj4gKwlEVU1QX1JFRyhhdXgs IERQX0kyQ19TUEVFRF9DT05UUk9MX1NUQVRVUyk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0VEUF9D T05GSUdVUkFUSU9OX1NFVCk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0xJTktfUVVBTF9MQU5FMF9T RVQpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9MSU5LX1FVQUxfTEFORTFfU0VUKTsKPiArCURVTVBf UkVHKGF1eCwgRFBfTElOS19RVUFMX0xBTkUyX1NFVCk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0xJ TktfUVVBTF9MQU5FM19TRVQpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9UUkFJTklOR19MQU5FMF8x X1NFVDIpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9UUkFJTklOR19MQU5FMl8zX1NFVDIpOwo+ICsJ RFVNUF9SRUcoYXV4LCBEUF9NU1RNX0NUUkwpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9BVURJT19E RUxBWTApOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9BVURJT19ERUxBWTEpOwo+ICsJRFVNUF9SRUco YXV4LCBEUF9BVURJT19ERUxBWTIpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9MSU5LX1JBVEVfU0VU KTsKPiArCURVTVBfUkVHKGF1eCwgRFBfUkVDRUlWRVJfQUxQTV9DT05GSUcpOwo+ICsJRFVNUF9S RUcoYXV4LCBEUF9TSU5LX0RFVklDRV9BVVhfRlJBTUVfU1lOQ19DT05GKTsKPiArCURVTVBfUkVH KGF1eCwgRFBfVVBTVFJFQU1fREVWSUNFX0RQX1BXUl9ORUVEKTsKPiArCURVTVBfUkVHKGF1eCwg RFBfQVVYX0ZSQU1FX1NZTkNfVkFMVUUpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9QU1JfRU5fQ0ZH KTsKPiArCURVTVBfUkVHKGF1eCwgRFBfQURBUFRFUl9DVFJMKTsKPiArCURVTVBfUkVHKGF1eCwg RFBfQlJBTkNIX0RFVklDRV9DVFJMKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfUEFZTE9BRF9BTExP Q0FURV9TRVQpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9QQVlMT0FEX0FMTE9DQVRFX1NUQVJUX1RJ TUVfU0xPVCk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX1BBWUxPQURfQUxMT0NBVEVfVElNRV9TTE9U X0NPVU5UKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfU0lOS19DT1VOVCk7Cj4gKwlEVU1QX1JFRyhh dXgsIERQX0RFVklDRV9TRVJWSUNFX0lSUV9WRUNUT1IpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9M QU5FMF8xX1NUQVRVUyk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0xBTkUyXzNfU1RBVFVTKTsKPiAr CURVTVBfUkVHKGF1eCwgRFBfTEFORV9BTElHTl9TVEFUVVNfVVBEQVRFRCk7Cj4gKwlEVU1QX1JF RyhhdXgsIERQX1NJTktfU1RBVFVTKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfQURKVVNUX1JFUVVF U1RfTEFORTBfMSk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0FESlVTVF9SRVFVRVNUX0xBTkUyXzMp Owo+ICsJRFVNUF9SRUcoYXV4LCBEUF9URVNUX1JFUVVFU1QpOwo+ICsJRFVNUF9SRUcoYXV4LCBE UF9URVNUX0xJTktfUkFURSk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX1RFU1RfTEFORV9DT1VOVCk7 Cj4gKwlEVU1QX1JFRyhhdXgsIERQX1RFU1RfQ1JDX1JfQ1IpOwo+ICsJRFVNUF9SRUcoYXV4LCBE UF9URVNUX0NSQ19HX1kpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9URVNUX0NSQ19CX0NCKTsKPiAr CURVTVBfUkVHKGF1eCwgRFBfVEVTVF9TSU5LX01JU0MpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9U RVNUX1JFU1BPTlNFKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfVEVTVF9FRElEX0NIRUNLU1VNKTsK PiArCURVTVBfUkVHKGF1eCwgRFBfVEVTVF9TSU5LKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfUEFZ TE9BRF9UQUJMRV9VUERBVEVfU1RBVFVTKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfVkNfUEFZTE9B RF9JRF9TTE9UXzEpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9TT1VSQ0VfT1VJKTsKPiArCURVTVBf UkVHKGF1eCwgRFBfU0lOS19PVUkpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9CUkFOQ0hfT1VJKTsK PiArCURVTVBfUkVHKGF1eCwgRFBfU0VUX1BPV0VSKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfRURQ X0RQQ0RfUkVWKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfRURQX0dFTkVSQUxfQ0FQXzEpOwo+ICsJ RFVNUF9SRUcoYXV4LCBEUF9FRFBfQkFDS0xJR0hUX0FESlVTVE1FTlRfQ0FQKTsKPiArCURVTVBf UkVHKGF1eCwgRFBfRURQX0dFTkVSQUxfQ0FQXzIpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBf R0VORVJBTF9DQVBfMyk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0VEUF9ESVNQTEFZX0NPTlRST0xf UkVHSVNURVIpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfQkFDS0xJR0hUX01PREVfU0VUX1JF R0lTVEVSKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfRURQX0JBQ0tMSUdIVF9CUklHSFRORVNTX01T Qik7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0VEUF9CQUNLTElHSFRfQlJJR0hUTkVTU19MU0IpOwo+ ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfUFdNR0VOX0JJVF9DT1VOVCk7Cj4gKwlEVU1QX1JFRyhh dXgsIERQX0VEUF9QV01HRU5fQklUX0NPVU5UX0NBUF9NSU4pOwo+ICsJRFVNUF9SRUcoYXV4LCBE UF9FRFBfUFdNR0VOX0JJVF9DT1VOVF9DQVBfTUFYKTsKPiArCURVTVBfUkVHKGF1eCwgRFBfRURQ X0JBQ0tMSUdIVF9DT05UUk9MX1NUQVRVUyk7Cj4gKwlEVU1QX1JFRyhhdXgsIERQX0VEUF9CQUNL TElHSFRfRlJFUV9TRVQpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfQkFDS0xJR0hUX0ZSRVFf Q0FQX01JTl9NU0IpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfQkFDS0xJR0hUX0ZSRVFfQ0FQ X01JTl9NSUQpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfQkFDS0xJR0hUX0ZSRVFfQ0FQX01J Tl9MU0IpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfQkFDS0xJR0hUX0ZSRVFfQ0FQX01BWF9N U0IpOwo+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfQkFDS0xJR0hUX0ZSRVFfQ0FQX01BWF9NSUQp Owo+ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfQkFDS0xJR0hUX0ZSRVFfQ0FQX01BWF9MU0IpOwo+ ICsJRFVNUF9SRUcoYXV4LCBEUF9FRFBfREJDX01JTklNVU1fQlJJR0hUTkVTU19TRVQpOwo+ICsJ RFVNUF9SRUcoYXV4LCBEUF9FRFBfREJDX01BWElNVU1fQlJJR0hUTkVTU19TRVQpOwo+ICsJRFVN UF9SRUcoYXV4LCBEUF9FRFBfUkVHSU9OQUxfQkFDS0xJR0hUX0JBU0UpOwo+ICsJRFVNUF9SRUco YXV4LCBEUF9FRFBfUkVHSU9OQUxfQkFDS0xJR0hUXzApOwo+ICsKPiArI3VuZGVmIERVTVBfUkVH Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fZHBfZHBjZF9kdW1wKTsKPiArCj4gIHN0YXRpYyB2 b2lkIGRybV9kcF9saW5rX3Jlc2V0KHN0cnVjdCBkcm1fZHBfbGluayAqbGluaykKPiAgewo+ICAJ aWYgKCFsaW5rKQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmggYi9p bmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiBpbmRleCBkMDQxYmIwMGQ2YTAuLjA4OWQyNzRm ODU3ZCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiArKysgYi9p bmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiBAQCAtNzU0LDYgKzc1NCw4IEBAIHN0YXRpYyBp bmxpbmUgc3NpemVfdCBkcm1fZHBfZHBjZF93cml0ZWIoc3RydWN0IGRybV9kcF9hdXggKmF1eCwK PiAgaW50IGRybV9kcF9kcGNkX3JlYWRfbGlua19zdGF0dXMoc3RydWN0IGRybV9kcF9hdXggKmF1 eCwKPiAgCQkJCSB1OCBzdGF0dXNbRFBfTElOS19TVEFUVVNfU0laRV0pOwo+ICAKPiArdm9pZCBk cm1fZHBfZHBjZF9kdW1wKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsIHN0cnVjdCBzZXFfZmlsZSAq cyk7Cj4gKwo+ICAvKioKPiAgICogc3RydWN0IGRybV9kcF9saW5rX3RyYWluX3NldCAtIGxpbmsg dHJhaW5pbmcgc2V0dGluZ3MKPiAgICogQHZvbHRhZ2Vfc3dpbmc6IHBlci1sYW5lIHZvbHRhZ2Ug c3dpbmcKPiAtLSAKPiAyLjQuNQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVj aG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK