From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v3] drm/i915: start adding dp mst audio Date: Fri, 25 Nov 2016 16:22:41 +0200 Message-ID: <871sxzvdu6.fsf@intel.com> References: <1479101531-89624-1-git-send-email-libin.yang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id A362A6E37F for ; Fri, 25 Nov 2016 14:22:45 +0000 (UTC) In-Reply-To: <1479101531-89624-1-git-send-email-libin.yang@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: libin.yang@intel.com, intel-gfx@lists.freedesktop.org, ville.syrjala@linux.intel.com, daniel.vetter@intel.com, tiwai@suse.de Cc: Libin Yang , Dhinakaran Pandiyan , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAxNCBOb3YgMjAxNiwgbGliaW4ueWFuZ0BpbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTog TGliaW4gWWFuZyA8bGliaW4ueWFuZ0BsaW51eC5pbnRlbC5jb20+Cj4KPiAoVGhpcyBwYXRjaCBp cyBkZXZlbG9wZWQgYnkgRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4gb3JpZ2luYWxs eSkKPgo+IFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciBEUCBNU1QgYXVkaW8gaW4gaTkxNS4K Pgo+IEVuYWJsZSBhdWRpbyBjb2RlYyB3aGVuIERQIE1TVCBpcyBlbmFibGVkIGlmIGhhc19hdWRp byBmbGFnIGlzIHNldC4KPiBEaXNhYmxlIGF1ZGlvIGNvZGVjIHdoZW4gRFAgTVNUIGlzIGRpc2Fi bGVkIGlmIGhhc19hdWRpbyBmbGFnIGlzIHNldC4KPgo+IEFub3RoZXIgc2VwYXJhdGVkIHBhdGNo ZXMgdG8gc3VwcG9ydCBEUCBNU1QgYXVkaW8gd2lsbCBiZSBpbXBsZW1lbnRlZAo+IGluIGF1ZGlv IGRyaXZlci4KPgo+IHYyOgo+IFJlYmFzZWQuCj4gdjM6Cj4gcmVmaW5lIHRvIHN1cHBvcnQgdXBk YXRlZCBpbnRlbF9hdWRpb19jb2RlY19lbmFibGUoKQoKSSB2aWV3IHRoaXMgcGF0Y2ggZGlmZmVy ZW50IGZyb20gdXN1YWwgYmVjYXVzZSB0aGlzIHJlZ3Jlc3NlZCBhbmQgd2FzCnJldmVydGVkIGJl Zm9yZS4gUGxlYXNlIHNwbGl0IHRoaXMgdXAgdG8gdGhyZWUgcGF0Y2hlczoKCjEpIERvIGludGVs X2RwX21zdF9pbmZvKCkgaW4gaTkxNV9kZWJ1Z2ZzLmMuIFRoZSBpbmZvcm1hdGlvbiBwcmludGVk CiAgIGxvb2tzIGF0IHRoZSBzaW5rLCBub3QgcGlwZSBjb25maWcsIHNvIHRoaXMgaXMgbm90IGRl cGVuZGVudCBvbiB0aGUKICAgcmVzdC4KCjIpIEFic3RyYWN0IGludGVsX2RkaV9pc19hdWRpb19l bmFibGVkKCkuIEl0J3MgYSBuaWNlIGNsZWFuCiAgIG5vbi1mdW5jdGlvbmFsIGNoYW5nZS4KCjMp IFRoZSByZXN0LiBUaGUgbGFzdCBwYXRjaCAqbXVzdCogcmVmZXJlbmNlIHRoZSBvcmlnaW5hbCBj b21taXQgYW5kIHRoZQogICByZXZlcnQ6CgogICAzNzA4ZDVlMDgyYzMgKCJkcm0vaTkxNTogc3Rh cnQgYWRkaW5nIGRwIG1zdCBhdWRpbyIpCiAgIGJlNzU0YjEwMWY3MCAoIlJldmVydCAiZHJtL2k5 MTU6IHN0YXJ0IGFkZGluZyBkcCBtc3QgYXVkaW8iIikKCiAgIFBsZWFzZSByZW5hbWUgdGhlIHBh dGNoIHRpdGxlIHRvIHNvbWV0aGluZyBsaWtlLCAiZW5hYmxlIGRwIG1zdAogICBhdWRpbyIgdG8g ZGlzdGluZ3Vpc2guCgpJZiB0aGUgc3BsaXQgaGFkIGJlZW4gZG9uZSBvcmlnaW5hbGx5LCB3ZSB3 b3VsZCBvbmx5IGhhdmUgcmV2ZXJ0ZWQgcGFydAozLCBub3QgYWxsIG9mIGl0LiBQbGVhc2UgZG8g aXQgbm93LgoKTW9yZSBjb21tZW50cyBpbmxpbmUuCgo+Cj4gU2lnbmVkLW9mZi1ieTogTGliaW4g WWFuZyA8bGliaW4ueWFuZ0BsaW51eC5pbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogRGhpbmFr YXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gUmV2aWV3ZWQt Ynk6IEx5dWRlIDxjcGF1bEByZWRoYXQuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFJvZHJpZ28gVml2 aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiBMaW5rOiBodHRwOi8vcGF0Y2h3b3JrLmZyZWVk ZXNrdG9wLm9yZy9wYXRjaC9tc2dpZC8xNDc0MzM0NjgxLTIyNjkwLTYtZ2l0LXNlbmQtZW1haWwt ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMgfCAxOSArKysrKysrKysrKysrKysrKystCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jICAgIHwgMjAgKysrKysrKysrKysrKysrLS0tLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgfCAxOCArKysrKysrKysrKysrKysrKysK PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgMiArKwo+ICA0IGZpbGVz IGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IGJjZTM4ODAuLjM0NDIzODEgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0yODkzLDYgKzI4OTMsMjAgQEAgc3RhdGlj IHZvaWQgaW50ZWxfZHBfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCj4gIAkJCQkmaW50ZWxfZHAt PmF1eCk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGludGVsX2RwX21zdF9pbmZvKHN0cnVjdCBz ZXFfZmlsZSAqbSwKPiArCQkJICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0 b3IpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gaW50ZWxf Y29ubmVjdG9yLT5lbmNvZGVyOwo+ICsJc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRl bF9tc3QgPQo+ICsJCWVuY190b19tc3QoJmludGVsX2VuY29kZXItPmJhc2UpOwo+ICsJc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBpbnRlbF9tc3QtPnByaW1hcnk7 Cj4gKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmludGVsX2RpZ19wb3J0LT5kcDsKPiAr CWJvb2wgaGFzX2F1ZGlvID0gZHJtX2RwX21zdF9wb3J0X2hhc19hdWRpbygmaW50ZWxfZHAtPm1z dF9tZ3IsCj4gKwkJCQkJaW50ZWxfY29ubmVjdG9yLT5wb3J0KTsKPiArCj4gKwlzZXFfcHJpbnRm KG0sICJcdGF1ZGlvIHN1cHBvcnQ6ICVzXG4iLCB5ZXNubyhoYXNfYXVkaW8pKTsKPiArfQo+ICsK PiAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwKPiAgCQkJ ICAgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKPiAgewo+IEBAIC0y OTM1LDcgKzI5NDksMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxfY29ubmVjdG9yX2luZm8oc3RydWN0 IHNlcV9maWxlICptLAo+ICAJc3dpdGNoIChjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlKSB7Cj4g IAljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydDoKPiAgCWNhc2UgRFJNX01PREVf Q09OTkVDVE9SX2VEUDoKPiAtCQlpbnRlbF9kcF9pbmZvKG0sIGludGVsX2Nvbm5lY3Rvcik7Cj4g KwkJaWYgKGludGVsX2VuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0RQX01TVCkKPiArCQkJ aW50ZWxfZHBfbXN0X2luZm8obSwgaW50ZWxfY29ubmVjdG9yKTsKPiArCQllbHNlCj4gKwkJCWlu dGVsX2RwX2luZm8obSwgaW50ZWxfY29ubmVjdG9yKTsKClRoZSBhYm92ZSB0d28gaHVua3MgbWFr ZSB1cCBwYXRjaCAxLzMuCgo+ICAJCWJyZWFrOwo+ICAJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1Jf TFZEUzoKPiAgCQlpZiAoaW50ZWxfZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfTFZEUykK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IGluZGV4IDBhZDRlMTYuLmIxZTM0NDIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IEBAIC0xOTUxLDYgKzE5NTEsMTkgQEAgdm9pZCBp bnRlbF9kZGlfcHJlcGFyZV9saW5rX3JldHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK PiAgCXVkZWxheSg2MDApOwo+ICB9Cj4gIAo+ICtib29sIGludGVsX2RkaV9pc19hdWRpb19lbmFi bGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJCSBzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YykKPiArewo+ICsJdTMyIHRlbXA7Cj4gKwo+ICsJaWYgKGludGVs X2Rpc3BsYXlfcG93ZXJfaXNfZW5hYmxlZChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKSkg ewo+ICsJCXRlbXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCk7Cj4gKwkJaWYg KHRlbXAgJiBBVURJT19PVVRQVVRfRU5BQkxFKGludGVsX2NydGMtPnBpcGUpKQo+ICsJCQlyZXR1 cm4gdHJ1ZTsKPiArCX0KPiArCXJldHVybiBmYWxzZTsKPiArfQo+ICsKPiAgdm9pZCBpbnRlbF9k ZGlfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJICBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4gIHsKPiBAQCAtMjAxNiwxMSArMjAy OSw4IEBAIHZvaWQgaW50ZWxfZGRpX2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gIAkJYnJlYWs7Cj4gIAl9Cj4gIAo+IC0JaWYgKGludGVsX2Rpc3BsYXlfcG93ZXJf aXNfZW5hYmxlZChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKSkgewo+IC0JCXRlbXAgPSBJ OTE1X1JFQUQoSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCk7Cj4gLQkJaWYgKHRlbXAgJiBBVURJT19P VVRQVVRfRU5BQkxFKGludGVsX2NydGMtPnBpcGUpKQo+IC0JCQlwaXBlX2NvbmZpZy0+aGFzX2F1 ZGlvID0gdHJ1ZTsKPiAtCX0KPiArCXBpcGVfY29uZmlnLT5oYXNfYXVkaW8gPQo+ICsJCWludGVs X2RkaV9pc19hdWRpb19lbmFibGVkKGRldl9wcml2LCBpbnRlbF9jcnRjKTsKClRoZSBhYm92ZSB0 d28gaHVua3MgKyBkZWNsYXJhdGlvbiBpbiBpbnRlbF9kcnYuaCBtYWtlIHVwIHBhdGNoIDIvMy4K Cj4gIAo+ICAJaWYgKGVuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCAmJiBkZXZfcHJp di0+dmJ0LmVkcC5icHAgJiYKPiAgCSAgICBwaXBlX2NvbmZpZy0+cGlwZV9icHAgPiBkZXZfcHJp di0+dmJ0LmVkcC5icHApIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+IGluZGV4 IDNmZmJkNjkuLjk2ZmY2YTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHBfbXN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+ IEBAIC0zNyw2ICszNyw4IEBAIHN0YXRpYyBib29sIGludGVsX2RwX21zdF9jb21wdXRlX2NvbmZp ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXN0cnVjdCBpbnRlbF9kcF9tc3Rf ZW5jb2RlciAqaW50ZWxfbXN0ID0gZW5jX3RvX21zdCgmZW5jb2Rlci0+YmFzZSk7Cj4gIAlzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGludGVsX21zdC0+cHJpbWFy eTsKPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwo+ ICsJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0KPiArCQl0b19pbnRlbF9jb25u ZWN0b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKPiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZTsKPiAgCWludCBicHA7Cj4gIAlpbnQgbGFuZV9jb3VudCwgc2xvdHM7Cj4gQEAgLTU5 LDYgKzYxLDggQEAgc3RhdGljIGJvb2wgaW50ZWxfZHBfbXN0X2NvbXB1dGVfY29uZmlnKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAKPiAgCXN0YXRlID0gcGlwZV9jb25maWctPmJh c2Uuc3RhdGU7Cj4gIAo+ICsJaWYgKGRybV9kcF9tc3RfcG9ydF9oYXNfYXVkaW8oJmludGVsX2Rw LT5tc3RfbWdyLCBjb25uZWN0b3ItPnBvcnQpKQo+ICsJCXBpcGVfY29uZmlnLT5oYXNfYXVkaW8g PSB0cnVlOwo+ICAJbXN0X3BibiA9IGRybV9kcF9jYWxjX3Bibl9tb2RlKGFkanVzdGVkX21vZGUt PmNydGNfY2xvY2ssIGJwcCk7Cj4gIAo+ICAJcGlwZV9jb25maWctPnBibiA9IG1zdF9wYm47Cj4g QEAgLTg0LDYgKzg4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X2Rpc2FibGVfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0g JmludGVsX2RpZ19wb3J0LT5kcDsKPiAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv ciA9Cj4gIAkJdG9faW50ZWxfY29ubmVjdG9yKG9sZF9jb25uX3N0YXRlLT5jb25uZWN0b3IpOwo+ ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5i YXNlLmRldik7Cj4gIAlpbnQgcmV0Owo+ICAKPiAgCURSTV9ERUJVR19LTVMoIiVkXG4iLCBpbnRl bF9kcC0+YWN0aXZlX21zdF9saW5rcyk7Cj4gQEAgLTk0LDYgKzk5LDEwIEBAIHN0YXRpYyB2b2lk IGludGVsX21zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJ aWYgKHJldCkgewo+ICAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHVwZGF0ZSBwYXlsb2FkICVkXG4i LCByZXQpOwo+ICAJfQo+ICsJaWYgKG9sZF9jcnRjX3N0YXRlLT5oYXNfYXVkaW8pIHsKPiArCQlp bnRlbF9hdWRpb19jb2RlY19kaXNhYmxlKGVuY29kZXIpOwo+ICsJCWludGVsX2Rpc3BsYXlfcG93 ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fQVVESU8pOwo+ICsJfQo+ICB9Cj4gIAo+ICBz dGF0aWMgdm9pZCBpbnRlbF9tc3RfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+IEBAIC0yMDYsNiArMjE1LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9l bmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlyZXQgPSBkcm1fZHBf Y2hlY2tfYWN0X3N0YXR1cygmaW50ZWxfZHAtPm1zdF9tZ3IpOwo+ICAKPiAgCXJldCA9IGRybV9k cF91cGRhdGVfcGF5bG9hZF9wYXJ0MigmaW50ZWxfZHAtPm1zdF9tZ3IpOwo+ICsJaWYgKHBpcGVf Y29uZmlnLT5oYXNfYXVkaW8pIHsKPiArCQlEUk1fREVCVUdfRFJJVkVSKCJFbmFibGluZyBEUCBh dWRpbyBvbiBwaXBlICVjXG4iLAo+ICsJCQkJIHBpcGVfbmFtZShpbnRlbF9tc3QtPnBpcGUpKTsK Ck5vdCB0aHJpbGxlZCBhYm91dCB0aGUgZGVidWcgbG9nZ2luZyBoZXJlLiBJcyB0aGUgaW5mb3Jt YXRpb24gaW4KaW50ZWxfYXVkaW9fY29kZWNfZW5hYmxlKCkgbm90IGVub3VnaD8gQ2FuIHRoYXQg YmUgYW1lbmRlZCBpbnN0ZWFkPwoKQlIsCkphbmkuCgo+ICsJCWludGVsX2Rpc3BsYXlfcG93ZXJf Z2V0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fQVVESU8pOwo+ICsJCWludGVsX2F1ZGlvX2NvZGVj X2VuYWJsZShlbmNvZGVyLCBwaXBlX2NvbmZpZywgY29ubl9zdGF0ZSk7Cj4gKwl9Cj4gIH0KPiAg Cj4gIHN0YXRpYyBib29sIGludGVsX2RwX21zdF9lbmNfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+IEBAIC0yMjgsNiArMjQzLDkgQEAgc3RhdGljIHZvaWQgaW50 ZWxfZHBfbXN0X2VuY19nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ICAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gcGlwZV9jb25maWctPmNwdV90cmFu c2NvZGVyOwo+ICAJdTMyIHRlbXAsIGZsYWdzID0gMDsKPiAgCj4gKwlwaXBlX2NvbmZpZy0+aGFz X2F1ZGlvID0KPiArCQlpbnRlbF9kZGlfaXNfYXVkaW9fZW5hYmxlZChkZXZfcHJpdiwgY3J0Yyk7 Cj4gKwo+ICAJdGVtcCA9IEk5MTVfUkVBRChUUkFOU19ERElfRlVOQ19DVEwoY3B1X3RyYW5zY29k ZXIpKTsKPiAgCWlmICh0ZW1wICYgVFJBTlNfRERJX1BIU1lOQykKPiAgCQlmbGFncyB8PSBEUk1f TU9ERV9GTEFHX1BIU1lOQzsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDAwM2Fm YjguLjhjOWFhMGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMTY2LDYg KzExNjYsOCBAQCBib29sIGludGVsX2RkaV9wbGxfc2VsZWN0KHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjLAo+ICB2b2lkIGludGVsX2RkaV9zZXRfcGlwZV9zZXR0aW5ncyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpOwo+ICB2b2lkIGludGVsX2RkaV9wcmVwYXJlX2xpbmtfcmV0cmFpbihzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKTsKPiAgYm9vbCBpbnRlbF9kZGlfY29ubmVjdG9yX2dldF9od19zdGF0 ZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpOwo+ICtib29sIGludGVs X2RkaV9pc19hdWRpb19lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiArCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0Yyk7Cj4gIHZvaWQgaW50ZWxfZGRp X2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCSAgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiAgc3RydWN0IGludGVsX2VuY29kZXIg KgoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK