From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH] drm/i915: Add plane alpha blending support based on RFC Date: Mon, 4 Jun 2018 15:50:13 +0200 Message-ID: <20180604135013.14234-1-maarten.lankhorst@linux.intel.com> References: <1527856871-3007-2-git-send-email-lowry.li@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1527856871-3007-2-git-send-email-lowry.li@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: igt-dev@lists.freedesktop.org Cc: Lowry Li , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCAg MiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA2NyArKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAg fCAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyAgICAgfCAgNCArKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgMjQgKysrKysrKysrLQogNSBmaWxl cyBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaAppbmRleCAzMjc4MjljYzYxZjguLjIzZjBjYjBmYWQwZSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oCkBAIC02NDI1LDggKzY0MjUsMTAgQEAgZW51bSB7CiAjZGVmaW5lIF9QTEFO RV9LRVlWQUxfMl9BCQkJMHg3MDI5NAogI2RlZmluZSBfUExBTkVfS0VZTVNLXzFfQQkJCTB4NzAx OTgKICNkZWZpbmUgX1BMQU5FX0tFWU1TS18yX0EJCQkweDcwMjk4CisjZGVmaW5lICBQTEFORV9L RVlNU0tfQUxQSEFfRU5BQkxFCQkoMSA8PCAzMSkKICNkZWZpbmUgX1BMQU5FX0tFWU1BWF8xX0EJ CQkweDcwMWEwCiAjZGVmaW5lIF9QTEFORV9LRVlNQVhfMl9BCQkJMHg3MDJhMAorI2RlZmluZSAg UExBTkVfS0VZTUFYX0FMUEhBX1NISUZUCQkyNAogI2RlZmluZSBfUExBTkVfQVVYX0RJU1RfMV9B CQkJMHg3MDFjMAogI2RlZmluZSBfUExBTkVfQVVYX0RJU1RfMl9BCQkJMHg3MDJjMAogI2RlZmlu ZSBfUExBTkVfQVVYX09GRlNFVF8xX0EJCQkweDcwMWM0CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKaW5kZXggZDQ4MjU2Zjg5YTUwLi44ZGRmZjA5YzMxMTAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTMxNzAsNiArMzE3MCwyMSBAQCBpbnQgc2tsX2NoZWNr X3BsYW5lX3N1cmZhY2UoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAorCS8qIEhXIG9ubHkgaGFzIDggYml0cyBwaXhlbCBw cmVjaXNpb24sIGRpc2FibGUgcGxhbmUgaWYgaW52aXNpYmxlICovCisJaWYgKCEocGxhbmVfc3Rh dGUtPmJhc2UuYWxwaGEgPj4gOCkpIHsKKwkJcGxhbmVfc3RhdGUtPmJhc2UudmlzaWJsZSA9IGZh bHNlOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAocGxhbmVfc3RhdGUtPmJhc2UuYWxwaGEgPCAw eGZmMDApIHsKKwkJcGxhbmVfc3RhdGUtPmZsYWdzIHw9IFBMQU5FX0FMUEhBX0VOQUJMRUQ7CisK KwkJLyogRkJDIGNhbm5vdCBiZSBlbmFibGVkIHdpdGggcGVyIHBpeGVsIGFscGhhICovCisJCWlm IChwbGFuZV9zdGF0ZS0+YmFzZS5waXhlbF9ibGVuZF9tb2RlICE9IERSTV9NT0RFX0JMRU5EX1BJ WEVMX05PTkUgJiYKKwkJICAgIGZiLT5mb3JtYXQtPmhhc19hbHBoYSkKKwkJCXBsYW5lX3N0YXRl LT5mbGFncyB8PSBQTEFORV9BTFBIQV9OT19GQkM7CisJfQorCiAJaWYgKCFwbGFuZV9zdGF0ZS0+ YmFzZS52aXNpYmxlKQogCQlyZXR1cm4gMDsKIApAQCAtMzQ5NiwzMCArMzUxMSwzOSBAQCBzdGF0 aWMgdTMyIHNrbF9wbGFuZV9jdGxfZm9ybWF0KHVpbnQzMl90IHBpeGVsX2Zvcm1hdCkKIAlyZXR1 cm4gMDsKIH0KIAotLyoKLSAqIFhYWDogRm9yIEFSQkcvQUJHUiBmb3JtYXRzIHdlIGRlZmF1bHQg dG8gZXhwZWN0aW5nIHNjYW5vdXQgYnVmZmVycwotICogdG8gYmUgYWxyZWFkeSBwcmUtbXVsdGlw bGllZC4gV2UgbmVlZCB0byBhZGQgYSBrbm9iIChvciBhIGRpZmZlcmVudAotICogRFJNX0ZPUk1B VCkgZm9yIHVzZXItc3BhY2UgdG8gY29uZmlndXJlIHRoYXQuCi0gKi8KLXN0YXRpYyB1MzIgc2ts X3BsYW5lX2N0bF9hbHBoYSh1aW50MzJfdCBwaXhlbF9mb3JtYXQpCitzdGF0aWMgdTMyIHNrbF9w bGFuZV9jdGxfYWxwaGEoY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0 ZSkKIHsKLQlzd2l0Y2ggKHBpeGVsX2Zvcm1hdCkgewotCWNhc2UgRFJNX0ZPUk1BVF9BQkdSODg4 ODoKLQljYXNlIERSTV9GT1JNQVRfQVJHQjg4ODg6CisJaWYgKCFwbGFuZV9zdGF0ZS0+YmFzZS5m Yi0+Zm9ybWF0LT5oYXNfYWxwaGEpCisJCXJldHVybiBQTEFORV9DVExfQUxQSEFfRElTQUJMRTsK KworCXN3aXRjaCAocGxhbmVfc3RhdGUtPmJhc2UucGl4ZWxfYmxlbmRfbW9kZSkgeworCWNhc2Ug RFJNX01PREVfQkxFTkRfUElYRUxfTk9ORToKKwkJcmV0dXJuIFBMQU5FX0NUTF9BTFBIQV9ESVNB QkxFOworCWNhc2UgRFJNX01PREVfQkxFTkRfUFJFTVVMVEk6CiAJCXJldHVybiBQTEFORV9DVExf QUxQSEFfU1dfUFJFTVVMVElQTFk7CisJY2FzZSBEUk1fTU9ERV9CTEVORF9DT1ZFUkFHRToKKwkJ cmV0dXJuIFBMQU5FX0NUTF9BTFBIQV9IV19QUkVNVUxUSVBMWTsKIAlkZWZhdWx0OgotCQlyZXR1 cm4gUExBTkVfQ1RMX0FMUEhBX0RJU0FCTEU7CisJCU1JU1NJTkdfQ0FTRShwbGFuZV9zdGF0ZS0+ YmFzZS5waXhlbF9ibGVuZF9tb2RlKTsKKwkJcmV0dXJuIDA7CiAJfQogfQogCi1zdGF0aWMgdTMy IGdsa19wbGFuZV9jb2xvcl9jdGxfYWxwaGEodWludDMyX3QgcGl4ZWxfZm9ybWF0KQorc3RhdGlj IHUzMiBnbGtfcGxhbmVfY29sb3JfY3RsX2FscGhhKGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9z dGF0ZSAqcGxhbmVfc3RhdGUpCiB7Ci0Jc3dpdGNoIChwaXhlbF9mb3JtYXQpIHsKLQljYXNlIERS TV9GT1JNQVRfQUJHUjg4ODg6Ci0JY2FzZSBEUk1fRk9STUFUX0FSR0I4ODg4OgorCWlmICghcGxh bmVfc3RhdGUtPmJhc2UuZmItPmZvcm1hdC0+aGFzX2FscGhhKQorCQlyZXR1cm4gUExBTkVfQ09M T1JfQUxQSEFfRElTQUJMRTsKKworCXN3aXRjaCAocGxhbmVfc3RhdGUtPmJhc2UucGl4ZWxfYmxl bmRfbW9kZSkgeworCWNhc2UgRFJNX01PREVfQkxFTkRfUElYRUxfTk9ORToKKwkJcmV0dXJuIFBM QU5FX0NPTE9SX0FMUEhBX0RJU0FCTEU7CisJY2FzZSBEUk1fTU9ERV9CTEVORF9QUkVNVUxUSToK IAkJcmV0dXJuIFBMQU5FX0NPTE9SX0FMUEhBX1NXX1BSRU1VTFRJUExZOworCWNhc2UgRFJNX01P REVfQkxFTkRfQ09WRVJBR0U6CisJCXJldHVybiBQTEFORV9DT0xPUl9BTFBIQV9IV19QUkVNVUxU SVBMWTsKIAlkZWZhdWx0OgotCQlyZXR1cm4gUExBTkVfQ09MT1JfQUxQSEFfRElTQUJMRTsKKwkJ TUlTU0lOR19DQVNFKHBsYW5lX3N0YXRlLT5iYXNlLnBpeGVsX2JsZW5kX21vZGUpOworCQlyZXR1 cm4gMDsKIAl9CiB9CiAKQEAgLTM1OTUsNyArMzYxOSw3IEBAIHUzMiBza2xfcGxhbmVfY3RsKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCXBsYW5lX2N0bCA9IFBM QU5FX0NUTF9FTkFCTEU7CiAKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDEwICYmICFJU19H RU1JTklMQUtFKGRldl9wcml2KSkgewotCQlwbGFuZV9jdGwgfD0gc2tsX3BsYW5lX2N0bF9hbHBo YShmYi0+Zm9ybWF0LT5mb3JtYXQpOworCQlwbGFuZV9jdGwgfD0gc2tsX3BsYW5lX2N0bF9hbHBo YShwbGFuZV9zdGF0ZSk7CiAJCXBsYW5lX2N0bCB8PQogCQkJUExBTkVfQ1RMX1BJUEVfR0FNTUFf RU5BQkxFIHwKIAkJCVBMQU5FX0NUTF9QSVBFX0NTQ19FTkFCTEUgfApAQCAtMzYzNyw3ICszNjYx LDcgQEAgdTMyIGdsa19wbGFuZV9jb2xvcl9jdGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJCXBsYW5lX2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9QSVBFX0NT Q19FTkFCTEU7CiAJfQogCXBsYW5lX2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9QTEFORV9HQU1N QV9ESVNBQkxFOwotCXBsYW5lX2NvbG9yX2N0bCB8PSBnbGtfcGxhbmVfY29sb3JfY3RsX2FscGhh KGZiLT5mb3JtYXQtPmZvcm1hdCk7CisJcGxhbmVfY29sb3JfY3RsIHw9IGdsa19wbGFuZV9jb2xv cl9jdGxfYWxwaGEocGxhbmVfc3RhdGUpOwogCiAJaWYgKGludGVsX2Zvcm1hdF9pc195dXYoZmIt PmZvcm1hdC0+Zm9ybWF0KSkgewogCQlpZiAoZmItPmZvcm1hdC0+Zm9ybWF0ID09IERSTV9GT1JN QVRfTlYxMikgewpAQCAtMTM2MjMsNyArMTM2NDcsNyBAQCBpbnRlbF9wcmltYXJ5X3BsYW5lX2Ny ZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQog CQkJCQkJICAgRFJNX01PREVfUk9UQVRFXzAsCiAJCQkJCQkgICBzdXBwb3J0ZWRfcm90YXRpb25z KTsKIAotCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCisJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gOSkgewogCQlkcm1fcGxhbmVfY3JlYXRlX2NvbG9yX3Byb3BlcnRpZXMoJnByaW1h cnktPmJhc2UsCiAJCQkJCQkgIEJJVChEUk1fQ09MT1JfWUNCQ1JfQlQ2MDEpIHwKIAkJCQkJCSAg QklUKERSTV9DT0xPUl9ZQ0JDUl9CVDcwOSksCkBAIC0xMzYzMiw2ICsxMzY1NiwxMyBAQCBpbnRl bF9wcmltYXJ5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs IGVudW0gcGlwZSBwaXBlKQogCQkJCQkJICBEUk1fQ09MT1JfWUNCQ1JfQlQ3MDksCiAJCQkJCQkg IERSTV9DT0xPUl9ZQ0JDUl9MSU1JVEVEX1JBTkdFKTsKIAorCQlkcm1fcGxhbmVfY3JlYXRlX2Fs cGhhX3Byb3BlcnR5KCZwcmltYXJ5LT5iYXNlKTsKKwkJZHJtX3BsYW5lX2NyZWF0ZV9ibGVuZF9t b2RlX3Byb3BlcnR5KCZwcmltYXJ5LT5iYXNlLAorCQkJCQkJICAgICBCSVQoRFJNX01PREVfQkxF TkRfUElYRUxfTk9ORSkgfAorCQkJCQkJICAgICBCSVQoRFJNX01PREVfQkxFTkRfUFJFTVVMVEkp IHwKKwkJCQkJCSAgICAgQklUKERSTV9NT0RFX0JMRU5EX0NPVkVSQUdFKSk7CisJfQorCiAJZHJt X3BsYW5lX2hlbHBlcl9hZGQoJnByaW1hcnktPmJhc2UsICZpbnRlbF9wbGFuZV9oZWxwZXJfZnVu Y3MpOwogCiAJcmV0dXJuIHByaW1hcnk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDJk YzAxYmUwYzdjYy4uNjc1ZGJlOTI3YTA2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAt NTAwLDYgKzUwMCw4IEBAIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSB7CiAJc3RydWN0IGk5MTVf dm1hICp2bWE7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKICNkZWZpbmUgUExBTkVfSEFTX0ZFTkNF IEJJVCgwKQorI2RlZmluZSBQTEFORV9BTFBIQV9FTkFCTEVEIEJJVCgxKQorI2RlZmluZSBQTEFO RV9BTFBIQV9OT19GQkMgQklUKDIpCiAKIAlzdHJ1Y3QgewogCQl1MzIgb2Zmc2V0OwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9mYmMuYwppbmRleCAxZjJmNDFlNjdkY2QuLjIwYTJkYmE3OGNhZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZmJjLmMKQEAgLTczMiw2ICs3MzIsMTAgQEAgc3RhdGljIGJvb2wgaW50 ZWxfZmJjX2Nhbl9hY3RpdmF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAkJZmJjLT5ub19m YmNfcmVhc29uID0gImZyYW1lYnVmZmVyIG5vdCB0aWxlZCBvciBmZW5jZWQiOwogCQlyZXR1cm4g ZmFsc2U7CiAJfQorCWlmIChjYWNoZS0+ZmxhZ3MgJiBQTEFORV9BTFBIQV9OT19GQkMpIHsKKwkJ ZmJjLT5ub19mYmNfcmVhc29uID0gInBlciBwaXhlbCBhbHBoYSBibGVuZGluZyBlbmFibGVkIjsK KwkJcmV0dXJuIGZhbHNlOworCX0KIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8PSA0ICYmICFJ U19HNFgoZGV2X3ByaXYpICYmCiAJICAgIGNhY2hlLT5wbGFuZS5yb3RhdGlvbiAhPSBEUk1fTU9E RV9ST1RBVEVfMCkgewogCQlmYmMtPm5vX2ZiY19yZWFzb24gPSAicm90YXRpb24gdW5zdXBwb3J0 ZWQiOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwppbmRleCAwYjFiZDVkZTUxOTIuLjRm Y2M3Y2UwOWE5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAgLTI1NCw2ICsy NTQsNyBAQCBza2xfdXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJdWlu dDMyX3QgeSA9IHBsYW5lX3N0YXRlLT5tYWluLnk7CiAJdWludDMyX3Qgc3JjX3cgPSBkcm1fcmVj dF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsKIAl1aW50MzJfdCBzcmNfaCA9 IGRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsKKwl1MzIga2V5 bXNrID0gMCwga2V5bWF4ID0gMDsKIAogCS8qIFNpemVzIGFyZSAwIGJhc2VkICovCiAJc3JjX3ct LTsKQEAgLTI2NywxMCArMjY4LDIwIEBAIHNrbF91cGRhdGVfcGxhbmUoc3RydWN0IGludGVsX3Bs YW5lICpwbGFuZSwKIAogCWlmIChrZXktPmZsYWdzKSB7CiAJCUk5MTVfV1JJVEVfRlcoUExBTkVf S0VZVkFMKHBpcGUsIHBsYW5lX2lkKSwga2V5LT5taW5fdmFsdWUpOwotCQlJOTE1X1dSSVRFX0ZX KFBMQU5FX0tFWU1BWChwaXBlLCBwbGFuZV9pZCksIGtleS0+bWF4X3ZhbHVlKTsKLQkJSTkxNV9X UklURV9GVyhQTEFORV9LRVlNU0socGlwZSwgcGxhbmVfaWQpLCBrZXktPmNoYW5uZWxfbWFzayk7 CisKKwkJa2V5bWF4ID0ga2V5LT5tYXhfdmFsdWUgJiAweGZmZmZmZjsKKwkJa2V5bXNrIHw9IGtl eS0+Y2hhbm5lbF9tYXNrICYgMHgzZmZmZmZmOwogCX0KIAorCWtleW1heCB8PSAocGxhbmVfc3Rh dGUtPmJhc2UuYWxwaGEgPj4gOCkgPDwgUExBTkVfS0VZTUFYX0FMUEhBX1NISUZUOworCisJaWYg KHBsYW5lX3N0YXRlLT5mbGFncyAmIFBMQU5FX0FMUEhBX0VOQUJMRUQgfHwKKwkgICAgcGxhbmVf c3RhdGUtPmJhc2UuZmItPmZvcm1hdC0+aGFzX2FscGhhKQorCQlrZXltc2sgfD0gUExBTkVfS0VZ TVNLX0FMUEhBX0VOQUJMRTsKKworCUk5MTVfV1JJVEVfRlcoUExBTkVfS0VZTUFYKHBpcGUsIHBs YW5lX2lkKSwga2V5bWF4KTsKKwlJOTE1X1dSSVRFX0ZXKFBMQU5FX0tFWU1TSyhwaXBlLCBwbGFu ZV9pZCksIGtleW1zayk7CisKIAlJOTE1X1dSSVRFX0ZXKFBMQU5FX09GRlNFVChwaXBlLCBwbGFu ZV9pZCksICh5IDw8IDE2KSB8IHgpOwogCUk5MTVfV1JJVEVfRlcoUExBTkVfU1RSSURFKHBpcGUs IHBsYW5lX2lkKSwgc3RyaWRlKTsKIAlJOTE1X1dSSVRFX0ZXKFBMQU5FX1NJWkUocGlwZSwgcGxh bmVfaWQpLCAoc3JjX2ggPDwgMTYpIHwgc3JjX3cpOwpAQCAtMTUyNSw2ICsxNTM2LDE1IEBAIGlu dGVsX3Nwcml0ZV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCQkJCQkgIERSTV9DT0xPUl9ZQ0JDUl9CVDcwOSwKIAkJCQkJICBEUk1fQ09MT1JfWUNCQ1Jf TElNSVRFRF9SQU5HRSk7CiAKKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CisJCWRy bV9wbGFuZV9jcmVhdGVfYWxwaGFfcHJvcGVydHkoJmludGVsX3BsYW5lLT5iYXNlKTsKKworCQlk cm1fcGxhbmVfY3JlYXRlX2JsZW5kX21vZGVfcHJvcGVydHkoJmludGVsX3BsYW5lLT5iYXNlLAor CQkJCQkJICAgICBCSVQoRFJNX01PREVfQkxFTkRfUElYRUxfTk9ORSkgfAorCQkJCQkJICAgICBC SVQoRFJNX01PREVfQkxFTkRfUFJFTVVMVEkpIHwKKwkJCQkJCSAgICAgQklUKERSTV9NT0RFX0JM RU5EX0NPVkVSQUdFKSk7CisJfQorCiAJZHJtX3BsYW5lX2hlbHBlcl9hZGQoJmludGVsX3BsYW5l LT5iYXNlLCAmaW50ZWxfcGxhbmVfaGVscGVyX2Z1bmNzKTsKIAogCXJldHVybiBpbnRlbF9wbGFu ZTsKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==