From mboxrd@z Thu Jan 1 00:00:00 1970 From: Libin Yang Subject: Re: [PATCH V4 2/2] drm/i915: start adding dp mst audio Date: Tue, 8 Dec 2015 16:01:20 +0800 Message-ID: <56668E50.8050806@linux.intel.com> References: <1449036584-105393-1-git-send-email-libin.yang@linux.intel.com> <1449036584-105393-2-git-send-email-libin.yang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 7DBE96E2A7 for ; Tue, 8 Dec 2015 00:03:39 -0800 (PST) In-Reply-To: <1449036584-105393-2-git-send-email-libin.yang@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, conselvan2@gmail.com, jani.nikula@linux.intel.com, ville.syrjala@linux.intel.com, daniel.vetter@intel.com Cc: Dave Airlie List-Id: intel-gfx@lists.freedesktop.org SGkgYWxsLAoKQW55IGNvbW1lbnRzIG9uIHRoZSBwYXRjaGVzPwoKQmVzdCBSZWdhcmRzLApMaWJp bgoKT24gMTIvMDIvMjAxNSAwMjowOSBQTSwgbGliaW4ueWFuZ0BsaW51eC5pbnRlbC5jb20gd3Jv dGU6Cj4gRnJvbTogTGliaW4gWWFuZyA8bGliaW4ueWFuZ0BsaW51eC5pbnRlbC5jb20+Cj4KPiBU aGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgRFAgTVNUIGF1ZGlvIGluIGk5MTUuCj4KPiBFbmFi bGUgYXVkaW8gY29kZWMgd2hlbiBEUCBNU1QgaXMgZW5hYmxlZCBpZiBoYXNfYXVkaW8gZmxhZyBp cyBzZXQuCj4gRGlzYWJsZSBhdWRpbyBjb2RlYyB3aGVuIERQIE1TVCBpcyBkaXNhYmxlZCBpZiBo YXNfYXVkaW8gZmxhZyBpcyBzZXQuCj4KPiBBbm90aGVyIHNlcGFyYXRlZCBwYXRjaGVzIHRvIHN1 cHBvcnQgRFAgTVNUIGF1ZGlvIHdpbGwgYmUgaW1wbGVtZW50ZWQKPiBpbiBhdWRpbyBkcml2ZXIu Cj4KPiBSZXZpZXdlZC1ieTogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxjb25zZWx2YW4y QGdtYWlsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBMaWJpbiBZYW5nIDxsaWJpbi55YW5nQGxpbnV4 LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQu Y29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgfCAxNiAr KysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jICB8 ICA5ICsrKysrKy0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgfCAy MCArKysrKysrKysrKysrKystLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBf bXN0LmMgfCAyMiArKysrKysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCAgICB8ICAyICsrCj4gICA1IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlv bnMoKyksIDggZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ IGluZGV4IGJmZDU3ZmIuLjgzODc2MzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYwo+IEBAIC0yODUwLDYgKzI4NTAsMjAgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfaW5mbyhz dHJ1Y3Qgc2VxX2ZpbGUgKm0sCj4gICAJCWludGVsX3BhbmVsX2luZm8obSwgJmludGVsX2Nvbm5l Y3Rvci0+cGFuZWwpOwo+ICAgfQo+Cj4gK3N0YXRpYyB2b2lkIGludGVsX2RwX21zdF9pbmZvKHN0 cnVjdCBzZXFfZmlsZSAqbSwKPiArCQkJICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9j b25uZWN0b3IpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0g aW50ZWxfY29ubmVjdG9yLT5lbmNvZGVyOwo+ICsJc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVy ICppbnRlbF9tc3QgPQo+ICsJCWVuY190b19tc3QoJmludGVsX2VuY29kZXItPmJhc2UpOwo+ICsJ c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBpbnRlbF9tc3QtPnBy aW1hcnk7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmludGVsX2RpZ19wb3J0LT5k cDsKPiArCWJvb2wgaGFzX2F1ZGlvID0gZHJtX2RwX21zdF9wb3J0X2hhc19hdWRpbygmaW50ZWxf ZHAtPm1zdF9tZ3IsCj4gKwkJCQkJaW50ZWxfY29ubmVjdG9yLT5wb3J0KTsKPiArCj4gKwlzZXFf cHJpbnRmKG0sICJcdGF1ZGlvIHN1cHBvcnQ6ICVzXG4iLCB5ZXNubyhoYXNfYXVkaW8pKTsKPiAr fQo+ICsKPiAgIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0s Cj4gICAJCQkgICAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKQo+ICAg ewo+IEBAIC0yODkzLDYgKzI5MDcsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jb25uZWN0b3JfaW5m byhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCj4gICAJCQlpbnRlbF9oZG1pX2luZm8obSwgaW50ZWxfY29u bmVjdG9yKTsKPiAgIAkJZWxzZSBpZiAoaW50ZWxfZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQ VVRfTFZEUykKPiAgIAkJCWludGVsX2x2ZHNfaW5mbyhtLCBpbnRlbF9jb25uZWN0b3IpOwo+ICsJ CWVsc2UgaWYgKGludGVsX2VuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0RQX01TVCkKPiAr CQkJaW50ZWxfZHBfbXN0X2luZm8obSwgaW50ZWxfY29ubmVjdG9yKTsKPiAgIAl9Cj4KPiAgIAlz ZXFfcHJpbnRmKG0sICJcdG1vZGVzOlxuIik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5j Cj4gaW5kZXggOWFhODNlNy4uNWFkMmU2NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9hdWRpby5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVk aW8uYwo+IEBAIC0yNjIsNyArMjYyLDggQEAgc3RhdGljIHZvaWQgaHN3X2F1ZGlvX2NvZGVjX2Rp c2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gICAJdG1wIHw9IEFVRF9DT05G SUdfTl9QUk9HX0VOQUJMRTsKPiAgIAl0bXAgJj0gfkFVRF9DT05GSUdfVVBQRVJfTl9NQVNLOwo+ ICAgCXRtcCAmPSB+QVVEX0NPTkZJR19MT1dFUl9OX01BU0s7Cj4gLQlpZiAoaW50ZWxfcGlwZV9o YXNfdHlwZShpbnRlbF9jcnRjLCBJTlRFTF9PVVRQVVRfRElTUExBWVBPUlQpKQo+ICsJaWYgKGlu dGVsX3BpcGVfaGFzX3R5cGUoaW50ZWxfY3J0YywgSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUKSB8 fAo+ICsJICAgIGludGVsX3BpcGVfaGFzX3R5cGUoaW50ZWxfY3J0YywgSU5URUxfT1VUUFVUX0RQ X01TVCkpCj4gICAJCXRtcCB8PSBBVURfQ09ORklHX05fVkFMVUVfSU5ERVg7Cj4gICAJSTkxNV9X UklURShIU1dfQVVEX0NGRyhwaXBlKSwgdG1wKTsKPgo+IEBAIC00NzQsNyArNDc1LDggQEAgc3Rh dGljIHZvaWQgaWxrX2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ICAgCXRtcCAmPSB+QVVEX0NPTkZJR19OX1ZBTFVFX0lOREVYOwo+ICAgCXRtcCAm PSB+QVVEX0NPTkZJR19OX1BST0dfRU5BQkxFOwo+ICAgCXRtcCAmPSB+QVVEX0NPTkZJR19QSVhF TF9DTE9DS19IRE1JX01BU0s7Cj4gLQlpZiAoaW50ZWxfcGlwZV9oYXNfdHlwZShpbnRlbF9jcnRj LCBJTlRFTF9PVVRQVVRfRElTUExBWVBPUlQpKQo+ICsJaWYgKGludGVsX3BpcGVfaGFzX3R5cGUo aW50ZWxfY3J0YywgSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUKSB8fAo+ICsJICAgIGludGVsX3Bp cGVfaGFzX3R5cGUoaW50ZWxfY3J0YywgSU5URUxfT1VUUFVUX0RQX01TVCkpCj4gICAJCXRtcCB8 PSBBVURfQ09ORklHX05fVkFMVUVfSU5ERVg7Cj4gICAJZWxzZQo+ICAgCQl0bXAgfD0gYXVkaW9f Y29uZmlnX2hkbWlfcGl4ZWxfY2xvY2soYWRqdXN0ZWRfbW9kZSk7Cj4gQEAgLTUxMiw3ICs1MTQs OCBAQCB2b2lkIGludGVsX2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq aW50ZWxfZW5jb2RlcikKPgo+ICAgCS8qIEVMRCBDb25uX1R5cGUgKi8KPiAgIAljb25uZWN0b3It PmVsZFs1XSAmPSB+KDMgPDwgMik7Cj4gLQlpZiAoaW50ZWxfcGlwZV9oYXNfdHlwZShjcnRjLCBJ TlRFTF9PVVRQVVRfRElTUExBWVBPUlQpKQo+ICsJaWYgKGludGVsX3BpcGVfaGFzX3R5cGUoY3J0 YywgSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUKSB8fAo+ICsJICAgIGludGVsX3BpcGVfaGFzX3R5 cGUoY3J0YywgSU5URUxfT1VUUFVUX0RQX01TVCkpCj4gICAJCWNvbm5lY3Rvci0+ZWxkWzVdIHw9 ICgxIDw8IDIpOwo+Cj4gICAJY29ubmVjdG9yLT5lbGRbNl0gPSBkcm1fYXZfc3luY19kZWxheShj b25uZWN0b3IsIGFkanVzdGVkX21vZGUpIC8gMjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ IGluZGV4IDc2Y2U3YzIuLmJjN2ZmZmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGRpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ IEBAIC0zMTA4LDYgKzMxMDgsMTkgQEAgdm9pZCBpbnRlbF9kZGlfZmRpX2Rpc2FibGUoc3RydWN0 IGRybV9jcnRjICpjcnRjKQo+ICAgCUk5MTVfV1JJVEUoRkRJX1JYX0NUTChQSVBFX0EpLCB2YWwp Owo+ICAgfQo+Cj4gK2Jvb2wgaW50ZWxfZGRpX2lzX2F1ZGlvX2VuYWJsZWQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkJIHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjKQo+ICt7Cj4gKwl1MzIgdGVtcDsKPiArCj4gKwlpZiAoaW50ZWxfZGlzcGxheV9wb3dlcl9p c19lbmFibGVkKGRldl9wcml2LCBQT1dFUl9ET01BSU5fQVVESU8pKSB7Cj4gKwkJdGVtcCA9IEk5 MTVfUkVBRChIU1dfQVVEX1BJTl9FTERfQ1BfVkxEKTsKPiArCQlpZiAodGVtcCAmIEFVRElPX09V VFBVVF9FTkFCTEUoaW50ZWxfY3J0Yy0+cGlwZSkpCj4gKwkJCXJldHVybiB0cnVlOwo+ICsJfQo+ ICsJcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICAgdm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgIAkJCSAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnKQo+ICAgewo+IEBAIC0zMTY4LDExICszMTgxLDggQEAgdm9pZCBp bnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgIAkJ YnJlYWs7Cj4gICAJfQo+Cj4gLQlpZiAoaW50ZWxfZGlzcGxheV9wb3dlcl9pc19lbmFibGVkKGRl dl9wcml2LCBQT1dFUl9ET01BSU5fQVVESU8pKSB7Cj4gLQkJdGVtcCA9IEk5MTVfUkVBRChIU1df QVVEX1BJTl9FTERfQ1BfVkxEKTsKPiAtCQlpZiAodGVtcCAmIEFVRElPX09VVFBVVF9FTkFCTEUo aW50ZWxfY3J0Yy0+cGlwZSkpCj4gLQkJCXBpcGVfY29uZmlnLT5oYXNfYXVkaW8gPSB0cnVlOwo+ IC0JfQo+ICsJcGlwZV9jb25maWctPmhhc19hdWRpbyA9Cj4gKwkJaW50ZWxfZGRpX2lzX2F1ZGlv X2VuYWJsZWQoZGV2X3ByaXYsIGludGVsX2NydGMpOwo+Cj4gICAJaWYgKGVuY29kZXItPnR5cGUg PT0gSU5URUxfT1VUUFVUX0VEUCAmJiBkZXZfcHJpdi0+dmJ0LmVkcF9icHAgJiYKPiAgIAkgICAg cGlwZV9jb25maWctPnBpcGVfYnBwID4gZGV2X3ByaXYtPnZidC5lZHBfYnBwKSB7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKPiBpbmRleCA4YzRlN2RmLi44YjYwOGMyIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKPiBAQCAtNzgsNiArNzgsOCBAQCBzdGF0aWMg Ym9vbCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gICAJCXJldHVybiBmYWxzZTsKPiAgIAl9Cj4KPiArCWlmIChkcm1fZHBfbXN0X3Bv cnRfaGFzX2F1ZGlvKCZpbnRlbF9kcC0+bXN0X21nciwgZm91bmQtPnBvcnQpKQo+ICsJCXBpcGVf Y29uZmlnLT5oYXNfYXVkaW8gPSB0cnVlOwo+ICAgCW1zdF9wYm4gPSBkcm1fZHBfY2FsY19wYm5f bW9kZShhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrLCBicHApOwo+Cj4gICAJcGlwZV9jb25maWct PnBibiA9IG1zdF9wYm47Cj4gQEAgLTEwMiw2ICsxMDQsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxf bXN0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gICAJc3RydWN0 IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KCZlbmNvZGVyLT5i YXNlKTsKPiAgIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGlu dGVsX21zdC0+cHJpbWFyeTsKPiAgIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmludGVs X2RpZ19wb3J0LT5kcDsKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNl LmRldjsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7Cj4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBlbmNvZGVyLT5iYXNlLmNydGM7Cj4g KwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4g Kwo+ICAgCWludCByZXQ7Cj4KPiAgIAlEUk1fREVCVUdfS01TKCIlZFxuIiwgaW50ZWxfZHAtPmFj dGl2ZV9tc3RfbGlua3MpOwo+IEBAIC0xMTIsNiArMTE5LDEwIEBAIHN0YXRpYyB2b2lkIGludGVs X21zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAgCWlmIChy ZXQpIHsKPiAgIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gdXBkYXRlIHBheWxvYWQgJWRcbiIsIHJl dCk7Cj4gICAJfQo+ICsJaWYgKGludGVsX2NydGMtPmNvbmZpZy0+aGFzX2F1ZGlvKSB7Cj4gKwkJ aW50ZWxfYXVkaW9fY29kZWNfZGlzYWJsZShlbmNvZGVyKTsKPiArCQlpbnRlbF9kaXNwbGF5X3Bv d2VyX3B1dChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKTsKPiArCX0KPiAgIH0KPgo+ICAg c3RhdGljIHZvaWQgaW50ZWxfbXN0X3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlcikKPiBAQCAtMjA4LDYgKzIxOSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9l bmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gICAJc3RydWN0IGludGVs X2RwICppbnRlbF9kcCA9ICZpbnRlbF9kaWdfcG9ydC0+ZHA7Cj4gICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+ICAgCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKPiAgIAll bnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0Owo+ICAgCWludCByZXQ7Cj4KPiBA QCAtMjIwLDYgKzIzMiwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfZW5hYmxlX2RwKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAgCXJldCA9IGRybV9kcF9jaGVja19hY3Rfc3Rh dHVzKCZpbnRlbF9kcC0+bXN0X21ncik7Cj4KPiAgIAlyZXQgPSBkcm1fZHBfdXBkYXRlX3BheWxv YWRfcGFydDIoJmludGVsX2RwLT5tc3RfbWdyKTsKPiArCj4gKwlpZiAoY3J0Yy0+Y29uZmlnLT5o YXNfYXVkaW8pIHsKPiArCQlEUk1fREVCVUdfRFJJVkVSKCJFbmFibGluZyBEUCBhdWRpbyBvbiBw aXBlICVjXG4iLAo+ICsJCQkJIHBpcGVfbmFtZShjcnRjLT5waXBlKSk7Cj4gKwkJaW50ZWxfZGlz cGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9BVURJTyk7Cj4gKwkJaW50ZWxf YXVkaW9fY29kZWNfZW5hYmxlKGVuY29kZXIpOwo+ICsJfQo+ICAgfQo+Cj4gICBzdGF0aWMgYm9v bCBpbnRlbF9kcF9tc3RfZW5jX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiBAQCAtMjQ1LDYgKzI2NCw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX21zdF9lbmNf Z2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPgo+ICAgCXBpcGVfY29u ZmlnLT5oYXNfZHBfZW5jb2RlciA9IHRydWU7Cj4KPiArCXBpcGVfY29uZmlnLT5oYXNfYXVkaW8g PQo+ICsJCWludGVsX2RkaV9pc19hdWRpb19lbmFibGVkKGRldl9wcml2LCBjcnRjKTsKPiArCj4g ICAJdGVtcCA9IEk5MTVfUkVBRChUUkFOU19ERElfRlVOQ19DVEwoY3B1X3RyYW5zY29kZXIpKTsK PiAgIAlpZiAodGVtcCAmIFRSQU5TX0RESV9QSFNZTkMpCj4gICAJCWZsYWdzIHw9IERSTV9NT0RF X0ZMQUdfUEhTWU5DOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggMWZmZDhkNS4u MGQyYzU5ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTEwMTEsNiArMTAx MSw4IEBAIHZvaWQgaW50ZWxfZGRpX3NldF9waXBlX3NldHRpbmdzKHN0cnVjdCBkcm1fY3J0YyAq Y3J0Yyk7Cj4gICB2b2lkIGludGVsX2RkaV9wcmVwYXJlX2xpbmtfcmV0cmFpbihzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKTsKPiAgIGJvb2wgaW50ZWxfZGRpX2Nvbm5lY3Rvcl9nZXRfaHdfc3Rh dGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKTsKPiAgIHZvaWQgaW50 ZWxfZGRpX2ZkaV9kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gK2Jvb2wgaW50ZWxf ZGRpX2lzX2F1ZGlvX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICsJCQkJIHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKTsKPiAgIHZvaWQgaW50ZWxfZGRp X2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gICAJCQkgIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7Cj4gICBzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqCj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK