From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [v5 06/13] drm: Enable HDR infoframe support Date: Fri, 15 Mar 2019 13:53:32 +0530 Message-ID: <2f80bed5-559f-7769-47c6-372a271d5dda@intel.com> References: <1552276684-25358-1-git-send-email-uma.shankar@intel.com> <1552276684-25358-7-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1552276684-25358-7-git-send-email-uma.shankar@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Uma Shankar , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: dri-devel@lists.freedesktop.org Ck9uIDMvMTEvMjAxOSA5OjI3IEFNLCBVbWEgU2hhbmthciB3cm90ZToKPiBFbmFibGUgRHluYW1p YyBSYW5nZSBhbmQgTWFzdGVyaW5nIEluZm9mcmFtZSBmb3IgSERSCj4gY29udGVudCwgd2hpY2gg aXMgZGVmaW5lZCBpbiBDRUEgODYxLjMgc3BlYy4KPgo+IFRoZSBtZXRhZGF0YSB3aWxsIGJlIGNv bXB1dGVkIGJhc2VkIG9uIGJsZW5kaW5nCj4gcG9saWN5IGluIHVzZXJzcGFjZSBjb21wb3NpdG9y cyBhbmQgcGFzc2VkIGFzIGEgY29ubmVjdG9yCj4gcHJvcGVydHkgYmxvYiB0byBkcml2ZXIuIFRo ZSBzYW1lIHdpbGwgYmUgc2VudCBhcyBpbmZvZnJhbWUKPiB0byBwYW5lbCB3aGljaCBzdXBwb3J0 IEhEUi4KPgo+IHYyOiBSZWJhc2UgYW5kIGFkZGVkIFZpbGxlJ3MgUE9DIGNoYW5nZXMuCj4KPiB2 MzogTm8gQ2hhbmdlCj4KPiB2NDogQWRkcmVzc2VkIFNoYXNoYW5rJ3MgcmV2aWV3IGNvbW1lbnRz IGFuZCBtZXJnZWQgdGhlCj4gcGF0Y2ggbWFraW5nIGRybSBpbmZvZnJhbWUgZnVuY3Rpb24gYXJn dW1lbnRzIGFzIGNvbnN0YW50Lgo+Cj4gdjU6IFJlYmFzZQo+Cj4gU2lnbmVkLW9mZi1ieTogVW1h IFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVy cy9ncHUvZHJtL2RybV9lZGlkLmMgfCAgNTggKysrKysrKysrKysrKysrKysrKysKPiAgIGRyaXZl cnMvdmlkZW8vaGRtaS5jICAgICAgIHwgMTI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwo+ICAgaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCAgICAgfCAgIDQgKysK PiAgIGluY2x1ZGUvbGludXgvaGRtaS5oICAgICAgIHwgIDIyICsrKysrKysrCj4gICA0IGZpbGVz IGNoYW5nZWQsIDIxMyBpbnNlcnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+IGluZGV4IDA0NzA4 NDUuLjQ5ZjgzNDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+IEBAIC00OTE0LDYgKzQ5MTQsNjQgQEAg c3RhdGljIGJvb2wgaXNfaGRtaTJfc2luayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y KQo+ICAgfQo+ICAgCj4gICAvKioKPiArICogZHJtX2hkbWlfaW5mb2ZyYW1lX3NldF9oZHJfbWV0 YWRhdGEoKSAtIGZpbGwgYW4gSERNSSBBVkkgaW5mb2ZyYW1lIHdpdGgKPiArICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhEUiBtZXRhZGF0YSBmcm9tIHVzZXJzcGFj ZQo+ICsgKiBAZnJhbWU6IEhETUkgQVZJIGluZm9mcmFtZQo+ICsgKiBAaGRyX3NvdXJjZV9tZXRh ZGF0YTogaGRyX3NvdXJjZV9tZXRhZGF0YSBpbmZvIGZyb20gdXNlcnNwYWNlCj4gKyAqCj4gKyAq IFJldHVybjogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJl Lgo+ICsgKi8KPiAraW50Cj4gK2RybV9oZG1pX2luZm9mcmFtZV9zZXRfaGRyX21ldGFkYXRhKHN0 cnVjdCBoZG1pX2RybV9pbmZvZnJhbWUgKmZyYW1lLAo+ICsJCQkJICAgIHZvaWQgKmhkcl9tZXRh ZGF0YSkKQWxpZ25tZW50IHdpdGggYnJhY2tldCBhYm92ZQo+ICt7Cj4gKwlzdHJ1Y3QgaGRyX3N0 YXRpY19tZXRhZGF0YSAqaGRyX3NvdXJjZV9tZXRhZGF0YTsKPiArCWludCBlcnIsIGk7Cj4gKwo+ ICsJaWYgKCFmcmFtZSB8fCAhaGRyX21ldGFkYXRhKQo+ICsJCXJldHVybiB0cnVlOwo+ICsKPiAr CWVyciA9IGhkbWlfZHJtX2luZm9mcmFtZV9pbml0KGZyYW1lKTsKPiArCWlmIChlcnIgPCAwKQo+ ICsJCXJldHVybiBlcnI7Cj4gKwo+ICsJRFJNX0RFQlVHX0tNUygidHlwZSA9ICV4XG4iLCBmcmFt ZS0+dHlwZSk7Cj4gKwo+ICsJaGRyX3NvdXJjZV9tZXRhZGF0YSA9IChzdHJ1Y3QgaGRyX3N0YXRp Y19tZXRhZGF0YSAqKWhkcl9tZXRhZGF0YTsKPiArCj4gKwlmcmFtZS0+bGVuZ3RoID0gc2l6ZW9m KHN0cnVjdCBoZHJfc3RhdGljX21ldGFkYXRhKTsKPiArCmV4dHJhIGJsYW5rIGxpbmUKPiArCj4g KwlmcmFtZS0+ZW90ZiA9IGhkcl9zb3VyY2VfbWV0YWRhdGEtPmVvdGY7Cj4gKwlmcmFtZS0+bWV0 YWRhdGFfdHlwZSA9IGhkcl9zb3VyY2VfbWV0YWRhdGEtPm1ldGFkYXRhX3R5cGU7Cj4gKwo+ICsJ Zm9yIChpID0gMDsgaSA8IDM7IGkrKykgewo+ICsJCWZyYW1lLT5kaXNwbGF5X3ByaW1hcmllc1tp XS54ID0KPiArCQkJaGRyX3NvdXJjZV9tZXRhZGF0YS0+ZGlzcGxheV9wcmltYXJpZXNbaV0ueDsK PiArCQlmcmFtZS0+ZGlzcGxheV9wcmltYXJpZXNbaV0ueSA9Cj4gKwkJCWhkcl9zb3VyY2VfbWV0 YWRhdGEtPmRpc3BsYXlfcHJpbWFyaWVzW2ldLnk7Cj4gKwl9Cm1lbWNweSBoZXJlIHRvIGF2b2lk IGxvb3AgPwo+ICsKPiArCWZyYW1lLT53aGl0ZV9wb2ludC54ID0gaGRyX3NvdXJjZV9tZXRhZGF0 YS0+d2hpdGVfcG9pbnQueDsKPiArCWZyYW1lLT53aGl0ZV9wb2ludC55ID0gaGRyX3NvdXJjZV9t ZXRhZGF0YS0+d2hpdGVfcG9pbnQueTsKPiArCj4gKwlmcmFtZS0+bWF4X21hc3RlcmluZ19kaXNw bGF5X2x1bWluYW5jZSA9Cj4gKwkJaGRyX3NvdXJjZV9tZXRhZGF0YS0+bWF4X21hc3RlcmluZ19k aXNwbGF5X2x1bWluYW5jZTsKPiArCWZyYW1lLT5taW5fbWFzdGVyaW5nX2Rpc3BsYXlfbHVtaW5h bmNlID0KPiArCQloZHJfc291cmNlX21ldGFkYXRhLT5taW5fbWFzdGVyaW5nX2Rpc3BsYXlfbHVt aW5hbmNlOwo+ICsKPiArCWZyYW1lLT5tYXhfY2xsID0gaGRyX3NvdXJjZV9tZXRhZGF0YS0+bWF4 X2NsbDsKPiArCWZyYW1lLT5tYXhfZmFsbCA9IGhkcl9zb3VyY2VfbWV0YWRhdGEtPm1heF9mYWxs Owo+ICsKSW4gZmFjdCB0aGUgc3RydWN0dXJlcyBsb29rIHNvIGFuYWxvZ3VlcywgY2FuIHdlIGRv IGEgY29tcGxldGUgbWVtY3B5IG9mIApvbmUgc3RydWN0dXJlIHRvIG90aGVyID8gb3IgdGhlIHNl cXVlbmNlIG9mIHRoZSBlbGVtZW50cyBpcyBkaWZmZXJlbnQgPwo+ICsJaGRtaV9pbmZvZnJhbWVf bG9nKEtFUk5fQ1JJVCwgTlVMTCwKPiArCQkJICAgKHVuaW9uIGhkbWlfaW5mb2ZyYW1lICopZnJh bWUpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2hkbWlfaW5m b2ZyYW1lX3NldF9oZHJfbWV0YWRhdGEpOwo+ICsKPiArCj4gKy8qKgo+ICAgICogZHJtX2hkbWlf YXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgpIC0gZmlsbCBhbiBIRE1JIEFWSSBpbmZv ZnJhbWUgd2l0aAo+ICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YSBmcm9tIGEgRFJNIGRpc3BsYXkgbW9kZQo+ICAgICogQGZyYW1lOiBIRE1JIEFW SSBpbmZvZnJhbWUKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9oZG1pLmMgYi9kcml2ZXJz L3ZpZGVvL2hkbWkuYwo+IGluZGV4IDc5OWFlNDkuLjdhYjgwODYgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy92aWRlby9oZG1pLmMKPiArKysgYi9kcml2ZXJzL3ZpZGVvL2hkbWkuYwo+IEBAIC02NTAs NiArNjUwLDkzIEBAIHNzaXplX3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lX3BhY2soc3RydWN0IGhk bWlfdmVuZG9yX2luZm9mcmFtZSAqZnJhbWUsCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiAr LyoqCj4gKyAqIGhkbWlfZHJtX2luZm9mcmFtZV9pbml0KCkgLSBpbml0aWFsaXplIGFuIEhETUkg RHluYW1pbmMgUmFuZ2UgYW5kCj4gKyAqIG1hc3RlcmluZyBpbmZvZnJhbWUKPiArICogQGZyYW1l OiBIRE1JIERSTSBpbmZvZnJhbWUKPiArICoKPiArICogUmV0dXJucyAwIG9uIHN1Y2Nlc3Mgb3Ig YSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gKyAqLwo+ICtpbnQgaGRtaV9kcm1f aW5mb2ZyYW1lX2luaXQoc3RydWN0IGhkbWlfZHJtX2luZm9mcmFtZSAqZnJhbWUpCj4gK3sKPiAr CW1lbXNldChmcmFtZSwgMCwgc2l6ZW9mKCpmcmFtZSkpOwo+ICsKPiArCWZyYW1lLT50eXBlID0g SERNSV9JTkZPRlJBTUVfVFlQRV9EUk07Cj4gKwlmcmFtZS0+dmVyc2lvbiA9IDE7Cj4gKwo+ICsJ cmV0dXJuIDA7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChoZG1pX2RybV9pbmZvZnJhbWVfaW5pdCk7 Cj4gKwo+ICsvKioKPiArICogaGRtaV9kcm1faW5mb2ZyYW1lX3BhY2soKSAtIHdyaXRlIEhETUkg RFJNIGluZm9mcmFtZSB0byBiaW5hcnkgYnVmZmVyCj4gKyAqIEBmcmFtZTogSERNSSBEUk0gaW5m b2ZyYW1lCj4gKyAqIEBidWZmZXI6IGRlc3RpbmF0aW9uIGJ1ZmZlcgo+ICsgKiBAc2l6ZTogc2l6 ZSBvZiBidWZmZXIKPiArICoKPiArICogUGFja3MgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBp biB0aGUgQGZyYW1lIHN0cnVjdHVyZSBpbnRvIGEgYmluYXJ5Cj4gKyAqIHJlcHJlc2VudGF0aW9u IHRoYXQgY2FuIGJlIHdyaXR0ZW4gaW50byB0aGUgY29ycmVzcG9uZGluZyBjb250cm9sbGVyCj4g KyAqIHJlZ2lzdGVycy4gQWxzbyBjb21wdXRlcyB0aGUgY2hlY2tzdW0gYXMgcmVxdWlyZWQgYnkg c2VjdGlvbiA1LjMuNSBvZgo+ICsgKiB0aGUgSERNSSAxLjQgc3BlY2lmaWNhdGlvbi4KPiArICoK PiArICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHBhY2tlZCBpbnRvIHRoZSBiaW5hcnkg YnVmZmVyIG9yIGEgbmVnYXRpdmUKPiArICogZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+ICsgKi8K PiArc3NpemVfdCBoZG1pX2RybV9pbmZvZnJhbWVfcGFjayhzdHJ1Y3QgaGRtaV9kcm1faW5mb2Zy YW1lICpmcmFtZSwgdm9pZCAqYnVmZmVyLAo+ICsJCQkJc2l6ZV90IHNpemUpCj4gK3sKPiArCXU4 ICpwdHIgPSBidWZmZXI7Cj4gKwlzaXplX3QgbGVuZ3RoOwo+ICsJaW50IGk7Cj4gKwo+ICsJbGVu Z3RoID0gSERNSV9JTkZPRlJBTUVfSEVBREVSX1NJWkUgKyBmcmFtZS0+bGVuZ3RoOwo+ICsKPiAr CWlmIChzaXplIDwgbGVuZ3RoKQo+ICsJCXJldHVybiAtRU5PU1BDOwo+ICsKPiArCW1lbXNldChi dWZmZXIsIDAsIHNpemUpOwo+ICsKPiArCXB0clswXSA9IGZyYW1lLT50eXBlOwo+ICsJcHRyWzFd ID0gZnJhbWUtPnZlcnNpb247Cj4gKwlwdHJbMl0gPSBmcmFtZS0+bGVuZ3RoOwo+ICsJcHRyWzNd ID0gMDsgLyogY2hlY2tzdW0gKi8KPiArCj4gKwkvKiBzdGFydCBpbmZvZnJhbWUgcGF5bG9hZCAq Lwo+ICsJcHRyICs9IEhETUlfSU5GT0ZSQU1FX0hFQURFUl9TSVpFOwo+ICsKPiArCSpwdHIrKyA9 IGZyYW1lLT5lb3RmOwo+ICsJKnB0cisrID0gZnJhbWUtPm1ldGFkYXRhX3R5cGU7Cj4gKwo+ICsJ Zm9yIChpID0gMDsgaSA8IDM7IGkrKykgewo+ICsJCSpwdHIrKyA9IGZyYW1lLT5kaXNwbGF5X3By aW1hcmllc1tpXS54ICYgMHhmZjsKJjB4ZmYgaXMgbm90IHJlcXVpcmVkCj4gKwkJKnB0cisrID0g ZnJhbWUtPmRpc3BsYXlfcHJpbWFyaWVzW2ldLnggPj4gODsKPiArCQkqcHRyKysgPSBmcmFtZS0+ ZGlzcGxheV9wcmltYXJpZXNbaV0ueSAmIDB4ZmY7CiYweGZmIGlzIG5vdCByZXF1aXJlZCwgYXBw bGljYWJsZSBmb3IgYWxsIGJlbG93Cj4gKwkJKnB0cisrID0gZnJhbWUtPmRpc3BsYXlfcHJpbWFy aWVzW2ldLnkgPj4gODsKPiArCX0KPiArCj4gKwkqcHRyKysgPSBmcmFtZS0+d2hpdGVfcG9pbnQu eCAmIDB4ZmY7Cj4gKwkqcHRyKysgPSBmcmFtZS0+d2hpdGVfcG9pbnQueCA+PiA4Owo+ICsKPiAr CSpwdHIrKyA9IGZyYW1lLT53aGl0ZV9wb2ludC55ICYgMHhmZjsKPiArCSpwdHIrKyA9IGZyYW1l LT53aGl0ZV9wb2ludC55ID4+IDg7Cj4gKwo+ICsJKnB0cisrID0gZnJhbWUtPm1heF9tYXN0ZXJp bmdfZGlzcGxheV9sdW1pbmFuY2UgJiAweGZmOwo+ICsJKnB0cisrID0gZnJhbWUtPm1heF9tYXN0 ZXJpbmdfZGlzcGxheV9sdW1pbmFuY2UgPj4gODsKPiArCj4gKwkqcHRyKysgPSBmcmFtZS0+bWlu X21hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZSAmIDB4ZmY7Cj4gKwkqcHRyKysgPSBmcmFtZS0+ bWluX21hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZSA+PiA4Owo+ICsKPiArCSpwdHIrKyA9IGZy YW1lLT5tYXhfY2xsICYgMHhmZjsKPiArCSpwdHIrKyA9IGZyYW1lLT5tYXhfY2xsID4+IDg7Cj4g Kwo+ICsJKnB0cisrID0gZnJhbWUtPm1heF9mYWxsICYgMHhmZjsKPiArCSpwdHIrKyA9IGZyYW1l LT5tYXhfZmFsbCA+PiA4Owo+ICsKPiArCWhkbWlfaW5mb2ZyYW1lX3NldF9jaGVja3N1bShidWZm ZXIsIGxlbmd0aCk7Cj4gKwo+ICsJcmV0dXJuIGxlbmd0aDsKPiArfQo+ICsKPiAgIC8qCj4gICAg KiBoZG1pX3ZlbmRvcl9hbnlfaW5mb2ZyYW1lX2NoZWNrKCkgLSBjaGVjayBhIHZlbmRvciBpbmZv ZnJhbWUKPiAgICAqLwo+IEBAIC04MDYsNiArODkzLDkgQEAgc3NpemVfdCBoZG1pX3ZlbmRvcl9p bmZvZnJhbWVfcGFjayhzdHJ1Y3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKPiAgIAlj YXNlIEhETUlfSU5GT0ZSQU1FX1RZUEVfQVZJOgo+ICAgCQlsZW5ndGggPSBoZG1pX2F2aV9pbmZv ZnJhbWVfcGFjaygmZnJhbWUtPmF2aSwgYnVmZmVyLCBzaXplKTsKPiAgIAkJYnJlYWs7Cj4gKwlj YXNlIEhETUlfSU5GT0ZSQU1FX1RZUEVfRFJNOgo+ICsJCWxlbmd0aCA9IGhkbWlfZHJtX2luZm9m cmFtZV9wYWNrKCZmcmFtZS0+ZHJtLCBidWZmZXIsIHNpemUpOwo+ICsJCWJyZWFrOwo+ICAgCWNh c2UgSERNSV9JTkZPRlJBTUVfVFlQRV9TUEQ6Cj4gICAJCWxlbmd0aCA9IGhkbWlfc3BkX2luZm9m cmFtZV9wYWNrKCZmcmFtZS0+c3BkLCBidWZmZXIsIHNpemUpOwo+ICAgCQlicmVhazsKPiBAQCAt ODM4LDYgKzkyOCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyICpoZG1pX2luZm9mcmFtZV90eXBlX2dl dF9uYW1lKGVudW0gaGRtaV9pbmZvZnJhbWVfdHlwZSB0eXBlKQo+ICAgCQlyZXR1cm4gIlNvdXJj ZSBQcm9kdWN0IERlc2NyaXB0aW9uIChTUEQpIjsKPiAgIAljYXNlIEhETUlfSU5GT0ZSQU1FX1RZ UEVfQVVESU86Cj4gICAJCXJldHVybiAiQXVkaW8iOwo+ICsJY2FzZSBIRE1JX0lORk9GUkFNRV9U WVBFX0RSTToKPiArCQlyZXR1cm4gIkR5bmFtaWMgUmFuZ2UgYW5kIE1hc3RlcmluZyI7Cj4gICAJ fQo+ICAgCXJldHVybiAiUmVzZXJ2ZWQiOwo+ICAgfQo+IEBAIC0xMjg0LDYgKzEzNzYsNDAgQEAg c3RhdGljIHZvaWQgaGRtaV9hdWRpb19pbmZvZnJhbWVfbG9nKGNvbnN0IGNoYXIgKmxldmVsLAo+ ICAgCQkJZnJhbWUtPmRvd25taXhfaW5oaWJpdCA/ICJZZXMiIDogIk5vIik7Cj4gICB9Cj4gICAK PiArLyoqCj4gKyAqIGhkbWlfZHJtX2luZm9mcmFtZV9sb2coKSAtIGxvZyBpbmZvIG9mIEhETUkg RFJNIGluZm9mcmFtZQo+ICsgKiBAbGV2ZWw6IGxvZ2dpbmcgbGV2ZWwKPiArICogQGRldjogZGV2 aWNlCj4gKyAqIEBmcmFtZTogSERNSSBEUk0gaW5mb2ZyYW1lCj4gKyAqLwo+ICtzdGF0aWMgdm9p ZCBoZG1pX2RybV9pbmZvZnJhbWVfbG9nKGNvbnN0IGNoYXIgKmxldmVsLAo+ICsJCQkJICAgc3Ry dWN0IGRldmljZSAqZGV2LAo+ICsJCQkJICAgY29uc3Qgc3RydWN0IGhkbWlfZHJtX2luZm9mcmFt ZSAqZnJhbWUpCj4gK3sKPiArCWludCBpOwo+ICsKPiArCWhkbWlfaW5mb2ZyYW1lX2xvZ19oZWFk ZXIobGV2ZWwsIGRldiwKPiArCQkJKHN0cnVjdCBoZG1pX2FueV9pbmZvZnJhbWUgKilmcmFtZSk7 CkFsaWdubWVudCB3aXRoIGFib3ZlICcoJwo+ICsJaGRtaV9sb2coImxlbmd0aDogJWRcbiIsIGZy YW1lLT5sZW5ndGgpOwo+ICsJaGRtaV9sb2coIm1ldGFkYXRhIHR5cGU6ICVkXG4iLCBmcmFtZS0+ bWV0YWRhdGFfdHlwZSk7Cj4gKwloZG1pX2xvZygiZW90ZjogJWRcbiIsIGZyYW1lLT5lb3RmKTsK PiArCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHsKPiArCQloZG1pX2xvZygieFslZF06ICVkXG4i LCBpLCBmcmFtZS0+ZGlzcGxheV9wcmltYXJpZXNbaV0ueCk7Cj4gKwkJaGRtaV9sb2coInlbJWRd OiAlZFxuIiwgaSwgZnJhbWUtPmRpc3BsYXlfcHJpbWFyaWVzW2ldLnkpOwo+ICsJfQo+ICsKPiAr CWhkbWlfbG9nKCJ3aGl0ZSBwb2ludCB4OiAlZFxuIiwgZnJhbWUtPndoaXRlX3BvaW50LngpOwo+ ICsJaGRtaV9sb2coIndoaXRlIHBvaW50IHk6ICVkXG4iLCBmcmFtZS0+d2hpdGVfcG9pbnQueSk7 Cj4gKwo+ICsJaGRtaV9sb2coIm1heF9tYXN0ZXJpbmdfZGlzcGxheV9sdW1pbmFuY2U6ICVkXG4i LAo+ICsJCQlmcmFtZS0+bWF4X21hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZSk7Cj4gKwloZG1p X2xvZygibWluX21hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZTogJWRcbiIsCj4gKwkJCWZyYW1l LT5taW5fbWFzdGVyaW5nX2Rpc3BsYXlfbHVtaW5hbmNlKTsKQWxpZ25tZW50IGZvciB0aGVzZSAy IGxpbmVzIGFib3ZlCj4gKwo+ICsJaGRtaV9sb2coIm1heF9jbGw6ICVkXG4iLCBmcmFtZS0+bWF4 X2NsbCk7Cj4gKwloZG1pX2xvZygibWF4X2ZhbGw6ICVkXG4iLCBmcmFtZS0+bWF4X2ZhbGwpOwo+ ICt9Cj4gKwo+ICAgc3RhdGljIGNvbnN0IGNoYXIgKgo+ICAgaGRtaV8zZF9zdHJ1Y3R1cmVfZ2V0 X25hbWUoZW51bSBoZG1pXzNkX3N0cnVjdHVyZSBzM2Rfc3RydWN0KQo+ICAgewo+IEBAIC0xMzcy LDYgKzE0OTgsOSBAQCB2b2lkIGhkbWlfaW5mb2ZyYW1lX2xvZyhjb25zdCBjaGFyICpsZXZlbCwK PiAgIAljYXNlIEhETUlfSU5GT0ZSQU1FX1RZUEVfVkVORE9SOgo+ICAgCQloZG1pX3ZlbmRvcl9h bnlfaW5mb2ZyYW1lX2xvZyhsZXZlbCwgZGV2LCAmZnJhbWUtPnZlbmRvcik7Cj4gICAJCWJyZWFr Owo+ICsJY2FzZSBIRE1JX0lORk9GUkFNRV9UWVBFX0RSTToKPiArCQloZG1pX2RybV9pbmZvZnJh bWVfbG9nKGxldmVsLCBkZXYsICZmcmFtZS0+ZHJtKTsKPiArCQlicmVhazsKPiAgIAl9Cj4gICB9 Cj4gICBFWFBPUlRfU1lNQk9MKGhkbWlfaW5mb2ZyYW1lX2xvZyk7Cj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4gaW5kZXggOWQz YjViOS4uOTczZTQzZSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4gKysr IGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAo+IEBAIC0zNzAsNiArMzcwLDEwIEBAIGludCBkcm1f YXZfc3luY19kZWxheShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAgCQkJCSAg IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ICAgCQkJCSAgIGVudW0gaGRt aV9xdWFudGl6YXRpb25fcmFuZ2UgcmdiX3F1YW50X3JhbmdlKTsKPiAgIAo+ICtpbnQKPiArZHJt X2hkbWlfaW5mb2ZyYW1lX3NldF9oZHJfbWV0YWRhdGEoc3RydWN0IGhkbWlfZHJtX2luZm9mcmFt ZSAqZnJhbWUsCj4gKwkJCQkgICAgdm9pZCAqaGRyX3NvdXJjZV9tZXRhZGF0YSk7Cj4gKwo+ICAg LyoqCj4gICAgKiBkcm1fZWxkX21ubCAtIEdldCBFTEQgbW9uaXRvciBuYW1lIGxlbmd0aCBpbiBi eXRlcy4KPiAgICAqIEBlbGQ6IHBvaW50ZXIgdG8gYW4gZWxkIG1lbW9yeSBzdHJ1Y3R1cmUgd2l0 aCBtbmwgc2V0Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaGRtaS5oIGIvaW5jbHVkZS9s aW51eC9oZG1pLmgKPiBpbmRleCBhMDY1MTk0Li4zMzI0M2IyIDEwMDY0NAo+IC0tLSBhL2luY2x1 ZGUvbGludXgvaGRtaS5oCj4gKysrIGIvaW5jbHVkZS9saW51eC9oZG1pLmgKPiBAQCAtNDcsNiAr NDcsNyBAQCBlbnVtIGhkbWlfaW5mb2ZyYW1lX3R5cGUgewo+ICAgCUhETUlfSU5GT0ZSQU1FX1RZ UEVfQVZJID0gMHg4MiwKPiAgIAlIRE1JX0lORk9GUkFNRV9UWVBFX1NQRCA9IDB4ODMsCj4gICAJ SERNSV9JTkZPRlJBTUVfVFlQRV9BVURJTyA9IDB4ODQsCj4gKwlIRE1JX0lORk9GUkFNRV9UWVBF X0RSTSA9IDB4ODcsCj4gICB9Owo+ICAgCj4gICAjZGVmaW5lIEhETUlfSUVFRV9PVUkgMHgwMDBj MDMKPiBAQCAtMTg1LDEyICsxODYsMzIgQEAgc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSB7Cj4g ICAJdW5zaWduZWQgc2hvcnQgcmlnaHRfYmFyOwo+ICAgfTsKPiAgIAo+ICtzdHJ1Y3QgaGRtaV9k cm1faW5mb2ZyYW1lIHsKPiArCWVudW0gaGRtaV9pbmZvZnJhbWVfdHlwZSB0eXBlOwo+ICsJdW5z aWduZWQgY2hhciB2ZXJzaW9uOwo+ICsJdW5zaWduZWQgY2hhciBsZW5ndGg7Cj4gKwllbnVtIGhk bWlfZW90ZiBlb3RmOwo+ICsJZW51bSBoZG1pX21ldGFkYXRhX3R5cGUgbWV0YWRhdGFfdHlwZTsK PiArCXN0cnVjdCB7Cj4gKwkJdWludDE2X3QgeCwgeTsKPiArCX0gZGlzcGxheV9wcmltYXJpZXNb M107Cj4gKwlzdHJ1Y3Qgewo+ICsJCXVpbnQxNl90IHgsIHk7Cj4gKwl9IHdoaXRlX3BvaW50Owo+ ICsJdWludDE2X3QgbWF4X21hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZTsKPiArCXVpbnQxNl90 IG1pbl9tYXN0ZXJpbmdfZGlzcGxheV9sdW1pbmFuY2U7Cj4gKwl1aW50MTZfdCBtYXhfZmFsbDsK PiArCXVpbnQxNl90IG1heF9jbGw7Cj4gKwl1aW50MTZfdCBtaW5fY2xsOwo+ICt9Owo+ICsKPiAg IGludCBoZG1pX2F2aV9pbmZvZnJhbWVfaW5pdChzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpm cmFtZSk7Cj4gICBzc2l6ZV90IGhkbWlfYXZpX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBoZG1pX2F2 aV9pbmZvZnJhbWUgKmZyYW1lLCB2b2lkICpidWZmZXIsCj4gICAJCQkJc2l6ZV90IHNpemUpOwo+ ICAgc3NpemVfdCBoZG1pX2F2aV9pbmZvZnJhbWVfcGFja19vbmx5KGNvbnN0IHN0cnVjdCBoZG1p X2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ICAgCQkJCSAgICAgdm9pZCAqYnVmZmVyLCBzaXplX3Qg c2l6ZSk7Cj4gICBpbnQgaGRtaV9hdmlfaW5mb2ZyYW1lX2NoZWNrKHN0cnVjdCBoZG1pX2F2aV9p bmZvZnJhbWUgKmZyYW1lKTsKPiAraW50IGhkbWlfZHJtX2luZm9mcmFtZV9pbml0KHN0cnVjdCBo ZG1pX2RybV9pbmZvZnJhbWUgKmZyYW1lKTsKPiAgIAo+ICAgZW51bSBoZG1pX3NwZF9zZGkgewo+ ICAgCUhETUlfU1BEX1NESV9VTktOT1dOLAo+IEBAIC0zNjUsNiArMzg2LDcgQEAgc3NpemVfdCBo ZG1pX3ZlbmRvcl9pbmZvZnJhbWVfcGFja19vbmx5KGNvbnN0IHN0cnVjdCBoZG1pX3ZlbmRvcl9p bmZvZnJhbWUgKmZyYW0KPiAgIAlzdHJ1Y3QgaGRtaV9zcGRfaW5mb2ZyYW1lIHNwZDsKPiAgIAl1 bmlvbiBoZG1pX3ZlbmRvcl9hbnlfaW5mb2ZyYW1lIHZlbmRvcjsKPiAgIAlzdHJ1Y3QgaGRtaV9h dWRpb19pbmZvZnJhbWUgYXVkaW87Cj4gKwlzdHJ1Y3QgaGRtaV9kcm1faW5mb2ZyYW1lIGRybTsK PiAgIH07CgpXaXRoIHRoZSBtaW5vciBpc3N1ZXMgcG9pbnRlZCBhYm92ZSBmaXhlZCwgZmVlbCBm cmVlIHRvIHVzZToKClJldmlld2VkLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJt YUBpbnRlbC5jb20+CgotIFNoYXNoYW5rCgo+ICAgCj4gICBzc2l6ZV90IGhkbWlfaW5mb2ZyYW1l X3BhY2sodW5pb24gaGRtaV9pbmZvZnJhbWUgKmZyYW1lLCB2b2lkICpidWZmZXIsCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==