From mboxrd@z Thu Jan 1 00:00:00 1970 From: swati2.sharma@intel.com Subject: [PATCH 3/7] drm/i915: preparations for enabling P010, P012, P016 formats Date: Fri, 8 Feb 2019 19:17:21 +0530 Message-ID: <1549633645-29616-4-git-send-email-swati2.sharma@intel.com> References: <1549633645-29616-1-git-send-email-swati2.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1549633645-29616-1-git-send-email-swati2.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSnVoYS1QZWtrYSBIZWlra2lsYSA8anVoYXBla2thLmhlaWtraWxhQGdtYWlsLmNvbT4K ClByZXBhcmF0aW9ucyBmb3IgZW5hYmxpbmcgUDAxMCwgUDAxMiBhbmQgUDAxNiBmb3JtYXRzLiBU aGVzZQpmb3JtYXRzIHdpbGwgZXh0ZW5kIE5WMTIgZm9yIGxhcmdlciBiaXQgZGVwdGhzLgoKU2ln bmVkLW9mZi1ieTogSnVoYS1QZWtrYSBIZWlra2lsYSA8anVoYXBla2thLmhlaWtraWxhQGdtYWls LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYyB8ICAy ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgICB8IDI3ICsrKysr KysrKysrKysrKysrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg ICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAg ICB8IDE0ICsrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu YyAgICAgICB8IDIyICsrKysrKysrKysrKysrKysrKystLS0KIDUgZmlsZXMgY2hhbmdlZCwgNDkg aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdG9taWNfcGxhbmUuYwppbmRleCBkYjA5NjU5Li5kZDZjMDk2IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYwpAQCAtMTM1LDcgKzEzNSw3IEBAIGludCBpbnRl bF9wbGFuZV9hdG9taWNfY2hlY2tfd2l0aF9zdGF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqb2xkX2NydGNfCiAJCW5ld19jcnRjX3N0YXRlLT5hY3RpdmVfcGxhbmVzIHw9IEJJVChw bGFuZS0+aWQpOwogCiAJaWYgKG5ld19wbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlICYmCi0JICAg IG5ld19wbGFuZV9zdGF0ZS0+YmFzZS5mYi0+Zm9ybWF0LT5mb3JtYXQgPT0gRFJNX0ZPUk1BVF9O VjEyKQorCSAgICBpc19wbGFuYXJfeXV2X2Zvcm1hdChuZXdfcGxhbmVfc3RhdGUtPmJhc2UuZmIt PmZvcm1hdC0+Zm9ybWF0KSkKIAkJbmV3X2NydGNfc3RhdGUtPm52MTJfcGxhbmVzIHw9IEJJVChw bGFuZS0+aWQpOwogCiAJaWYgKG5ld19wbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlIHx8IG9sZF9w bGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CmluZGV4IGNjYjYxNjMuLjAzNDVkMDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKQEAgLTI2NzcsNiArMjY3NywxMiBAQCBpbnQgc2tsX2Zvcm1hdF90b19mb3VyY2MoaW50IGZv cm1hdCwgYm9vbCByZ2Jfb3JkZXIsIGJvb2wgYWxwaGEpCiAJCXJldHVybiBEUk1fRk9STUFUX1JH QjU2NTsKIAljYXNlIFBMQU5FX0NUTF9GT1JNQVRfTlYxMjoKIAkJcmV0dXJuIERSTV9GT1JNQVRf TlYxMjsKKwljYXNlIFBMQU5FX0NUTF9GT1JNQVRfUDAxMDoKKwkJcmV0dXJuIERSTV9GT1JNQVRf UDAxMDsKKwljYXNlIFBMQU5FX0NUTF9GT1JNQVRfUDAxMjoKKwkJcmV0dXJuIERSTV9GT1JNQVRf UDAxMjsKKwljYXNlIFBMQU5FX0NUTF9GT1JNQVRfUDAxNjoKKwkJcmV0dXJuIERSTV9GT1JNQVRf UDAxNjsKIAlkZWZhdWx0OgogCWNhc2UgUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzg4ODg6CiAJCWlm IChyZ2Jfb3JkZXIpIHsKQEAgLTMxNzYsNyArMzE4Miw3IEBAIGludCBza2xfY2hlY2tfcGxhbmVf c3VyZmFjZShzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogCSAqIEhhbmRs ZSB0aGUgQVVYIHN1cmZhY2UgZmlyc3Qgc2luY2UKIAkgKiB0aGUgbWFpbiBzdXJmYWNlIHNldHVw IGRlcGVuZHMgb24gaXQuCiAJICovCi0JaWYgKGZiLT5mb3JtYXQtPmZvcm1hdCA9PSBEUk1fRk9S TUFUX05WMTIpIHsKKwlpZiAoaXNfcGxhbmFyX3l1dl9mb3JtYXQoZmItPmZvcm1hdC0+Zm9ybWF0 KSkgewogCQlyZXQgPSBza2xfY2hlY2tfbnYxMl9hdXhfc3VyZmFjZShwbGFuZV9zdGF0ZSk7CiAJ CWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwpAQCAtMzYwMCw2ICszNjA2LDEyIEBAIHN0YXRpYyB1 MzIgc2tsX3BsYW5lX2N0bF9mb3JtYXQodTMyIHBpeGVsX2Zvcm1hdCkKIAkJcmV0dXJuIFBMQU5F X0NUTF9GT1JNQVRfWVVWNDIyIHwgUExBTkVfQ1RMX1lVVjQyMl9WWVVZOwogCWNhc2UgRFJNX0ZP Uk1BVF9OVjEyOgogCQlyZXR1cm4gUExBTkVfQ1RMX0ZPUk1BVF9OVjEyOworCWNhc2UgRFJNX0ZP Uk1BVF9QMDEwOgorCQlyZXR1cm4gUExBTkVfQ1RMX0ZPUk1BVF9QMDEwOworCWNhc2UgRFJNX0ZP Uk1BVF9QMDEyOgorCQlyZXR1cm4gUExBTkVfQ1RMX0ZPUk1BVF9QMDEyOworCWNhc2UgRFJNX0ZP Uk1BVF9QMDE2OgorCQlyZXR1cm4gUExBTkVfQ1RMX0ZPUk1BVF9QMDE2OwogCWRlZmF1bHQ6CiAJ CU1JU1NJTkdfQ0FTRShwaXhlbF9mb3JtYXQpOwogCX0KQEAgLTUwMzYsOSArNTA0OCw5IEBAIHUx NiBza2xfc2NhbGVyX2NhbGNfcGhhc2UoaW50IHN1YiwgaW50IHNjYWxlLCBib29sIGNocm9tYV9j b3NpdGVkKQogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoZm9ybWF0ICYmIGZvcm1hdC0+Zm9ybWF0 ID09IERSTV9GT1JNQVRfTlYxMiAmJgorCWlmIChmb3JtYXQgJiYgaXNfcGxhbmFyX3l1dl9mb3Jt YXQoZm9ybWF0LT5mb3JtYXQpICYmCiAJICAgIChzcmNfaCA8IFNLTF9NSU5fWVVWXzQyMF9TUkNf SCB8fCBzcmNfdyA8IFNLTF9NSU5fWVVWXzQyMF9TUkNfVykpIHsKLQkJRFJNX0RFQlVHX0tNUygi TlYxMjogc3JjIGRpbWVuc2lvbnMgbm90IG1ldFxuIik7CisJCURSTV9ERUJVR19LTVMoIlBsYW5h ciBZVVY6IHNyYyBkaW1lbnNpb25zIG5vdCBtZXRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9 CiAKQEAgLTUxMTIsNyArNTEyNCw3IEBAIHN0YXRpYyBpbnQgc2tsX3VwZGF0ZV9zY2FsZXJfcGxh bmUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAKIAkvKiBQcmUtZ2VuMTEg YW5kIFNEUiBwbGFuZXMgYWx3YXlzIG5lZWQgYSBzY2FsZXIgZm9yIHBsYW5hciBmb3JtYXRzLiAq LwogCWlmICghaWNsX2lzX2hkcl9wbGFuZShpbnRlbF9wbGFuZSkgJiYKLQkgICAgZmIgJiYgZmIt PmZvcm1hdC0+Zm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMikKKwkgICAgZmIgJiYgaXNfcGxhbmFy X3l1dl9mb3JtYXQoZmItPmZvcm1hdC0+Zm9ybWF0KSkKIAkJbmVlZF9zY2FsZXIgPSB0cnVlOwog CiAJcmV0ID0gc2tsX3VwZGF0ZV9zY2FsZXIoY3J0Y19zdGF0ZSwgZm9yY2VfZGV0YWNoLApAQCAt NTE0OSw2ICs1MTYxLDkgQEAgc3RhdGljIGludCBza2xfdXBkYXRlX3NjYWxlcl9wbGFuZShzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAljYXNlIERSTV9GT1JNQVRfVVlWWToK IAljYXNlIERSTV9GT1JNQVRfVllVWToKIAljYXNlIERSTV9GT1JNQVRfTlYxMjoKKwljYXNlIERS TV9GT1JNQVRfUDAxMDoKKwljYXNlIERSTV9GT1JNQVRfUDAxMjoKKwljYXNlIERSTV9GT1JNQVRf UDAxNjoKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJRFJNX0RFQlVHX0tNUygiW1BMQU5FOiVkOiVz XSBGQjolZCB1bnN1cHBvcnRlZCBzY2FsaW5nIGZvcm1hdCAweCV4XG4iLApAQCAtMTExMzQsNyAr MTExNDksNyBAQCBzdGF0aWMgaW50IGljbF9jaGVja19udjEyX3BsYW5lcyhzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkJfQogCiAJCWlmICghbGlua2VkX3N0YXRlKSB7Ci0J CQlEUk1fREVCVUdfS01TKCJOZWVkICVkIGZyZWUgWSBwbGFuZXMgZm9yIE5WMTJcbiIsCisJCQlE Uk1fREVCVUdfS01TKCJOZWVkICVkIGZyZWUgWSBwbGFuZXMgZm9yIHBsYW5hciBZVVZcbiIsCiAJ CQkJICAgICAgaHdlaWdodDgoY3J0Y19zdGF0ZS0+bnYxMl9wbGFuZXMpKTsKIAogCQkJcmV0dXJu IC1FSU5WQUw7CkBAIC0xMzc2Nyw3ICsxMzc4Miw3IEBAIHN0YXRpYyB2b2lkIGZiX29ial9idW1w X3JlbmRlcl9wcmlvcml0eShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCSAqICAg ICAgICAgICAgb3IKIAkgKiAgICBjZGNsay9jcnRjX2Nsb2NrCiAJICovCi0JbXVsdCA9IHBpeGVs X2Zvcm1hdCA9PSBEUk1fRk9STUFUX05WMTIgPyAyIDogMzsKKwltdWx0ID0gaXNfcGxhbmFyX3l1 dl9mb3JtYXQocGl4ZWxfZm9ybWF0KSA/IDIgOiAzOwogCXRtcGNsazEgPSAoMSA8PCAxNikgKiBt dWx0IC0gMTsKIAl0bXBjbGsyID0gKDEgPDwgOCkgKiAoKG1heF9kb3RjbGsgPDwgOCkgLyBjcnRj X2Nsb2NrKTsKIAltYXhfc2NhbGUgPSBtaW4odG1wY2xrMSwgdG1wY2xrMik7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCmluZGV4IDRiYTAxYTkuLjhhNmNkOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCkBAIC0yMzAwLDYgKzIzMDAsNyBAQCBib29sIGludGVsX3Nkdm9faW5pdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAogLyogaW50ZWxfc3ByaXRlLmMgKi8KK2Jv b2wgaXNfcGxhbmFyX3l1dl9mb3JtYXQodTMyIHBpeGVsZm9ybWF0KTsKIGludCBpbnRlbF91c2Vj c190b19zY2FubGluZXMoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21v ZGUsCiAJCQkgICAgIGludCB1c2Vjcyk7CiBzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3Nwcml0 ZV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMKaW5kZXggNTQzMDdmMS4uMTRhYzMxOCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jCkBAIC0zOTcwLDcgKzM5NzAsNyBAQCBzdGF0aWMgdm9pZCBza2xfZGRiX2VudHJ5X2lu aXRfZnJvbV9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCXZhbCA9IEk5 MTVfUkVBRChQTEFORV9CVUZfQ0ZHKHBpcGUsIHBsYW5lX2lkKSk7CiAJCXZhbDIgPSBJOTE1X1JF QUQoUExBTkVfTlYxMl9CVUZfQ0ZHKHBpcGUsIHBsYW5lX2lkKSk7CiAKLQkJaWYgKGZvdXJjYyA9 PSBEUk1fRk9STUFUX05WMTIpCisJCWlmIChpc19wbGFuYXJfeXV2X2Zvcm1hdChmb3VyY2MpKQog CQkJc3dhcCh2YWwsIHZhbDIpOwogCiAJCXNrbF9kZGJfZW50cnlfaW5pdF9mcm9tX2h3KGRldl9w cml2LCBkZGJfeSwgdmFsKTsKQEAgLTQxODAsNyArNDE4MCw3IEBAIGludCBza2xfY2hlY2tfcGlw ZV9tYXhfcGl4ZWxfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKIAogCWlmIChp bnRlbF9wbGFuZS0+aWQgPT0gUExBTkVfQ1VSU09SKQogCQlyZXR1cm4gMDsKLQlpZiAocGxhbmUg PT0gMSAmJiBmb3JtYXQgIT0gRFJNX0ZPUk1BVF9OVjEyKQorCWlmIChwbGFuZSA9PSAxICYmICFp c19wbGFuYXJfeXV2X2Zvcm1hdChmb3JtYXQpKQogCQlyZXR1cm4gMDsKIAogCS8qCkBAIC00MTky LDcgKzQxOTIsNyBAQCBpbnQgc2tsX2NoZWNrX3BpcGVfbWF4X3BpeGVsX3JhdGUoc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGMsCiAJaGVpZ2h0ID0gZHJtX3JlY3RfaGVpZ2h0KCZpbnRlbF9w c3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsKIAogCS8qIFVWIHBsYW5lIGRvZXMgMS8yIHBpeGVsIHN1 Yi1zYW1wbGluZyAqLwotCWlmIChwbGFuZSA9PSAxICYmIGZvcm1hdCA9PSBEUk1fRk9STUFUX05W MTIpIHsKKwlpZiAocGxhbmUgPT0gMSAmJiBpc19wbGFuYXJfeXV2X2Zvcm1hdChmb3JtYXQpKSB7 CiAJCXdpZHRoIC89IDI7CiAJCWhlaWdodCAvPSAyOwogCX0KQEAgLTQ1NzgsOSArNDU3OCw5IEBA IGludCBza2xfY2hlY2tfcGlwZV9tYXhfcGl4ZWxfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YywKIAljb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBzdGF0ZS0+ZmI7 CiAJdTMyIGludGVybV9wYnBsOwogCi0JLyogb25seSBOVjEyIGZvcm1hdCBoYXMgdHdvIHBsYW5l cyAqLwotCWlmIChjb2xvcl9wbGFuZSA9PSAxICYmIGZiLT5mb3JtYXQtPmZvcm1hdCAhPSBEUk1f Rk9STUFUX05WMTIpIHsKLQkJRFJNX0RFQlVHX0tNUygiTm9uIE5WMTIgZm9ybWF0IGhhdmUgc2lu Z2xlIHBsYW5lXG4iKTsKKwkvKiBvbmx5IHBsYW5hciBmb3JtYXQgaGFzIHR3byBwbGFuZXMgKi8K KwlpZiAoY29sb3JfcGxhbmUgPT0gMSAmJiAhaXNfcGxhbmFyX3l1dl9mb3JtYXQoZmItPmZvcm1h dC0+Zm9ybWF0KSkgeworCQlEUk1fREVCVUdfS01TKCJOb24gcGxhbmFyIGZvcm1hdCBoYXZlIHNp bmdsZSBwbGFuZVxuIik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIApAQCAtNDU5MSw3ICs0NTkx LDcgQEAgaW50IHNrbF9jaGVja19waXBlX21heF9waXhlbF9yYXRlKHN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjLAogCXdwLT54X3RpbGVkID0gZmItPm1vZGlmaWVyID09IEk5MTVfRk9STUFU X01PRF9YX1RJTEVEOwogCXdwLT5yY19zdXJmYWNlID0gZmItPm1vZGlmaWVyID09IEk5MTVfRk9S TUFUX01PRF9ZX1RJTEVEX0NDUyB8fAogCQkJIGZiLT5tb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9N T0RfWWZfVElMRURfQ0NTOwotCXdwLT5pc19wbGFuYXIgPSBmYi0+Zm9ybWF0LT5mb3JtYXQgPT0g RFJNX0ZPUk1BVF9OVjEyOworCXdwLT5pc19wbGFuYXIgPSBpc19wbGFuYXJfeXV2X2Zvcm1hdChm Yi0+Zm9ybWF0LT5mb3JtYXQpOwogCiAJaWYgKHBsYW5lLT5pZCA9PSBQTEFORV9DVVJTT1IpIHsK IAkJd3AtPndpZHRoID0gaW50ZWxfcHN0YXRlLT5iYXNlLmNydGNfdzsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc3ByaXRlLmMKaW5kZXggYjU2YTFhOS4uZDRlNDM2YSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc3ByaXRlLmMKQEAgLTQxLDYgKzQxLDE5IEBACiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIK ICNpbmNsdWRlIDxkcm0vZHJtX2NvbG9yX21nbXQuaD4KIAorYm9vbCBpc19wbGFuYXJfeXV2X2Zv cm1hdCh1MzIgcGl4ZWxmb3JtYXQpCit7CisJc3dpdGNoIChwaXhlbGZvcm1hdCkgeworCWNhc2Ug RFJNX0ZPUk1BVF9OVjEyOgorCWNhc2UgRFJNX0ZPUk1BVF9QMDEwOgorCWNhc2UgRFJNX0ZPUk1B VF9QMDEyOgorCWNhc2UgRFJNX0ZPUk1BVF9QMDE2OgorCQlyZXR1cm4gdHJ1ZTsKKwlkZWZhdWx0 OgorCQlyZXR1cm4gZmFsc2U7CisJfQorfQorCiBpbnQgaW50ZWxfdXNlY3NfdG9fc2NhbmxpbmVz KGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlLAogCQkJICAgICBp bnQgdXNlY3MpCiB7CkBAIC0zMzUsNyArMzQ4LDcgQEAgaW50IGludGVsX3BsYW5lX2NoZWNrX3Ny Y19jb29yZGluYXRlcyhzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogCQkJ CSAgICAgIDAsIElOVF9NQVgpOwogCiAJLyogVE9ETzogaGFuZGxlIHN1Yi1waXhlbCBjb29yZGlu YXRlcyAqLwotCWlmIChwbGFuZV9zdGF0ZS0+YmFzZS5mYi0+Zm9ybWF0LT5mb3JtYXQgPT0gRFJN X0ZPUk1BVF9OVjEyICYmCisJaWYgKGlzX3BsYW5hcl95dXZfZm9ybWF0KHBsYW5lX3N0YXRlLT5i YXNlLmZiLT5mb3JtYXQtPmZvcm1hdCkgJiYKIAkgICAgIWljbF9pc19oZHJfcGxhbmUocGxhbmUp KSB7CiAJCXlfaHBoYXNlID0gc2tsX3NjYWxlcl9jYWxjX3BoYXNlKDEsIGhzY2FsZSwgZmFsc2Up OwogCQl5X3ZwaGFzZSA9IHNrbF9zY2FsZXJfY2FsY19waGFzZSgxLCB2c2NhbGUsIGZhbHNlKTsK QEAgLTE1NTEsMTAgKzE1NjQsMTAgQEAgc3RhdGljIGludCBza2xfcGxhbmVfY2hlY2tfbnYxMl9y b3RhdGlvbihjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3MKIAlpbnQgc3Jj X3cgPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsKIAogCS8q IERpc3BsYXkgV0EgIzExMDYgKi8KLQlpZiAoZmItPmZvcm1hdC0+Zm9ybWF0ID09IERSTV9GT1JN QVRfTlYxMiAmJiBzcmNfdyAmIDMgJiYKKwlpZiAoaXNfcGxhbmFyX3l1dl9mb3JtYXQoZmItPmZv cm1hdC0+Zm9ybWF0KSAmJiBzcmNfdyAmIDMgJiYKIAkgICAgKHJvdGF0aW9uID09IERSTV9NT0RF X1JPVEFURV8yNzAgfHwKIAkgICAgIHJvdGF0aW9uID09IChEUk1fTU9ERV9SRUZMRUNUX1ggfCBE Uk1fTU9ERV9ST1RBVEVfOTApKSkgewotCQlEUk1fREVCVUdfS01TKCJzcmMgd2lkdGggbXVzdCBi ZSBtdWx0aXBsZSBvZiA0IGZvciByb3RhdGVkIE5WMTJcbiIpOworCQlEUk1fREVCVUdfS01TKCJz cmMgd2lkdGggbXVzdCBiZSBtdWx0aXBsZSBvZiA0IGZvciByb3RhdGVkIHBsYW5hciBZVVZcbiIp OwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKQEAgLTE5NDUsNiArMTk1OCw5IEBAIHN0YXRpYyBi b29sIHNrbF9wbGFuZV9mb3JtYXRfbW9kX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX3BsYW5lICpfcGxh bmUsCiAJY2FzZSBEUk1fRk9STUFUX1VZVlk6CiAJY2FzZSBEUk1fRk9STUFUX1ZZVVk6CiAJY2Fz ZSBEUk1fRk9STUFUX05WMTI6CisJY2FzZSBEUk1fRk9STUFUX1AwMTA6CisJY2FzZSBEUk1fRk9S TUFUX1AwMTI6CisJY2FzZSBEUk1fRk9STUFUX1AwMTY6CiAJCWlmIChtb2RpZmllciA9PSBJOTE1 X0ZPUk1BVF9NT0RfWWZfVElMRUQpCiAJCQlyZXR1cm4gdHJ1ZTsKIAkJLyogZmFsbCB0aHJvdWdo ICovCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==