From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: Re: [PATCH v9 1/6] drm: Add Content protection type property Date: Fri, 12 Jul 2019 05:08:48 +0530 Message-ID: <20190711233848.GA3717@intel.com> References: <20190708112116.1780-1-ramalingam.c@intel.com> <20190708112116.1780-2-ramalingam.c@intel.com> <20190711141822.GA136584@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190711141822.GA136584@art_vandelay> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sean Paul Cc: intel-gfx , ppaalanen@gmail.com, dri-devel List-Id: dri-devel@lists.freedesktop.org T24gMjAxOS0wNy0xMSBhdCAxMDoxODoyMiAtMDQwMCwgU2VhbiBQYXVsIHdyb3RlOgo+IE9uIE1v biwgSnVsIDA4LCAyMDE5IGF0IDA0OjUxOjExUE0gKzA1MzAsIFJhbWFsaW5nYW0gQyB3cm90ZToK PiA+IFRoaXMgcGF0Y2ggYWRkcyBhIERSTSBFTlVNIHByb3BlcnR5IHRvIHRoZSBzZWxlY3RlZCBj b25uZWN0b3JzLgo+ID4gVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIGZvciBtZW50aW9uaW5nIHRoZSBw cm90ZWN0ZWQgY29udGVudCdzIHR5cGUKPiA+IGZyb20gdXNlcnNwYWNlIHRvIGtlcm5lbCBIRENQ IGF1dGhlbnRpY2F0aW9uLgo+ID4gCj4gPiBUeXBlIG9mIHRoZSBzdHJlYW0gaXMgZGVjaWRlZCBi eSB0aGUgcHJvdGVjdGVkIGNvbnRlbnQgcHJvdmlkZXJzLgo+ID4gVHlwZSAwIGNvbnRlbnQgY2Fu IGJlIHJlbmRlcmVkIG9uIGFueSBIRENQIHByb3RlY3RlZCBkaXNwbGF5IHdpcmVzLgo+ID4gQnV0 IFR5cGUgMSBjb250ZW50IGNhbiBiZSByZW5kZXJlZCBvbmx5IG9uIEhEQ1AyLjIgcHJvdGVjdGVk IHBhdGhzLgo+ID4gCj4gPiBTbyB3aGVuIGEgdXNlcnNwYWNlIHNldHMgdGhpcyBwcm9wZXJ0eSB0 byBUeXBlIDEgYW5kIHN0YXJ0cyB0aGUgSERDUAo+ID4gZW5hYmxlLCBrZXJuZWwgd2lsbCBob25v dXIgaXQgb25seSBpZiBIRENQMi4yIGF1dGhlbnRpY2F0aW9uIGlzIHRocm91Z2gKPiA+IGZvciB0 eXBlIDEuIEVsc2UgSERDUCBlbmFibGUgd2lsbCBiZSBmYWlsZWQuCj4gPiAKPiA+IE5lZWQgQUNL IGZvciB0aGlzIG5ldyBjb25lbmN0b3IgcHJvcGVydHkgZnJvbSB1c2Vyc3BhY2UgY29uc3VtZXIu Cj4gPiAKPiA+IHYyOgo+ID4gICBjcF9jb250ZW50X3R5cGUgaXMgcmVwbGFjZWQgd2l0aCBjb250 ZW50X3Byb3RlY3Rpb25fdHlwZSBbZGFuaWVsXQo+ID4gICBjaGVjayBhdCBhdG9taWNfc2V0X3By b3BlcnR5IGlzIHJlbW92ZWQgW01hYXJ0ZW5dCj4gPiB2MzoKPiA+ICAgJXMvY29udGVudF9wcm90 ZWN0aW9uX3R5cGUvaGRjcF9jb250ZW50X3R5cGUgW1Bla2thXQo+ID4gdjQ6Cj4gPiAgIHByb3Bl cnR5IGlzIGNyZWF0ZWQgZm9yIHRoZSBmaXJzdCByZXF1ZXN0ZWQgY29ubmVjdG9yIGFuZCB0aGVu IHJldXNlZC4KPiA+IAlbRGFudmV0XQo+ID4gdjU6Cj4gPiAgIGtlcm5lbCBkb2Mgbml0cyBhZGRy ZXNzZWQgW0RhbmllbF0KPiA+ICAgUmViYXNlZCBhcyBwYXJ0IG9mIHBhdGNoIHJlb3JkZXJpbmcu Cj4gPiB2NjoKPiA+ICAgS2VybmVsIGRvY3MgYXJlIG1vZGlmaWVkIFtwZWtrYV0KPiA+IHY3Ogo+ ID4gICBNb3JlIGRldGFpbHMgaW4gS2VybmVsIGRvY3MuIFtwZWtrYV0KPiA+IAo+ID4gU2lnbmVk LW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgo+ID4gUmV2aWV3 ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gPiAtLS0KPiA+ ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgICAgICAgICB8ICA0ICsrKwo+ID4g IGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAgICAgICAgIHwgMzkgKysrKysrKysr KysrKysrKysrKysrKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2hkY3AuYyAgICAgICAgICAg ICAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfaGRjcC5jIHwgIDQgKystCj4gPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5l Y3Rvci5oICAgICAgICAgICAgICAgfCAgNyArKysrCj4gPiAgaW5jbHVkZS9kcm0vZHJtX2hkY3Au aCAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ID4gIGluY2x1ZGUvZHJtL2RybV9tb2RlX2Nv bmZpZy5oICAgICAgICAgICAgIHwgIDYgKysrKwo+ID4gIGluY2x1ZGUvdWFwaS9kcm0vZHJtX21v ZGUuaCAgICAgICAgICAgICAgIHwgIDQgKysrCj4gPiAgOCBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFw aS5jCj4gPiBpbmRleCBhYmUzOGJkZjg1YWUuLjE5YWUxMTlmMWE1ZCAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gPiBAQCAtNzQ3LDYgKzc0Nyw4IEBAIHN0YXRpYyBpbnQg ZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCj4gPiAgCQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAgCQl9Cj4gPiAgCQlzdGF0ZS0+ Y29udGVudF9wcm90ZWN0aW9uID0gdmFsOwo+ID4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNv bmZpZy0+aGRjcF9jb250ZW50X3R5cGVfcHJvcGVydHkpIHsKPiA+ICsJCXN0YXRlLT5oZGNwX2Nv bnRlbnRfdHlwZSA9IHZhbDsKPiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3It PmNvbG9yc3BhY2VfcHJvcGVydHkpIHsKPiA+ICAJCXN0YXRlLT5jb2xvcnNwYWNlID0gdmFsOwo+ ID4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+d3JpdGViYWNrX2ZiX2lkX3Byb3Bl cnR5KSB7Cj4gPiBAQCAtODMxLDYgKzgzMyw4IEBAIGRybV9hdG9taWNfY29ubmVjdG9yX2dldF9w cm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gIAkJCXN0YXRlLT5o ZHJfb3V0cHV0X21ldGFkYXRhLT5iYXNlLmlkIDogMDsKPiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBjb25maWctPmNvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSkgewo+ID4gIAkJKnZhbCA9 IHN0YXRlLT5jb250ZW50X3Byb3RlY3Rpb247Cj4gPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0g Y29uZmlnLT5oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSkgewo+ID4gKwkJKnZhbCA9IHN0YXRl LT5oZGNwX2NvbnRlbnRfdHlwZTsKPiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWct PndyaXRlYmFja19mYl9pZF9wcm9wZXJ0eSkgewo+ID4gIAkJLyogV3JpdGViYWNrIGZyYW1lYnVm ZmVyIGlzIG9uZS1zaG90LCB3cml0ZSBhbmQgZm9yZ2V0ICovCj4gPiAgCQkqdmFsID0gMDsKPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gaW5kZXggMDY4ZDRiMDVmMWJlLi43MzJmNjY0NTY0 M2QgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPiBAQCAtOTUyLDYgKzk1Miw0 NSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBoZG1pX2NvbG9yc3Bh Y2VzW10gPSB7Cj4gPiAgICoJICBpcyBubyBsb25nZXIgcHJvdGVjdGVkIGFuZCB1c2Vyc3BhY2Ug c2hvdWxkIHRha2UgYXBwcm9wcmlhdGUgYWN0aW9uCj4gPiAgICoJICAod2hhdGV2ZXIgdGhhdCBt aWdodCBiZSkuCj4gPiAgICoKPiA+ICsgKiBIRENQIENvbnRlbnQgVHlwZToKPiA+ICsgKglUaGlz IEVudW0gcHJvcGVydHkgaXMgdXNlZCBieSB0aGUgdXNlcnNwYWNlIHRvIGRlY2xhcmUgdGhlIGNv bnRlbnQgdHlwZQo+ID4gKyAqCW9mIHRoZSBkaXNwbGF5IHN0cmVhbSwgdG8ga2VybmVsLiBIZXJl IGRpc3BsYXkgc3RyZWFtIHN0YW5kcyBmb3IgYW55Cj4gPiArICoJZGlzcGxheSBjb250ZW50IHRo YXQgdXNlcnNwYWNlIGludGVuZGVkIHRvIHJlbmRlciB3aXRoIEhEQ1AgZW5jcnlwdGlvbi4KPiA+ ICsgKgo+ID4gKyAqCUNvbnRlbnQgVHlwZSBvZiBhIHN0cmVhbSBpcyBkZWNpZGVkIGJ5IHRoZSBv d25lciBvZiB0aGUgc3RyZWFtLCBhcwo+ID4gKyAqCSJIRENQIFR5cGUwIiBvciAiSERDUCBUeXBl MSIuCj4gPiArICoKPiA+ICsgKglUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGNhbiBiZSBvbmUg dGhlIGJlbG93Ogo+ID4gKyAqCSAgLSAiSERDUCBUeXBlMCI6IERSTV9NT0RFX0hEQ1BfQ09OVEVO VF9UWVBFMCA9IDAKPiA+ICsgKgkgIC0gIkhEQ1AgVHlwZTEiOiBEUk1fTU9ERV9IRENQX0NPTlRF TlRfVFlQRTEgPSAxCj4gPiArICoKPiA+ICsgKglXaGVuIGtlcm5lbCBzdGFydHMgdGhlIEhEQ1Ag YXV0aGVudGljYXRpb24gdXBvbiB0aGUgIkRFU0lSRUQiIHN0YXRlIG9mCj4gPiArICoJdGhlICJD b250ZW50IFByb3RlY3Rpb24iLCBpdCByZWZlcnMgdGhlICJIRENQIENvbnRlbnQgVHlwZSIgcHJv cGVydHkKPiA+ICsgKglzdGF0ZS4gQW5kIHBlcmZvcm0gdGhlIEhEQ1AgYXV0aGVudGljYXRpb24g d2l0aCB0aGUgZGlzcGxheSBzaW5rIGZvcgo+ID4gKyAqCXRoZSBjb250ZW50IHR5cGUgbWVudGlv bmVkIGJ5ICJIRENQIENvbnRlbnQgVHlwZSIuCj4gPiArICoKPiA+ICsgKglTdHJlYW0gY2xhc3Np ZmllZCBhcyBIRENQIFR5cGUwIGNhbiBiZSB0cmFuc21pdHRlZCBvbiBhIGxpbmsgd2hpY2ggaXMK PiA+ICsgKgllbmNyeXB0ZWQgd2l0aCBIRENQIDEuNCBvciBoaWdoZXIgdmVyc2lvbnMgb2YgSERD UChpLmUgSERDUDIuMgo+ID4gKyAqCWFuZCBtb3JlKS4KPiA+ICsgKgo+ID4gKyAqCVN0cmVhbXMg Y2xhc3NpZmllZCBhcyBIRENQIFR5cGUxIGNhbiBiZSB0cmFuc21pdHRlZCBvbiBhIGxpbmsgd2hp Y2ggaXMKPiA+ICsgKgllbmNyeXB0ZWQgb25seSB3aXRoIEhEQ1AgMi4yLiBJbiBmdXR1cmUsIEhE Q1AgdmVyc2lvbnMgPjIuMiBhbHNvIG1pZ2h0Cj4gPiArICoJc3VwcG9ydCBUeXBlMSBiYXNlZCBv biB0aGVpciBzcGVjLgo+ID4gKyAqCj4gPiArICoJSERDUDIuMiBhdXRoZW50aWNhdGlvbiBwcm90 b2NvbCBpdHNlbGYgdGFrZXMgdGhlICJDb250ZW50IFR5cGUiIGFzIGEKPiA+ICsgKglwYXJhbWV0 ZXIsIHdoaWNoIGlzIGEgaW5wdXQgZm9yIHRoZSBEUCBIRENQMi4yIGVuY3J5cHRpb24gYWxnby4K PiA+ICsgKgo+ID4gKyAqCU5vdGUgdGhhdCB0aGUgSERDUCBDb250ZW50IFR5cGUgcHJvcGVydHkg aXMgaW50cm9kdWNlZCBhdCBIRENQIDIuMiwgYW5kCj4gPiArICoJZGVmYXVsdHMgdG8gdHlwZSAw LiBJdCBpcyBvbmx5IGV4cG9zZWQgYnkgZHJpdmVycyBzdXBwb3J0aW5nIEhEQ1AgMi4yLgo+ID4g KyAqCUJhc2VkIG9uIGhvdyBuZXh0IHZlcnNpb25zIG9mIEhEQ1Agc3BlY3MgYXJlIGRlZmluZWQg Y29udGVudCBUeXBlIGNvdWxkCj4gPiArICoJYmUgdXNlZCBmb3IgaGlnaGVyIHZlcnNpb25zIHRv by4KPiA+ICsgKgo+ID4gKyAqCUlmIGNvbnRlbnQgdHlwZSBpcyBjaGFuZ2VkIHdoZW4gIkNvbnRl bnQgUHJvdGVjdGlvbiIgaXMgbm90IFVOREVTSVJFRCwKPiA+ICsgKgl0aGVuIGtlcm5lbCB3aWxs IGRpc2FibGUgdGhlIEhEQ1AgYW5kIHJlLWVuYWJsZSB3aXRoIG5ldyB0eXBlIGluIHRoZQo+ID4g KyAqCXNhbWUgYXRvbWljIGNvbW1pdC4gQW5kIHdoZW4gIkNvbnRlbnQgUHJvdGVjdGlvbiIgaXMg RU5BQkxFRCwgaXQgbWVhbnMKPiA+ICsgKgl0aGF0IGxpbmsgaXMgSERDUCBhdXRoZW50aWNhdGVk IGFuZCBlbmNyeXB0ZWQsIGZvciB0aGUgdHJhbnNtaXNzaW9uIG9mCj4gPiArICoJdGhlIFR5cGUg b2Ygc3RyZWFtIG1lbnRpb25lZCBhdCAiSERDUCBDb250ZW50IFR5cGUiLgo+ID4gKyAqCj4gPiAg ICogSERSX09VVFBVVF9NRVRBREFUQToKPiA+ICAgKglDb25uZWN0b3IgcHJvcGVydHkgdG8gZW5h YmxlIHVzZXJzcGFjZSB0byBzZW5kIEhEUiBNZXRhZGF0YSB0bwo+ID4gICAqCWRyaXZlci4gVGhp cyBtZXRhZGF0YSBpcyBiYXNlZCBvbiB0aGUgY29tcG9zaXRpb24gYW5kIGJsZW5kaW5nCj4gCj4g RG8gd2UgYWN0dWFsbHkgbmVlZCBhbiBlbnRpcmVseSBuZXcgcHJvcGVydHk/IENhbid0IHdlIGp1 c3QgYWRkIGEgbmV3Cj4gZW50cnkgdG8gdGhlIGV4aXN0aW5nIENvbnRlbnQgUHJvdGVjdGlvbiBw cm9wZXJ0eSB3aGljaCBpcyAiRGVzaXJlZCBUeXBlMSIgb3IKPiBzaW1pbGFyPyBUaGUga2VybmVs IHdpbGwgdGhlbiBlaXRoZXIgYXR0ZW1wdCAyLjIgYXV0aCBvciBpdCB3aWxsIGlnbm9yZSBpdCB0 aGUKPiByZXF1ZXN0IGlmIGl0J3Mgbm90IHN1cHBvcnRlZC4KVGhhbmtzIFNlYW4gZm9yIHRoZSBy ZXZpZXcuCgpBcyB5b3UgaGF2ZSBtZW50aW9uZWQgZWFybGllciwgIkNvbnRlbnQgUHJvdGVjdGlv biIgcHJvcGVydHkgaXMgc3VwcG9zZWQKdG8gYmUgZ2VuZXJpYyBmb3IgYW55IGVuY3J5cHRpb24s IG5vdCBqdXN0IEhEQ1AuCkFuZCBjb250ZW50IHR5cGUgaXMgc3BlY2lmaWMgdG8gdGhlIEhEQ1Ag aW1wbGVtZW50YXRpb24uCgpBbmQgYWxzbyB0aGUgd2F5IGNvbnRlbnQgdHlwZSBpcyBkZWZpbmVk IGFuZCB1c2VkIGF0IEhEQ1AyLjIgc3BlYywgd2UKY291bGQgZXhwZWN0IHdoZW4geW91IHZlcnNp b24gb2Ygc3BlYyBpcyBhZGRlZCB0byBmaXgvaW1wcm92ZSAgMi4yIG5ldwpjb250ZW50IHR5cGUg d2lsbCBiZSBhZGRlZCBhcyBzcGVjaWZpYyB0byB0aGF0IHZlcnNpb24uCgpBbGwgdGhlc2UgcG9p bnRzIG1ha2UgdGhlIHNlcGFyYXRlIEhEQ1AgcmVsYXRlZCBwcm9wZXJ0eSBhcyBtb3JlIHByZWZl cnJlZC4Kc28gdGhhdCBvbmx5IEhEQ1AgaW1wbGVtZW50aW5nIGRyaXZlciB3aWxsIGF0dGFjaCB0 aGUgcHJvcGVydHkgdG8gdGhlCmRybSBjb25uZWN0b3IuCgpUaGFua3MsClJhbS4KPiAKPiBTZWFu Cj4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9oZGNwLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2hkY3AuYwo+ID4gaW5kZXggY2Q4MzdiZDQwOWY3Li5jZTIzNWZkMWM4NDQg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2hkY3AuYwo+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9oZGNwLmMKPiA+IEBAIC0zNDQsMjMgKzM0NCw0MSBAQCBzdGF0aWMg c3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBkcm1fY3BfZW51bV9saXN0W10gPSB7Cj4gPiAgfTsK PiA+ICBEUk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfY29udGVudF9wcm90ZWN0aW9uX25hbWUsIGRy bV9jcF9lbnVtX2xpc3QpCj4gPiAgCj4gPiArc3RhdGljIHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xp c3QgZHJtX2hkY3BfY29udGVudF90eXBlX2VudW1fbGlzdFtdID0gewo+ID4gKwl7IERSTV9NT0RF X0hEQ1BfQ09OVEVOVF9UWVBFMCwgIkhEQ1AgVHlwZTAiIH0sCj4gPiArCXsgRFJNX01PREVfSERD UF9DT05URU5UX1RZUEUxLCAiSERDUCBUeXBlMSIgfSwKPiA+ICt9Owo+ID4gK0RSTV9FTlVNX05B TUVfRk4oZHJtX2dldF9oZGNwX2NvbnRlbnRfdHlwZV9uYW1lLAo+ID4gKwkJIGRybV9oZGNwX2Nv bnRlbnRfdHlwZV9lbnVtX2xpc3QpCj4gPiArCj4gPiAgLyoqCj4gPiAgICogZHJtX2Nvbm5lY3Rv cl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5IC0gYXR0YWNoIGNvbnRlbnQgcHJv dGVjdGlvbgo+ID4gICAqIHByb3BlcnR5Cj4gPiAgICoKPiA+ICAgKiBAY29ubmVjdG9yOiBjb25u ZWN0b3IgdG8gYXR0YWNoIENQIHByb3BlcnR5IG9uLgo+ID4gKyAqIEBoZGNwX2NvbnRlbnRfdHlw ZTogaXMgSERDUCBDb250ZW50IFR5cGUgcHJvcGVydHkgbmVlZGVkIGZvciBjb25uZWN0b3IKPiA+ ICAgKgo+ID4gICAqIFRoaXMgaXMgdXNlZCB0byBhZGQgc3VwcG9ydCBmb3IgY29udGVudCBwcm90 ZWN0aW9uIG9uIHNlbGVjdCBjb25uZWN0b3JzLgo+ID4gICAqIENvbnRlbnQgUHJvdGVjdGlvbiBp cyBpbnRlbnRpb25hbGx5IHZhZ3VlIHRvIGFsbG93IGZvciBkaWZmZXJlbnQgdW5kZXJseWluZwo+ ID4gICAqIHRlY2hub2xvZ2llcywgaG93ZXZlciBpdCBpcyBtb3N0IGltcGxlbWVudGVkIGJ5IEhE Q1AuCj4gPiAgICoKPiA+ICsgKiBXaGVuIGhkY3BfY29udGVudF90eXBlIGlzIHRydWUgZW51bSBw cm9wZXJ0eSBjYWxsZWQgSERDUCBDb250ZW50IFR5cGUgaXMKPiA+ICsgKiBjcmVhdGVkIChpZiBp dCBpcyBub3QgYWxyZWFkeSkgYW5kIGF0dGFjaGVkIHRvIHRoZSBjb25uZWN0b3IuCj4gPiArICoK PiA+ICsgKiBUaGlzIHByb3BlcnR5IGlzIHVzZWQgZm9yIHNlbmRpbmcgdGhlIHByb3RlY3RlZCBj b250ZW50J3Mgc3RyZWFtIHR5cGUKPiA+ICsgKiBmcm9tIHVzZXJzcGFjZSB0byBrZXJuZWwgb24g c2VsZWN0ZWQgY29ubmVjdG9ycy4gUHJvdGVjdGVkIGNvbnRlbnQgcHJvdmlkZXIKPiA+ICsgKiB3 aWxsIGRlY2lkZSB0aGVpciB0eXBlIG9mIHRoZWlyIGNvbnRlbnQgYW5kIGRlY2xhcmUgdGhlIHNh bWUgdG8ga2VybmVsLgo+ID4gKyAqCj4gPiArICogQ29udGVudCB0eXBlIHdpbGwgYmUgdXNlZCBk dXJpbmcgdGhlIEhEQ1AgMi4yIGF1dGhlbnRpY2F0aW9uLgo+ID4gKyAqIENvbnRlbnQgdHlwZSB3 aWxsIGJlIHNldCB0byAmZHJtX2Nvbm5lY3Rvcl9zdGF0ZS5oZGNwX2NvbnRlbnRfdHlwZS4KPiA+ ICsgKgo+ID4gICAqIFRoZSBjb250ZW50IHByb3RlY3Rpb24gd2lsbCBiZSBzZXQgdG8gJmRybV9j b25uZWN0b3Jfc3RhdGUuY29udGVudF9wcm90ZWN0aW9uCj4gPiAgICoKPiA+ICAgKiBSZXR1cm5z Ogo+ID4gICAqIFplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KPiA+ ICAgKi8KPiA+ICBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3By b3BlcnR5KAo+ID4gLQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICsJCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgaGRjcF9jb250ZW50X3R5cGUpCj4g PiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gPiAg CXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3AgPQo+ID4gQEAgLTM3Nyw2ICszOTUsMjIgQEAgaW50 IGRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSgKPiA+ICAJ CQkJICAgRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCk7Cj4gPiAgCWRldi0+ bW9kZV9jb25maWcuY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5ID0gcHJvcDsKPiA+ICAKPiA+ ICsJaWYgKCFoZGNwX2NvbnRlbnRfdHlwZSkKPiA+ICsJCXJldHVybiAwOwo+ID4gKwo+ID4gKwlw cm9wID0gZGV2LT5tb2RlX2NvbmZpZy5oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eTsKPiA+ICsJ aWYgKCFwcm9wKQo+ID4gKwkJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfZW51bShkZXYsIDAs ICJIRENQIENvbnRlbnQgVHlwZSIsCj4gPiArCQkJCQlkcm1faGRjcF9jb250ZW50X3R5cGVfZW51 bV9saXN0LAo+ID4gKwkJCQkJQVJSQVlfU0laRSgKPiA+ICsJCQkJCWRybV9oZGNwX2NvbnRlbnRf dHlwZV9lbnVtX2xpc3QpKTsKPiA+ICsJaWYgKCFwcm9wKQo+ID4gKwkJcmV0dXJuIC1FTk9NRU07 Cj4gPiArCj4gPiArCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2Us IHByb3AsCj4gPiArCQkJCSAgIERSTV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFMCk7Cj4gPiArCWRl di0+bW9kZV9jb25maWcuaGRjcF9jb250ZW50X3R5cGVfcHJvcGVydHkgPSBwcm9wOwo+ID4gKwo+ ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAgRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX2F0 dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRjcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9oZGNwLmMKPiA+IGluZGV4IGJjM2E5NGQ0OTFjNC4uMmE0ZDEwOTUy Yjc0IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9o ZGNwLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRjcC5j Cj4gPiBAQCAtMTgyOSw3ICsxODI5LDkgQEAgaW50IGludGVsX2hkY3BfaW5pdChzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAgCWlmICghc2hpbSkKPiA+ICAJCXJldHVybiAt RUlOVkFMOwo+ID4gIAo+ID4gLQlyZXQgPSBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3By b3RlY3Rpb25fcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSk7Cj4gPiArCXJldCA9Cj4gPiArCWRy bV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSgmY29ubmVjdG9y LT5iYXNlLAo+ID4gKwkJCQkJCQkgZmFsc2UpOwo+ID4gIAlpZiAocmV0KQo+ID4gIAkJcmV0dXJu IHJldDsKPiA+ICAKPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgg Yi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+IGluZGV4IDRjMzBkNzUxNDg3YS4uZDY0 MzI5NjdhMmE5IDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4g PiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+IEBAIC02MDEsNiArNjAxLDEy IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKPiA+ICAJICovCj4gPiAgCXVuc2lnbmVk IGludCBjb250ZW50X3R5cGU7Cj4gPiAgCj4gPiArCS8qKgo+ID4gKwkgKiBAaGRjcF9jb250ZW50 X3R5cGU6IENvbm5lY3RvciBwcm9wZXJ0eSB0byBwYXNzIHRoZSB0eXBlIG9mCj4gPiArCSAqIHBy b3RlY3RlZCBjb250ZW50LiBUaGlzIGlzIG1vc3QgY29tbW9ubHkgdXNlZCBmb3IgSERDUC4KPiA+ ICsJICovCj4gPiArCXVuc2lnbmVkIGludCBoZGNwX2NvbnRlbnRfdHlwZTsKPiA+ICsKPiA+ICAJ LyoqCj4gPiAgCSAqIEBzY2FsaW5nX21vZGU6IENvbm5lY3RvciBwcm9wZXJ0eSB0byBjb250cm9s IHRoZQo+ID4gIAkgKiB1cHNjYWxpbmcsIG1vc3RseSB1c2VkIGZvciBidWlsdC1pbiBwYW5lbHMu Cj4gPiBAQCAtMTQ4NCw2ICsxNDkwLDcgQEAgY29uc3QgY2hhciAqZHJtX2dldF9kdmlfaV9zZWxl Y3RfbmFtZShpbnQgdmFsKTsKPiA+ICBjb25zdCBjaGFyICpkcm1fZ2V0X3R2X3N1YmNvbm5lY3Rv cl9uYW1lKGludCB2YWwpOwo+ID4gIGNvbnN0IGNoYXIgKmRybV9nZXRfdHZfc2VsZWN0X25hbWUo aW50IHZhbCk7Cj4gPiAgY29uc3QgY2hhciAqZHJtX2dldF9jb250ZW50X3Byb3RlY3Rpb25fbmFt ZShpbnQgdmFsKTsKPiA+ICtjb25zdCBjaGFyICpkcm1fZ2V0X2hkY3BfY29udGVudF90eXBlX25h bWUoaW50IHZhbCk7Cj4gPiAgCj4gPiAgaW50IGRybV9tb2RlX2NyZWF0ZV9kdmlfaV9wcm9wZXJ0 aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gIGludCBkcm1fbW9kZV9jcmVhdGVfdHZf bWFyZ2luX3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaCBiL2luY2x1ZGUvZHJtL2RybV9oZGNwLmgKPiA+IGlu ZGV4IDEzNzcxYTQ5NmUyYi4uMjk3MGFiZGZhZjEyIDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2hkY3AuaAo+ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaAo+ID4gQEAgLTI5 MSw1ICsyOTEsNSBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvcjsKPiA+ICBib29sIGRybV9oZGNwX2No ZWNrX2tzdnNfcmV2b2tlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIAkJCQkgdTggKmtz dnMsIHUzMiBrc3ZfY291bnQpOwo+ID4gIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50 X3Byb3RlY3Rpb25fcHJvcGVydHkoCj4gPiAtCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKTsKPiA+ICsJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgaGRjcF9j b250ZW50X3R5cGUpOwo+ID4gICNlbmRpZgo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9tb2RlX2NvbmZpZy5oIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiA+IGluZGV4 IDc1OWQ0NjJkMDI4Yi4uNmM0YjViYzg1OTUxIDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9kcm0v ZHJtX21vZGVfY29uZmlnLmgKPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5o Cj4gPiBAQCAtODQ5LDYgKzg0OSwxMiBAQCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnIHsKPiA+ICAJ ICovCj4gPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKmNvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0 eTsKPiA+ICAKPiA+ICsJLyoqCj4gPiArCSAqIEBoZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eTog RFJNIEVOVU0gcHJvcGVydHkgZm9yIHR5cGUgb2YKPiA+ICsJICogUHJvdGVjdGVkIENvbnRlbnQu Cj4gPiArCSAqLwo+ID4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpoZGNwX2NvbnRlbnRfdHlwZV9w cm9wZXJ0eTsKPiA+ICsKPiA+ICAJLyogZHVtYiBpb2N0bCBwYXJhbWV0ZXJzICovCj4gPiAgCXVp bnQzMl90IHByZWZlcnJlZF9kZXB0aCwgcHJlZmVyX3NoYWRvdzsKPiA+ICAKPiA+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9t b2RlLmgKPiA+IGluZGV4IDVhYjMzMWU1ZGMyMy4uNWM5NTQzOTQwOTNmIDEwMDY0NAo+ID4gLS0t IGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCj4gPiArKysgYi9pbmNsdWRlL3VhcGkvZHJt L2RybV9tb2RlLmgKPiA+IEBAIC0yMTgsNiArMjE4LDEwIEBAIGV4dGVybiAiQyIgewo+ID4gICNk ZWZpbmUgRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0RFU0lSRUQgICAgIDEKPiA+ICAjZGVm aW5lIERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFCTEVEICAgICAyCj4gPiAgCj4gPiAr LyogQ29udGVudCBUeXBlIGNsYXNzaWZpY2F0aW9uIGZvciBIRENQMi4yIHZzIG90aGVycyAqLwo+ ID4gKyNkZWZpbmUgRFJNX01PREVfSERDUF9DT05URU5UX1RZUEUwCQkwCj4gPiArI2RlZmluZSBE Uk1fTU9ERV9IRENQX0NPTlRFTlRfVFlQRTEJCTEKPiA+ICsKPiA+ICBzdHJ1Y3QgZHJtX21vZGVf bW9kZWluZm8gewo+ID4gIAlfX3UzMiBjbG9jazsKPiA+ICAJX191MTYgaGRpc3BsYXk7Cj4gPiAt LSAKPiA+IDIuMTkuMQo+ID4gCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiAKPiAtLSAKPiBTZWFuIFBhdWwsIFNvZnR3YXJlIEVu Z2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZng=