From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: Re: [PATCH v3 06/10] drm: Add CP downstream_info property Date: Wed, 27 Mar 2019 19:30:13 +0530 Message-ID: <20190327140013.GF3905@intel.com> References: <20190322004448.14045-1-ramalingam.c@intel.com> <20190322004448.14045-7-ramalingam.c@intel.com> <20190327102504.GC2665@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190327102504.GC2665@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMjAxOS0wMy0yNyBhdCAxMToyNTowNCArMDEwMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBP biBGcmksIE1hciAyMiwgMjAxOSBhdCAwNjoxNDo0NEFNICswNTMwLCBSYW1hbGluZ2FtIEMgd3Jv dGU6Cj4gPiBUaGlzIHBhdGNoIGFkZHMgYSBvcHRpb25hbCBDUCBkb3duc3RyZWFtIGluZm8gYmxv YiBwcm9wZXJ0eSB0byB0aGUKPiA+IGNvbm5lY3RvcnMuIFRoaXMgZW5hYmxlcyB0aGUgVXNlcnNw YWNlIHRvIHJlYWQgdGhlIGluZm9ybWF0aW9uIG9mIEhEQ1AKPiA+IGF1dGhlbnRpY2F0ZWQgZG93 bnN0cmVhbSB0b3BvbG9neS4KPiA+IAo+ID4gRHJpdmVyIHdpbGwgdXBkYXRlZCB0aGlzIGJsb2Ig d2l0aCBhbGwgZG93bnN0cmVhbSBpbmZvcm1hdGlvbiBhdCB0aGUKPiA+IGVuZCBvZiB0aGUgYXV0 aGVudGljYXRpb24uCj4gPiAKPiA+IEluIGNhc2UgdXNlcnNwYWNlIGNvbmZpZ3VyZXMgdGhpcyBw bGF0Zm9ybSBhcyByZXBlYXRlciwgdGhlbiB0aGlzCj4gPiBpbmZvcm1hdGlvbiBpcyBuZWVkZWQg Zm9yIHRoZSBhdXRoZW50aWNhdGlvbiB3aXRoIHVwc3RyZWFtIEhEQ1AKPiA+IHRyYW5zbWl0dGVy Lgo+ID4gCj4gPiB2MjoKPiA+ICAgcy9jcF9kb3duc3RyZWFtL2NvbnRlbnRfcHJvdGVjdGlvbl9k b3duc3RyZWFtIFtkYW5pZWxdCj4gPiB2MzoKPiA+ICAgcy9jb250ZW50X3Byb3RlY3Rpb25fZG93 bnN0cmVhbS9oZGNwX3RvcG9sb2d5IFtkYW5pZWxdCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFJh bWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyB8ICA0ICsrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2Ry bV9jb25uZWN0b3IuYyAgIHwgODYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4g IGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICB8IDEyICsrKysrCj4gPiAgaW5jbHVk ZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgIHwgMjcgKysrKysrKysrKwo+ID4gIDQgZmlsZXMg Y2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKykKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3Vh cGkuYwo+ID4gaW5kZXggODU3Y2E2ZmE2ZmQwLi40MjQ2ZTg5ODhjMjkgMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ID4gQEAgLTgyNiw2ICs4MjYsMTAgQEAgZHJtX2F0b21p Y19jb25uZWN0b3JfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is Cj4gPiAgCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbjsKPiA+ICAJfSBlbHNlIGlm IChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmhkY3BfY29udGVudF90eXBlX3Byb3BlcnR5KSB7Cj4g PiAgCQkqdmFsID0gc3RhdGUtPmhkY3BfY29udGVudF90eXBlOwo+ID4gKwl9IGVsc2UgaWYgKHBy b3BlcnR5ID09Cj4gPiArCQkgICBjb25uZWN0b3ItPmhkY3BfdG9wb2xvZ3lfcHJvcGVydHkpIHsK PiA+ICsJCSp2YWwgPSBjb25uZWN0b3ItPmhkY3BfdG9wb2xvZ3lfYmxvYl9wdHIgPwo+ID4gKwkJ CWNvbm5lY3Rvci0+aGRjcF90b3BvbG9neV9ibG9iX3B0ci0+YmFzZS5pZCA6IDA7Cj4gPiAgCX0g ZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT53cml0ZWJhY2tfZmJfaWRfcHJvcGVydHkpIHsK PiA+ICAJCS8qIFdyaXRlYmFjayBmcmFtZWJ1ZmZlciBpcyBvbmUtc2hvdCwgd3JpdGUgYW5kIGZv cmdldCAqLwo+ID4gIAkJKnZhbCA9IDA7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+IGlu ZGV4IGZmNjFjMzIwODMwNy4uMGRlOGI0NDFhNDQ5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25u ZWN0b3IuYwo+ID4gQEAgLTI0Niw2ICsyNDYsNyBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgCW11dGV4X2luaXQoJmNvbm5lY3Rvci0+bXV0ZXgp Owo+ID4gIAljb25uZWN0b3ItPmVkaWRfYmxvYl9wdHIgPSBOVUxMOwo+ID4gIAljb25uZWN0b3It PnRpbGVfYmxvYl9wdHIgPSBOVUxMOwo+ID4gKwljb25uZWN0b3ItPmhkY3BfdG9wb2xvZ3lfYmxv Yl9wdHIgPSBOVUxMOwo+ID4gIAljb25uZWN0b3ItPnN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNf dW5rbm93bjsKPiA+ICAJY29ubmVjdG9yLT5kaXNwbGF5X2luZm8ucGFuZWxfb3JpZW50YXRpb24g PQo+ID4gIAkJRFJNX01PREVfUEFORUxfT1JJRU5UQVRJT05fVU5LTk9XTjsKPiA+IEBAIC05ODYs NiArOTg3LDI1IEBAIERSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9oZGNwX2NvbnRlbnRfdHlwZV9u YW1lLAo+ID4gICAqCWF1dGhlbnRpY2F0aW9uIHByb2Nlc3MuIElmIGNvbnRlbnQgdHlwZSBpcyBj aGFuZ2VkIHdoZW4KPiA+ICAgKgljb250ZW50X3Byb3RlY3Rpb24gaXMgbm90IFVOREVTSVJFRCwg dGhlbiBrZXJuZWwgd2lsbCBkaXNhYmxlIHRoZSBIRENQCj4gPiAgICoJYW5kIHJlLWVuYWJsZSB3 aXRoIG5ldyB0eXBlIGluIHRoZSBzYW1lIGF0b21pYyBjb21taXQKPiA+ICsgKiBIRENQIFRvcG9s b2d5Ogo+ID4gKyAqCVRoaXMgYmxvYiBwcm9wZXJ0eSBpcyB1c2VkIHRvIHBhc3MgdGhlIEhEQ1Ag ZG93bnN0cmVhbSB0b3BvbG9neSBkZXRhaWxzCj4gPiArICoJb2YgYSBIRENQIGVuY3J5cHRlZCBj b25uZWN0b3IsIGZyb20ga2VybmVsIHRvIHVzZXJzcGFjZS4KPiA+ICsgKglUaGlzIHByb3ZpZGVz IGFsbCByZXF1aXJlZCBpbmZvcm1hdGlvbiB0byB1c2Vyc3BhY2UsIHNvIHRoYXQgdXNlcnNwYWNl Cj4gPiArICoJY2FuIGltcGxlbWVudCB0aGUgSERDUCByZXBlYXRlciB1c2luZyB0aGUga2VybmVs IGFzIGRvd25zdHJlYW0gcG9ydHMgb2YKPiA+ICsgKgl0aGUgcmVwZWF0ZXIuIGFzIGlsbHVzdHJh dGVkIGJlbG93Ogo+ID4gKyAqCj4gPiArICogICAgICAgICAgICAgICAgICAgICAgICAgIEhEQ1Ag UmVwZWF0ZXJzCj4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gKyAqIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKPiA+ICsgKiB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 Cj4gPiArICogfCAgIFVzZXJzcGFjZSBIRENQIFJlY2VpdmVyICArLS0tLS0+ICAgIEtNRCBIRENQ IHRyYW5zbWl0dGVycyAgfAo+ID4gKyAqIHwgICAgICAoVXBzdHJlYW0gUG9ydCkgICAgICA8LS0t LS0tKyAgICAgKERvd25zdHJlYW0gUG9ydHMpICAgIHwKPiA+ICsgKiB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4gPiArICog fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfAo+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiAKPiBJIGRpZG4ndCBjaGVjaywgYnV0IEkgdGhpbmsg dGhpcyBkb2Vzbid0IGZvcm1hdCBjb3JyZWN0bHkgaW4gdGhlIGh0bWwKPiBvdXRwdXQuIEkgdGhp bmsgeW91IG5lZWQgdG8gaW5kZW50LCBhbmQgc3RhcnQgd2l0aCA6OiB0byBkZW5vdGUgYSBmaXhl ZAo+IHdpZHRoIGZvbnQgZXhhbXBsZS4KTG9va3MgZ29vZCBhdCBtdXR0IGFuZCBhdApodHRwczov L3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvMjkzNDkwLz9zZXJpZXM9NTcyMzImcmV2 PTQKU2hvdWxkIGkgc3RpbGwgZG8gc29tZXRoaW5nIG9uIGl0Pwo+IAo+ID4gKyAqCj4gPiArICoJ S2VybmVsIHdpbGwgcG9wdWxhdGUgdGhpcyBibG9iIG9ubHkgd2hlbiB0aGUgSERDUCBhdXRoZW50 aWNhdGlvbiBpcwo+ID4gKyAqCXN1Y2Nlc3NmdWwuCj4gPiAgICoKPiA+ICAgKiBtYXggYnBjOgo+ ID4gICAqCVRoaXMgcmFuZ2UgcHJvcGVydHkgaXMgdXNlZCBieSB1c2Vyc3BhY2UgdG8gbGltaXQg dGhlIGJpdCBkZXB0aC4gV2hlbgo+ID4gQEAgLTE2MTQsNiArMTYzNCw3MiBAQCBkcm1fY29ubmVj dG9yX2F0dGFjaF9oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqCj4gPiAgfQo+ID4gIEVYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfaGRjcF9j b250ZW50X3R5cGVfcHJvcGVydHkpOwo+ID4gIAo+ID4gKy8qKgo+ID4gKyAqIGRybV9jb25uZWN0 b3JfYXR0YWNoX2hkY3BfdG9wb2xvZ3lfcHJvcGVydHkgLSBhdHRhY2ggaGRjcCB0b3BvbG9neSBw cm9wZXJ0eQo+ID4gKyAqCj4gPiArICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGF0dGFjaCBo ZGNwIHRvcG9sb2d5IHByb3BlcnR5IHdpdGguCj4gPiArICoKPiA+ICsgKiBUaGlzIGlzIHVzZWQg dG8gYWRkIHN1cHBvcnQgZm9yIGhkY3AgdG9wb2xvZ3kgc3VwcG9ydCBvbiBzZWxlY3QgY29ubmVj dG9ycy4KPiA+ICsgKiBXaGVuIEludGVsIHBsYXRmb3JtIGlzIGNvbmZpZ3VyZWQgYXMgcmVwZWF0 ZXIsIHRoaXMgZG93bnN0cmVhbSBpbmZvIGlzIHVzZWQKPiA+ICsgKiBieSB1c2Vyc3BhY2UsIHRv IGNvbXBsZXRlIHRoZSByZXBlYXRlciBhdXRoZW50aWNhdGlvbiBvZiBIRENQIHNwZWNpZmljYXRp b24KPiA+ICsgKiB3aXRoIHVwc3RyZWFtIEhEQ1AgdHJhbnNtaXR0ZXIuCj4gPiArICoKPiA+ICsg KiBUaGUgYmxvYl9pZCBvZiB0aGUgaGRjcCB0b3BvbG9neSBpbmZvIHdpbGwgYmUgc2V0IHRvCj4g PiArICogJmRybV9jb25uZWN0b3Jfc3RhdGUuaGRjcF90b3BvbG9neQo+ID4gKyAqCj4gPiArICog UmV0dXJuczoKPiA+ICsgKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm5vIG9uIGZhaWx1 cmUuCj4gPiArICovCj4gPiAraW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2hkY3BfdG9wb2xvZ3lf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICt7Cj4gPiArCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiA+ICsJc3RydWN0IGRybV9w cm9wZXJ0eSAqcHJvcDsKPiA+ICsKPiA+ICsJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGUoZGV2 LCBEUk1fTU9ERV9QUk9QX0JMT0IgfAo+ID4gKwkJCQkgICBEUk1fTU9ERV9QUk9QX0lNTVVUQUJM RSwKPiA+ICsJCQkJICAgIkhEQ1AgVG9wb2xvZ3kiLCAwKTsKPiAKPiBBZ2FpbiBnbG9iYWwgcHJv cCBpbiBkZXYtPm1vZGVfY29uZmlnLCBhbmQgSSB0aGluayBqdXN0IGFkZCBhIGZsYWcgdG8gdGhl Cj4gb3ZlcmFsbCAiYXR0YWNoIGNvbnRlbnQgcHJvdGVjdGlvbiBzdHVmZiB0byBjb25ubmVjdG9y IiBmdW5jdGlvbi4KV2lsbCBiZSBkb25lIGluIHRoZSBuZXh0IHZlcnNpb24gOikKCi1SYW0KPiAK PiA+ICsJaWYgKCFwcm9wKQo+ID4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gPiArCj4gPiArCWRybV9v YmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsIHByb3AsIDApOwo+ID4gKwo+ ID4gKwljb25uZWN0b3ItPmhkY3BfdG9wb2xvZ3lfcHJvcGVydHkgPSBwcm9wOwo+ID4gKwo+ID4g KwlyZXR1cm4gMDsKPiA+ICt9Cj4gPiArRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX2F0dGFj aF9oZGNwX3RvcG9sb2d5X3Byb3BlcnR5KTsKPiA+ICsKPiA+ICsvKioKPiA+ICsgKiBkcm1fY29u bmVjdG9yX3VwZGF0ZV9oZGNwX3RvcG9sb2d5X3Byb3BlcnR5IC0gdXBkYXRlIHRoZSBoZGNwIHRv cG9sb2d5Cj4gPiArICogcHJvcGVydHkgb2YgYSBjb25uZWN0b3IKPiA+ICsgKiBAY29ubmVjdG9y OiBkcm0gY29ubmVjdG9yLCB0aGUgdG9wb2xvZ3kgaXMgYXNzb2NpYXRlZCB0bwo+ID4gKyAqIEBo ZGNwX3RvcG9sb2d5X2luZm86IG5ldyBjb250ZW50IGZvciB0aGUgYmxvYiBvZiBoZGNwX3RvcG9s b2d5IHByb3BlcnR5Cj4gPiArICoKPiA+ICsgKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBuZXcg YmxvYiBtb2Rlc2V0IG9iamVjdCBhbmQgYXNzaWducyBpdHMgaWQgdG8gdGhlCj4gPiArICogY29u bmVjdG9yJ3MgaGRjcF90b3BvbG9neSBwcm9wZXJ0eS4KPiA+ICsgKgo+ID4gKyAqIFJldHVybnM6 Cj4gPiArICogWmVybyBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgo+ID4g KyAqLwo+ID4gK2ludAo+ID4gK2RybV9jb25uZWN0b3JfdXBkYXRlX2hkY3BfdG9wb2xvZ3lfcHJv cGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ICsJCQkJCWNvbnN0IHN0 cnVjdCBoZGNwX3RvcG9sb2d5X2luZm8gKmluZm8pCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gPiArCWludCByZXQ7Cj4gPiArCj4gPiArCWlm ICghaW5mbykKPiA+ICsJCXJldHVybiAtRUlOVkFMOwo+ID4gKwo+ID4gKwlyZXQgPSBkcm1fcHJv cGVydHlfcmVwbGFjZV9nbG9iYWxfYmxvYihkZXYsCj4gPiArCQkJJmNvbm5lY3Rvci0+aGRjcF90 b3BvbG9neV9ibG9iX3B0ciwKPiA+ICsJCQlzaXplb2Yoc3RydWN0IGhkY3BfdG9wb2xvZ3lfaW5m byksCj4gPiArCQkJaW5mbywgJmNvbm5lY3Rvci0+YmFzZSwKPiA+ICsJCQljb25uZWN0b3ItPmhk Y3BfdG9wb2xvZ3lfcHJvcGVydHkpOwo+ID4gKwlyZXR1cm4gcmV0Owo+ID4gK30KPiA+ICtFWFBP UlRfU1lNQk9MKGRybV9jb25uZWN0b3JfdXBkYXRlX2hkY3BfdG9wb2xvZ3lfcHJvcGVydHkpOwo+ ID4gKwo+ID4gIC8qKgo+ID4gICAqIGRybV9tb2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9fcHJvcGVy dHkgLSBjcmVhdGUgYXNwZWN0IHJhdGlvIHByb3BlcnR5Cj4gPiAgICogQGRldjogRFJNIGRldmlj ZQo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaAo+ID4gaW5kZXggZjA4MzA5ODUzNjdmLi5jMDE2YTBiY2VkYWMg MTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+ICsrKyBiL2lu Y2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4gQEAgLTEwNDcsNiArMTA0NywxMyBAQCBzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciB7Cj4gPiAgCSAqLwo+ID4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpo ZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eTsKPiA+ICAKPiA+ICsJLyoqCj4gPiArCSAqIEBoZGNw X3RvcG9sb2d5X3Byb3BlcnR5OiBEUk0gQkxPQiBwcm9wZXJ0eSBmb3IgaGRjcCBkb3duc3RyZWFt Cj4gPiArCSAqIHRvcG9sb2d5IGluZm9ybWF0aW9uLgo+ID4gKwkgKi8KPiA+ICsJc3RydWN0IGRy bV9wcm9wZXJ0eSAqaGRjcF90b3BvbG9neV9wcm9wZXJ0eTsKPiA+ICsJc3RydWN0IGRybV9wcm9w ZXJ0eV9ibG9iICpoZGNwX3RvcG9sb2d5X2Jsb2JfcHRyOwo+IAo+IE5lZWQga2VybmVsZG9jIGZv ciBib3RoIG9yIGtlcm5lbGRvYyBnZXRzIGEgYml0IHVuaGFwcHkuClN1cmUuCj4gCj4gPiArCj4g PiAgCS8qKgo+ID4gIAkgKiBAcGF0aF9ibG9iX3B0cjoKPiA+ICAJICoKPiA+IEBAIC0xMzI0LDYg KzEzMzEsMTEgQEAgaW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9w cm9wZXJ0eSgKPiA+ICAJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ID4gIGlu dCBkcm1fY29ubmVjdG9yX2F0dGFjaF9oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSgKPiA+ICAJ CXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ID4gK2ludCBkcm1fY29ubmVjdG9y X2F0dGFjaF9oZGNwX3RvcG9sb2d5X3Byb3BlcnR5KAo+ID4gKwkJc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3Rvcik7Cj4gPiAraW50IGRybV9jb25uZWN0b3JfdXBkYXRlX2hkY3BfdG9wb2xv Z3lfcHJvcGVydHkoCj4gPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4g KwkJY29uc3Qgc3RydWN0IGhkY3BfdG9wb2xvZ3lfaW5mbyAqaW5mbyk7Cj4gPiAgaW50IGRybV9t b2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9fcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4gPiAgaW50IGRybV9tb2RlX2NyZWF0ZV9jb2xvcnNwYWNlX3Byb3BlcnR5KHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IpOwo+ID4gIGludCBkcm1fbW9kZV9jcmVhdGVfY29udGVudF90 eXBlX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ ID4gaW5kZXggNDQ0MTJlOGI3N2NkLi4wM2QzYWEyYjFhNDkgMTAwNjQ0Cj4gPiAtLS0gYS9pbmNs dWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21v ZGUuaAo+ID4gQEAgLTIxNCw2ICsyMTQsMzMgQEAgZXh0ZXJuICJDIiB7Cj4gPiAgI2RlZmluZSBE Uk1fTU9ERV9IRENQX0NPTlRFTlRfVFlQRTAJCTAKPiA+ICAjZGVmaW5lIERSTV9NT0RFX0hEQ1Bf Q09OVEVOVF9UWVBFMQkJMQo+ID4gIAo+ID4gKyNkZWZpbmUgRFJNX01PREVfSERDUF9LU1ZfTEVO CQkJNQo+ID4gKyNkZWZpbmUgRFJNX01PREVfSERDUF9NQVhfREVWSUNFX0NOVAkJMTI3Cj4gPiAr Cj4gPiArc3RydWN0IGhkY3BfdG9wb2xvZ3lfaW5mbyB7Cj4gPiArCS8qIEtTViBvZiBpbW1lZGlh dGUgSERDUCBTaW5rLiBJbiBMaXR0bGUtRW5kaWFuIEZvcm1hdC4gKi8KPiA+ICsJY2hhciBia3N2 W0RSTV9NT0RFX0hEQ1BfS1NWX0xFTl07Cj4gCj4gVGhpcyBpc24ndCBhbGlnbmVkIHRvIF9fdTMy LiBKdXN0IG1ha2UgdGhlIGxlbmd0aCAxMjggYnl0ZXMuCj4gCj4gPiArCj4gPiArCS8qIFdoZXRo ZXIgSW1tZWRpYXRlIEhEQ1Agc2luayBpcyBhIHJlcGVhdGVyPyAqLwo+ID4gKwlib29sIGlzX3Jl cGVhdGVyOwo+IAo+IG5vIGJvb2wgaW4gdWFwaSBzdHJ1Y3RzLiBKdXN0IGdvIHdpdGggX191OC4K PiAKPiA+ICsKPiA+ICsJLyogRGVwdGggcmVjZWl2ZWQgZnJvbSBpbW1lZGlhdGUgZG93bnN0cmVh bSByZXBlYXRlciAqLwo+ID4gKwlfX3U4IGRlcHRoOwo+IAo+IE5lZWRzIHRvIGJlIGFsaWduZWQg d2l0aCBleHBsaWNpdCBwYWRkaW5nLgpub3Qgc3VyZSB3aHkgZG8gd2UgbmVlZCB0aGlzIGV4cGxp Y2l0IHBhZGRpbmcuIGN1cnJlbnRseSB0aGlzIHN0cnVjdAp3b3JrcyBiZXR3ZWVuIElHVCBhbmQg a2VybmVsLiBNaWdodCBiZSBjby1pbmNpZGVudCB0b28hIQoKCldpbGwgY2hlY2sgb24gdGhpcy4K PiAKPiA+ICsKPiA+ICsJLyogRGV2aWNlIGNvdW50IHJlY2VpdmVkIGZyb20gaW1tZWRpYXRlIGRv d25zdHJlYW0gcmVwZWF0ZXIgKi8KPiA+ICsJX191MzIgZGV2aWNlX2NvdW50Owo+ID4gKwo+ID4g KwkvKgo+ID4gKwkgKiBNYXggYnVmZmVyIHJlcXVpcmVkIHRvIGhvbGQga3N2IGxpc3QgcmVjZWl2 ZWQgZnJvbSBpbW1lZGlhdGUKPiA+ICsJICogcmVwZWF0ZXIuIEluIHRoaXMgYXJyYXkgZmlyc3Qg ZGV2aWNlX2NvdW50ICogRFJNX01PREVfSERDUF9LU1ZfTEVOCj4gPiArCSAqIHdpbGwgaG9sZCB0 aGUgdmFsaWQga3N2IGJ5dGVzLgo+ID4gKwkgKiBJZiBhdXRoZW50aWNhdGlvbiBzcGVjaWZpY2F0 aW9uIGlzCj4gPiArCSAqCUhEQ1AxLjQgLSBlYWNoIEtTVidzIEJ5dGVzIHdpbGwgYmUgaW4gTGl0 dGxlLUVuZGlhbiBmb3JtYXQuCj4gPiArCSAqCUhEQ1AyLjIgLSBlYWNoIEtTVidzIEJ5dGVzIHdp bGwgYmUgaW4gQmlnLUVuZGlhbiBmb3JtYXQuCj4gCj4gV2h5IGlzIHRoaXMga3N2IGxpc3QgYmUg Zm9yIGhkY3AyLjIsIGJ1dCBia3N2IGlzIGxlIGZvciBib3RoIGNhc2U/IEknbQo+IGNvbmZ1c2Vk LgpJIHVzZWQgdGhlIEtTViBhbmQgcmVjZWl2ZXIgSUQgaW50ZXJjaGFuZ2VhYmx5LiByZWNlaXZl ciBJRC9LU1YgbGlzdHMKZnJvbSByZXBlYXRlciBjaGFuZ2VzIHdpdGggZW5kaWFubmVzcy4gSSBn dWVzcyB3ZSBuZWVkIG5vdCBib3RoZXIgYWJvdXQKaXQgYXQgcHJlc2VudC4KPiAKPiA+ICsJICov Cj4gPiArCWNoYXIga3N2X2xpc3RbRFJNX01PREVfSERDUF9LU1ZfTEVOICogRFJNX01PREVfSERD UF9NQVhfREVWSUNFX0NOVF07Cj4gCj4gQWdhaW4gYmV0dGVyIHRvIGFsaWduIHRoaXMuIEFsc28g bWF5YmUgbWFrZSBpdCBhIG5lc3RlZCBhcnJheSAoaXQncyB0aGUKPiBzYW1lIHVuZGVybHlpbmcg bGF5b3V0LCBidXQgZWFzaWVyIHRvIHVzZSBmb3IgdXNlcnNwYWNlLikKPiAKPiBGb3IgdWFwaSBz dHJ1Y3QgcmVjb21tZW5kYXRpb25zLCBzZWUgaHR0cHM6Ly9naXRsYWIuY29tL1RlZUZpcmVmbHkv bGludXgta2VybmVsL2Jsb2IvNzQwOGIzOGNmZGY5YjBjNmMzYmRhOTc0MDJjNzViZDI3ZWY2OWE4 NS9Eb2N1bWVudGF0aW9uL2lvY3RsL2JvdGNoaW5nLXVwLWlvY3Rscy50eHQKSSB3aWxsIGdvIHRo cm91Z2ggYW5kIGFsaWduIHRvIGl0LiBUaGFua3MgZm9yIHNoYXJpbmcuCgotUmFtCj4gCj4gQ2hl ZXJzLCBEYW5pZWwKPiA+ICt9Owo+ID4gKwo+ID4gIHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbyB7 Cj4gPiAgCV9fdTMyIGNsb2NrOwo+ID4gIAlfX3UxNiBoZGlzcGxheTsKPiA+IC0tIAo+ID4gMi4x OS4xCj4gPiAKPiAKPiAtLSAKPiBEYW5pZWwgVmV0dGVyCj4gU29mdHdhcmUgRW5naW5lZXIsIElu dGVsIENvcnBvcmF0aW9uCj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4