From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v5 7/7] drm: create hdmi output property Date: Tue, 27 Jun 2017 15:14:43 +0300 Message-ID: <20170627121443.GS12629@intel.com> References: <1498041253-16426-1-git-send-email-shashank.sharma@intel.com> <1498041253-16426-16-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1498041253-16426-16-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Shashank Sharma Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Jose Abreu , dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKdW4gMjEsIDIwMTcgYXQgMDQ6MDQ6MTNQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1h IHdyb3RlOgo+IEhETUkgZGlzcGxheXMgY2FuIHN1cHBvcnQgdmFyaW91cyBvdXRwdXQgdHlwZXMs IGJhc2VkIG9uCj4gdGhlIGNvbG9yIHNwYWNlIGFuZCBzdWJzYW1wbGluZyB0eXBlLiBUaGUgcG9z c2libGUKPiBvdXRwdXRzIGZyb20gYSBIRE1JIDIuMCBtb25pdG9yIGNvdWxkIGJlOgo+ICAtIFJH Qgo+ICAtIFlDQkNSIDQ0NAo+ICAtIFlDQkNSIDQyMgo+ICAtIFlDQkNSIDQyMAo+IAo+IFRoaXMg cGF0Y2ggYWRkcyBhIGRybSBwcm9wZXJ0eSAiaGRtaV9vdXRwdXRfZm9ybWF0IiwgdXNpbmcgd2hp Y2gsCj4gYSB1c2VyIGNhbiBzcGVjaWZ5IGl0cyBwcmVmZXJlbmNlLCBmb3IgdGhlIEhETUkgb3V0 cHV0IHR5cGUuIFRoZQo+IG91dHB1dCB0eXBlIGVudW1zIGFyZSBzaW1pbGFyIHRvIHRoZSBtZW50 aW9uZWQgb3V0cHV0cyBhYm92ZS4gVG8KPiBoYW5kbGUgdmFyaW91cyBzdWJzYW1wbGluZyBvZiBZ Q0JDUiBvdXRwdXQgdHlwZXMsIHRoaXMgcHJvcGVydHkKPiBhbGxvd3MgdHdvIHNwZWNpYWwgY2Fz ZXM6Cj4gIC0gRFJNX0hETUlfT1VUUFVUX1lDQkNSX0hRCj4gICAgVGhpcyBpbmRpY2F0ZXMgcHJl ZmVycmVkIG91dHB1dCBzaG91bGQgYmUgWUNCQ1Igb3V0cHV0LCB3aXRoIGhpZ2hlc3QKPiAgICBz dWJzYW1wbGluZyByYXRlIGJ5IHRoZSBzb3VyY2Uvc2luaywgd2hpY2ggY2FuIGJlIHR5cGljYWxs eToKPiAgCS0geWNiY3I0NDQKPiAgCS0geWNiY3I0MjIKPiAgCS0geWNiY3I0MjAKPiAgLSBEUk1f SERNSV9PVVRQVVRfWUNCQ1JfTFEKPiAgICBUaGlzIGluZGljYXRlcyBwcmVmZXJyZWQgb3V0cHV0 IHNob3VsZCBiZSBZQ0JDUiBvdXRwdXQsIHdpdGggbG93ZXN0Cj4gICAgc3Vic2FtcGxpbmcgcmF0 ZSBzdXBwb3J0ZWQgYnkgc291cmNlL3NpbmssIHdoaWNoIGNhbiBiZToKPiAgCS0geWNiY3I0MjAK PiAgCS0geWNiY3I0MjIKPiAgCS0geWNiY3I0NDQKCkkgdGhpbmsgd2UnbGwgZXZlbnR1YWxseSBu ZWVkIHNvbWV0aGluZyBtb3JlIHRob3JvdWdoIHRoYW4gdGhpcyB0bwphbGxvdyBmdWxsIGNvbnRy b2wgb3ZlciB0aGUgQVZJIGluZm9mcmFtZS9NU0EgTUlTQy9WU0MgU0RQIGNvbG9ybWlldHJ5CnN0 dWZmLgoKU28gSSB0aGluayB3ZSBuZWVkIHRvIGNvbnRyb2wgYXQgbGVhc3QgdGhlc2UgdGhpbmdz OgotIG1heCBicGMgKHNvbWUgcGVvcGxlIHNlZW0gdG8gaGF2ZSBzb21lIHJlYWwgbmVlZHMgdG8g YXZvaWQgZGVlcCBjb2xvcikKLSByZ2ItPnljYmNyIGNvbnZlcnNpb24gKHllcy9ubykKLSB5Y2Jj ciBzdWJzYW1wbGluZyBmb3IgdGhlIGNvbnZlcnNpb24gYW5kIGluZm9mcmFtZQotIHljYmNyIGVu Y29kaW5nIGZvciB0aGUgY29udmVyc2lvbiBhbmQgaW5mb2ZyYW1lCi0gaW5mb2ZyYW1lIGNvbG9y aW1ldHJ5CgpJJ3ZlIG5vdCByZWFsbHkgZmlndXJlZCBvdXQgaG93IHdlJ2xsIHRpZSBhbGwgdGhh dCB0b2dldGhlciBpbiBhIHdheQp0aGF0IGRvZXNuJ3QgZ2V0IHN1cGVyIGNvbmZ1c2luZy4KCk9u ZSBpZGVhIG1pZ2h0IGJlIHRoYXQgdGhlIGluZm9mcmFtZSBzdHVmZiBpcyB0b3RhbGx5IGluZGVw ZW5kZW50IG9mCnRoZSByZXN0IChpZS4gd2UnbGwgZGVmaW5lIGp1c3QgYW4gZW51bSBwcm9wZXJ0 eSBmb3IgdGhlIGluZm9mcmFtZQpzdHVmZiBpbiBzYXkgdGhpcyB3YXk6CiJBdXRvbWF0aWMiLCAi c1JHQiIsICJBZG9iZVJHQiIsICJZQ2JDciBCVC42MDEgNDoyOjIiLAoieHZZQ0M3MDkgNDo0OjQi LCBldGMuCgpTbyBub25lIG9mIHRoZSBZQ2JDciBvdXRwdXQgcHJvcGVydGllcyB3b3VsZCBhY3R1 YWxseSBhZmZlY3QgdGhlCmluZm9mcmFtZSB1bmxlc3MgdGhlIHVzZXIgaGFzIHNlbGVjdGVkIHRo ZSBkZWZhdWx0ICJBdXRvbWF0aWMiIG1vZGUuClRoYXQgc2hvdWxkIGFsbG93IHRoZSB1c2VyIHRv IG91dHB1dCBhbnkga2luZCBvZiBkYXRhIHRocm91Z2ggdGhlIHBpcGUKaW4gYSBwYXNzIHRocm91 Z2ggZmFzaGlvbiAob3Igd2l0aCBtYW51YWxseSBzZXQgdXAgZ2FtbWEvZGVnYW1tYS9jc2MpLgpB bmQgY29uZmlndXJpbmcgdGhlIGluZm9yYW1lIHByb3BlcnR5IHdvdWxkIG5vdCBhZmZlY3QgdGhl IGRhdGEgcGFzc2luZwp0aHJvdWdoIHRoZSBwaXBlIGluIGFueSB3YXkuCgpCdXQgSSBwcm9iYWJs eSBuZWVkIHRvIHRoaW5rIG1vcmUgYWJvdXQgdGhpcy4gU28gZm9yIG5vdyBJIHRoaW5rIEknbGwK anVzdCB3YW50IHRvIGdldCB0aGUgYXV0b21hZ2ljICJ1c2UgWUNiQ3IgNDoyOjAgaWYgd2UgbXVz dCIgdGhpbmcKd29ya2luZyB3aXRob3V0IGFueSBuZXcgcHJvcGVydGllcyBnZXR0aW5nIGluIHRo ZSB3YXkuIFdlIGp1c3QgaGF2ZQp0byBrZWVwIGluIG1pbmQgdGhhdCB0aGlzIGF1dG9tYWdpYyBj b252ZXJzaW9uIHRoaW5nIG11c3Qgc3RpbGwgd29yawp3aGVuIHdlIGFkZCBzb21lIHByb3BlcnRp ZXMsIGJ1dCBJIHRoaW5rIHRoYXQgY2FuIGdlbmVyYWxseSBiZSBhY2hpZXZlZAp3aXRoIHNvbWUg IkF1dG9tYXRpYyIgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMuCgo+IAo+IERlZmF1bHQgdmFsdWUg b2YgdGhlIHByb3BlcnR5IGlzIHNldCB0byAwID0gUkdCLCBzbyBubyBjaGFuZ2VzIGlmIHlvdQo+ IGRvbnQgc2V0IHRoZSBwcm9wZXJ0eS4KPiAKPiBQUzogV2hpbGUgZG9pbmcgbW9kZXNldCBmb3Ig WUNCQ1IgNDIwIG9ubHkgbW9kZXMsIHRoaXMgcHJvcGVydHkgaXMKPiAgICAgaWdub3JlZCwgYXMg dGhvc2UgdGltaW5ncyBjYW4gYmUgc3VwcG9ydGVkIG9ubHkgaW4gWUNCQ1IgNDIwCj4gICAgIG91 dHB1dCBtb2RlLgo+IAo+IFYyOiBBZGRlZCBkZXNjcmlwdGlvbiBmb3IgdGhlIG5ldyB2YXJpYWJs ZSB0byBhZGRyZXNzIGJ1aWxkIHdhcm5pbmcKPiBWMzogUmViYXNlCj4gVjQ6IFJlYmFzZQo+IFY1 OiBBZGRlZCBnZXRfcHJvcGVydHkgY291bnRlcnBhcnQgdG8gZml4IElHVCBCQVQgZmFpbHVyZXMK PiAKPiBDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g Q2M6IEpvc2UgQWJyZXUgPGpvYWJyZXVAc3lub3BzeXMuY29tPgo+IENjOiBEYW5pZWwgVmV0dGVy IDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFy bWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljLmMgICAgICAgIHwgIDQgKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuYyB8ICA0ICsrKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAg ICAgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBpbmNsdWRlL2RybS9k cm1fY29ubmVjdG9yLmggICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKwo+ICBpbmNsdWRl L2RybS9kcm1fbW9kZV9jb25maWcuaCAgICAgICB8ICA1ICsrKysrCj4gIDUgZmlsZXMgY2hhbmdl ZCwgNjMgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IDc3ZGNlZjAu LmVhOTBmOGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBAQCAtMTE5Miw2ICsxMTkyLDggQEAg aW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAo+ICAJCXN0YXRlLT5waWN0dXJlX2FzcGVjdF9yYXRpbyA9IHZhbDsKPiAg CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5zY2FsaW5nX21vZGVfcHJvcGVydHkp IHsKPiAgCQlzdGF0ZS0+c2NhbGluZ19tb2RlID0gdmFsOwo+ICsJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBjb25maWctPmhkbWlfb3V0cHV0X3Byb3BlcnR5KSB7Cj4gKwkJc3RhdGUtPmhkbWlfb3V0 cHV0ID0gdmFsOwo+ICAJfSBlbHNlIGlmIChjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfc2V0X3By b3BlcnR5KSB7Cj4gIAkJcmV0dXJuIGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVy dHkoY29ubmVjdG9yLAo+ICAJCQkJc3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+IEBAIC0xMjcyLDYg KzEyNzQsOCBAQCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkqdmFsID0gc3RhdGUtPnBpY3R1cmVfYXNwZWN0X3Jh dGlvOwo+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPnNjYWxpbmdfbW9kZV9w cm9wZXJ0eSkgewo+ICAJCSp2YWwgPSBzdGF0ZS0+c2NhbGluZ19tb2RlOwo+ICsJfSBlbHNlIGlm IChwcm9wZXJ0eSA9PSBjb25maWctPmhkbWlfb3V0cHV0X3Byb3BlcnR5KSB7Cj4gKwkJKnZhbCA9 IHN0YXRlLT5oZG1pX291dHB1dDsKPiAgCX0gZWxzZSBpZiAoY29ubmVjdG9yLT5mdW5jcy0+YXRv bWljX2dldF9wcm9wZXJ0eSkgewo+ICAJCXJldHVybiBjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNf Z2V0X3Byb3BlcnR5KGNvbm5lY3RvciwKPiAgCQkJCXN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IGluZGV4IDg2ZDMwOTMuLjEzNTZiM2YgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IEBAIC02MzcsNiArNjM3LDEwIEBA IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX21vZGVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK PiAgCQkJaWYgKG9sZF9jb25uZWN0b3Jfc3RhdGUtPmxpbmtfc3RhdHVzICE9Cj4gIAkJCSAgICBu ZXdfY29ubmVjdG9yX3N0YXRlLT5saW5rX3N0YXR1cykKPiAgCQkJCW5ld19jcnRjX3N0YXRlLT5j b25uZWN0b3JzX2NoYW5nZWQgPSB0cnVlOwo+ICsKPiArCQkJaWYgKG9sZF9jb25uZWN0b3Jfc3Rh dGUtPmhkbWlfb3V0cHV0ICE9Cj4gKwkJCSAgICBuZXdfY29ubmVjdG9yX3N0YXRlLT5oZG1pX291 dHB1dCkKPiArCQkJCW5ld19jcnRjX3N0YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgPSB0cnVlOwo+ ICAJCX0KPiAgCj4gIAkJaWYgKGZ1bmNzLT5hdG9taWNfY2hlY2spCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5l Y3Rvci5jCj4gaW5kZXggNWNkNjFhZi4uZjNjNTkyOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0 b3IuYwo+IEBAIC0yMjcsNiArMjI3LDExIEBAIGludCBkcm1fY29ubmVjdG9yX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJCQkgICAgICBjb25maWctPmVkaWRfcHJvcGVydHksCj4g IAkJCQkJICAgICAgMCk7Cj4gIAo+ICsJaWYgKGNvbm5lY3Rvcl90eXBlICE9IERSTV9NT0RFX0NP Tk5FQ1RPUl9WSVJUVUFMKQo+ICsJCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0 b3ItPmJhc2UsCj4gKwkJCQkJICAgY29uZmlnLT5oZG1pX291dHB1dF9wcm9wZXJ0eSwKPiArCQkJ CQkgICAwKTsKPiArCj4gIAlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5i YXNlLAo+ICAJCQkJICAgICAgY29uZmlnLT5kcG1zX3Byb3BlcnR5LCAwKTsKPiAgCj4gQEAgLTYx Nyw2ICs2MjIsMjYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJt X2xpbmtfc3RhdHVzX2VudW1fbGlzdFtdID0gewo+ICB9Owo+ICBEUk1fRU5VTV9OQU1FX0ZOKGRy bV9nZXRfbGlua19zdGF0dXNfbmFtZSwgZHJtX2xpbmtfc3RhdHVzX2VudW1fbGlzdCkKPiAgCj4g K3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGRybV9oZG1pX291dHB1dF9l bnVtX2xpc3RbXSA9IHsKPiArCXsgRFJNX0hETUlfT1VUUFVUX0RFRkFVTFRfUkdCLCAib3V0cHV0 X3JnYiIgfSwKPiArCXsgRFJNX0hETUlfT1VUUFVUX1lDQkNSNDQ0LCAib3V0cHV0X3ljYmNyNDQ0 IiB9LAo+ICsJeyBEUk1fSERNSV9PVVRQVVRfWUNCQ1I0MjIsICJvdXRwdXRfeWNiY3I0MjIiIH0s Cj4gKwl7IERSTV9IRE1JX09VVFBVVF9ZQ0JDUjQyMCwgIm91dHB1dF95Y2JjcjQyMCIgfSwKPiAr CXsgRFJNX0hETUlfT1VUUFVUX1lDQkNSX0hRLCAib3V0cHV0X3ljYmNyX2hpZ2hfc3Vic2FtcGxp bmciIH0sCj4gKwl7IERSTV9IRE1JX09VVFBVVF9ZQ0JDUl9MUSwgIm91dHB1dF95Y2Jjcl9sb3df c3Vic2FtcGxpbmciIH0sCj4gKwl7IERSTV9IRE1JX09VVFBVVF9JTlZBTElELCAiaW52YWxpZF9v dXRwdXQiIH0sCj4gK307Cj4gKwo+ICsvKioKPiArICogZHJtX2dldF9oZG1pX291dHB1dF9uYW1l IC0gcmV0dXJuIGEgc3RyaW5nIGZvciBhIGdpdmVuIGhkbWkgb3V0cHV0IGVudW0KPiArICogQHR5 cGU6IGVudW0gb2Ygb3V0cHV0IHR5cGUKPiArICovCj4gK2NvbnN0IGNoYXIgKmRybV9nZXRfaGRt aV9vdXRwdXRfbmFtZShlbnVtIGRybV9oZG1pX291dHB1dF90eXBlIHR5cGUpCj4gK3sKPiArCXJl dHVybiBkcm1faGRtaV9vdXRwdXRfZW51bV9saXN0W3R5cGVdLm5hbWU7Cj4gK30KPiArRVhQT1JU X1NZTUJPTChkcm1fZ2V0X2hkbWlfb3V0cHV0X25hbWUpOwo+ICsKPiAgLyoqCj4gICAqIGRybV9k aXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRzIC0gc2V0IHRoZSBzdXBwb3J0ZWQgYnVzIGZvcm1h dHMKPiAgICogQGluZm86IGRpc3BsYXkgaW5mbyB0byBzdG9yZSBidXMgZm9ybWF0cyBpbgo+IEBA IC03ODksNiArODE0LDEzIEBAIGludCBkcm1fY29ubmVjdG9yX2NyZWF0ZV9zdGFuZGFyZF9wcm9w ZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJcmV0dXJuIC1FTk9NRU07Cj4gIAlk ZXYtPm1vZGVfY29uZmlnLmxpbmtfc3RhdHVzX3Byb3BlcnR5ID0gcHJvcDsKPiAgCj4gKwlwcm9w ID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgImhkbWlfb3V0cHV0X2Zvcm1hdCIs Cj4gKwkJCQkJZHJtX2hkbWlfb3V0cHV0X2VudW1fbGlzdCwKPiArCQkJCQlBUlJBWV9TSVpFKGRy bV9oZG1pX291dHB1dF9lbnVtX2xpc3QpKTsKPiArCWlmICghcHJvcCkKPiArCQlyZXR1cm4gLUVO T01FTTsKPiArCWRldi0+bW9kZV9jb25maWcuaGRtaV9vdXRwdXRfcHJvcGVydHkgPSBwcm9wOwo+ ICsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f Y29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiBpbmRleCAxMzA1ZmU5 Li41YmExZjMyIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+IEBAIC0zMjEsNiArMzIxLDE3IEBAIHN0 cnVjdCBkcm1fdHZfY29ubmVjdG9yX3N0YXRlIHsKPiAgCXVuc2lnbmVkIGludCBodWU7Cj4gIH07 Cj4gIAo+ICsvKiBIRE1JIG91dHB1dCBwaXhlbCBmb3JtYXQgKi8KPiArZW51bSBkcm1faGRtaV9v dXRwdXRfdHlwZSB7Cj4gKwlEUk1fSERNSV9PVVRQVVRfREVGQVVMVF9SR0IsIC8qIGRlZmF1bHQg UkdCICovCj4gKwlEUk1fSERNSV9PVVRQVVRfWUNCQ1I0NDQsIC8qIFlDQkNSIDQ0NCAqLwo+ICsJ RFJNX0hETUlfT1VUUFVUX1lDQkNSNDIyLCAvKiBZQ0JDUiA0MjIgKi8KPiArCURSTV9IRE1JX09V VFBVVF9ZQ0JDUjQyMCwgLyogWUNCQ1IgNDIwICovCj4gKwlEUk1fSERNSV9PVVRQVVRfWUNCQ1Jf SFEsIC8qIEhpZ2hlc3Qgc3Vic2FtcGxlZCBZVVYgKi8KPiArCURSTV9IRE1JX09VVFBVVF9ZQ0JD Ul9MUSwgLyogTG93ZXN0IHN1YnNhbXBsZWQgWVVWICovCj4gKwlEUk1fSERNSV9PVVRQVVRfSU5W QUxJRCwgLyogR3Vlc3Mgd2hhdCA/ICovCj4gK307Cj4gKwo+ICAvKioKPiAgICogc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgLSBtdXRhYmxlIGNvbm5lY3RvciBzdGF0ZQo+ICAgKiBAY29ubmVj dG9yOiBiYWNrcG9pbnRlciB0byB0aGUgY29ubmVjdG9yCj4gQEAgLTM2NSw2ICszNzYsMTIgQEAg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgewo+ICAJICogdXBzY2FsaW5nLCBtb3N0bHkgdXNl ZCBmb3IgYnVpbHQtaW4gcGFuZWxzLgo+ICAJICovCj4gIAl1bnNpZ25lZCBpbnQgc2NhbGluZ19t b2RlOwo+ICsKPiArCS8qKgo+ICsJICogQGhkbWlfb3V0cHV0OiBDb25uZWN0b3IgcHJvcGVydHkg dG8gY29udHJvbCB0aGUKPiArCSAqIEhETUkgb3V0cHV0IG1vZGUgKFJHQi9ZQ0JDUjQ0NC80MjIv NDIwKS4KPiArCSAqLwo+ICsJZW51bSBkcm1faGRtaV9vdXRwdXRfdHlwZSBoZG1pX291dHB1dDsK PiAgfTsKPiAgCj4gIC8qKgo+IEBAIC05OTMsNiArMTAxMCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9p ZCBkcm1fY29ubmVjdG9yX3VucmVmZXJlbmNlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gIAo+ICBjb25zdCBjaGFyICpkcm1fZ2V0X2Nvbm5lY3Rvcl9zdGF0dXNfbmFtZShlbnVt IGRybV9jb25uZWN0b3Jfc3RhdHVzIHN0YXR1cyk7Cj4gIGNvbnN0IGNoYXIgKmRybV9nZXRfc3Vi cGl4ZWxfb3JkZXJfbmFtZShlbnVtIHN1YnBpeGVsX29yZGVyIG9yZGVyKTsKPiArY29uc3QgY2hh ciAqZHJtX2dldF9oZG1pX291dHB1dF9uYW1lKGVudW0gZHJtX2hkbWlfb3V0cHV0X3R5cGUgdHlw ZSk7Cj4gIGNvbnN0IGNoYXIgKmRybV9nZXRfZHBtc19uYW1lKGludCB2YWwpOwo+ICBjb25zdCBj aGFyICpkcm1fZ2V0X2R2aV9pX3N1YmNvbm5lY3Rvcl9uYW1lKGludCB2YWwpOwo+ICBjb25zdCBj aGFyICpkcm1fZ2V0X2R2aV9pX3NlbGVjdF9uYW1lKGludCB2YWwpOwo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZp Zy5oCj4gaW5kZXggNDI5ODE3MS4uMTg4NzI2MSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9k cm1fbW9kZV9jb25maWcuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4g QEAgLTc0MCw2ICs3NDAsMTEgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7Cj4gIAkgKiB0aGUg cG9zaXRpb24gb2YgdGhlIG91dHB1dCBvbiB0aGUgaG9zdCdzIHNjcmVlbi4KPiAgCSAqLwo+ICAJ c3RydWN0IGRybV9wcm9wZXJ0eSAqc3VnZ2VzdGVkX3lfcHJvcGVydHk7Cj4gKwkvKioKPiArCSAq IEBoZG1pX291dHB1dF9wcm9wZXJ0eTogb3V0cHV0IHBpeGVsIGZvcm1hdCBmcm9tIEhETUkgZGlz cGxheQo+ICsJICogRGVmYXVsdCBpcyBzZXQgZm9yIFJHQgo+ICsJICovCj4gKwlzdHJ1Y3QgZHJt X3Byb3BlcnR5ICpoZG1pX291dHB1dF9wcm9wZXJ0eTsKPiAgCj4gIAkvKiBkdW1iIGlvY3RsIHBh cmFtZXRlcnMgKi8KPiAgCXVpbnQzMl90IHByZWZlcnJlZF9kZXB0aCwgcHJlZmVyX3NoYWRvdzsK PiAtLSAKPiAyLjcuNAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==