From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: Re: [PATCH v8 1/6] drm: Add Content protection type property Date: Mon, 8 Jul 2019 14:42:29 +0530 Message-ID: <20190708091229.GA31930@intel.com> References: <20190705004642.15822-1-ramalingam.c@intel.com> <20190705004642.15822-2-ramalingam.c@intel.com> <20190708125217.6bc8dc27@eldfell.localdomain> <20190708125959.3f35c23e@eldfell.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190708125959.3f35c23e@eldfell.localdomain> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Pekka Paalanen Cc: intel-gfx , dri-devel List-Id: dri-devel@lists.freedesktop.org T24gMjAxOS0wNy0wOCBhdCAxMjo1OTo1OSArMDMwMCwgUGVra2EgUGFhbGFuZW4gd3JvdGU6Cj4g T24gTW9uLCA4IEp1bCAyMDE5IDEyOjUyOjE3ICswMzAwCj4gUGVra2EgUGFhbGFuZW4gPHBwYWFs YW5lbkBnbWFpbC5jb20+IHdyb3RlOgo+IAo+ID4gT24gRnJpLCAgNSBKdWwgMjAxOSAwNjoxNjoz NyArMDUzMAo+ID4gUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPiB3cm90ZToK PiA+IAo+ID4gPiBUaGlzIHBhdGNoIGFkZHMgYSBEUk0gRU5VTSBwcm9wZXJ0eSB0byB0aGUgc2Vs ZWN0ZWQgY29ubmVjdG9ycy4KPiA+ID4gVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIGZvciBtZW50aW9u aW5nIHRoZSBwcm90ZWN0ZWQgY29udGVudCdzIHR5cGUKPiA+ID4gZnJvbSB1c2Vyc3BhY2UgdG8g a2VybmVsIEhEQ1AgYXV0aGVudGljYXRpb24uCj4gPiA+IAo+ID4gPiBUeXBlIG9mIHRoZSBzdHJl YW0gaXMgZGVjaWRlZCBieSB0aGUgcHJvdGVjdGVkIGNvbnRlbnQgcHJvdmlkZXJzLgo+ID4gPiBU eXBlIDAgY29udGVudCBjYW4gYmUgcmVuZGVyZWQgb24gYW55IEhEQ1AgcHJvdGVjdGVkIGRpc3Bs YXkgd2lyZXMuCj4gPiA+IEJ1dCBUeXBlIDEgY29udGVudCBjYW4gYmUgcmVuZGVyZWQgb25seSBv biBIRENQMi4yIHByb3RlY3RlZCBwYXRocy4KPiA+ID4gCj4gPiA+IFNvIHdoZW4gYSB1c2Vyc3Bh Y2Ugc2V0cyB0aGlzIHByb3BlcnR5IHRvIFR5cGUgMSBhbmQgc3RhcnRzIHRoZSBIRENQCj4gPiA+ IGVuYWJsZSwga2VybmVsIHdpbGwgaG9ub3VyIGl0IG9ubHkgaWYgSERDUDIuMiBhdXRoZW50aWNh dGlvbiBpcyB0aHJvdWdoCj4gPiA+IGZvciB0eXBlIDEuIEVsc2UgSERDUCBlbmFibGUgd2lsbCBi ZSBmYWlsZWQuCj4gPiA+IAo+ID4gPiBOZWVkIEFDSyBmb3IgdGhpcyBuZXcgY29uZW5jdG9yIHBy b3BlcnR5IGZyb20gdXNlcnNwYWNlIGNvbnN1bWVyLgo+ID4gPiAKPiA+ID4gdjI6Cj4gPiA+ICAg Y3BfY29udGVudF90eXBlIGlzIHJlcGxhY2VkIHdpdGggY29udGVudF9wcm90ZWN0aW9uX3R5cGUg W2RhbmllbF0KPiA+ID4gICBjaGVjayBhdCBhdG9taWNfc2V0X3Byb3BlcnR5IGlzIHJlbW92ZWQg W01hYXJ0ZW5dCj4gPiA+IHYzOgo+ID4gPiAgICVzL2NvbnRlbnRfcHJvdGVjdGlvbl90eXBlL2hk Y3BfY29udGVudF90eXBlIFtQZWtrYV0KPiA+ID4gdjQ6Cj4gPiA+ICAgcHJvcGVydHkgaXMgY3Jl YXRlZCBmb3IgdGhlIGZpcnN0IHJlcXVlc3RlZCBjb25uZWN0b3IgYW5kIHRoZW4gcmV1c2VkLgo+ ID4gPiAJW0RhbnZldF0KPiA+ID4gdjU6Cj4gPiA+ICAga2VybmVsIGRvYyBuaXRzIGFkZHJlc3Nl ZCBbRGFuaWVsXQo+ID4gPiAgIFJlYmFzZWQgYXMgcGFydCBvZiBwYXRjaCByZW9yZGVyaW5nLgo+ ID4gPiB2NjoKPiA+ID4gICBLZXJuZWwgZG9jcyBhcmUgbW9kaWZpZWQgW3Bla2thXQo+ID4gPiAK PiA+ID4gU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29t Pgo+ID4gPiBSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5j aD4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgICAg ICAgICB8ICA0ICsrKwo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAg ICAgICAgfCAyMiArKysrKysrKysrKysrKwo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9oZGNw LmMgICAgICAgICAgICAgICAgfCAzNiArKysrKysrKysrKysrKysrKysrKysrLQo+ID4gPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZGNwLmMgfCAgNCArKy0KPiA+ID4gIGlu Y2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgICAgICAgIHwgIDcgKysrKysKPiA+ID4g IGluY2x1ZGUvZHJtL2RybV9oZGNwLmggICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiA+ID4g IGluY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAgICAgICAgICAgIHwgIDYgKysrKwo+ID4g PiAgaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgICAgICAgICAgfCAgNCArKysKPiA+ ID4gIDggZmlsZXMgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiA+ ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPiA+ID4gaW5kZXggYWJlMzhiZGY4 NWFlLi4xOWFlMTE5ZjFhNWQgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX3VhcGkuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBp LmMKPiA+ID4gQEAgLTc0Nyw2ICs3NDcsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY29ubmVj dG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiAg CQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ICAJCX0KPiA+ID4gIAkJc3RhdGUtPmNvbnRlbnRfcHJv dGVjdGlvbiA9IHZhbDsKPiA+ID4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+aGRj cF9jb250ZW50X3R5cGVfcHJvcGVydHkpIHsKPiA+ID4gKwkJc3RhdGUtPmhkY3BfY29udGVudF90 eXBlID0gdmFsOwo+ID4gPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5jb2xv cnNwYWNlX3Byb3BlcnR5KSB7Cj4gPiA+ICAJCXN0YXRlLT5jb2xvcnNwYWNlID0gdmFsOwo+ID4g PiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT53cml0ZWJhY2tfZmJfaWRfcHJvcGVy dHkpIHsKPiA+ID4gQEAgLTgzMSw2ICs4MzMsOCBAQCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ID4gIAkJCXN0YXRl LT5oZHJfb3V0cHV0X21ldGFkYXRhLT5iYXNlLmlkIDogMDsKPiA+ID4gIAl9IGVsc2UgaWYgKHBy b3BlcnR5ID09IGNvbmZpZy0+Y29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KSB7Cj4gPiA+ICAJ CSp2YWwgPSBzdGF0ZS0+Y29udGVudF9wcm90ZWN0aW9uOwo+ID4gPiArCX0gZWxzZSBpZiAocHJv cGVydHkgPT0gY29uZmlnLT5oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSkgewo+ID4gPiArCQkq dmFsID0gc3RhdGUtPmhkY3BfY29udGVudF90eXBlOwo+ID4gPiAgCX0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29uZmlnLT53cml0ZWJhY2tfZmJfaWRfcHJvcGVydHkpIHsKPiA+ID4gIAkJLyogV3Jp dGViYWNrIGZyYW1lYnVmZmVyIGlzIG9uZS1zaG90LCB3cml0ZSBhbmQgZm9yZ2V0ICovCj4gPiA+ ICAJCSp2YWwgPSAwOwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25u ZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gaW5kZXggMDY4 ZDRiMDVmMWJlLi4xN2FlZjg4YzAzYTYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0 b3IuYwo+ID4gPiBAQCAtOTUxLDYgKzk1MSwyOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9w cm9wX2VudW1fbGlzdCBoZG1pX2NvbG9yc3BhY2VzW10gPSB7Cj4gPiA+ICAgKgkgIHRoZSB2YWx1 ZSB0cmFuc2l0aW9ucyBmcm9tIEVOQUJMRUQgdG8gREVTSVJFRC4gVGhpcyBzaWduaWZpZXMgdGhl IGxpbmsKPiA+ID4gICAqCSAgaXMgbm8gbG9uZ2VyIHByb3RlY3RlZCBhbmQgdXNlcnNwYWNlIHNo b3VsZCB0YWtlIGFwcHJvcHJpYXRlIGFjdGlvbgo+ID4gPiAgICoJICAod2hhdGV2ZXIgdGhhdCBt aWdodCBiZSkuCj4gPiA+ICsgKiBIRENQIENvbnRlbnQgVHlwZToKPiA+ID4gKyAqCVRoaXMgcHJv cGVydHkgaXMgdXNlZCBieSB0aGUgdXNlcnNwYWNlIHRvIGNvbmZpZ3VyZSB0aGUga2VybmVsIHdp dGgKPiA+ID4gKyAqCXRvIGJlIGRpc3BsYXllZCBzdHJlYW0ncyBjb250ZW50IHR5cGUuIENvbnRl bnQgVHlwZSBvZiBhIHN0cmVhbSBpcwo+ID4gPiArICoJZGVjaWRlZCBieSB0aGUgb3duZXIgb2Yg dGhlIHN0cmVhbSwgYXMgIkhEQ1AgVHlwZTAiIG9yICJIRENQIFR5cGUxIi4KPiA+ID4gKyAqCj4g PiA+ICsgKglUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGNhbiBiZSBvbmUgdGhlIGJlbG93Ogo+ ID4gPiArICoJICAtICJIRENQIFR5cGUwIjogRFJNX01PREVfSERDUF9DT05URU5UX1RZUEUwID0g MAo+ID4gPiArICoJCUhEQ1AgVHlwZTAgc3RyZWFtcyBjYW4gYmUgdHJhbnNtaXR0ZWQgb24gYSBs aW5rIHdoaWNoIGlzCj4gPiA+ICsgKgkJZW5jcnlwdGVkIHdpdGggSERDUCAxLjQgb3IgaGlnaGVy IHZlcnNpb25zIG9mIEhEQ1AoaS5lIEhEQ1AyLjIKPiA+ID4gKyAqCQlhbmQgbW9yZSkuCj4gPiA+ ICsgKgkgIC0gIkhEQ1AgVHlwZTEiOiBEUk1fTU9ERV9IRENQX0NPTlRFTlRfVFlQRTEgPSAxCj4g PiA+ICsgKgkJSERDUCBUeXBlMSBzdHJlYW1zIGNhbiBiZSB0cmFuc21pdHRlZCBvbiBhIGxpbmsg d2hpY2ggaXMKPiA+ID4gKyAqCQllbmNyeXB0ZWQgb25seSB3aXRoIEhEQ1AgMi4yLiBJbiBmdXR1 cmUgaGlnaGVyIHZlcnNpb25zIGFsc28KPiA+ID4gKyAqCQltaWdodCBzdXBwb3J0IFR5cGUxIGJh c2VkIG9uIHRoZWlyIHNwZWMuCj4gPiA+ICsgKgo+ID4gPiArICoJTm90ZSB0aGF0IHRoZSBIRENQ IENvbnRlbnQgVHlwZSBwcm9wZXJ0eSBpcyBpbnRyb2R1Y2VkIGF0IEhEQ1AgMi4yLCBhbmQKPiA+ ID4gKyAqCWRlZmF1bHRzIHRvIHR5cGUgMC4gSXQgaXMgb25seSBleHBvc2VkIGJ5IGRyaXZlcnMg c3VwcG9ydGluZyBIRENQIDIuMi4KPiA+ID4gKyAqCUJhc2VkIG9uIGhvdyBuZXh0IHZlcnNpb25z IG9mIEhEQ1Agc3BlY3MgYXJlIGRlZmluZWQgY29udGVudCBUeXBlIGNvdWxkCj4gPiA+ICsgKgli ZSB1c2VkIGZvciBoaWdoZXIgdmVyc2lvbnMgdG9vLgo+ID4gPiArICoJSWYgY29udGVudCB0eXBl IGlzIGNoYW5nZWQgd2hlbiBjb250ZW50X3Byb3RlY3Rpb24gaXMgbm90IFVOREVTSVJFRCwKPiA+ ID4gKyAqCXRoZW4ga2VybmVsIHdpbGwgZGlzYWJsZSB0aGUgSERDUCBhbmQgcmUtZW5hYmxlIHdp dGggbmV3IHR5cGUgaW4gdGhlCj4gPiA+ICsgKglzYW1lIGF0b21pYyBjb21taXQgIAo+ID4gCj4g PiBIaSwKPiA+IAo+ID4gSSB0aGluayB0aGlzIGRvYyBjb3ZlcnMgYWxsIG15IHByZXZpb3VzIGNv bW1lbnRzIG9uIHRoaXMgcGF0Y2ggbm93LiBPbmUKPiA+IG1vcmUgdGhpbmcsIHRoZSB3b3JkaW5n IGhlcmUgcmVhZHMgYXM6Cj4gPiAtIHVzZXJzcGFjZSBjb25maWd1cmVzIHRoZSBjb250ZW50IHR5 cGUKPiA+IC0gdGhlIGtlcm5lbCB0cmFuc21pdHMgdGhlIGNvbnRlbnQgaWYgdGhlIGxpbmsgc2F0 aXNmaWVzIHRoZSB0eXBlCj4gPiAgIHJlcXVpcmVtZW50Cj4gPiAtIGlmIHRoZSBsaW5rIGRvZXMg bm90IHNhdGlzZnkgdGhlIHR5cGUgcmVxdWlyZW1lbnQsIHRoZSBrZXJuZWwgd2lsbAo+ID4gICBu b3QgdHJhbnNtaXQgdGhlIGNvbnRlbnQKPiA+IAo+ID4gVGhpcyBpcyBvZiBjb3Vyc2UgZmFsc2Us IHRoZSBrZXJuZWwgdHJhbnNtaXRzIGFueXdheSwgYnV0IHRoYXQgaXMgaG93Cj4gPiB0aGUgdGV4 dCByZWFkcyBmcm9tIHRoZSAic3RyZWFtJ3MgY29udGVudCB0eXBlIiBhbmQgImNhbiBiZSB0cmFu c21pdHRlZAo+ID4gb24iLiBUaGUgcHJvYmxlbSBpcywgdGhhdCBhIHVzZXJzcGFjZSBkZXZlbG9w ZXIgd2lsbCB0aGluayB0aGUgc3RyZWFtCj4gPiBpcyB3aGF0IGhlIHB1c2hlcyBpbnRvIEtNUywg bm90IHdoYXQgZ29lcyBvbiB0aGUgd2lyZS4gVGhlIHRleHQgYWxzbwo+ID4gbWFnbmlmaWVzIHRo YXQgbWlzY29uY2VwdGlvbiBiZWNhdXNlIGl0IHNvdW5kcyBsaWtlIHRoZSBzdHJlYW0gaXMKPiA+ IHNvbWV0aGluZyBkaWZmZXJlbnQgZnJvbSB0aGUgbGluay4gQWN0dWFsbHksIEkgZG9uJ3QgdW5k ZXJzdGFuZCB3aGF0Cj4gPiAidGhlIHN0cmVhbSIgaXMgc3VwcG9zZWQgdG8gYmUgaGVyZS4KU3Ry ZWFtIGlzIG5vdGhpbmcgYnV0IHRoZSBhbnkgZGlzcGxheSBjb250ZW50IHRoYXQgbmVlZHMgdGhl IGhkY3AKcHJvdGVjdGlvbi4KPiA+IAo+ID4gSW5zdGVhZCwgSSB0aGluayB5b3Ugc2hvdWxkIGV4 cGxhaW4gaG93IHRoZSBjb250ZW50IHR5cGUgcHJvcGVydHkKPiA+IGd1aWRlcyB0aGUga2VybmVs IGRyaXZlcidzIGF0dGVtcHRzIGluIG5lZ290aWF0aW5nIHRoZSBsaW5rIGVuY3J5cHRpb24KPiA+ IGFuZCBob3cgdGhhdCB0aGVuIHJlZmxlY3RzIGluIHRoZSBjb250ZW50IHByb3RlY3Rpb24gcHJv cGVydHkgKERFU0lSRUQKPiA+IHZzLiBFTkFCTEVEKS4gSXQgbWlnaHQgYmUgYmVzdCB0byBub3Qg c2F5IGFueXRoaW5nIGFib3V0IGFueSAic3RyZWFtIi4KCkkgd2lsbCBleHBsYWluIGluIGRpZmZl cmVudCBhbmQgbW9yZSB3b3Jkcywgc28gdGhhdCB0aGlzIHF1ZXN0aW9ucyB3b250CnJhaXNlLgo+ IAo+IEJ0dy4gdGhpcyBVQVBJIGhhcyB0aGUgZm9sbG93aW5nIGZ1bmRhbWVudGFsIGZsYXdzOgo+ IAo+IC0gdXNlcnNwYWNlIGNhbm5vdCBrbm93IHdoaWNoIGVuY3J5cHRpb24gaXMgdXNlZCBvbiB0 aGUgbGluawpUaGlzIGNsYWltIGlzIG5vdCB0cnVlLgoKIkhEQ1AgY29udGVudCB0eXBlIiBhbmQg ImNvbnRlbnQgcHJvdGVjdGlvbiIgYXJlIHVzZWQKdG9nZXRoZXIgaW4KCXJlcXVlc3RpbmcgdGhl IEhEQ1Agc3RhdGUKCWNvbmZpcm1pbmcgdGhhdCByZXF1aXJlZCBzdGF0ZSBpcyBhY2hpZXZlZApG b3IgZXg6ClRoZSBzdGF0ZSAiSERDUCBjb250ZW50IHR5cGUiID0gIkhEQ1AgVHlwZTEiIGFuZCAi Y29udGVudCBwcm90ZWN0aW9uIiA9CiJERVNJUkVEIiBzdGFuZHMgZm9yIHVzZXJzcGFjZSBoYXMg cmVxdWVzdGVkIGZvciBIRENQIFR5cGUgMSBwcm90ZWN0aW9uCmZyb20ga2VybmVsLgoKV2hlbiBr ZXJuZWwgY2hhbmdlcyB0aGUgImNvbnRlbnQgcHJvdGVjdGlvbiIgdG8gIkVOQUJMRUQiIHdoZW4g IkhEQ1AKY29udGVudCB0eXBlIiBpcyAiSERDUCBUeXBlMSIsIGtlcm5lbCBpbmRpY2F0ZXMgdGhl IHVzZXJzcGFjZSB0aGF0IEhEQ1AKYXV0aGVudGljYXRpb24gZm9yIFR5cGUgMSBpcyBzdWNjZXNz ZnVsLgoKSSBhbSBub3Qgc3VyZSB3aHkgZG8geW91IHRoaW5rIHRoYXQgdXNlcnNwYWNlIGlzIG5v dCBrbm93aW5nIGxpbmsncwphdXRoZW50aWNhdGlvbiBzdGF0ZSB3LnIudCB0eXBlLgoKPiAtIHVz ZXJzcGFjZSBjYW5ub3QgZm9yY2UgVHlwZTAgaWYgdGhlIGRyaXZlciBzdWNjZWVkcyBlbmFibGlu ZyBUeXBlMQpXaGVuIHlvdSBzZXQgVHlwZSAwLCBrZXJuZWwgd2lsbCBhdXRoZW50aWNhdGUgdGhl IGxpbmsgZm9yIFR5cGUgMCBvbmx5LgpOb3QgZm9yIFR5cGUgMS4gSSBndWVzcyB5b3UgYXJlIHRy eWluZyB0byBzYXkgSERDUDEuNCBpcyBub3QgcG9zc2libGUKb3ZlciBIRENQMi4yLgpJIGRvbnQg c2VlIGFueSByZWFzb24gd2h5IGFueW9uZSB3YW50IHRoaXMgZXhjZXB0IGZvciB0ZXN0aW5nLgoK VHlwZSAwIGNhbiBiZSBhY2hpZXZlZCB0aHJvdWdoIEhEQ1AyLjIgYW5kIEhEQ1AxLjQuIEFuZCBI RENQMi4yIGlzIGF0dGVtcHRlZApmaXJzdCBhbmQgSERDUDEuNCB3aWxsIGJlIGF0dGVtcHRlZCBv bmx5IGlmIEhEQ1AyLjIgaXMgZmFpbGVkIGZvciBzb21lCnJlYXNvbnMuIFRoaXMgaXMgZG9uZSBi ZWNhdXNlIEhEQ1AyLjIgaXMgcHJlZmVycmVkIG92ZXIgMS40IGR1ZSB0byBpdHMKYmV0dGVyIGNy eXB0byBhbGdvLiAKClRoYW5rcyBmb3IgcG9pbnRpbmcgaXQgb3V0LiBUaGVyZSBpcyBhIHNjb3Bl IHRvIGFkZCBhbGwgdGhlc2UKaW5mb3JtYXRpb24gaW4gdGhlIGRvY3VtZW50YXRpb24uIFdoaWNo IEkgd2lsbCBkbyBpdCBpbiB0aGUgbmV4dCB2ZXJzaW9uCnRvZGF5LgoKVGhhbmtzLAotUmFtLgoK PiAKPiBUbyBtZSB0aGlzIHNlZW1zIGxpa2UgcG9vciBVQVBJIGRlc2lnbi4gV2h5IHdhcyB0aGlz IGRlc2lnbmVkIGxpa2UgdGhpcz8KPiAKPiAKPiBUaGFua3MsCj4gcHEKPiAKPiA+ID4gICAqCj4g PiA+ICAgKiBIRFJfT1VUUFVUX01FVEFEQVRBOgo+ID4gPiAgICoJQ29ubmVjdG9yIHByb3BlcnR5 IHRvIGVuYWJsZSB1c2Vyc3BhY2UgdG8gc2VuZCBIRFIgTWV0YWRhdGEgdG8KPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faGRjcC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9o ZGNwLmMKPiA+ID4gaW5kZXggY2Q4MzdiZDQwOWY3Li5jZTIzNWZkMWM4NDQgMTAwNjQ0Cj4gPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faGRjcC5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1faGRjcC5jCj4gPiA+IEBAIC0zNDQsMjMgKzM0NCw0MSBAQCBzdGF0aWMgc3RydWN0 IGRybV9wcm9wX2VudW1fbGlzdCBkcm1fY3BfZW51bV9saXN0W10gPSB7Cj4gPiA+ICB9Owo+ID4g PiAgRFJNX0VOVU1fTkFNRV9GTihkcm1fZ2V0X2NvbnRlbnRfcHJvdGVjdGlvbl9uYW1lLCBkcm1f Y3BfZW51bV9saXN0KQo+ID4gPiAgCj4gPiA+ICtzdGF0aWMgc3RydWN0IGRybV9wcm9wX2VudW1f bGlzdCBkcm1faGRjcF9jb250ZW50X3R5cGVfZW51bV9saXN0W10gPSB7Cj4gPiA+ICsJeyBEUk1f TU9ERV9IRENQX0NPTlRFTlRfVFlQRTAsICJIRENQIFR5cGUwIiB9LAo+ID4gPiArCXsgRFJNX01P REVfSERDUF9DT05URU5UX1RZUEUxLCAiSERDUCBUeXBlMSIgfSwKPiA+ID4gK307Cj4gPiA+ICtE Uk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfaGRjcF9jb250ZW50X3R5cGVfbmFtZSwKPiA+ID4gKwkJ IGRybV9oZGNwX2NvbnRlbnRfdHlwZV9lbnVtX2xpc3QpCj4gPiA+ICsKPiA+ID4gIC8qKgo+ID4g PiAgICogZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5IC0g YXR0YWNoIGNvbnRlbnQgcHJvdGVjdGlvbgo+ID4gPiAgICogcHJvcGVydHkKPiA+ID4gICAqCj4g PiA+ICAgKiBAY29ubmVjdG9yOiBjb25uZWN0b3IgdG8gYXR0YWNoIENQIHByb3BlcnR5IG9uLgo+ ID4gPiArICogQGhkY3BfY29udGVudF90eXBlOiBpcyBIRENQIENvbnRlbnQgVHlwZSBwcm9wZXJ0 eSBuZWVkZWQgZm9yIGNvbm5lY3Rvcgo+ID4gPiAgICoKPiA+ID4gICAqIFRoaXMgaXMgdXNlZCB0 byBhZGQgc3VwcG9ydCBmb3IgY29udGVudCBwcm90ZWN0aW9uIG9uIHNlbGVjdCBjb25uZWN0b3Jz Lgo+ID4gPiAgICogQ29udGVudCBQcm90ZWN0aW9uIGlzIGludGVudGlvbmFsbHkgdmFndWUgdG8g YWxsb3cgZm9yIGRpZmZlcmVudCB1bmRlcmx5aW5nCj4gPiA+ICAgKiB0ZWNobm9sb2dpZXMsIGhv d2V2ZXIgaXQgaXMgbW9zdCBpbXBsZW1lbnRlZCBieSBIRENQLgo+ID4gPiAgICoKPiA+ID4gKyAq IFdoZW4gaGRjcF9jb250ZW50X3R5cGUgaXMgdHJ1ZSBlbnVtIHByb3BlcnR5IGNhbGxlZCBIRENQ IENvbnRlbnQgVHlwZSBpcwo+ID4gPiArICogY3JlYXRlZCAoaWYgaXQgaXMgbm90IGFscmVhZHkp IGFuZCBhdHRhY2hlZCB0byB0aGUgY29ubmVjdG9yLgo+ID4gPiArICoKPiA+ID4gKyAqIFRoaXMg cHJvcGVydHkgaXMgdXNlZCBmb3Igc2VuZGluZyB0aGUgcHJvdGVjdGVkIGNvbnRlbnQncyBzdHJl YW0gdHlwZQo+ID4gPiArICogZnJvbSB1c2Vyc3BhY2UgdG8ga2VybmVsIG9uIHNlbGVjdGVkIGNv bm5lY3RvcnMuIFByb3RlY3RlZCBjb250ZW50IHByb3ZpZGVyCj4gPiA+ICsgKiB3aWxsIGRlY2lk ZSB0aGVpciB0eXBlIG9mIHRoZWlyIGNvbnRlbnQgYW5kIGRlY2xhcmUgdGhlIHNhbWUgdG8ga2Vy bmVsLgo+ID4gPiArICoKPiA+ID4gKyAqIENvbnRlbnQgdHlwZSB3aWxsIGJlIHVzZWQgZHVyaW5n IHRoZSBIRENQIDIuMiBhdXRoZW50aWNhdGlvbi4KPiA+ID4gKyAqIENvbnRlbnQgdHlwZSB3aWxs IGJlIHNldCB0byAmZHJtX2Nvbm5lY3Rvcl9zdGF0ZS5oZGNwX2NvbnRlbnRfdHlwZS4KPiA+ID4g KyAqCj4gPiA+ICAgKiBUaGUgY29udGVudCBwcm90ZWN0aW9uIHdpbGwgYmUgc2V0IHRvICZkcm1f Y29ubmVjdG9yX3N0YXRlLmNvbnRlbnRfcHJvdGVjdGlvbgo+ID4gPiAgICoKPiA+ID4gICAqIFJl dHVybnM6Cj4gPiA+ICAgKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm5vIG9uIGZhaWx1 cmUuCj4gPiA+ICAgKi8KPiA+ID4gIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3By b3RlY3Rpb25fcHJvcGVydHkoCj4gPiA+IC0JCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gPiA+ICsJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgaGRjcF9j b250ZW50X3R5cGUpCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNv bm5lY3Rvci0+ZGV2Owo+ID4gPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3AgPQo+ID4gPiBA QCAtMzc3LDYgKzM5NSwyMiBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90 ZWN0aW9uX3Byb3BlcnR5KAo+ID4gPiAgCQkJCSAgIERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElP Tl9VTkRFU0lSRUQpOwo+ID4gPiAgCWRldi0+bW9kZV9jb25maWcuY29udGVudF9wcm90ZWN0aW9u X3Byb3BlcnR5ID0gcHJvcDsKPiA+ID4gIAo+ID4gPiArCWlmICghaGRjcF9jb250ZW50X3R5cGUp Cj4gPiA+ICsJCXJldHVybiAwOwo+ID4gPiArCj4gPiA+ICsJcHJvcCA9IGRldi0+bW9kZV9jb25m aWcuaGRjcF9jb250ZW50X3R5cGVfcHJvcGVydHk7Cj4gPiA+ICsJaWYgKCFwcm9wKQo+ID4gPiAr CQlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgIkhEQ1AgQ29udGVudCBU eXBlIiwKPiA+ID4gKwkJCQkJZHJtX2hkY3BfY29udGVudF90eXBlX2VudW1fbGlzdCwKPiA+ID4g KwkJCQkJQVJSQVlfU0laRSgKPiA+ID4gKwkJCQkJZHJtX2hkY3BfY29udGVudF90eXBlX2VudW1f bGlzdCkpOwo+ID4gPiArCWlmICghcHJvcCkKPiA+ID4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gPiA+ ICsKPiA+ID4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBw cm9wLAo+ID4gPiArCQkJCSAgIERSTV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFMCk7Cj4gPiA+ICsJ ZGV2LT5tb2RlX2NvbmZpZy5oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSA9IHByb3A7Cj4gPiA+ ICsKPiA+ID4gIAlyZXR1cm4gMDsKPiA+ID4gIH0KPiA+ID4gIEVYUE9SVF9TWU1CT0woZHJtX2Nv bm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KTsKPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRjcC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZGNwLmMKPiA+ID4gaW5kZXggYmMzYTk0ZDQ5 MWM0Li4yYTRkMTA5NTJiNzQgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfaGRjcC5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfaGRjcC5jCj4gPiA+IEBAIC0xODI5LDcgKzE4MjksOSBAQCBpbnQgaW50ZWxf aGRjcF9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ID4gIAlpZiAo IXNoaW0pCj4gPiA+ICAJCXJldHVybiAtRUlOVkFMOwo+ID4gPiAgCj4gPiA+IC0JcmV0ID0gZHJt X2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KCZjb25uZWN0b3It PmJhc2UpOwo+ID4gPiArCXJldCA9Cj4gPiA+ICsJZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVu dF9wcm90ZWN0aW9uX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsCj4gPiA+ICsJCQkJCQkJIGZh bHNlKTsKPiA+ID4gIAlpZiAocmV0KQo+ID4gPiAgCQlyZXR1cm4gcmV0Owo+ID4gPiAgCj4gPiA+ IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9k cm1fY29ubmVjdG9yLmgKPiA+ID4gaW5kZXggNGMzMGQ3NTE0ODdhLi5kNjQzMjk2N2EyYTkgMTAw NjQ0Cj4gPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4gPiArKysgYi9p bmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+ID4gQEAgLTYwMSw2ICs2MDEsMTIgQEAgc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgewo+ID4gPiAgCSAqLwo+ID4gPiAgCXVuc2lnbmVkIGlu dCBjb250ZW50X3R5cGU7Cj4gPiA+ICAKPiA+ID4gKwkvKioKPiA+ID4gKwkgKiBAaGRjcF9jb250 ZW50X3R5cGU6IENvbm5lY3RvciBwcm9wZXJ0eSB0byBwYXNzIHRoZSB0eXBlIG9mCj4gPiA+ICsJ ICogcHJvdGVjdGVkIGNvbnRlbnQuIFRoaXMgaXMgbW9zdCBjb21tb25seSB1c2VkIGZvciBIRENQ Lgo+ID4gPiArCSAqLwo+ID4gPiArCXVuc2lnbmVkIGludCBoZGNwX2NvbnRlbnRfdHlwZTsKPiA+ ID4gKwo+ID4gPiAgCS8qKgo+ID4gPiAgCSAqIEBzY2FsaW5nX21vZGU6IENvbm5lY3RvciBwcm9w ZXJ0eSB0byBjb250cm9sIHRoZQo+ID4gPiAgCSAqIHVwc2NhbGluZywgbW9zdGx5IHVzZWQgZm9y IGJ1aWx0LWluIHBhbmVscy4KPiA+ID4gQEAgLTE0ODQsNiArMTQ5MCw3IEBAIGNvbnN0IGNoYXIg KmRybV9nZXRfZHZpX2lfc2VsZWN0X25hbWUoaW50IHZhbCk7Cj4gPiA+ICBjb25zdCBjaGFyICpk cm1fZ2V0X3R2X3N1YmNvbm5lY3Rvcl9uYW1lKGludCB2YWwpOwo+ID4gPiAgY29uc3QgY2hhciAq ZHJtX2dldF90dl9zZWxlY3RfbmFtZShpbnQgdmFsKTsKPiA+ID4gIGNvbnN0IGNoYXIgKmRybV9n ZXRfY29udGVudF9wcm90ZWN0aW9uX25hbWUoaW50IHZhbCk7Cj4gPiA+ICtjb25zdCBjaGFyICpk cm1fZ2V0X2hkY3BfY29udGVudF90eXBlX25hbWUoaW50IHZhbCk7Cj4gPiA+ICAKPiA+ID4gIGlu dCBkcm1fbW9kZV9jcmVhdGVfZHZpX2lfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKPiA+ID4gIGludCBkcm1fbW9kZV9jcmVhdGVfdHZfbWFyZ2luX3Byb3BlcnRpZXMoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7Cj4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1faGRj cC5oIGIvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaAo+ID4gPiBpbmRleCAxMzc3MWE0OTZlMmIuLjI5 NzBhYmRmYWYxMiAxMDA2NDQKPiA+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaAo+ID4g PiArKysgYi9pbmNsdWRlL2RybS9kcm1faGRjcC5oCj4gPiA+IEBAIC0yOTEsNSArMjkxLDUgQEAg c3RydWN0IGRybV9jb25uZWN0b3I7Cj4gPiA+ICBib29sIGRybV9oZGNwX2NoZWNrX2tzdnNfcmV2 b2tlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gPiAgCQkJCSB1OCAqa3N2cywgdTMyIGtz dl9jb3VudCk7Cj4gPiA+ICBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0 aW9uX3Byb3BlcnR5KAo+ID4gPiAtCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsK PiA+ID4gKwkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBoZGNwX2NvbnRl bnRfdHlwZSk7Cj4gPiA+ICAjZW5kaWYKPiA+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9tb2RlX2NvbmZpZy5oIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiA+ID4gaW5k ZXggNzU5ZDQ2MmQwMjhiLi42YzRiNWJjODU5NTEgMTAwNjQ0Cj4gPiA+IC0tLSBhL2luY2x1ZGUv ZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2Nv bmZpZy5oCj4gPiA+IEBAIC04NDksNiArODQ5LDEyIEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWcg ewo+ID4gPiAgCSAqLwo+ID4gPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKmNvbnRlbnRfcHJvdGVj dGlvbl9wcm9wZXJ0eTsKPiA+ID4gIAo+ID4gPiArCS8qKgo+ID4gPiArCSAqIEBoZGNwX2NvbnRl bnRfdHlwZV9wcm9wZXJ0eTogRFJNIEVOVU0gcHJvcGVydHkgZm9yIHR5cGUgb2YKPiA+ID4gKwkg KiBQcm90ZWN0ZWQgQ29udGVudC4KPiA+ID4gKwkgKi8KPiA+ID4gKwlzdHJ1Y3QgZHJtX3Byb3Bl cnR5ICpoZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eTsKPiA+ID4gKwo+ID4gPiAgCS8qIGR1bWIg aW9jdGwgcGFyYW1ldGVycyAqLwo+ID4gPiAgCXVpbnQzMl90IHByZWZlcnJlZF9kZXB0aCwgcHJl ZmVyX3NoYWRvdzsKPiA+ID4gIAo+ID4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9k cm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCj4gPiA+IGluZGV4IDVhYjMz MWU1ZGMyMy4uNWM5NTQzOTQwOTNmIDEwMDY0NAo+ID4gPiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJt L2RybV9tb2RlLmgKPiA+ID4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCj4gPiA+ IEBAIC0yMTgsNiArMjE4LDEwIEBAIGV4dGVybiAiQyIgewo+ID4gPiAgI2RlZmluZSBEUk1fTU9E RV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRCAgICAgMQo+ID4gPiAgI2RlZmluZSBEUk1fTU9E RV9DT05URU5UX1BST1RFQ1RJT05fRU5BQkxFRCAgICAgMgo+ID4gPiAgCj4gPiA+ICsvKiBDb250 ZW50IFR5cGUgY2xhc3NpZmljYXRpb24gZm9yIEhEQ1AyLjIgdnMgb3RoZXJzICovCj4gPiA+ICsj ZGVmaW5lIERSTV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFMAkJMAo+ID4gPiArI2RlZmluZSBEUk1f TU9ERV9IRENQX0NPTlRFTlRfVFlQRTEJCTEKPiA+ID4gKwo+ID4gPiAgc3RydWN0IGRybV9tb2Rl X21vZGVpbmZvIHsKPiA+ID4gIAlfX3UzMiBjbG9jazsKPiA+ID4gIAlfX3UxNiBoZGlzcGxheTsg IAo+ID4gCj4gCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs