From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v3 06/10] drm: Add CP downstream_info property Date: Wed, 27 Mar 2019 15:22:04 +0100 Message-ID: References: <20190322004448.14045-1-ramalingam.c@intel.com> <20190322004448.14045-7-ramalingam.c@intel.com> <20190327102504.GC2665@phenom.ffwll.local> <20190327140013.GF3905@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190327140013.GF3905@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ramalingam C Cc: intel-gfx , dri-devel List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBNYXIgMjcsIDIwMTkgYXQgMjo1OCBQTSBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0u Y0BpbnRlbC5jb20+IHdyb3RlOgo+Cj4gT24gMjAxOS0wMy0yNyBhdCAxMToyNTowNCArMDEwMCwg RGFuaWVsIFZldHRlciB3cm90ZToKPiA+IE9uIEZyaSwgTWFyIDIyLCAyMDE5IGF0IDA2OjE0OjQ0 QU0gKzA1MzAsIFJhbWFsaW5nYW0gQyB3cm90ZToKPiA+ID4gVGhpcyBwYXRjaCBhZGRzIGEgb3B0 aW9uYWwgQ1AgZG93bnN0cmVhbSBpbmZvIGJsb2IgcHJvcGVydHkgdG8gdGhlCj4gPiA+IGNvbm5l Y3RvcnMuIFRoaXMgZW5hYmxlcyB0aGUgVXNlcnNwYWNlIHRvIHJlYWQgdGhlIGluZm9ybWF0aW9u IG9mIEhEQ1AKPiA+ID4gYXV0aGVudGljYXRlZCBkb3duc3RyZWFtIHRvcG9sb2d5Lgo+ID4gPgo+ ID4gPiBEcml2ZXIgd2lsbCB1cGRhdGVkIHRoaXMgYmxvYiB3aXRoIGFsbCBkb3duc3RyZWFtIGlu Zm9ybWF0aW9uIGF0IHRoZQo+ID4gPiBlbmQgb2YgdGhlIGF1dGhlbnRpY2F0aW9uLgo+ID4gPgo+ ID4gPiBJbiBjYXNlIHVzZXJzcGFjZSBjb25maWd1cmVzIHRoaXMgcGxhdGZvcm0gYXMgcmVwZWF0 ZXIsIHRoZW4gdGhpcwo+ID4gPiBpbmZvcm1hdGlvbiBpcyBuZWVkZWQgZm9yIHRoZSBhdXRoZW50 aWNhdGlvbiB3aXRoIHVwc3RyZWFtIEhEQ1AKPiA+ID4gdHJhbnNtaXR0ZXIuCj4gPiA+Cj4gPiA+ IHYyOgo+ID4gPiAgIHMvY3BfZG93bnN0cmVhbS9jb250ZW50X3Byb3RlY3Rpb25fZG93bnN0cmVh bSBbZGFuaWVsXQo+ID4gPiB2MzoKPiA+ID4gICBzL2NvbnRlbnRfcHJvdGVjdGlvbl9kb3duc3Ry ZWFtL2hkY3BfdG9wb2xvZ3kgW2RhbmllbF0KPiA+ID4KPiA+ID4gU2lnbmVkLW9mZi1ieTogUmFt YWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgo+ID4gPiAtLS0KPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyB8ICA0ICsrCj4gPiA+ICBkcml2ZXJzL2dwdS9k cm0vZHJtX2Nvbm5lY3Rvci5jICAgfCA4NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Cj4gPiA+ICBpbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgfCAxMiArKysrKwo+ID4g PiAgaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgIHwgMjcgKysrKysrKysrKwo+ID4g PiAgNCBmaWxlcyBjaGFuZ2VkLCAxMjkgaW5zZXJ0aW9ucygrKQo+ID4gPgo+ID4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfdWFwaS5jCj4gPiA+IGluZGV4IDg1N2NhNmZhNmZkMC4uNDI0NmU4OTg4YzI5 IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gPiA+IEBAIC04MjYs NiArODI2LDEwIEBAIGRybV9hdG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiAgICAgICAgICAgICAqdmFsID0gc3RhdGUtPmNv bnRlbnRfcHJvdGVjdGlvbjsKPiA+ID4gICAgIH0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVj dG9yLT5oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSkgewo+ID4gPiAgICAgICAgICAgICAqdmFs ID0gc3RhdGUtPmhkY3BfY29udGVudF90eXBlOwo+ID4gPiArICAgfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PQo+ID4gPiArICAgICAgICAgICAgICBjb25uZWN0b3ItPmhkY3BfdG9wb2xvZ3lfcHJvcGVy dHkpIHsKPiA+ID4gKyAgICAgICAgICAgKnZhbCA9IGNvbm5lY3Rvci0+aGRjcF90b3BvbG9neV9i bG9iX3B0ciA/Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgY29ubmVjdG9yLT5oZGNwX3RvcG9s b2d5X2Jsb2JfcHRyLT5iYXNlLmlkIDogMDsKPiA+ID4gICAgIH0gZWxzZSBpZiAocHJvcGVydHkg PT0gY29uZmlnLT53cml0ZWJhY2tfZmJfaWRfcHJvcGVydHkpIHsKPiA+ID4gICAgICAgICAgICAg LyogV3JpdGViYWNrIGZyYW1lYnVmZmVyIGlzIG9uZS1zaG90LCB3cml0ZSBhbmQgZm9yZ2V0ICov Cj4gPiA+ICAgICAgICAgICAgICp2YWwgPSAwOwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMK PiA+ID4gaW5kZXggZmY2MWMzMjA4MzA3Li4wZGU4YjQ0MWE0NDkgMTAwNjQ0Cj4gPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gPiBAQCAtMjQ2LDYgKzI0Niw3IEBAIGludCBkcm1fY29u bmVjdG9yX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ID4gICAgIG11dGV4X2luaXQo JmNvbm5lY3Rvci0+bXV0ZXgpOwo+ID4gPiAgICAgY29ubmVjdG9yLT5lZGlkX2Jsb2JfcHRyID0g TlVMTDsKPiA+ID4gICAgIGNvbm5lY3Rvci0+dGlsZV9ibG9iX3B0ciA9IE5VTEw7Cj4gPiA+ICsg ICBjb25uZWN0b3ItPmhkY3BfdG9wb2xvZ3lfYmxvYl9wdHIgPSBOVUxMOwo+ID4gPiAgICAgY29u bmVjdG9yLT5zdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX3Vua25vd247Cj4gPiA+ICAgICBjb25u ZWN0b3ItPmRpc3BsYXlfaW5mby5wYW5lbF9vcmllbnRhdGlvbiA9Cj4gPiA+ICAgICAgICAgICAg IERSTV9NT0RFX1BBTkVMX09SSUVOVEFUSU9OX1VOS05PV047Cj4gPiA+IEBAIC05ODYsNiArOTg3 LDI1IEBAIERSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9oZGNwX2NvbnRlbnRfdHlwZV9uYW1lLAo+ ID4gPiAgICogYXV0aGVudGljYXRpb24gcHJvY2Vzcy4gSWYgY29udGVudCB0eXBlIGlzIGNoYW5n ZWQgd2hlbgo+ID4gPiAgICogY29udGVudF9wcm90ZWN0aW9uIGlzIG5vdCBVTkRFU0lSRUQsIHRo ZW4ga2VybmVsIHdpbGwgZGlzYWJsZSB0aGUgSERDUAo+ID4gPiAgICogYW5kIHJlLWVuYWJsZSB3 aXRoIG5ldyB0eXBlIGluIHRoZSBzYW1lIGF0b21pYyBjb21taXQKPiA+ID4gKyAqIEhEQ1AgVG9w b2xvZ3k6Cj4gPiA+ICsgKiBUaGlzIGJsb2IgcHJvcGVydHkgaXMgdXNlZCB0byBwYXNzIHRoZSBI RENQIGRvd25zdHJlYW0gdG9wb2xvZ3kgZGV0YWlscwo+ID4gPiArICogb2YgYSBIRENQIGVuY3J5 cHRlZCBjb25uZWN0b3IsIGZyb20ga2VybmVsIHRvIHVzZXJzcGFjZS4KPiA+ID4gKyAqIFRoaXMg cHJvdmlkZXMgYWxsIHJlcXVpcmVkIGluZm9ybWF0aW9uIHRvIHVzZXJzcGFjZSwgc28gdGhhdCB1 c2Vyc3BhY2UKPiA+ID4gKyAqIGNhbiBpbXBsZW1lbnQgdGhlIEhEQ1AgcmVwZWF0ZXIgdXNpbmcg dGhlIGtlcm5lbCBhcyBkb3duc3RyZWFtIHBvcnRzIG9mCj4gPiA+ICsgKiB0aGUgcmVwZWF0ZXIu IGFzIGlsbHVzdHJhdGVkIGJlbG93Ogo+ID4gPiArICoKPiA+ID4gKyAqICAgICAgICAgICAgICAg ICAgICAgICAgICBIRENQIFJlcGVhdGVycwo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfAo+ID4gPiArICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfAo+ID4gPiArICogfCAgIFVzZXJzcGFjZSBIRENQIFJlY2Vp dmVyICArLS0tLS0+ICAgIEtNRCBIRENQIHRyYW5zbWl0dGVycyAgfAo+ID4gPiArICogfCAgICAg IChVcHN0cmVhbSBQb3J0KSAgICAgIDwtLS0tLS0rICAgICAoRG93bnN0cmVhbSBQb3J0cykgICAg fAo+ID4gPiArICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfAo+ID4gPiArICogfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAo+ID4gPiArICogKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ ID4KPiA+IEkgZGlkbid0IGNoZWNrLCBidXQgSSB0aGluayB0aGlzIGRvZXNuJ3QgZm9ybWF0IGNv cnJlY3RseSBpbiB0aGUgaHRtbAo+ID4gb3V0cHV0LiBJIHRoaW5rIHlvdSBuZWVkIHRvIGluZGVu dCwgYW5kIHN0YXJ0IHdpdGggOjogdG8gZGVub3RlIGEgZml4ZWQKPiA+IHdpZHRoIGZvbnQgZXhh bXBsZS4KPiBMb29rcyBnb29kIGF0IG11dHQgYW5kIGF0Cj4gaHR0cHM6Ly9wYXRjaHdvcmsuZnJl ZWRlc2t0b3Aub3JnL3BhdGNoLzI5MzQ5MC8/c2VyaWVzPTU3MjMyJnJldj00Cj4gU2hvdWxkIGkg c3RpbGwgZG8gc29tZXRoaW5nIG9uIGl0PwoKCiQgbWFrZSBodG1sZG9jcwoKTG9vayBhdCB0aGUg Z2VuZXJhdGVkIG91dHB1dC4gVGhlc2Uga2VybmVsZG9jIGNvbW1lbnRzIGFyZSBwYXJzZWQgYXMK cmVzdC9zcGhpbnggZm9ybWF0dGVkIHRleHQsIGFuZCBJJ20gcHJldHR5IHN1cmUgdGhlIGFib3Zl IHdvbid0IHBhcnNlLgpUaGUgcGxhaW50ZXh0IGFzIHBsYWludGV4dCBsb29rcyBmaW5lLgoKPiA+ Cj4gPiA+ICsgKgo+ID4gPiArICogS2VybmVsIHdpbGwgcG9wdWxhdGUgdGhpcyBibG9iIG9ubHkg d2hlbiB0aGUgSERDUCBhdXRoZW50aWNhdGlvbiBpcwo+ID4gPiArICogc3VjY2Vzc2Z1bC4KPiA+ ID4gICAqCj4gPiA+ICAgKiBtYXggYnBjOgo+ID4gPiAgICogVGhpcyByYW5nZSBwcm9wZXJ0eSBp cyB1c2VkIGJ5IHVzZXJzcGFjZSB0byBsaW1pdCB0aGUgYml0IGRlcHRoLiBXaGVuCj4gPiA+IEBA IC0xNjE0LDYgKzE2MzQsNzIgQEAgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfaGRjcF9jb250ZW50X3R5 cGVfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKgo+ID4gPiAgfQo+ID4gPiAgRVhQT1JU X1NZTUJPTChkcm1fY29ubmVjdG9yX2F0dGFjaF9oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSk7 Cj4gPiA+Cj4gPiA+ICsvKioKPiA+ID4gKyAqIGRybV9jb25uZWN0b3JfYXR0YWNoX2hkY3BfdG9w b2xvZ3lfcHJvcGVydHkgLSBhdHRhY2ggaGRjcCB0b3BvbG9neSBwcm9wZXJ0eQo+ID4gPiArICoK PiA+ID4gKyAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciB0byBhdHRhY2ggaGRjcCB0b3BvbG9neSBw cm9wZXJ0eSB3aXRoLgo+ID4gPiArICoKPiA+ID4gKyAqIFRoaXMgaXMgdXNlZCB0byBhZGQgc3Vw cG9ydCBmb3IgaGRjcCB0b3BvbG9neSBzdXBwb3J0IG9uIHNlbGVjdCBjb25uZWN0b3JzLgo+ID4g PiArICogV2hlbiBJbnRlbCBwbGF0Zm9ybSBpcyBjb25maWd1cmVkIGFzIHJlcGVhdGVyLCB0aGlz IGRvd25zdHJlYW0gaW5mbyBpcyB1c2VkCj4gPiA+ICsgKiBieSB1c2Vyc3BhY2UsIHRvIGNvbXBs ZXRlIHRoZSByZXBlYXRlciBhdXRoZW50aWNhdGlvbiBvZiBIRENQIHNwZWNpZmljYXRpb24KPiA+ ID4gKyAqIHdpdGggdXBzdHJlYW0gSERDUCB0cmFuc21pdHRlci4KPiA+ID4gKyAqCj4gPiA+ICsg KiBUaGUgYmxvYl9pZCBvZiB0aGUgaGRjcCB0b3BvbG9neSBpbmZvIHdpbGwgYmUgc2V0IHRvCj4g PiA+ICsgKiAmZHJtX2Nvbm5lY3Rvcl9zdGF0ZS5oZGNwX3RvcG9sb2d5Cj4gPiA+ICsgKgo+ID4g PiArICogUmV0dXJuczoKPiA+ID4gKyAqIFplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8g b24gZmFpbHVyZS4KPiA+ID4gKyAqLwo+ID4gPiAraW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2hk Y3BfdG9wb2xvZ3lfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ ID4gK3sKPiA+ID4gKyAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsK PiA+ID4gKyAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7Cj4gPiA+ICsKPiA+ID4gKyAgIHBy b3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlKGRldiwgRFJNX01PREVfUFJPUF9CTE9CIHwKPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9NT0RFX1BST1BfSU1NVVRBQkxFLAo+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhEQ1AgVG9wb2xvZ3kiLCAwKTsK PiA+Cj4gPiBBZ2FpbiBnbG9iYWwgcHJvcCBpbiBkZXYtPm1vZGVfY29uZmlnLCBhbmQgSSB0aGlu ayBqdXN0IGFkZCBhIGZsYWcgdG8gdGhlCj4gPiBvdmVyYWxsICJhdHRhY2ggY29udGVudCBwcm90 ZWN0aW9uIHN0dWZmIHRvIGNvbm5uZWN0b3IiIGZ1bmN0aW9uLgo+IFdpbGwgYmUgZG9uZSBpbiB0 aGUgbmV4dCB2ZXJzaW9uIDopCj4KPiAtUmFtCj4gPgo+ID4gPiArICAgaWYgKCFwcm9wKQo+ID4g PiArICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPiA+ID4gKwo+ID4gPiArICAgZHJtX29iamVj dF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwgcHJvcCwgMCk7Cj4gPiA+ICsKPiA+ ID4gKyAgIGNvbm5lY3Rvci0+aGRjcF90b3BvbG9neV9wcm9wZXJ0eSA9IHByb3A7Cj4gPiA+ICsK PiA+ID4gKyAgIHJldHVybiAwOwo+ID4gPiArfQo+ID4gPiArRVhQT1JUX1NZTUJPTChkcm1fY29u bmVjdG9yX2F0dGFjaF9oZGNwX3RvcG9sb2d5X3Byb3BlcnR5KTsKPiA+ID4gKwo+ID4gPiArLyoq Cj4gPiA+ICsgKiBkcm1fY29ubmVjdG9yX3VwZGF0ZV9oZGNwX3RvcG9sb2d5X3Byb3BlcnR5IC0g dXBkYXRlIHRoZSBoZGNwIHRvcG9sb2d5Cj4gPiA+ICsgKiBwcm9wZXJ0eSBvZiBhIGNvbm5lY3Rv cgo+ID4gPiArICogQGNvbm5lY3RvcjogZHJtIGNvbm5lY3RvciwgdGhlIHRvcG9sb2d5IGlzIGFz c29jaWF0ZWQgdG8KPiA+ID4gKyAqIEBoZGNwX3RvcG9sb2d5X2luZm86IG5ldyBjb250ZW50IGZv ciB0aGUgYmxvYiBvZiBoZGNwX3RvcG9sb2d5IHByb3BlcnR5Cj4gPiA+ICsgKgo+ID4gPiArICog VGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgbmV3IGJsb2IgbW9kZXNldCBvYmplY3QgYW5kIGFzc2ln bnMgaXRzIGlkIHRvIHRoZQo+ID4gPiArICogY29ubmVjdG9yJ3MgaGRjcF90b3BvbG9neSBwcm9w ZXJ0eS4KPiA+ID4gKyAqCj4gPiA+ICsgKiBSZXR1cm5zOgo+ID4gPiArICogWmVybyBvbiBzdWNj ZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgo+ID4gPiArICovCj4gPiA+ICtpbnQKPiA+ ID4gK2RybV9jb25uZWN0b3JfdXBkYXRlX2hkY3BfdG9wb2xvZ3lfcHJvcGVydHkoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IGhkY3BfdG9wb2xvZ3lfaW5mbyAqaW5mbykKPiA+ID4gK3sK PiA+ID4gKyAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiA+ID4g KyAgIGludCByZXQ7Cj4gPiA+ICsKPiA+ID4gKyAgIGlmICghaW5mbykKPiA+ID4gKyAgICAgICAg ICAgcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ICsKPiA+ID4gKyAgIHJldCA9IGRybV9wcm9wZXJ0eV9y ZXBsYWNlX2dsb2JhbF9ibG9iKGRldiwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAmY29ubmVj dG9yLT5oZGNwX3RvcG9sb2d5X2Jsb2JfcHRyLAo+ID4gPiArICAgICAgICAgICAgICAgICAgIHNp emVvZihzdHJ1Y3QgaGRjcF90b3BvbG9neV9pbmZvKSwKPiA+ID4gKyAgICAgICAgICAgICAgICAg ICBpbmZvLCAmY29ubmVjdG9yLT5iYXNlLAo+ID4gPiArICAgICAgICAgICAgICAgICAgIGNvbm5l Y3Rvci0+aGRjcF90b3BvbG9neV9wcm9wZXJ0eSk7Cj4gPiA+ICsgICByZXR1cm4gcmV0Owo+ID4g PiArfQo+ID4gPiArRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX3VwZGF0ZV9oZGNwX3RvcG9s b2d5X3Byb3BlcnR5KTsKPiA+ID4gKwo+ID4gPiAgLyoqCj4gPiA+ICAgKiBkcm1fbW9kZV9jcmVh dGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5IC0gY3JlYXRlIGFzcGVjdCByYXRpbyBwcm9wZXJ0eQo+ ID4gPiAgICogQGRldjogRFJNIGRldmljZQo+ID4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiA+IGluZGV4 IGYwODMwOTg1MzY3Zi4uYzAxNmEwYmNlZGFjIDEwMDY0NAo+ID4gPiAtLS0gYS9pbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmgKPiA+ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5o Cj4gPiA+IEBAIC0xMDQ3LDYgKzEwNDcsMTMgQEAgc3RydWN0IGRybV9jb25uZWN0b3Igewo+ID4g PiAgICAgICovCj4gPiA+ICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpoZGNwX2NvbnRlbnRfdHlw ZV9wcm9wZXJ0eTsKPiA+ID4KPiA+ID4gKyAgIC8qKgo+ID4gPiArICAgICogQGhkY3BfdG9wb2xv Z3lfcHJvcGVydHk6IERSTSBCTE9CIHByb3BlcnR5IGZvciBoZGNwIGRvd25zdHJlYW0KPiA+ID4g KyAgICAqIHRvcG9sb2d5IGluZm9ybWF0aW9uLgo+ID4gPiArICAgICovCj4gPiA+ICsgICBzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpoZGNwX3RvcG9sb2d5X3Byb3BlcnR5Owo+ID4gPiArICAgc3RydWN0 IGRybV9wcm9wZXJ0eV9ibG9iICpoZGNwX3RvcG9sb2d5X2Jsb2JfcHRyOwo+ID4KPiA+IE5lZWQg a2VybmVsZG9jIGZvciBib3RoIG9yIGtlcm5lbGRvYyBnZXRzIGEgYml0IHVuaGFwcHkuCj4gU3Vy ZS4KPiA+Cj4gPiA+ICsKPiA+ID4gICAgIC8qKgo+ID4gPiAgICAgICogQHBhdGhfYmxvYl9wdHI6 Cj4gPiA+ICAgICAgKgo+ID4gPiBAQCAtMTMyNCw2ICsxMzMxLDExIEBAIGludCBkcm1fY29ubmVj dG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkoCj4gPiA+ICAgICAgICAgICAg IHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ID4gPiAgaW50IGRybV9jb25uZWN0 b3JfYXR0YWNoX2hkY3BfY29udGVudF90eXBlX3Byb3BlcnR5KAo+ID4gPiAgICAgICAgICAgICBz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+ID4gK2ludCBkcm1fY29ubmVjdG9y X2F0dGFjaF9oZGNwX3RvcG9sb2d5X3Byb3BlcnR5KAo+ID4gPiArICAgICAgICAgICBzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+ID4gK2ludCBkcm1fY29ubmVjdG9yX3VwZGF0 ZV9oZGNwX3RvcG9sb2d5X3Byb3BlcnR5KAo+ID4gPiArICAgICAgICAgICBzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiArICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaGRjcF90 b3BvbG9neV9pbmZvICppbmZvKTsKPiA+ID4gIGludCBkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3Jh dGlvX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gPiAgaW50IGRybV9tb2Rl X2NyZWF0ZV9jb2xvcnNwYWNlX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpOwo+ID4gPiAgaW50IGRybV9tb2RlX2NyZWF0ZV9jb250ZW50X3R5cGVfcHJvcGVydHkoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJt L2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+ID4gaW5kZXggNDQ0 MTJlOGI3N2NkLi4wM2QzYWEyYjFhNDkgMTAwNjQ0Cj4gPiA+IC0tLSBhL2luY2x1ZGUvdWFwaS9k cm0vZHJtX21vZGUuaAo+ID4gPiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+ ID4gQEAgLTIxNCw2ICsyMTQsMzMgQEAgZXh0ZXJuICJDIiB7Cj4gPiA+ICAjZGVmaW5lIERSTV9N T0RFX0hEQ1BfQ09OVEVOVF9UWVBFMCAgICAgICAgICAgICAgICAwCj4gPiA+ICAjZGVmaW5lIERS TV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFMSAgICAgICAgICAgICAgICAxCj4gPiA+Cj4gPiA+ICsj ZGVmaW5lIERSTV9NT0RFX0hEQ1BfS1NWX0xFTiAgICAgICAgICAgICAgICAgICAgICA1Cj4gPiA+ ICsjZGVmaW5lIERSTV9NT0RFX0hEQ1BfTUFYX0RFVklDRV9DTlQgICAgICAgICAgICAgICAxMjcK PiA+ID4gKwo+ID4gPiArc3RydWN0IGhkY3BfdG9wb2xvZ3lfaW5mbyB7Cj4gPiA+ICsgICAvKiBL U1Ygb2YgaW1tZWRpYXRlIEhEQ1AgU2luay4gSW4gTGl0dGxlLUVuZGlhbiBGb3JtYXQuICovCj4g PiA+ICsgICBjaGFyIGJrc3ZbRFJNX01PREVfSERDUF9LU1ZfTEVOXTsKPiA+Cj4gPiBUaGlzIGlz bid0IGFsaWduZWQgdG8gX191MzIuIEp1c3QgbWFrZSB0aGUgbGVuZ3RoIDEyOCBieXRlcy4KPiA+ Cj4gPiA+ICsKPiA+ID4gKyAgIC8qIFdoZXRoZXIgSW1tZWRpYXRlIEhEQ1Agc2luayBpcyBhIHJl cGVhdGVyPyAqLwo+ID4gPiArICAgYm9vbCBpc19yZXBlYXRlcjsKPiA+Cj4gPiBubyBib29sIGlu IHVhcGkgc3RydWN0cy4gSnVzdCBnbyB3aXRoIF9fdTguCj4gPgo+ID4gPiArCj4gPiA+ICsgICAv KiBEZXB0aCByZWNlaXZlZCBmcm9tIGltbWVkaWF0ZSBkb3duc3RyZWFtIHJlcGVhdGVyICovCj4g PiA+ICsgICBfX3U4IGRlcHRoOwo+ID4KPiA+IE5lZWRzIHRvIGJlIGFsaWduZWQgd2l0aCBleHBs aWNpdCBwYWRkaW5nLgo+IG5vdCBzdXJlIHdoeSBkbyB3ZSBuZWVkIHRoaXMgZXhwbGljaXQgcGFk ZGluZy4gY3VycmVudGx5IHRoaXMgc3RydWN0Cj4gd29ya3MgYmV0d2VlbiBJR1QgYW5kIGtlcm5l bC4gTWlnaHQgYmUgY28taW5jaWRlbnQgdG9vISEKCjMyYml0IHZzIDY0Yml0LCBkZXBlbmRpbmcg dXBvbiBhcmNoaXRlY3R1cmUuIFNpbmNlIHRoaXMgaXMgY29yZSBjb2RlLAppdCBuZWVkcyB0byB3 b3JrIGV2ZXJ5d2hlcmUuIGlndCBpcyA2NGJpdCBsaWtlIHRoZSBrZXJuZWwgKGF0IGxlYXN0IGlu Cm91ciBDSSwgYW5kIHByb2JhYmx5IG9uIHlvdXIgbWFjaGluZSB0b28pLCB0aGF0IGNhc2UgYWx3 YXlzIHdvcmtzLgpJdCdzIG1peGVkIG1vZGUgd2hlcmUgdXNlcnNwYWNlIGFuZCB0aGUga2VybmVs IG1pZ2h0IGRpc2FncmVlIG9uCmFsaWdubWVudCwgYW5kIHdoZXJlIHRoZXJlZm9yZSBtdXN0IGFs aWduIG1hbnVhbGx5LgoKVGhlIG90aGVyIGJpdCBpcyB0aGF0IGZvciB1YXBpIHN0cnVjdHMgeW91 IG11c3QgX25ldmVyXyBsZWFrIGtlcm5lbApkYXRhIG91dC4gSXQncyBwcmV0dHkgaGFyZCB0byBh dm9pZCB0aGF0IGlmIHlvdSBoYXZlIHBhZGRpbmcgYnl0ZXMgeW91CmNhbid0IGV2ZW4gYWNjZXNz IGJlY2F1c2UgdGhlcmUncyBubyBtZW1iZXIgZm9yIHRoZW0gOi0pCi1EYW5pZWwKCj4KPgo+IFdp bGwgY2hlY2sgb24gdGhpcy4KPiA+Cj4gPiA+ICsKPiA+ID4gKyAgIC8qIERldmljZSBjb3VudCBy ZWNlaXZlZCBmcm9tIGltbWVkaWF0ZSBkb3duc3RyZWFtIHJlcGVhdGVyICovCj4gPiA+ICsgICBf X3UzMiBkZXZpY2VfY291bnQ7Cj4gPiA+ICsKPiA+ID4gKyAgIC8qCj4gPiA+ICsgICAgKiBNYXgg YnVmZmVyIHJlcXVpcmVkIHRvIGhvbGQga3N2IGxpc3QgcmVjZWl2ZWQgZnJvbSBpbW1lZGlhdGUK PiA+ID4gKyAgICAqIHJlcGVhdGVyLiBJbiB0aGlzIGFycmF5IGZpcnN0IGRldmljZV9jb3VudCAq IERSTV9NT0RFX0hEQ1BfS1NWX0xFTgo+ID4gPiArICAgICogd2lsbCBob2xkIHRoZSB2YWxpZCBr c3YgYnl0ZXMuCj4gPiA+ICsgICAgKiBJZiBhdXRoZW50aWNhdGlvbiBzcGVjaWZpY2F0aW9uIGlz Cj4gPiA+ICsgICAgKiAgICAgIEhEQ1AxLjQgLSBlYWNoIEtTVidzIEJ5dGVzIHdpbGwgYmUgaW4g TGl0dGxlLUVuZGlhbiBmb3JtYXQuCj4gPiA+ICsgICAgKiAgICAgIEhEQ1AyLjIgLSBlYWNoIEtT VidzIEJ5dGVzIHdpbGwgYmUgaW4gQmlnLUVuZGlhbiBmb3JtYXQuCj4gPgo+ID4gV2h5IGlzIHRo aXMga3N2IGxpc3QgYmUgZm9yIGhkY3AyLjIsIGJ1dCBia3N2IGlzIGxlIGZvciBib3RoIGNhc2U/ IEknbQo+ID4gY29uZnVzZWQuCj4gSSB1c2VkIHRoZSBLU1YgYW5kIHJlY2VpdmVyIElEIGludGVy Y2hhbmdlYWJseS4gcmVjZWl2ZXIgSUQvS1NWIGxpc3RzCj4gZnJvbSByZXBlYXRlciBjaGFuZ2Vz IHdpdGggZW5kaWFubmVzcy4gSSBndWVzcyB3ZSBuZWVkIG5vdCBib3RoZXIgYWJvdXQKPiBpdCBh dCBwcmVzZW50Lgo+ID4KPiA+ID4gKyAgICAqLwo+ID4gPiArICAgY2hhciBrc3ZfbGlzdFtEUk1f TU9ERV9IRENQX0tTVl9MRU4gKiBEUk1fTU9ERV9IRENQX01BWF9ERVZJQ0VfQ05UXTsKPiA+Cj4g PiBBZ2FpbiBiZXR0ZXIgdG8gYWxpZ24gdGhpcy4gQWxzbyBtYXliZSBtYWtlIGl0IGEgbmVzdGVk IGFycmF5IChpdCdzIHRoZQo+ID4gc2FtZSB1bmRlcmx5aW5nIGxheW91dCwgYnV0IGVhc2llciB0 byB1c2UgZm9yIHVzZXJzcGFjZS4pCj4gPgo+ID4gRm9yIHVhcGkgc3RydWN0IHJlY29tbWVuZGF0 aW9ucywgc2VlIGh0dHBzOi8vZ2l0bGFiLmNvbS9UZWVGaXJlZmx5L2xpbnV4LWtlcm5lbC9ibG9i Lzc0MDhiMzhjZmRmOWIwYzZjM2JkYTk3NDAyYzc1YmQyN2VmNjlhODUvRG9jdW1lbnRhdGlvbi9p b2N0bC9ib3RjaGluZy11cC1pb2N0bHMudHh0Cj4gSSB3aWxsIGdvIHRocm91Z2ggYW5kIGFsaWdu IHRvIGl0LiBUaGFua3MgZm9yIHNoYXJpbmcuCj4KPiAtUmFtCj4gPgo+ID4gQ2hlZXJzLCBEYW5p ZWwKPiA+ID4gK307Cj4gPiA+ICsKPiA+ID4gIHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbyB7Cj4g PiA+ICAgICBfX3UzMiBjbG9jazsKPiA+ID4gICAgIF9fdTE2IGhkaXNwbGF5Owo+ID4gPiAtLQo+ ID4gPiAyLjE5LjEKPiA+ID4KPiA+Cj4gPiAtLQo+ID4gRGFuaWVsIFZldHRlcgo+ID4gU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiBodHRwOi8vYmxvZy5mZndsbC5jaAoK CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24K KzQxICgwKSA3OSAzNjUgNTcgNDggLSBodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=