From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: [PATCH 2/6] drm: introduce color correction properties Date: Mon, 1 Feb 2016 15:18:33 +0000 Message-ID: <1454339917-31569-3-git-send-email-lionel.g.landwerlin@intel.com> References: <1454339917-31569-1-git-send-email-lionel.g.landwerlin@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 0F42D6E48B for ; Mon, 1 Feb 2016 07:18:52 -0800 (PST) In-Reply-To: <1454339917-31569-1-git-send-email-lionel.g.landwerlin@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UGF0Y2ggYmFzZWQgb24gYSBwcmV2aW91cyBzZXJpZSBieSBTaGFzaGFuayBTaGFybWEuCgp2Mjog UmVnaXN0ZXIgTFVUIHNpemUgcHJvcGVydGllcyBhcyByYW5nZQoKdjM6IEZpeCByb3VuZCBpbiBk cm1fY29sb3JfbHV0X2dldF92YWx1ZSgpIGhlbHBlcgogICAgTW9yZSBkb2NzIG9uIGhvdyBkZWdh bW1hL2dhbW1hIHByb3BlcnRpZXMgYXJlIHVzZWQKClNpZ25lZC1vZmYtYnk6IExpb25lbCBMYW5k d2VybGluIDxsaW9uZWwuZy5sYW5kd2VybGluQGludGVsLmNvbT4KLS0tCiBEb2N1bWVudGF0aW9u L0RvY0Jvb2svZ3B1LnRtcGwgICAgICB8ICA1OCArKysrKysrKysrKysrKysrKysrLQogZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCAxMDIgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8ICAx MCArKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAgICAgICAgICB8ICAzNSArKysrKysr KysrKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgICB8ICAzMyArKysrKysr KysrKysKIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICAgIHwgIDQ0ICsrKysrKysr KysrKysrKy0KIGluY2x1ZGUvZHJtL2RybV9jcnRjX2hlbHBlci5oICAgICAgIHwgICAzICsrCiBp bmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggICAgICAgICB8ICAxNSArKysrKysKIDggZmlsZXMg Y2hhbmdlZCwgMjk1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv RG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dwdS50bXBsIGIvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dw dS50bXBsCmluZGV4IDQ5Yzk3OTEuLjYzN2U3MTggMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24v RG9jQm9vay9ncHUudG1wbAorKysgYi9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwKQEAg LTE4MTYsNyArMTgxNiw3IEBAIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAk8dGQgdmFsaWduPSJ0b3AiID5EZXNjcmlwdGlvbi9SZXN0cmljdGlvbnM8L3RkPgog CTwvdHI+CiAJPHRyPgotCTx0ZCByb3dzcGFuPSIzNyIgdmFsaWduPSJ0b3AiID5EUk08L3RkPgor CTx0ZCByb3dzcGFuPSI0MiIgdmFsaWduPSJ0b3AiID5EUk08L3RkPgogCTx0ZCB2YWxpZ249InRv cCIgPkdlbmVyaWM8L3RkPgogCTx0ZCB2YWxpZ249InRvcCIgPuKAnHJvdGF0aW9u4oCdPC90ZD4K IAk8dGQgdmFsaWduPSJ0b3AiID5CSVRNQVNLPC90ZD4KQEAgLTIwNjgsNyArMjA2OCw3IEBAIHZv aWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAk8dGQgdmFsaWduPSJ0 b3AiID5wcm9wZXJ0eSB0byBzdWdnZXN0IGFuIFkgb2Zmc2V0IGZvciBhIGNvbm5lY3RvcjwvdGQ+ CiAJPC90cj4KIAk8dHI+Ci0JPHRkIHJvd3NwYW49IjMiIHZhbGlnbj0idG9wIiA+T3B0aW9uYWw8 L3RkPgorCTx0ZCByb3dzcGFuPSI4IiB2YWxpZ249InRvcCIgPk9wdGlvbmFsPC90ZD4KIAk8dGQg dmFsaWduPSJ0b3AiID7igJxzY2FsaW5nIG1vZGXigJ08L3RkPgogCTx0ZCB2YWxpZ249InRvcCIg PkVOVU08L3RkPgogCTx0ZCB2YWxpZ249InRvcCIgPnsgIk5vbmUiLCAiRnVsbCIsICJDZW50ZXIi LCAiRnVsbCBhc3BlY3QiIH08L3RkPgpAQCAtMjA5Miw2ICsyMDkyLDYwIEBAIHZvaWQgaW50ZWxf Y3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAk8dGQgdmFsaWduPSJ0b3AiID5UQkQ8 L3RkPgogCTwvdHI+CiAJPHRyPgorCTx0ZCB2YWxpZ249InRvcCIgPuKAnERFR0FNTUFfTFVU4oCd PC90ZD4KKwk8dGQgdmFsaWduPSJ0b3AiID5CTE9CPC90ZD4KKwk8dGQgdmFsaWduPSJ0b3AiID4w PC90ZD4KKwk8dGQgdmFsaWduPSJ0b3AiID5DUlRDPC90ZD4KKwk8dGQgdmFsaWduPSJ0b3AiID5E Uk0gcHJvcGVydHkgdG8gc2V0IHRoZSBkZWdhbW1hIExVVCBtYXBwaW5nCisJCXBpeGVsIGRhdGEg ZnJvbSB0aGUgZnJhbWVidWZmZXIgYmVmb3JlIGl0IGlzIGdpdmVuIHRvIHRoZQorCQl0cmFuc2Zv cm1hdGlvbiBtYXRyaXguIFRoZSBkYXRhIGlzIGFuIGludGVycHJldGVkIGFzIGFuIGFycmF5CisJ CW9mIHN0cnVjdCBkcm1fY29sb3JfbHV0IGVsZW1lbnRzLiBIYXJkd2FyZSBtaWdodCBjaG9vc2Ug bm90IHRvCisJCXVzZSB0aGUgZnVsbCBwcmVjaXNpb24gb2YgdGhlIExVVCBlbGVtZW50cyBub3Ig dXNlIGFsbCB0aGUKKwkJZWxlbWVudHMgb2YgdGhlIExVVCAoZm9yIGV4YW1wbGUgdGhlIGhhcmR3 YXJlIG1pZ2h0IGNob29zZSB0bworCQlpbnRlcnBvbGF0ZSBiZXR3ZWVuIExVVFswXSBhbmQgTFVU WzRdKS4gPC90ZD4KKwk8L3RyPgorCTx0cj4KKwk8dGQgdmFsaWduPSJ0b3AiID7igJxERUdBTU1B X0xVVF9TSVpF4oCdPC90ZD4KKwk8dGQgdmFsaWduPSJ0b3AiID5SQU5HRSB8IElNTVVUQUJMRTwv dGQ+CisJPHRkIHZhbGlnbj0idG9wIiA+TWluPTAsIE1heD1VSU5UX01BWDwvdGQ+CisJPHRkIHZh bGlnbj0idG9wIiA+Q1JUQzwvdGQ+CisJPHRkIHZhbGlnbj0idG9wIiA+RFJNIHByb3BlcnR5IHRv IGdpdmVzIHRoZSBzaXplIG9mIHRoZSBMVVQgdG8KKwkJYmUgc2V0IG9uIHRoZSBERUdBTU1BX0xV VCBwcm9wZXJ0eSAodGhlIHNpemUgZGVwZW5kcyBvbiB0aGUKKwkJdW5kZXJseWluZyBoYXJkd2Fy ZSkuPC90ZD4KKwk8L3RyPgorCTx0cj4KKwk8dGQgdmFsaWduPSJ0b3AiID7igJxDVE1fTUFUUklY 4oCdPC90ZD4KKwk8dGQgdmFsaWduPSJ0b3AiID5CTE9CPC90ZD4KKwk8dGQgdmFsaWduPSJ0b3Ai ID4wPC90ZD4KKwk8dGQgdmFsaWduPSJ0b3AiID5DUlRDPC90ZD4KKwk8dGQgdmFsaWduPSJ0b3Ai ID5EUk0gcHJvcGVydHkgdG8gc2V0IHRoZSB0cmFuc2Zvcm1hdGlvbgorCQltYXRyaXggYXBwbHkg dG8gcGl4ZWwgZGF0YSBhZnRlciB0aGUgbG9va3VwIHRocm91Z2ggdGhlCisJCWRlZ2FtbWEgTFVU IGFuZCBiZWZvcmUgdGhlIGxvb2t1cCB0aHJvdWdoIHRoZSBnYW1tYSBMVVQuIFRoZQorCQlkYXRh IGlzIGFuIGludGVycHJldGVkIGFzIGEgc3RydWN0IGRybV9jb2xvcl9jdG0uPC90ZD4KKwk8L3Ry PgorCTx0cj4KKwk8dGQgdmFsaWduPSJ0b3AiID7igJxHQU1NQV9MVVTigJ08L3RkPgorCTx0ZCB2 YWxpZ249InRvcCIgPkJMT0I8L3RkPgorCTx0ZCB2YWxpZ249InRvcCIgPjA8L3RkPgorCTx0ZCB2 YWxpZ249InRvcCIgPkNSVEM8L3RkPgorCTx0ZCB2YWxpZ249InRvcCIgPkRSTSBwcm9wZXJ0eSB0 byBzZXQgdGhlIGdhbW1hIExVVCBtYXBwaW5nCisJCXBpeGVsIGRhdGEgYWZ0ZXIgdG8gdGhlIHRy YW5zZm9ybWF0aW9uIG1hdHJpeCB0byBkYXRhIHNlbnQgdG8KKwkJdGhlIGNvbm5lY3Rvci4gVGhl IGRhdGEgaXMgYW4gaW50ZXJwcmV0ZWQgYXMgYW4gYXJyYXkKKwkJb2Ygc3RydWN0IGRybV9jb2xv cl9sdXQgZWxlbWVudHMuIEhhcmR3YXJlIG1pZ2h0IGNob29zZSBub3QgdG8KKwkJdXNlIHRoZSBm dWxsIHByZWNpc2lvbiBvZiB0aGUgTFVUIGVsZW1lbnRzIG5vciB1c2UgYWxsIHRoZQorCQllbGVt ZW50cyBvZiB0aGUgTFVUIChmb3IgZXhhbXBsZSB0aGUgaGFyZHdhcmUgbWlnaHQgY2hvb3NlIHRv CisJCWludGVycG9sYXRlIGJldHdlZW4gTFVUWzBdIGFuZCBMVVRbNF0pLjwvdGQ+CisJPC90cj4K Kwk8dHI+CisJPHRkIHZhbGlnbj0idG9wIiA+4oCcR0FNTUFfTFVUX1NJWkXigJ08L3RkPgorCTx0 ZCB2YWxpZ249InRvcCIgPlJBTkdFIHwgSU1NVVRBQkxFPC90ZD4KKwk8dGQgdmFsaWduPSJ0b3Ai ID5NaW49MCwgTWF4PVVJTlRfTUFYPC90ZD4KKwk8dGQgdmFsaWduPSJ0b3AiID5DUlRDPC90ZD4K Kwk8dGQgdmFsaWduPSJ0b3AiID5EUk0gcHJvcGVydHkgdG8gZ2l2ZXMgdGhlIHNpemUgb2YgdGhl IExVVCB0bworCQliZSBzZXQgb24gdGhlIEdBTU1BX0xVVCBwcm9wZXJ0eSAodGhlIHNpemUgZGVw ZW5kcyBvbiB0aGUKKwkJdW5kZXJseWluZyBoYXJkd2FyZSkuPC90ZD4KKwk8L3RyPgorCTx0cj4K IAk8dGQgcm93c3Bhbj0iMjAiIHZhbGlnbj0idG9wIiA+aTkxNTwvdGQ+CiAJPHRkIHJvd3NwYW49 IjIiIHZhbGlnbj0idG9wIiA+R2VuZXJpYzwvdGQ+CiAJPHRkIHZhbGlnbj0idG9wIiA+IkJyb2Fk Y2FzdCBSR0IiPC90ZD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCmluZGV4IDhmYjQ2OWMuLjc1MDc3NjIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYwpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8ZHJtL2RybVAu aD4KICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pYy5oPgorI2luY2x1ZGUgPGRybS9kcm1fbW9kZS5o PgogI2luY2x1ZGUgPGRybS9kcm1fcGxhbmVfaGVscGVyLmg+CiAKIC8qKgpAQCAtMzg4LDYgKzM4 OSw1OCBAQCBpbnQgZHJtX2F0b21pY19zZXRfbW9kZV9wcm9wX2Zvcl9jcnRjKHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqc3RhdGUsCiBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfc2V0X21vZGVfcHJv cF9mb3JfY3J0Yyk7CiAKIC8qKgorICogZHJtX2F0b21pY19yZXBsYWNlX3Byb3BlcnR5X2Jsb2Ig LSByZXBsYWNlIGEgYmxvYiBwcm9wZXJ0eQorICogQGJsb2I6IGEgcG9pbnRlciB0byB0aGUgbWVt YmVyIGJsb2IgdG8gYmUgcmVwbGFjZWQKKyAqIEBuZXdfYmxvYjogdGhlIG5ldyBibG9iIHRvIHJl cGxhY2Ugd2l0aAorICogQGV4cGVjdGVkX3NpemU6IHRoZSBleHBlY3RlZCBzaXplIG9mIHRoZSBu ZXcgYmxvYgorICogQHJlcGxhY2VkOiB3aGV0aGVyIHRoZSBibG9iIGhhcyBiZWVuIHJlcGxhY2Vk CisgKgorICogUkVUVVJOUzoKKyAqIFplcm8gb24gc3VjY2VzcywgZXJyb3IgY29kZSBvbiBmYWls dXJlCisgKi8KK3N0YXRpYyBpbnQKK2RybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9iKHN0 cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqKmJsb2IsCisJCQkJIHN0cnVjdCBkcm1fcHJvcGVydHlf YmxvYiAqbmV3X2Jsb2IsCisJCQkJIHNpemVfdCBleHBlY3RlZF9zaXplLAorCQkJCSBib29sICpy ZXBsYWNlZCkKK3sKKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKm9sZF9ibG9iID0gKmJsb2I7 CisKKwlpZiAob2xkX2Jsb2IgPT0gbmV3X2Jsb2IpCisJCXJldHVybiAwOworCisJaWYgKG5ld19i bG9iICE9IE5VTEwgJiYgbmV3X2Jsb2ItPmxlbmd0aCAhPSBleHBlY3RlZF9zaXplKQorCQlyZXR1 cm4gLUVJTlZBTDsKKworCWlmIChvbGRfYmxvYiAhPSBOVUxMKQorCQlkcm1fcHJvcGVydHlfdW5y ZWZlcmVuY2VfYmxvYihvbGRfYmxvYik7CisJKmJsb2IgPSBuZXdfYmxvYjsKKwkqcmVwbGFjZWQg PSB0cnVlOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2RybV9hdG9taWNfcmVwbGFj ZV9wcm9wZXJ0eV9ibG9iX2Zyb21faWQoc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJCQkgc3Ry dWN0IGRybV9wcm9wZXJ0eV9ibG9iICoqYmxvYiwKKwkJCQkJIHVpbnQ2NF90IGJsb2JfaWQsCisJ CQkJCSBzaXplX3QgZXhwZWN0ZWRfc2l6ZSwKKwkJCQkJIGJvb2wgKnJlcGxhY2VkKQoreworCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CisJc3RydWN0IGRybV9wcm9wZXJ0eV9i bG9iICpuZXdfYmxvYiA9IE5VTEw7CisKKwlpZiAoYmxvYl9pZCAhPSAwKSB7CisJCW5ld19ibG9i ID0gZHJtX3Byb3BlcnR5X2xvb2t1cF9ibG9iKGRldiwgYmxvYl9pZCk7CisJCWlmIChuZXdfYmxv YiA9PSBOVUxMKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIGRybV9hdG9taWNf cmVwbGFjZV9wcm9wZXJ0eV9ibG9iKGJsb2IsIG5ld19ibG9iLAorCQkJCQkJZXhwZWN0ZWRfc2l6 ZSwgcmVwbGFjZWQpOworfQorCisvKioKICAqIGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkg LSBzZXQgcHJvcGVydHkgb24gQ1JUQwogICogQGNydGM6IHRoZSBkcm0gQ1JUQyB0byBzZXQgYSBw cm9wZXJ0eSBvbgogICogQHN0YXRlOiB0aGUgc3RhdGUgb2JqZWN0IHRvIHVwZGF0ZSB3aXRoIHRo ZSBuZXcgcHJvcGVydHkgdmFsdWUKQEAgLTQxOSw4ICs0NzIsNDcgQEAgaW50IGRybV9hdG9taWNf Y3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQlyZXQgPSBkcm1fYXRv bWljX3NldF9tb2RlX3Byb3BfZm9yX2NydGMoc3RhdGUsIG1vZGUpOwogCQlkcm1fcHJvcGVydHlf dW5yZWZlcmVuY2VfYmxvYihtb2RlKTsKIAkJcmV0dXJuIHJldDsKLQl9Ci0JZWxzZSBpZiAoY3J0 Yy0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkpCisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBj b25maWctPmRlZ2FtbWFfbHV0X3Byb3BlcnR5KSB7CisJCWJvb2wgcmVwbGFjZWQgPSBmYWxzZTsK KwkJdWludDY0X3QgbHV0X3NpemUgPSAwOworCisJCXJldCA9IGRybV9vYmplY3RfcHJvcGVydHlf Z2V0X3ZhbHVlKCZjcnRjLT5iYXNlLAorCQkJCQljb25maWctPmRlZ2FtbWFfbHV0X3NpemVfcHJv cGVydHksCisJCQkJCSZsdXRfc2l6ZSk7CisJCWlmIChyZXQgPT0gMCkKKwkJCXJldCA9IGRybV9h dG9taWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9iX2Zyb21faWQoY3J0YywKKwkJCQkJJnN0YXRlLT5k ZWdhbW1hX2x1dCwKKwkJCQkJdmFsLAorCQkJCQlsdXRfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgZHJt X2NvbG9yX2x1dCksCisJCQkJCSZyZXBsYWNlZCk7CisJCXN0YXRlLT5jb2xvcl9tZ210X2NoYW5n ZWQgPSByZXBsYWNlZDsKKwkJcmV0dXJuIHJldDsKKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNv bmZpZy0+Y3RtX21hdHJpeF9wcm9wZXJ0eSkgeworCQlib29sIHJlcGxhY2VkID0gZmFsc2U7CisK KwkJcmV0ID0gZHJtX2F0b21pY19yZXBsYWNlX3Byb3BlcnR5X2Jsb2JfZnJvbV9pZChjcnRjLAor CQkJCQkmc3RhdGUtPmN0bV9tYXRyaXgsCisJCQkJCXZhbCwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBk cm1fY29sb3JfY3RtKSwKKwkJCQkJCQkgICAgICAgJnJlcGxhY2VkKTsKKwkJc3RhdGUtPmNvbG9y X21nbXRfY2hhbmdlZCA9IHJlcGxhY2VkOworCQlyZXR1cm4gcmV0OworCX0gZWxzZSBpZiAocHJv cGVydHkgPT0gY29uZmlnLT5nYW1tYV9sdXRfcHJvcGVydHkpIHsKKwkJYm9vbCByZXBsYWNlZCA9 IGZhbHNlOworCQl1aW50NjRfdCBsdXRfc2l6ZSA9IDA7CisKKwkJcmV0ID0gZHJtX29iamVjdF9w cm9wZXJ0eV9nZXRfdmFsdWUoJmNydGMtPmJhc2UsCisJCQkJCWNvbmZpZy0+Z2FtbWFfbHV0X3Np emVfcHJvcGVydHksCisJCQkJCSZsdXRfc2l6ZSk7CisJCWlmIChyZXQgPT0gMCkKKwkJCXJldCA9 IGRybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9iX2Zyb21faWQoY3J0YywKKwkJCQkJJnN0 YXRlLT5nYW1tYV9sdXQsCisJCQkJCXZhbCwKKwkJCQkJbHV0X3NpemUgKiBzaXplb2Yoc3RydWN0 IGRybV9jb2xvcl9sdXQpLAorCQkJCQkmcmVwbGFjZWQpOworCQlzdGF0ZS0+Y29sb3JfbWdtdF9j aGFuZ2VkID0gcmVwbGFjZWQ7CisJCXJldHVybiByZXQ7CisJfSBlbHNlIGlmIChjcnRjLT5mdW5j cy0+YXRvbWljX3NldF9wcm9wZXJ0eSkKIAkJcmV0dXJuIGNydGMtPmZ1bmNzLT5hdG9taWNfc2V0 X3Byb3BlcnR5KGNydGMsIHN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKIAllbHNlCiAJCXJldHVybiAt RUlOVkFMOwpAQCAtNDU2LDYgKzU0OCwxMiBAQCBkcm1fYXRvbWljX2NydGNfZ2V0X3Byb3BlcnR5 KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJKnZhbCA9IHN0YXRlLT5hY3RpdmU7CiAJZWxzZSBp ZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX21vZGVfaWQpCiAJCSp2YWwgPSAoc3RhdGUtPm1v ZGVfYmxvYikgPyBzdGF0ZS0+bW9kZV9ibG9iLT5iYXNlLmlkIDogMDsKKwllbHNlIGlmIChwcm9w ZXJ0eSA9PSBjb25maWctPmRlZ2FtbWFfbHV0X3Byb3BlcnR5KQorCQkqdmFsID0gKHN0YXRlLT5k ZWdhbW1hX2x1dCkgPyBzdGF0ZS0+ZGVnYW1tYV9sdXQtPmJhc2UuaWQgOiAwOworCWVsc2UgaWYg KHByb3BlcnR5ID09IGNvbmZpZy0+Y3RtX21hdHJpeF9wcm9wZXJ0eSkKKwkJKnZhbCA9IChzdGF0 ZS0+Y3RtX21hdHJpeCkgPyBzdGF0ZS0+Y3RtX21hdHJpeC0+YmFzZS5pZCA6IDA7CisJZWxzZSBp ZiAocHJvcGVydHkgPT0gY29uZmlnLT5nYW1tYV9sdXRfcHJvcGVydHkpCisJCSp2YWwgPSAoc3Rh dGUtPmdhbW1hX2x1dCkgPyBzdGF0ZS0+Z2FtbWFfbHV0LT5iYXNlLmlkIDogMDsKIAllbHNlIGlm IChjcnRjLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkKIAkJcmV0dXJuIGNydGMtPmZ1bmNz LT5hdG9taWNfZ2V0X3Byb3BlcnR5KGNydGMsIHN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKIAllbHNl CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCmluZGV4IDBhYjdjMjQuLmU0ZGM0ZGEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCkBAIC0yNDcwLDEwICsyNDcwLDE3IEBAIHZv aWQgX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAKIAlpZiAoc3RhdGUtPm1vZGVfYmxvYikKIAkJZHJtX3Byb3BlcnR5X3JlZmVy ZW5jZV9ibG9iKHN0YXRlLT5tb2RlX2Jsb2IpOworCWlmIChzdGF0ZS0+ZGVnYW1tYV9sdXQpCisJ CWRybV9wcm9wZXJ0eV9yZWZlcmVuY2VfYmxvYihzdGF0ZS0+ZGVnYW1tYV9sdXQpOworCWlmIChz dGF0ZS0+Y3RtX21hdHJpeCkKKwkJZHJtX3Byb3BlcnR5X3JlZmVyZW5jZV9ibG9iKHN0YXRlLT5j dG1fbWF0cml4KTsKKwlpZiAoc3RhdGUtPmdhbW1hX2x1dCkKKwkJZHJtX3Byb3BlcnR5X3JlZmVy ZW5jZV9ibG9iKHN0YXRlLT5nYW1tYV9sdXQpOwogCXN0YXRlLT5tb2RlX2NoYW5nZWQgPSBmYWxz ZTsKIAlzdGF0ZS0+YWN0aXZlX2NoYW5nZWQgPSBmYWxzZTsKIAlzdGF0ZS0+cGxhbmVzX2NoYW5n ZWQgPSBmYWxzZTsKIAlzdGF0ZS0+Y29ubmVjdG9yc19jaGFuZ2VkID0gZmFsc2U7CisJc3RhdGUt PmNvbG9yX21nbXRfY2hhbmdlZCA9IGZhbHNlOwogCXN0YXRlLT5ldmVudCA9IE5VTEw7CiB9CiBF WFBPUlRfU1lNQk9MKF9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUpOwpA QCAtMjUxNCw2ICsyNTIxLDkgQEAgdm9pZCBfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJv eV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkJCSAgICBzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKnN0YXRlKQogewogCWRybV9wcm9wZXJ0eV91bnJlZmVyZW5jZV9ibG9iKHN0YXRlLT5t b2RlX2Jsb2IpOworCWRybV9wcm9wZXJ0eV91bnJlZmVyZW5jZV9ibG9iKHN0YXRlLT5kZWdhbW1h X2x1dCk7CisJZHJtX3Byb3BlcnR5X3VucmVmZXJlbmNlX2Jsb2Ioc3RhdGUtPmN0bV9tYXRyaXgp OworCWRybV9wcm9wZXJ0eV91bnJlZmVyZW5jZV9ibG9iKHN0YXRlLT5nYW1tYV9sdXQpOwogfQog RVhQT1JUX1NZTUJPTChfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSk7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9jcnRjLmMKaW5kZXggNmU2NTE0ZS4uM2M5Y2RlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKQEAgLTE1 NDIsNiArMTU0Miw0MSBAQCBzdGF0aWMgaW50IGRybV9tb2RlX2NyZWF0ZV9zdGFuZGFyZF9wcm9w ZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXJldHVybiAtRU5PTUVNOwogCWRldi0+ bW9kZV9jb25maWcucHJvcF9tb2RlX2lkID0gcHJvcDsKIAorCXByb3AgPSBkcm1fcHJvcGVydHlf Y3JlYXRlKGRldiwKKwkJCURSTV9NT0RFX1BST1BfQkxPQiwKKwkJCSJERUdBTU1BX0xVVCIsIDAp OworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1FTk9NRU07CisJZGV2LT5tb2RlX2NvbmZpZy5kZWdh bW1hX2x1dF9wcm9wZXJ0eSA9IHByb3A7CisKKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9y YW5nZShkZXYsCisJCQlEUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSwKKwkJCSJERUdBTU1BX0xVVF9T SVpFIiwgMCwgVUlOVF9NQVgpOworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1FTk9NRU07CisJZGV2 LT5tb2RlX2NvbmZpZy5kZWdhbW1hX2x1dF9zaXplX3Byb3BlcnR5ID0gcHJvcDsKKworCXByb3Ag PSBkcm1fcHJvcGVydHlfY3JlYXRlKGRldiwKKwkJCURSTV9NT0RFX1BST1BfQkxPQiwKKwkJCSJD VE1fTUFUUklYIiwgMCk7CisJaWYgKCFwcm9wKQorCQlyZXR1cm4gLUVOT01FTTsKKwlkZXYtPm1v ZGVfY29uZmlnLmN0bV9tYXRyaXhfcHJvcGVydHkgPSBwcm9wOworCisJcHJvcCA9IGRybV9wcm9w ZXJ0eV9jcmVhdGUoZGV2LAorCQkJRFJNX01PREVfUFJPUF9CTE9CLAorCQkJIkdBTU1BX0xVVCIs IDApOworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1FTk9NRU07CisJZGV2LT5tb2RlX2NvbmZpZy5n YW1tYV9sdXRfcHJvcGVydHkgPSBwcm9wOworCisJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVf cmFuZ2UoZGV2LAorCQkJRFJNX01PREVfUFJPUF9JTU1VVEFCTEUsCisJCQkiR0FNTUFfTFVUX1NJ WkUiLCAwLCBVSU5UX01BWCk7CisJaWYgKCFwcm9wKQorCQlyZXR1cm4gLUVOT01FTTsKKwlkZXYt Pm1vZGVfY29uZmlnLmdhbW1hX2x1dF9zaXplX3Byb3BlcnR5ID0gcHJvcDsKKwogCXJldHVybiAw OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKaW5kZXggOWY4Yjg5NC4uM2NkOGNiYiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwpAQCAtMTA3MywzICsxMDczLDM2IEBAIGludCBk cm1faGVscGVyX2NydGNfbW9kZV9zZXRfYmFzZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGludCB4 LCBpbnQgeSwKIAlyZXR1cm4gZHJtX3BsYW5lX2hlbHBlcl9jb21taXQocGxhbmUsIHBsYW5lX3N0 YXRlLCBvbGRfZmIpOwogfQogRVhQT1JUX1NZTUJPTChkcm1faGVscGVyX2NydGNfbW9kZV9zZXRf YmFzZSk7CisKKy8qKgorICogZHJtX2hlbHBlcl9jcnRjX2VuYWJsZV9jb2xvcl9tZ210IC0gZW5h YmxlIGNvbG9yIG1hbmFnZW1lbnQgcHJvcGVydGllcworICogQGNydGM6IERSTSBDUlRDCisgKiBA ZGVnYW1tYV9sdXRfc2l6ZTogdGhlIHNpemUgb2YgdGhlIGRlZ2FtbWEgbHV0IChiZWZvcmUgQ1ND KQorICogQGdhbW1hX2x1dF9zaXplOiB0aGUgc2l6ZSBvZiB0aGUgZ2FtbWEgbHV0IChhZnRlciBD U0MpCisgKgorICogVGhpcyBmdW5jdGlvbiBsZXRzIHRoZSBkcml2ZXIgZW5hYmxlIHRoZSBjb2xv ciBjb3JyZWN0aW9uIHByb3BlcnRpZXMgb24gYQorICogQ1JUQy4gVGhpcyBpbmNsdWRlcyAzIGRl Z2FtbWEsIGNzYyBhbmQgZ2FtbWEgcHJvcGVydGllcyB0aGF0IHVzZXJzcGFjZSBjYW4KKyAqIHNl dCBhbmQgMiBzaXplIHByb3BlcnRpZXMgdG8gaW5mb3JtIHRoZSB1c2Vyc3BhY2Ugb2YgdGhlIGx1 dCBzaXplcy4KKyAqLwordm9pZCBkcm1faGVscGVyX2NydGNfZW5hYmxlX2NvbG9yX21nbXQoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAorCQkJCSAgICAgICBpbnQgZGVnYW1tYV9sdXRfc2l6ZSwKKwkJ CQkgICAgICAgaW50IGdhbW1hX2x1dF9zaXplKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBjcnRjLT5kZXY7CisJc3RydWN0IGRybV9tb2RlX2NvbmZpZyAqY29uZmlnID0gJmRldi0+bW9k ZV9jb25maWc7CisKKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY3J0Yy0+YmFzZSwKKwkJ CQkgICBjb25maWctPmRlZ2FtbWFfbHV0X3Byb3BlcnR5LCAwKTsKKwlkcm1fb2JqZWN0X2F0dGFj aF9wcm9wZXJ0eSgmY3J0Yy0+YmFzZSwKKwkJCQkgICBjb25maWctPmN0bV9tYXRyaXhfcHJvcGVy dHksIDApOworCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjcnRjLT5iYXNlLAorCQkJCSAg IGNvbmZpZy0+Z2FtbWFfbHV0X3Byb3BlcnR5LCAwKTsKKworCWRybV9vYmplY3RfYXR0YWNoX3By b3BlcnR5KCZjcnRjLT5iYXNlLAorCQkJCSAgIGNvbmZpZy0+ZGVnYW1tYV9sdXRfc2l6ZV9wcm9w ZXJ0eSwKKwkJCQkgICBkZWdhbW1hX2x1dF9zaXplKTsKKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9w ZXJ0eSgmY3J0Yy0+YmFzZSwKKwkJCQkgICBjb25maWctPmdhbW1hX2x1dF9zaXplX3Byb3BlcnR5 LAorCQkJCSAgIGdhbW1hX2x1dF9zaXplKTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2hlbHBlcl9j cnRjX2VuYWJsZV9jb2xvcl9tZ210KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jcnRj LmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCmluZGV4IGM2NWEyMTIuLjI1YTUzMDg4IDEwMDY0 NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRj LmgKQEAgLTMwNSwxMiArMzA1LDE5IEBAIHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzOwog ICogQG1vZGVfY2hhbmdlZDogY3J0Y19zdGF0ZS0+bW9kZSBvciBjcnRjX3N0YXRlLT5lbmFibGUg aGFzIGJlZW4gY2hhbmdlZAogICogQGFjdGl2ZV9jaGFuZ2VkOiBjcnRjX3N0YXRlLT5hY3RpdmUg aGFzIGJlZW4gdG9nZ2xlZC4KICAqIEBjb25uZWN0b3JzX2NoYW5nZWQ6IGNvbm5lY3RvcnMgdG8g dGhpcyBjcnRjIGhhdmUgYmVlbiB1cGRhdGVkCisgKiBAY29sb3JfbWdtdF9jaGFuZ2VkOiBjb2xv ciBtYW5hZ2VtZW50IHByb3BlcnRpZXMgaGF2ZSBjaGFuZ2VkIChkZWdhbW1hIG9yCisgKglnYW1t YSBMVVQgb3IgQ1NDIG1hdHJpeCkKICAqIEBwbGFuZV9tYXNrOiBiaXRtYXNrIG9mICgxIDw8IGRy bV9wbGFuZV9pbmRleChwbGFuZSkpIG9mIGF0dGFjaGVkIHBsYW5lcwogICogQGNvbm5lY3Rvcl9t YXNrOiBiaXRtYXNrIG9mICgxIDw8IGRybV9jb25uZWN0b3JfaW5kZXgoY29ubmVjdG9yKSkgb2Yg YXR0YWNoZWQgY29ubmVjdG9ycwogICogQGxhc3RfdmJsYW5rX2NvdW50OiBmb3IgaGVscGVycyBh bmQgZHJpdmVycyB0byBjYXB0dXJlIHRoZSB2Ymxhbmsgb2YgdGhlCiAgKiAJdXBkYXRlIHRvIGVu c3VyZSBmcmFtZWJ1ZmZlciBjbGVhbnVwIGlzbid0IGRvbmUgdG9vIGVhcmx5CiAgKiBAYWRqdXN0 ZWRfbW9kZTogZm9yIHVzZSBieSBoZWxwZXJzIGFuZCBkcml2ZXJzIHRvIGNvbXB1dGUgYWRqdXN0 ZWQgbW9kZSB0aW1pbmdzCiAgKiBAbW9kZTogY3VycmVudCBtb2RlIHRpbWluZ3MKKyAqIEBkZWdh bW1hX2x1dDogTG9va3VwIHRhYmxlIGZvciBjb252ZXJ0aW5nIGZyYW1lYnVmZmVyIHBpeGVsIGRh dGEKKyAqCWJlZm9yZSBhcHBseSB0aGUgY29udmVyc2lvbiBtYXRyaXgKKyAqIEBjdG1fbWF0cml4 OiBUcmFuc2Zvcm1hdGlvbiBtYXRyaXgKKyAqIEBnYW1tYV9sdXQ6IExvb2t1cCB0YWJsZSBmb3Ig Y29udmVydGluZyBwaXhlbCBkYXRhIGFmdGVyIHRoZQorICoJY29udmVyc2lvbiBtYXRyaXgKICAq IEBldmVudDogb3B0aW9uYWwgcG9pbnRlciB0byBhIERSTSBldmVudCB0byBzaWduYWwgdXBvbiBj b21wbGV0aW9uIG9mIHRoZQogICogCXN0YXRlIHVwZGF0ZQogICogQHN0YXRlOiBiYWNrcG9pbnRl ciB0byBnbG9iYWwgZHJtX2F0b21pY19zdGF0ZQpAQCAtMzMyLDYgKzMzOSw3IEBAIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSB7CiAJYm9vbCBtb2RlX2NoYW5nZWQgOiAxOwogCWJvb2wgYWN0aXZlX2No YW5nZWQgOiAxOwogCWJvb2wgY29ubmVjdG9yc19jaGFuZ2VkIDogMTsKKwlib29sIGNvbG9yX21n bXRfY2hhbmdlZCA6IDE7CiAKIAkvKiBhdHRhY2hlZCBwbGFuZXMgYml0bWFzazoKIAkgKiBXQVJO SU5HOiB0cmFuc2l0aW9uYWwgaGVscGVycyBkbyBub3QgbWFpbnRhaW4gcGxhbmVfbWFzayBzbwpA QCAtMzUzLDYgKzM2MSwxMSBAQCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgewogCS8qIGJsb2IgcHJv cGVydHkgdG8gZXhwb3NlIGN1cnJlbnQgbW9kZSB0byBhdG9taWMgdXNlcnNwYWNlICovCiAJc3Ry dWN0IGRybV9wcm9wZXJ0eV9ibG9iICptb2RlX2Jsb2I7CiAKKwkvKiBibG9iIHByb3BlcnR5IHRv IGV4cG9zZSBjb2xvciBtYW5hZ2VtZW50IHRvIHVzZXJzcGFjZSAqLworCXN0cnVjdCBkcm1fcHJv cGVydHlfYmxvYiAqZGVnYW1tYV9sdXQ7CisJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpjdG1f bWF0cml4OworCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFfbHV0OworCiAJc3RydWN0 IGRybV9wZW5kaW5nX3ZibGFua19ldmVudCAqZXZlbnQ7CiAKIAlzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGU7CkBAIC03NTUsNyArNzY4LDcgQEAgc3RydWN0IGRybV9jcnRjIHsKIAlpbnQg eCwgeTsKIAljb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgKmZ1bmNzOwogCi0JLyogQ1JUQyBn YW1tYSBzaXplIGZvciByZXBvcnRpbmcgdG8gdXNlcnNwYWNlICovCisJLyogTGVnYWN5IEZCIENS VEMgZ2FtbWEgc2l6ZSBmb3IgcmVwb3J0aW5nIHRvIHVzZXJzcGFjZSAqLwogCXVpbnQzMl90IGdh bW1hX3NpemU7CiAJdWludDE2X3QgKmdhbW1hX3N0b3JlOwogCkBAIC0yMDIzLDYgKzIwMzYsMTUg QEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyB7CiAgKiBAcHJvcGVydHlfYmxvYl9saXN0 OiBsaXN0IG9mIGFsbCB0aGUgYmxvYiBwcm9wZXJ0eSBvYmplY3RzCiAgKiBAYmxvYl9sb2NrOiBt dXRleCBmb3IgYmxvYiBwcm9wZXJ0eSBhbGxvY2F0aW9uIGFuZCBtYW5hZ2VtZW50CiAgKiBAKl9w cm9wZXJ0eTogY29yZSBwcm9wZXJ0eSB0cmFja2luZworICogQGRlZ2FtbWFfbHV0X3Byb3BlcnR5 OiBMVVQgdXNlZCB0byBjb252ZXJ0IHRoZSBmcmFtZWJ1ZmZlcidzIGNvbG9ycyB0byBsaW5lYXIK KyAqCWdhbW1hCisgKiBAZGVnYW1tYV9sdXRfc2l6ZV9wcm9wZXJ0eTogc2l6ZSBvZiB0aGUgZGVn YW1tYSBMVVQgYXMgc3VwcG9ydGVkIGJ5IHRoZQorICoJZHJpdmVyIChyZWFkLW9ubHkpCisgKiBA Y3RtX21hdHJpeF9wcm9wZXJ0eTogTWF0cml4IHVzZWQgdG8gY29udmVydCBjb2xvcnMgYWZ0ZXIg dGhlIGxvb2t1cCBpbiB0aGUKKyAqCWRlZ2FtbWEgTFVUCisgKiBAZ2FtbWFfbHV0X3Byb3BlcnR5 OiBMVVQgdXNlZCB0byBjb252ZXJ0IHRoZSBjb2xvcnMsIGFmdGVyIHRoZSBDU0MgbWF0cml4LCB0 bworICoJdGhlIGdhbW1hIHNwYWNlIG9mIHRoZSBjb25uZWN0ZWQgc2NyZWVuIChyZWFkLW9ubHkp CisgKiBAZ2FtbWFfbHV0X3NpemVfcHJvcGVydHk6IHNpemUgb2YgdGhlIGdhbW1hIExVVCBhcyBz dXBwb3J0ZWQgYnkgdGhlIGRyaXZlcgogICogQHByZWZlcnJlZF9kZXB0aDogcHJlZmVycmVkIFJC RyBwaXhlbCBkZXB0aCwgdXNlZCBieSBmYiBoZWxwZXJzCiAgKiBAcHJlZmVyX3NoYWRvdzogaGlu dCB0byB1c2Vyc3BhY2UgdG8gcHJlZmVyIHNoYWRvdy1mYiByZW5kZXJpbmcKICAqIEBhc3luY19w YWdlX2ZsaXA6IGRvZXMgdGhpcyBkZXZpY2Ugc3VwcG9ydCBhc3luYyBmbGlwcyBvbiB0aGUgcHJp bWFyeSBwbGFuZT8KQEAgLTIxMjQsNiArMjE0NiwxMyBAQCBzdHJ1Y3QgZHJtX21vZGVfY29uZmln IHsKIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICphc3BlY3RfcmF0aW9fcHJvcGVydHk7CiAJc3RydWN0 IGRybV9wcm9wZXJ0eSAqZGlydHlfaW5mb19wcm9wZXJ0eTsKIAorCS8qIE9wdGlvbmFsIGNvbG9y IGNvcnJlY3Rpb24gcHJvcGVydGllcyAqLworCXN0cnVjdCBkcm1fcHJvcGVydHkgKmRlZ2FtbWFf bHV0X3Byb3BlcnR5OworCXN0cnVjdCBkcm1fcHJvcGVydHkgKmRlZ2FtbWFfbHV0X3NpemVfcHJv cGVydHk7CisJc3RydWN0IGRybV9wcm9wZXJ0eSAqY3RtX21hdHJpeF9wcm9wZXJ0eTsKKwlzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpnYW1tYV9sdXRfcHJvcGVydHk7CisJc3RydWN0IGRybV9wcm9wZXJ0 eSAqZ2FtbWFfbHV0X3NpemVfcHJvcGVydHk7CisKIAkvKiBwcm9wZXJ0aWVzIGZvciB2aXJ0dWFs IG1hY2hpbmUgbGF5b3V0ICovCiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqc3VnZ2VzdGVkX3hfcHJv cGVydHk7CiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqc3VnZ2VzdGVkX3lfcHJvcGVydHk7CkBAIC0y NTMwLDYgKzI1NTksMTkgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpkcm1f cHJvcGVydHlfZmluZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXJldHVybiBtbyA/IG9ial90 b19wcm9wZXJ0eShtbykgOiBOVUxMOwogfQogCisvKgorICogRXh0cmFjdCBhIGRlZ2FtbWEvZ2Ft bWEgTFVUIHZhbHVlIHByb3ZpZGVkIGJ5IHVzZXIgYW5kIHJvdW5kIGl0IHRvIHRoZQorICogcHJl Y2lzaW9uIHN1cHBvcnRlZCBieSB0aGUgaGFyZHdhcmUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWlu dDMyX3QgZHJtX2NvbG9yX2x1dF9leHRyYWN0KHVpbnQzMl90IHVzZXJfaW5wdXQsCisJCQkJCSAg ICAgdWludDMyX3QgYml0X3ByZWNpc2lvbikKK3sKKwl1aW50MzJfdCB2YWwgPSAoKHVzZXJfaW5w dXQgPDwgMSkgKyAxKSA+PiAoMTYgLSBiaXRfcHJlY2lzaW9uICsgMSk7CisJdWludDMyX3QgbWF4 ID0gMHhmZmZmID4+ICgxNiAtIGJpdF9wcmVjaXNpb24pOworCisJcmV0dXJuIGNsYW1wX3ZhbCh2 YWwsIDAsIG1heCk7Cit9CisKIC8qIFBsYW5lIGxpc3QgaXRlcmF0b3IgZm9yIGxlZ2FjeSAob3Zl cmxheSBvbmx5KSBwbGFuZXMuICovCiAjZGVmaW5lIGRybV9mb3JfZWFjaF9sZWdhY3lfcGxhbmUo cGxhbmUsIGRldikgXAogCWxpc3RfZm9yX2VhY2hfZW50cnkocGxhbmUsICYoZGV2KS0+bW9kZV9j b25maWcucGxhbmVfbGlzdCwgaGVhZCkgXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Ny dGNfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Y19oZWxwZXIuaAppbmRleCA0YjM3YWZh Li45N2ZhODk0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Y19oZWxwZXIuaAorKysg Yi9pbmNsdWRlL2RybS9kcm1fY3J0Y19oZWxwZXIuaApAQCAtNDgsNiArNDgsOSBAQCBleHRlcm4g Ym9vbCBkcm1fY3J0Y19oZWxwZXJfc2V0X21vZGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJ CSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCiAJCQkJICAgICBpbnQgeCwgaW50 IHksCiAJCQkJICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmIpOworZXh0ZXJuIHZv aWQgZHJtX2hlbHBlcl9jcnRjX2VuYWJsZV9jb2xvcl9tZ210KHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKKwkJCQkJICAgICAgaW50IGRlZ2FtbWFfbHV0X3NpemUsCisJCQkJCSAgICAgIGludCBnYW1t YV9sdXRfc2l6ZSk7CiBleHRlcm4gYm9vbCBkcm1faGVscGVyX2NydGNfaW5fdXNlKHN0cnVjdCBk cm1fY3J0YyAqY3J0Yyk7CiBleHRlcm4gYm9vbCBkcm1faGVscGVyX2VuY29kZXJfaW5fdXNlKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9k cm0vZHJtX21vZGUuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAppbmRleCA1MGFkYjQ2 Li5jMDIxNzQzIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKKysrIGIv aW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCkBAIC00ODcsNiArNDg3LDIxIEBAIHN0cnVjdCBk cm1fbW9kZV9jcnRjX2x1dCB7CiAJX191NjQgYmx1ZTsKIH07CiAKK3N0cnVjdCBkcm1fY29sb3Jf Y3RtIHsKKwkvKiBDb252ZXJzaW9uIG1hdHJpeCBpbiBTMzEuMzIgZm9ybWF0LiAqLworCV9fczY0 IG1hdHJpeFs5XTsKK307CisKK3N0cnVjdCBkcm1fY29sb3JfbHV0IHsKKwkvKgorCSAqIERhdGEg aXMgVTAuMTYgZml4ZWQgcG9pbnQgZm9ybWF0LgorCSAqLworCV9fdTE2IHJlZDsKKwlfX3UxNiBn cmVlbjsKKwlfX3UxNiBibHVlOworCV9fdTE2IHJlc2VydmVkOworfTsKKwogI2RlZmluZSBEUk1f TU9ERV9QQUdFX0ZMSVBfRVZFTlQgMHgwMQogI2RlZmluZSBEUk1fTU9ERV9QQUdFX0ZMSVBfQVNZ TkMgMHgwMgogI2RlZmluZSBEUk1fTU9ERV9QQUdFX0ZMSVBfRkxBR1MgKERSTV9NT0RFX1BBR0Vf RkxJUF9FVkVOVHxEUk1fTU9ERV9QQUdFX0ZMSVBfQVNZTkMpCi0tIAoyLjcuMAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK