From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [RFC 8/9] drm: Enable HDR infoframe support Date: Wed, 31 May 2017 15:40:56 +0530 Message-ID: <1496225457-30514-9-git-send-email-uma.shankar@intel.com> References: <1496225457-30514-1-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1496225457-30514-1-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Uma Shankar List-Id: dri-devel@lists.freedesktop.org RW5hYmxlIER5bmFtaWMgUmFuZ2UgYW5kIE1hc3RlcmluZyBJbmZvZnJhbWUgZm9yIEhEUgpjb250 ZW50LCB3aGljaCBpcyBkZWZpbmVkIGluIENFQSA4NjEuMyBzcGVjLgoKIFRoZSBtZXRhZGF0YSB3 aWxsIGJlIGNvbXB1dGVkIGJhc2VkIG9uIGJsZW5kaW5nCnBvbGljeSBpbiB1c2Vyc3BhY2UgY29t cG9zaXRvcnMgYW5kIHBhc3NlZCBhcyBhIGNvbm5lY3Rvcgpwcm9wZXJ0eSBibG9iIHRvIGRyaXZl ci4gVGhlIHNhbWUgd2lsbCBiZSBzZW50IGFzIGluZm9mcmFtZQp0byBwYW5lbCB3aGljaCBzdXBw b3J0IEhEUi4KClNpZ25lZC1vZmYtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgfCAgIDUzICsrKysrKysrKysrKysr KysrCiBkcml2ZXJzL3ZpZGVvL2hkbWkuYyAgICAgICB8ICAxMzggKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9lZGlkLmggICAgIHwg ICAgNCArKwogaW5jbHVkZS9saW51eC9oZG1pLmggICAgICAgfCAgIDIxICsrKysrKysKIDQgZmls ZXMgY2hhbmdlZCwgMjE2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCmluZGV4IGM5YjljM2Mu LjNiOTkyODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCkBAIC00NDI4LDYgKzQ0MjgsNTkgQEAgdm9pZCBkcm1f c2V0X3ByZWZlcnJlZF9tb2RlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiBFWFBP UlRfU1lNQk9MKGRybV9zZXRfcHJlZmVycmVkX21vZGUpOwogCiAvKioKKyAqIGRybV9oZG1pX2lu Zm9mcmFtZV9zZXRfaGRyX21ldGFkYXRhKCkgLSBmaWxsIGFuIEhETUkgQVZJIGluZm9mcmFtZSB3 aXRoCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIRFIg bWV0YWRhdGEgZnJvbSB1c2Vyc3BhY2UKKyAqIEBmcmFtZTogSERNSSBBVkkgaW5mb2ZyYW1lCisg KiBAaGRyX3NvdXJjZV9tZXRhZGF0YTogaGRyX3NvdXJjZV9tZXRhZGF0YSBpbmZvIGZyb20gdXNl cnNwYWNlCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBj b2RlIG9uIGZhaWx1cmUuCisgKi8KK2ludAorZHJtX2hkbWlfaW5mb2ZyYW1lX3NldF9oZHJfbWV0 YWRhdGEoc3RydWN0IGhkbWlfZHJtX2luZm9mcmFtZSAqZnJhbWUsCisJCQkJICAgdm9pZCAqaGRy X21ldGFkYXRhKQoreworCXN0cnVjdCBoZHJfc3RhdGljX21ldGFkYXRhICpoZHJfc291cmNlX21l dGFkYXRhOworCWludCBlcnIsIGk7CisKKwlpZiAoIWZyYW1lIHx8ICFoZHJfbWV0YWRhdGEpCisJ CXJldHVybiAtRUlOVkFMOworCisJZXJyID0gaGRtaV9kcm1faW5mb2ZyYW1lX2luaXQoZnJhbWUp OworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJaGRyX3NvdXJjZV9tZXRhZGF0YSA9 IChzdHJ1Y3QgaGRyX3N0YXRpY19tZXRhZGF0YSAqKWhkcl9tZXRhZGF0YTsKKworCWZyYW1lLT5s ZW5ndGggPSBzaXplb2Yoc3RydWN0IGhkcl9zdGF0aWNfbWV0YWRhdGEpOworCisKKwlmcmFtZS0+ ZW90ZiA9IGhkcl9zb3VyY2VfbWV0YWRhdGEtPmVvdGY7CisJZnJhbWUtPnR5cGUgPSBoZHJfc291 cmNlX21ldGFkYXRhLT50eXBlOworCisJZm9yIChpID0gMDsgaSA8IDM7IGkrKykgeworCQlmcmFt ZS0+ZGlzcGxheV9wcmltYXJpZXNfeFtpXSA9CisJCQloZHJfc291cmNlX21ldGFkYXRhLT5kaXNw bGF5X3ByaW1hcmllc194W2ldOworCQlmcmFtZS0+ZGlzcGxheV9wcmltYXJpZXNfeVtpXSA9CisJ CQloZHJfc291cmNlX21ldGFkYXRhLT5kaXNwbGF5X3ByaW1hcmllc195W2ldOworCX0KKworCWZy YW1lLT53aGl0ZV9wb2ludF94ID0gaGRyX3NvdXJjZV9tZXRhZGF0YS0+d2hpdGVfcG9pbnRfeDsK KwlmcmFtZS0+d2hpdGVfcG9pbnRfeSA9IGhkcl9zb3VyY2VfbWV0YWRhdGEtPndoaXRlX3BvaW50 X3k7CisKKwlmcmFtZS0+bWF4X21hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZSA9CisJCWhkcl9z b3VyY2VfbWV0YWRhdGEtPm1heF9tYXN0ZXJpbmdfZGlzcGxheV9sdW1pbmFuY2U7CisJZnJhbWUt Pm1pbl9tYXN0ZXJpbmdfZGlzcGxheV9sdW1pbmFuY2UgPQorCQloZHJfc291cmNlX21ldGFkYXRh LT5taW5fbWFzdGVyaW5nX2Rpc3BsYXlfbHVtaW5hbmNlOworCisJZnJhbWUtPm1heF9jbGwgPSBo ZHJfc291cmNlX21ldGFkYXRhLT5tYXhfY2xsOworCWZyYW1lLT5tYXhfZmFsbCA9IGhkcl9zb3Vy Y2VfbWV0YWRhdGEtPm1heF9mYWxsOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRy bV9oZG1pX2luZm9mcmFtZV9zZXRfaGRyX21ldGFkYXRhKTsKKworCisvKioKICAqIGRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoKSAtIGZpbGwgYW4gSERNSSBBVkkgaW5m b2ZyYW1lIHdpdGgKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRhdGEgZnJvbSBhIERSTSBkaXNwbGF5IG1vZGUKICAqIEBmcmFtZTogSERNSSBBVkkgaW5m b2ZyYW1lCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2hkbWkuYyBiL2RyaXZlcnMvdmlkZW8v aGRtaS5jCmluZGV4IDFjZjkwN2UuLjI3NDBmNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8v aGRtaS5jCisrKyBiL2RyaXZlcnMvdmlkZW8vaGRtaS5jCkBAIC0zODgsNiArMzg4LDEwMyBAQCBz c2l6ZV90IGhkbWlfdmVuZG9yX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZv ZnJhbWUgKmZyYW1lLAogfQogRVhQT1JUX1NZTUJPTChoZG1pX3ZlbmRvcl9pbmZvZnJhbWVfcGFj ayk7CiAKKy8qKgorICogaGRtaV9kcm1faW5mb2ZyYW1lX2luaXQoKSAtIGluaXRpYWxpemUgYW4g SERNSSBEeW5hbWluYyBSYW5nZSBhbmQKKyAqIG1hc3RlcmluZyBpbmZvZnJhbWUKKyAqIEBmcmFt ZTogSERNSSBEUk0gaW5mb2ZyYW1lCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3Mgb3IgYSBu ZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCisgKi8KK2ludCBoZG1pX2RybV9pbmZvZnJh bWVfaW5pdChzdHJ1Y3QgaGRtaV9kcm1faW5mb2ZyYW1lICpmcmFtZSkKK3sKKwltZW1zZXQoZnJh bWUsIDAsIHNpemVvZigqZnJhbWUpKTsKKworCWZyYW1lLT50eXBlID0gSERNSV9JTkZPRlJBTUVf VFlQRV9EUk07CisJZnJhbWUtPnZlcnNpb24gPSAxOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRf U1lNQk9MKGhkbWlfZHJtX2luZm9mcmFtZV9pbml0KTsKKworLyoqCisgKiBoZG1pX2RybV9pbmZv ZnJhbWVfcGFjaygpIC0gd3JpdGUgSERNSSBEUk0gaW5mb2ZyYW1lIHRvIGJpbmFyeSBidWZmZXIK KyAqIEBmcmFtZTogSERNSSBEUk0gaW5mb2ZyYW1lCisgKiBAYnVmZmVyOiBkZXN0aW5hdGlvbiBi dWZmZXIKKyAqIEBzaXplOiBzaXplIG9mIGJ1ZmZlcgorICoKKyAqIFBhY2tzIHRoZSBpbmZvcm1h dGlvbiBjb250YWluZWQgaW4gdGhlIEBmcmFtZSBzdHJ1Y3R1cmUgaW50byBhIGJpbmFyeQorICog cmVwcmVzZW50YXRpb24gdGhhdCBjYW4gYmUgd3JpdHRlbiBpbnRvIHRoZSBjb3JyZXNwb25kaW5n IGNvbnRyb2xsZXIKKyAqIHJlZ2lzdGVycy4gQWxzbyBjb21wdXRlcyB0aGUgY2hlY2tzdW0gYXMg cmVxdWlyZWQgYnkgc2VjdGlvbiA1LjMuNSBvZgorICogdGhlIEhETUkgMS40IHNwZWNpZmljYXRp b24uCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHBhY2tlZCBpbnRvIHRoZSBi aW5hcnkgYnVmZmVyIG9yIGEgbmVnYXRpdmUKKyAqIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAq Lworc3NpemVfdCBoZG1pX2RybV9pbmZvZnJhbWVfcGFjayhzdHJ1Y3QgaGRtaV9kcm1faW5mb2Zy YW1lICpmcmFtZSwgdm9pZCAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplX3Qgc2l6ZSkKK3sKKwl1OCAqcHRyID0gYnVmZmVyOworCXNpemVfdCBsZW5ndGg7CisK KwlsZW5ndGggPSBIRE1JX0lORk9GUkFNRV9IRUFERVJfU0laRSArIGZyYW1lLT5sZW5ndGg7CisK KwlpZiAoc2l6ZSA8IGxlbmd0aCkKKwkJcmV0dXJuIC1FTk9TUEM7CisKKwltZW1zZXQoYnVmZmVy LCAwLCBzaXplKTsKKworCXB0clswXSA9IGZyYW1lLT50eXBlOworCXB0clsxXSA9IGZyYW1lLT52 ZXJzaW9uOworCXB0clsyXSA9IGZyYW1lLT5sZW5ndGg7CisJcHRyWzNdID0gMDsgLyogY2hlY2tz dW0gKi8KKworCS8qIHN0YXJ0IGluZm9mcmFtZSBwYXlsb2FkICovCisJcHRyICs9IEhETUlfSU5G T0ZSQU1FX0hFQURFUl9TSVpFOworCisJcHRyWzBdID0gZnJhbWUtPmVvdGY7CisJcHRyWzFdID0g ZnJhbWUtPm1ldGFkYXRhX3R5cGU7CisKKwlwdHJbMl0gPSBmcmFtZS0+ZGlzcGxheV9wcmltYXJp ZXNfeFswXSAmIDB4ZmY7CisJcHRyWzNdID0gZnJhbWUtPmRpc3BsYXlfcHJpbWFyaWVzX3hbMF0g Pj4gODsKKworCXB0cls0XSA9IGZyYW1lLT5kaXNwbGF5X3ByaW1hcmllc194WzFdICYgMHhmZjsK KwlwdHJbNV0gPSBmcmFtZS0+ZGlzcGxheV9wcmltYXJpZXNfeFsxXSA+PiA4OworCisJcHRyWzZd ID0gZnJhbWUtPmRpc3BsYXlfcHJpbWFyaWVzX3hbMl0gJiAweGZmOworCXB0cls3XSA9IGZyYW1l LT5kaXNwbGF5X3ByaW1hcmllc194WzJdID4+IDg7CisKKwlwdHJbOV0gPSBmcmFtZS0+ZGlzcGxh eV9wcmltYXJpZXNfeVswXSAmIDB4ZmY7CisJcHRyWzEwXSA9IGZyYW1lLT5kaXNwbGF5X3ByaW1h cmllc195WzBdID4+IDg7CisKKwlwdHJbMTFdID0gZnJhbWUtPmRpc3BsYXlfcHJpbWFyaWVzX3lb MV0gJiAweGZmOworCXB0clsxMl0gPSBmcmFtZS0+ZGlzcGxheV9wcmltYXJpZXNfeVsxXSA+PiA4 OworCisJcHRyWzEzXSA9IGZyYW1lLT5kaXNwbGF5X3ByaW1hcmllc195WzJdICYgMHhmZjsKKwlw dHJbMTRdID0gZnJhbWUtPmRpc3BsYXlfcHJpbWFyaWVzX3lbMl0gPj4gODsKKworCXB0clsxNV0g PSBmcmFtZS0+d2hpdGVfcG9pbnRfeCAmIDB4ZmY7CisJcHRyWzE2XSA9IGZyYW1lLT53aGl0ZV9w b2ludF94ID4+IDg7CisKKwlwdHJbMTddID0gZnJhbWUtPndoaXRlX3BvaW50X3kgJiAweGZmOwor CXB0clsxOF0gPSBmcmFtZS0+d2hpdGVfcG9pbnRfeSA+PiA4OworCisJcHRyWzE5XSA9IGZyYW1l LT5tYXhfbWFzdGVyaW5nX2Rpc3BsYXlfbHVtaW5hbmNlICYgMHhmZjsKKwlwdHJbMjBdID0gZnJh bWUtPm1heF9tYXN0ZXJpbmdfZGlzcGxheV9sdW1pbmFuY2UgPj4gODsKKworCXB0clsyMV0gPSBm cmFtZS0+bWluX21hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZSAmIDB4ZmY7CisJcHRyWzIyXSA9 IGZyYW1lLT5taW5fbWFzdGVyaW5nX2Rpc3BsYXlfbHVtaW5hbmNlID4+IDg7CisKKwlwdHJbMjNd ID0gZnJhbWUtPm1heF9jbGwgJiAweGZmOworCXB0clsyNF0gPSBmcmFtZS0+bWF4X2NsbCA+PiA4 OworCisJcHRyWzI1XSA9IGZyYW1lLT5tYXhfZmFsbCAmIDB4ZmY7CisJcHRyWzI2XSA9IGZyYW1l LT5tYXhfZmFsbCA+PiA4OworCisJaGRtaV9pbmZvZnJhbWVfc2V0X2NoZWNrc3VtKGJ1ZmZlciwg bGVuZ3RoKTsKKworCXJldHVybiBsZW5ndGg7Cit9CisKIC8qCiAgKiBoZG1pX3ZlbmRvcl9hbnlf aW5mb2ZyYW1lX3BhY2soKSAtIHdyaXRlIGEgdmVuZG9yIGluZm9mcmFtZSB0byBiaW5hcnkgYnVm ZmVyCiAgKi8KQEAgLTQyNSw2ICs1MjIsOSBAQCBzc2l6ZV90IGhkbWlfdmVuZG9yX2luZm9mcmFt ZV9wYWNrKHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWUgKmZyYW1lLAogCWNhc2UgSERNSV9J TkZPRlJBTUVfVFlQRV9BVkk6CiAJCWxlbmd0aCA9IGhkbWlfYXZpX2luZm9mcmFtZV9wYWNrKCZm cmFtZS0+YXZpLCBidWZmZXIsIHNpemUpOwogCQlicmVhazsKKwljYXNlIEhETUlfSU5GT0ZSQU1F X1RZUEVfRFJNOgorCQlsZW5ndGggPSBoZG1pX2RybV9pbmZvZnJhbWVfcGFjaygmZnJhbWUtPmRy bSwgYnVmZmVyLCBzaXplKTsKKwkJYnJlYWs7CiAJY2FzZSBIRE1JX0lORk9GUkFNRV9UWVBFX1NQ RDoKIAkJbGVuZ3RoID0gaGRtaV9zcGRfaW5mb2ZyYW1lX3BhY2soJmZyYW1lLT5zcGQsIGJ1ZmZl ciwgc2l6ZSk7CiAJCWJyZWFrOwpAQCAtNDU3LDYgKzU1Nyw4IEBAIHN0YXRpYyBjb25zdCBjaGFy ICpoZG1pX2luZm9mcmFtZV90eXBlX2dldF9uYW1lKGVudW0gaGRtaV9pbmZvZnJhbWVfdHlwZSB0 eXBlKQogCQlyZXR1cm4gIlNvdXJjZSBQcm9kdWN0IERlc2NyaXB0aW9uIChTUEQpIjsKIAljYXNl IEhETUlfSU5GT0ZSQU1FX1RZUEVfQVVESU86CiAJCXJldHVybiAiQXVkaW8iOworCWNhc2UgSERN SV9JTkZPRlJBTUVfVFlQRV9EUk06CisJCXJldHVybiAiRHluYW1pYyBSYW5nZSBhbmQgTWFzdGVy aW5nIjsKIAl9CiAJcmV0dXJuICJSZXNlcnZlZCI7CiB9CkBAIC05MDMsNiArMTAwNSwzOSBAQCBz dGF0aWMgdm9pZCBoZG1pX2F1ZGlvX2luZm9mcmFtZV9sb2coY29uc3QgY2hhciAqbGV2ZWwsCiAJ CQlmcmFtZS0+ZG93bm1peF9pbmhpYml0ID8gIlllcyIgOiAiTm8iKTsKIH0KIAorLyoqCisgKiBo ZG1pX2RybV9pbmZvZnJhbWVfbG9nKCkgLSBsb2cgaW5mbyBvZiBIRE1JIERSTSBpbmZvZnJhbWUK KyAqIEBsZXZlbDogbG9nZ2luZyBsZXZlbAorICogQGRldjogZGV2aWNlCisgKiBAZnJhbWU6IEhE TUkgRFJNIGluZm9mcmFtZQorICovCitzdGF0aWMgdm9pZCBoZG1pX2RybV9pbmZvZnJhbWVfbG9n KGNvbnN0IGNoYXIgKmxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBkZXZpY2UgKmRldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgaGRtaV9kcm1faW5mb2ZyYW1lICpmcmFtZSkKK3sKKwlpbnQgaTsKKworCWhkbWlfaW5mb2Zy YW1lX2xvZ19oZWFkZXIobGV2ZWwsIGRldiwKKwkJCShzdHJ1Y3QgaGRtaV9hbnlfaW5mb2ZyYW1l ICopZnJhbWUpOworCWhkbWlfbG9nKCJsZW5ndGg6ICVkXG4iLCBmcmFtZS0+bGVuZ3RoKTsKKwlo ZG1pX2xvZygiZW90ZjogJWRcbiIsIGZyYW1lLT5lb3RmKTsKKwlmb3IgKGkgPSAwOyBpIDw9IDI7 IGkrKykgeworCQloZG1pX2xvZygieFslZF06ICVkXG4iLCBpLCBmcmFtZS0+ZGlzcGxheV9wcmlt YXJpZXNfeFtpXSk7CisJCWhkbWlfbG9nKCJ5WyVkXTogJWRcbiIsIGksIGZyYW1lLT5kaXNwbGF5 X3ByaW1hcmllc195W2ldKTsKKwl9CisKKwloZG1pX2xvZygid2hpdGUgcG9pbnQgeDogJWRcbiIs IGZyYW1lLT53aGl0ZV9wb2ludF94KTsKKwloZG1pX2xvZygid2hpdGUgcG9pbnQgeTogJWRcbiIs IGZyYW1lLT53aGl0ZV9wb2ludF95KTsKKworCWhkbWlfbG9nKCJtYXhfbWFzdGVyaW5nX2Rpc3Bs YXlfbHVtaW5hbmNlOiAlZFxuIiwKKwkJCWZyYW1lLT5tYXhfbWFzdGVyaW5nX2Rpc3BsYXlfbHVt aW5hbmNlKTsKKwloZG1pX2xvZygibWluX21hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZTogJWRc biIsCisJCQlmcmFtZS0+bWluX21hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZSk7CisKKwloZG1p X2xvZygibWF4X2NsbDogJWRcbiIsIGZyYW1lLT5tYXhfY2xsKTsKKwloZG1pX2xvZygibWF4X2Zh bGw6ICVkXG4iLCBmcmFtZS0+bWF4X2ZhbGwpOworfQorCiBzdGF0aWMgY29uc3QgY2hhciAqCiBo ZG1pXzNkX3N0cnVjdHVyZV9nZXRfbmFtZShlbnVtIGhkbWlfM2Rfc3RydWN0dXJlIHMzZF9zdHJ1 Y3QpCiB7CkBAIC05OTEsNiArMTEyNiw5IEBAIHZvaWQgaGRtaV9pbmZvZnJhbWVfbG9nKGNvbnN0 IGNoYXIgKmxldmVsLAogCWNhc2UgSERNSV9JTkZPRlJBTUVfVFlQRV9WRU5ET1I6CiAJCWhkbWlf dmVuZG9yX2FueV9pbmZvZnJhbWVfbG9nKGxldmVsLCBkZXYsICZmcmFtZS0+dmVuZG9yKTsKIAkJ YnJlYWs7CisJY2FzZSBIRE1JX0lORk9GUkFNRV9UWVBFX0RSTToKKwkJaGRtaV9kcm1faW5mb2Zy YW1lX2xvZyhsZXZlbCwgZGV2LCAmZnJhbWUtPmRybSk7CisJCWJyZWFrOwogCX0KIH0KIEVYUE9S VF9TWU1CT0woaGRtaV9pbmZvZnJhbWVfbG9nKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCmluZGV4IDdiOWY0OGIuLmY4MGMyMzUg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJt X2VkaWQuaApAQCAtMzUzLDYgKzM1MywxMCBAQCBpbnQgZHJtX2F2X3N5bmNfZGVsYXkoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkgICBlbnVtIGhkbWlfcXVhbnRpemF0aW9u X3JhbmdlIHJnYl9xdWFudF9yYW5nZSwKIAkJCQkgICBib29sIHJnYl9xdWFudF9yYW5nZV9zZWxl Y3RhYmxlKTsKIAoraW50Citkcm1faGRtaV9pbmZvZnJhbWVfc2V0X2hkcl9tZXRhZGF0YShzdHJ1 Y3QgaGRtaV9kcm1faW5mb2ZyYW1lICpmcmFtZSwKKwkJCQkgICAgdm9pZCAqaGRyX3NvdXJjZV9t ZXRhZGF0YSk7CisKIC8qKgogICogZHJtX2VsZF9tbmwgLSBHZXQgRUxEIG1vbml0b3IgbmFtZSBs ZW5ndGggaW4gYnl0ZXMuCiAgKiBAZWxkOiBwb2ludGVyIHRvIGFuIGVsZCBtZW1vcnkgc3RydWN0 dXJlIHdpdGggbW5sIHNldApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9oZG1pLmggYi9pbmNs dWRlL2xpbnV4L2hkbWkuaAppbmRleCBkMjcxZmYyLi5hODA5NWUxIDEwMDY0NAotLS0gYS9pbmNs dWRlL2xpbnV4L2hkbWkuaAorKysgYi9pbmNsdWRlL2xpbnV4L2hkbWkuaApAQCAtMzIsNiArMzIs NyBAQCBlbnVtIGhkbWlfaW5mb2ZyYW1lX3R5cGUgewogCUhETUlfSU5GT0ZSQU1FX1RZUEVfQVZJ ID0gMHg4MiwKIAlIRE1JX0lORk9GUkFNRV9UWVBFX1NQRCA9IDB4ODMsCiAJSERNSV9JTkZPRlJB TUVfVFlQRV9BVURJTyA9IDB4ODQsCisJSERNSV9JTkZPRlJBTUVfVFlQRV9EUk0gPSAweDg3LAog fTsKIAogI2RlZmluZSBIRE1JX0lFRUVfT1VJIDB4MDAwYzAzCkBAIC0xNjAsMTAgKzE2MSwyOSBA QCBzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lIHsKIAl1bnNpZ25lZCBzaG9ydCByaWdodF9iYXI7 CiB9OwogCitzdHJ1Y3QgaGRtaV9kcm1faW5mb2ZyYW1lIHsKKwllbnVtIGhkbWlfaW5mb2ZyYW1l X3R5cGUgdHlwZTsKKwl1bnNpZ25lZCBjaGFyIHZlcnNpb247CisJdW5zaWduZWQgY2hhciBsZW5n dGg7CisJdWludDE2X3QgZW90ZjsKKwl1aW50MTZfdCBtZXRhZGF0YV90eXBlOworCXVpbnQxNl90 IGRpc3BsYXlfcHJpbWFyaWVzX3hbM107CisJdWludDE2X3QgZGlzcGxheV9wcmltYXJpZXNfeVsz XTsKKwl1aW50MTZfdCB3aGl0ZV9wb2ludF94OworCXVpbnQxNl90IHdoaXRlX3BvaW50X3k7CisJ dWludDE2X3QgbWF4X21hc3RlcmluZ19kaXNwbGF5X2x1bWluYW5jZTsKKwl1aW50MTZfdCBtaW5f bWFzdGVyaW5nX2Rpc3BsYXlfbHVtaW5hbmNlOworCXVpbnQxNl90IG1heF9mYWxsOworCXVpbnQx Nl90IG1heF9jbGw7CisJdWludDE2X3QgbWluX2NsbDsKK307CisKIGludCBoZG1pX2F2aV9pbmZv ZnJhbWVfaW5pdChzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSk7CiBzc2l6ZV90IGhk bWlfYXZpX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLCB2 b2lkICpidWZmZXIsCiAJCQkJc2l6ZV90IHNpemUpOwogCitpbnQgaGRtaV9kcm1faW5mb2ZyYW1l X2luaXQoc3RydWN0IGhkbWlfZHJtX2luZm9mcmFtZSAqZnJhbWUpOworCiBlbnVtIGhkbWlfc3Bk X3NkaSB7CiAJSERNSV9TUERfU0RJX1VOS05PV04sCiAJSERNSV9TUERfU0RJX0RTVEIsCkBAIC0z MjgsNiArMzQ4LDcgQEAgc3NpemVfdCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWVfcGFjayhzdHJ1Y3Qg aGRtaV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKIAlzdHJ1Y3QgaGRtaV9zcGRfaW5mb2ZyYW1l IHNwZDsKIAl1bmlvbiBoZG1pX3ZlbmRvcl9hbnlfaW5mb2ZyYW1lIHZlbmRvcjsKIAlzdHJ1Y3Qg aGRtaV9hdWRpb19pbmZvZnJhbWUgYXVkaW87CisJc3RydWN0IGhkbWlfZHJtX2luZm9mcmFtZSBk cm07CiB9OwogCiBzc2l6ZV90Ci0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK