From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 216C9C352A3 for ; Tue, 11 Feb 2020 07:47:38 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 005B3206D7 for ; Tue, 11 Feb 2020 07:47:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 005B3206D7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 29D8F6EDE0; Tue, 11 Feb 2020 07:47:24 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8798A6EDE1; Tue, 11 Feb 2020 07:47:22 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Feb 2020 23:47:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,428,1574150400"; d="scan'208";a="312993699" Received: from helsinki.fi.intel.com ([10.237.66.159]) by orsmga001.jf.intel.com with ESMTP; 10 Feb 2020 23:47:20 -0800 From: Gwan-gyeong Mun To: intel-gfx@lists.freedesktop.org Date: Tue, 11 Feb 2020 09:46:50 +0200 Message-Id: <20200211074657.231405-12-gwan-gyeong.mun@intel.com> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200211074657.231405-1-gwan-gyeong.mun@intel.com> References: <20200211074657.231405-1-gwan-gyeong.mun@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v7 11/18] drm/i915: Program DP SDPs with computed configs X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" SW4gb3JkZXIgdG8gdXNlIGNvbXB1dGVkIGNvbmZpZyBmb3IgRFAgU0RQcyAoRFAgVlNDIFNEUCBh bmQgRFAgSERSIE1ldGFkYXRhCkluZm9mcmFtZSBTRFApLCBpdCByZXBsYWNlcyBpbnRlbF9kcF92 c2NfZW5hYmxlKCkgZnVuY3Rpb24gYW5kCmludGVsX2RwX2hkcl9tZXRhZGF0YV9lbmFibGUoKSBm dW5jdGlvbiB0byBpbnRlbF9kcF9zZXRfaW5mb2ZyYW1lcygpCmZ1bmN0aW9uLgpBbmQgaXQgcmVt b3ZlcyB1bnVzZWQgZnVuY3Rpb25zLgoKQmVmb3JlOgogaW50ZWxfZHBfdnNjX2VuYWJsZSgpIGFu ZCBpbnRlbF9kcF9oZHJfbWV0YWRhdGFfZW5hYmxlKCkgY29tcHV0ZSBzZHAKIGNvbmZpZ3MgYW5k IHByb2dyYW0gc2RwIHJlZ2lzdGVycyBvbiBlbmFibGUgY2FsbGJhY2sgb2YgZW5jb2Rlci4KCkFm dGVyOgogSXQgc2VwYXJhdGVzIGNvbXB1dGluZyBvZiBzZHAgY29uZmlncyBhbmQgcHJvZ3JhbW1p bmcgb2Ygc2RwIHJlZ2lzdGVyLgogVGhlIGNvbXB1dGUgY29uZmlnIGNhbGxiYWNrIG9mIGVuY29k ZXIgY2FsbHMgY29tcHV0aW5nIHNkcCBjb25maWdzLgogVGhlIGVuYWJsZSBjYWxsYmFjayBvZiBl bmNvZGVyIGNhbGxzIHByb2dyYW1taW5nIHNkcCByZWdpc3Rlci4KCnYzOiBSZWJhc2VkCnY1OiBQ b2xpc2ggY29tbWl0IG1lc3NhZ2UgW1VtYV0KClNpZ25lZC1vZmYtYnk6IEd3YW4tZ3llb25nIE11 biA8Z3dhbi1neWVvbmcubXVuQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFVtYSBTaGFua2FyIDx1 bWEuc2hhbmthckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kZGkuYyB8ICAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k cC5jICB8IDIyNiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kcC5oICB8ICAgNiAtCiAzIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAyMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGRpLmMKaW5kZXggMWFiNjM4ZTE3MDQ2Li44NTcwMTRmZTU4ODAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYwpAQCAtMzkwMiw4ICszOTAyLDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfZW5hYmxlX2RkaV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAog CWludGVsX2VkcF9iYWNrbGlnaHRfb24oY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7CiAJaW50ZWxf cHNyX2VuYWJsZShpbnRlbF9kcCwgY3J0Y19zdGF0ZSk7Ci0JaW50ZWxfZHBfdnNjX2VuYWJsZShp bnRlbF9kcCwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7Ci0JaW50ZWxfZHBfaGRyX21ldGFkYXRh X2VuYWJsZShpbnRlbF9kcCwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7CisJaW50ZWxfZHBfc2V0 X2luZm9mcmFtZXMoZW5jb2RlciwgdHJ1ZSwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7CiAJaW50 ZWxfZWRwX2RycnNfZW5hYmxlKGludGVsX2RwLCBjcnRjX3N0YXRlKTsKIAogCWlmIChjcnRjX3N0 YXRlLT5oYXNfYXVkaW8pCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKaW5k ZXggM2RmMzUzM2ExNzY4Li5hODI0NDA4YjZlMmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RwLmMKQEAgLTUxMjcsMjMyICs1MTI3LDYgQEAgdm9pZCBpbnRlbF9yZWFkX2Rw X3NkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl9CiB9CiAKLXN0YXRpYyB2b2lk Ci1pbnRlbF9kcF9zZXR1cF92c2Nfc2RwKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCi0JCSAg ICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLQkJICAgICAg IGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQotewotCXN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50 ZWxfZHApOwotCXN0cnVjdCBkcF9zZHAgdnNjX3NkcCA9IHt9OwotCi0JLyogUHJlcGFyZSBWU0Mg SGVhZGVyIGZvciBTVSBhcyBwZXIgRFAgMS40YSBzcGVjLCBUYWJsZSAyLTExOSAqLwotCXZzY19z ZHAuc2RwX2hlYWRlci5IQjAgPSAwOwotCXZzY19zZHAuc2RwX2hlYWRlci5IQjEgPSAweDc7Ci0K LQkvKgotCSAqIFZTQyBTRFAgc3VwcG9ydGluZyAzRCBzdGVyZW8sIFBTUjIsIGFuZCBQaXhlbCBF bmNvZGluZy8KLQkgKiBDb2xvcmltZXRyeSBGb3JtYXQgaW5kaWNhdGlvbi4KLQkgKi8KLQl2c2Nf c2RwLnNkcF9oZWFkZXIuSEIyID0gMHg1OwotCi0JLyoKLQkgKiBWU0MgU0RQIHN1cHBvcnRpbmcg M0Qgc3RlcmVvLCArIFBTUjIsICsgUGl4ZWwgRW5jb2RpbmcvCi0JICogQ29sb3JpbWV0cnkgRm9y bWF0IGluZGljYXRpb24gKEhCMiA9IDA1aCkuCi0JICovCi0JdnNjX3NkcC5zZHBfaGVhZGVyLkhC MyA9IDB4MTM7Ci0KLQkvKiBEUCAxLjRhIHNwZWMsIFRhYmxlIDItMTIwICovCi0Jc3dpdGNoIChj cnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0KSB7Ci0JY2FzZSBJTlRFTF9PVVRQVVRfRk9STUFUX1lD QkNSNDQ0OgotCQl2c2Nfc2RwLmRiWzE2XSA9IDB4MSA8PCA0OyAvKiBZQ2JDciA0NDQgOiBEQjE2 Wzc6NF0gPSAxaCAqLwotCQlicmVhazsKLQljYXNlIElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0 MjA6Ci0JCXZzY19zZHAuZGJbMTZdID0gMHgzIDw8IDQ7IC8qIFlDYkNyIDQyMCA6IERCMTZbNzo0 XSA9IDNoICovCi0JCWJyZWFrOwotCWNhc2UgSU5URUxfT1VUUFVUX0ZPUk1BVF9SR0I6Ci0JZGVm YXVsdDoKLQkJLyogUkdCOiBEQjE2Wzc6NF0gPSAwaCAqLwotCQlicmVhazsKLQl9Ci0KLQlzd2l0 Y2ggKGNvbm5fc3RhdGUtPmNvbG9yc3BhY2UpIHsKLQljYXNlIERSTV9NT0RFX0NPTE9SSU1FVFJZ X0JUNzA5X1lDQzoKLQkJdnNjX3NkcC5kYlsxNl0gfD0gMHgxOwotCQlicmVhazsKLQljYXNlIERS TV9NT0RFX0NPTE9SSU1FVFJZX1hWWUNDXzYwMToKLQkJdnNjX3NkcC5kYlsxNl0gfD0gMHgyOwot CQlicmVhazsKLQljYXNlIERSTV9NT0RFX0NPTE9SSU1FVFJZX1hWWUNDXzcwOToKLQkJdnNjX3Nk cC5kYlsxNl0gfD0gMHgzOwotCQlicmVhazsKLQljYXNlIERSTV9NT0RFX0NPTE9SSU1FVFJZX1NZ Q0NfNjAxOgotCQl2c2Nfc2RwLmRiWzE2XSB8PSAweDQ7Ci0JCWJyZWFrOwotCWNhc2UgRFJNX01P REVfQ09MT1JJTUVUUllfT1BZQ0NfNjAxOgotCQl2c2Nfc2RwLmRiWzE2XSB8PSAweDU7Ci0JCWJy ZWFrOwotCWNhc2UgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIwX0NZQ0M6Ci0JY2FzZSBEUk1f TU9ERV9DT0xPUklNRVRSWV9CVDIwMjBfUkdCOgotCQl2c2Nfc2RwLmRiWzE2XSB8PSAweDY7Ci0J CWJyZWFrOwotCWNhc2UgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIwX1lDQzoKLQkJdnNjX3Nk cC5kYlsxNl0gfD0gMHg3OwotCQlicmVhazsKLQljYXNlIERSTV9NT0RFX0NPTE9SSU1FVFJZX0RD SV9QM19SR0JfRDY1OgotCWNhc2UgRFJNX01PREVfQ09MT1JJTUVUUllfRENJX1AzX1JHQl9USEVB VEVSOgotCQl2c2Nfc2RwLmRiWzE2XSB8PSAweDQ7IC8qIERDSS1QMyAoU01QVEUgUlAgNDMxLTIp ICovCi0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCS8qIHNSR0IgKElFQyA2MTk2Ni0yLTEpIC8gSVRV LVIgQlQuNjAxOiBEQjE2WzA6M10gPSAwaCAqLwotCi0JCS8qIFJHQi0+WUNCQ1IgY29sb3IgY29u dmVyc2lvbiB1c2VzIHRoZSBCVC43MDkgY29sb3Igc3BhY2UuICovCi0JCWlmIChjcnRjX3N0YXRl LT5vdXRwdXRfZm9ybWF0ID09IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjApCi0JCQl2c2Nf c2RwLmRiWzE2XSB8PSAweDE7IC8qIDB4MSwgSVRVLVIgQlQuNzA5ICovCi0JCWJyZWFrOwotCX0K LQotCS8qCi0JICogRm9yIHBpeGVsIGVuY29kaW5nIGZvcm1hdHMgWUNiQ3I0NDQsIFlDYkNyNDIy LCBZQ2JDcjQyMCwgYW5kIFkgT25seSwKLQkgKiB0aGUgZm9sbG93aW5nIENvbXBvbmVudCBCaXQg RGVwdGggdmFsdWVzIGFyZSBkZWZpbmVkOgotCSAqIDAwMWIgPSA4YnBjLgotCSAqIDAxMGIgPSAx MGJwYy4KLQkgKiAwMTFiID0gMTJicGMuCi0JICogMTAwYiA9IDE2YnBjLgotCSAqLwotCXN3aXRj aCAoY3J0Y19zdGF0ZS0+cGlwZV9icHApIHsKLQljYXNlIDI0OiAvKiA4YnBjICovCi0JCXZzY19z ZHAuZGJbMTddID0gMHgxOwotCQlicmVhazsKLQljYXNlIDMwOiAvKiAxMGJwYyAqLwotCQl2c2Nf c2RwLmRiWzE3XSA9IDB4MjsKLQkJYnJlYWs7Ci0JY2FzZSAzNjogLyogMTJicGMgKi8KLQkJdnNj X3NkcC5kYlsxN10gPSAweDM7Ci0JCWJyZWFrOwotCWNhc2UgNDg6IC8qIDE2YnBjICovCi0JCXZz Y19zZHAuZGJbMTddID0gMHg0OwotCQlicmVhazsKLQlkZWZhdWx0OgotCQlNSVNTSU5HX0NBU0Uo Y3J0Y19zdGF0ZS0+cGlwZV9icHApOwotCQlicmVhazsKLQl9Ci0KLQkvKgotCSAqIER5bmFtaWMg UmFuZ2UgKEJpdCA3KQotCSAqIDAgPSBWRVNBIHJhbmdlLCAxID0gQ1RBIHJhbmdlLgotCSAqIGFs bCBZQ2JDciBhcmUgYWx3YXlzIGxpbWl0ZWQgcmFuZ2UKLQkgKi8KLQl2c2Nfc2RwLmRiWzE3XSB8 PSAweDgwOwotCi0JLyoKLQkgKiBDb250ZW50IFR5cGUgKEJpdHMgMjowKQotCSAqIDAwMGIgPSBO b3QgZGVmaW5lZC4KLQkgKiAwMDFiID0gR3JhcGhpY3MuCi0JICogMDEwYiA9IFBob3RvLgotCSAq IDAxMWIgPSBWaWRlby4KLQkgKiAxMDBiID0gR2FtZQotCSAqIEFsbCBvdGhlciB2YWx1ZXMgYXJl IFJFU0VSVkVELgotCSAqIE5vdGU6IFNlZSBDVEEtODYxLUcgZm9yIHRoZSBkZWZpbml0aW9uIGFu ZCBleHBlY3RlZAotCSAqIHByb2Nlc3NpbmcgYnkgYSBzdHJlYW0gc2luayBmb3IgdGhlIGFib3Zl IGNvbnRlY3QgdHlwZXMuCi0JICovCi0JdnNjX3NkcC5kYlsxOF0gPSAwOwotCi0JaW50ZWxfZGln X3BvcnQtPndyaXRlX2luZm9mcmFtZSgmaW50ZWxfZGlnX3BvcnQtPmJhc2UsCi0JCQljcnRjX3N0 YXRlLCBEUF9TRFBfVlNDLCAmdnNjX3NkcCwgc2l6ZW9mKHZzY19zZHApKTsKLX0KLQotc3RhdGlj IHZvaWQKLWludGVsX2RwX3NldHVwX2hkcl9tZXRhZGF0YV9pbmZvZnJhbWVfc2RwKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsCi0JCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCi0JCQkJCSAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNv bm5fc3RhdGUpCi17Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQg PSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Ci0Jc3RydWN0IGRwX3NkcCBpbmZvZnJhbWVfc2Rw ID0ge307Ci0Jc3RydWN0IGhkbWlfZHJtX2luZm9mcmFtZSBkcm1faW5mb2ZyYW1lID0ge307Ci0J Y29uc3QgaW50IGluZm9mcmFtZV9zaXplID0gSERNSV9JTkZPRlJBTUVfSEVBREVSX1NJWkUgKyBI RE1JX0RSTV9JTkZPRlJBTUVfU0laRTsKLQl1bnNpZ25lZCBjaGFyIGJ1ZltIRE1JX0lORk9GUkFN RV9IRUFERVJfU0laRSArIEhETUlfRFJNX0lORk9GUkFNRV9TSVpFXTsKLQlzc2l6ZV90IGxlbjsK LQlpbnQgcmV0OwotCi0JcmV0ID0gZHJtX2hkbWlfaW5mb2ZyYW1lX3NldF9oZHJfbWV0YWRhdGEo JmRybV9pbmZvZnJhbWUsIGNvbm5fc3RhdGUpOwotCWlmIChyZXQpIHsKLQkJRFJNX0RFQlVHX0tN UygiY291bGRuJ3Qgc2V0IEhEUiBtZXRhZGF0YSBpbiBpbmZvZnJhbWVcbiIpOwotCQlyZXR1cm47 Ci0JfQotCi0JbGVuID0gaGRtaV9kcm1faW5mb2ZyYW1lX3BhY2tfb25seSgmZHJtX2luZm9mcmFt ZSwgYnVmLCBzaXplb2YoYnVmKSk7Ci0JaWYgKGxlbiA8IDApIHsKLQkJRFJNX0RFQlVHX0tNUygi YnVmZmVyIHNpemUgaXMgc21hbGxlciB0aGFuIGhkciBtZXRhZGF0YSBpbmZvZnJhbWVcbiIpOwot CQlyZXR1cm47Ci0JfQotCi0JaWYgKGxlbiAhPSBpbmZvZnJhbWVfc2l6ZSkgewotCQlEUk1fREVC VUdfS01TKCJ3cm9uZyBzdGF0aWMgaGRyIG1ldGFkYXRhIHNpemVcbiIpOwotCQlyZXR1cm47Ci0J fQotCi0JLyoKLQkgKiBTZXQgdXAgdGhlIGluZm9mcmFtZSBzZHAgcGFja2V0IGZvciBIRFIgc3Rh dGljIG1ldGFkYXRhLgotCSAqIFByZXBhcmUgVlNDIEhlYWRlciBmb3IgU1UgYXMgcGVyIERQIDEu NGEgc3BlYywKLQkgKiBUYWJsZSAyLTEwMCBhbmQgVGFibGUgMi0xMDEKLQkgKi8KLQotCS8qIFBh Y2tldCBJRCwgMDBoIGZvciBub24tQXVkaW8gSU5GT0ZSQU1FICovCi0JaW5mb2ZyYW1lX3NkcC5z ZHBfaGVhZGVyLkhCMCA9IDA7Ci0JLyoKLQkgKiBQYWNrZXQgVHlwZSA4MGggKyBOb24tYXVkaW8g SU5GT0ZSQU1FIFR5cGUgdmFsdWUKLQkgKiBIRE1JX0lORk9GUkFNRV9UWVBFX0RSTTogMHg4NywK LQkgKi8KLQlpbmZvZnJhbWVfc2RwLnNkcF9oZWFkZXIuSEIxID0gZHJtX2luZm9mcmFtZS50eXBl OwotCS8qCi0JICogTGVhc3QgU2lnbmlmaWNhbnQgRWlnaHQgQml0cyBvZiAoRGF0YSBCeXRlIENv dW50IOKAkyAxKQotCSAqIGluZm9mcmFtZV9zaXplIC0gMSwKLQkgKi8KLQlpbmZvZnJhbWVfc2Rw LnNkcF9oZWFkZXIuSEIyID0gMHgxRDsKLQkvKiBJTkZPRlJBTUUgU0RQIFZlcnNpb24gTnVtYmVy ICovCi0JaW5mb2ZyYW1lX3NkcC5zZHBfaGVhZGVyLkhCMyA9ICgweDEzIDw8IDIpOwotCS8qIENU QSBIZWFkZXIgQnl0ZSAyIChJTkZPRlJBTUUgVmVyc2lvbiBOdW1iZXIpICovCi0JaW5mb2ZyYW1l X3NkcC5kYlswXSA9IGRybV9pbmZvZnJhbWUudmVyc2lvbjsKLQkvKiBDVEEgSGVhZGVyIEJ5dGUg MyAoTGVuZ3RoIG9mIElORk9GUkFNRSk6IEhETUlfRFJNX0lORk9GUkFNRV9TSVpFICovCi0JaW5m b2ZyYW1lX3NkcC5kYlsxXSA9IGRybV9pbmZvZnJhbWUubGVuZ3RoOwotCS8qCi0JICogQ29weSBI RE1JX0RSTV9JTkZPRlJBTUVfU0laRSBzaXplIGZyb20gYSBidWZmZXIgYWZ0ZXIKLQkgKiBIRE1J X0lORk9GUkFNRV9IRUFERVJfU0laRQotCSAqLwotCUJVSUxEX0JVR19PTihzaXplb2YoaW5mb2Zy YW1lX3NkcC5kYikgPCBIRE1JX0RSTV9JTkZPRlJBTUVfU0laRSArIDIpOwotCW1lbWNweSgmaW5m b2ZyYW1lX3NkcC5kYlsyXSwgJmJ1ZltIRE1JX0lORk9GUkFNRV9IRUFERVJfU0laRV0sCi0JICAg ICAgIEhETUlfRFJNX0lORk9GUkFNRV9TSVpFKTsKLQotCS8qCi0JICogU2l6ZSBvZiBEUCBpbmZv ZnJhbWUgc2RwIHBhY2tldCBmb3IgSERSIHN0YXRpYyBtZXRhZGF0YSBpcyBjb25zaXN0IG9mCi0J ICogLSBEUCBTRFAgSGVhZGVyKHN0cnVjdCBkcF9zZHBfaGVhZGVyKTogNCBieXRlcwotCSAqIC0g VHdvIERhdGEgQmxvY2tzOiAyIGJ5dGVzCi0JICogICAgQ1RBIEhlYWRlciBCeXRlMiAoSU5GT0ZS QU1FIFZlcnNpb24gTnVtYmVyKQotCSAqICAgIENUQSBIZWFkZXIgQnl0ZTMgKExlbmd0aCBvZiBJ TkZPRlJBTUUpCi0JICogLSBIRE1JX0RSTV9JTkZPRlJBTUVfU0laRTogMjYgYnl0ZXMKLQkgKgot CSAqIFByaW9yIHRvIEdFTjExJ3MgR01QIHJlZ2lzdGVyIHNpemUgaXMgaWRlbnRpY2FsIHRvIERQ IEhEUiBzdGF0aWMgbWV0YWRhdGEKLQkgKiBpbmZvZnJhbWUgc2l6ZS4gQnV0IEdFTjExKyBoYXMg bGFyZ2VyIHRoYW4gdGhhdCBzaXplLCB3cml0ZV9pbmZvZnJhbWUKLQkgKiB3aWxsIHBhZCByZXN0 IG9mIHRoZSBzaXplLgotCSAqLwotCWludGVsX2RpZ19wb3J0LT53cml0ZV9pbmZvZnJhbWUoJmlu dGVsX2RpZ19wb3J0LT5iYXNlLCBjcnRjX3N0YXRlLAotCQkJCQlIRE1JX1BBQ0tFVF9UWVBFX0dB TVVUX01FVEFEQVRBLAotCQkJCQkmaW5mb2ZyYW1lX3NkcCwKLQkJCQkJc2l6ZW9mKHN0cnVjdCBk cF9zZHBfaGVhZGVyKSArIDIgKyBIRE1JX0RSTV9JTkZPRlJBTUVfU0laRSk7Ci19Ci0KLXZvaWQg aW50ZWxfZHBfdnNjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAotCQkJIGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQkJIGNvbnN0IHN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQotewotCWlmICghaW50ZWxfZHBfbmVlZHNf dnNjX3NkcChjcnRjX3N0YXRlLCBjb25uX3N0YXRlKSkKLQkJcmV0dXJuOwotCi0JaW50ZWxfZHBf c2V0dXBfdnNjX3NkcChpbnRlbF9kcCwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7Ci19Ci0KLXZv aWQgaW50ZWxfZHBfaGRyX21ldGFkYXRhX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LAotCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCi0JCQkJ ICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKLXsKLQlpZiAo IWNvbm5fc3RhdGUtPmhkcl9vdXRwdXRfbWV0YWRhdGEpCi0JCXJldHVybjsKLQotCWludGVsX2Rw X3NldHVwX2hkcl9tZXRhZGF0YV9pbmZvZnJhbWVfc2RwKGludGVsX2RwLAotCQkJCQkJICBjcnRj X3N0YXRlLAotCQkJCQkJICBjb25uX3N0YXRlKTsKLX0KLQogc3RhdGljIHU4IGludGVsX2RwX2F1 dG90ZXN0X2xpbmtfdHJhaW5pbmcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHsKIAlpbnQg c3RhdHVzID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZHAuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuaAppbmRleCBl OGY5YmE5NjJkMDkuLjY1NjJiYjhlZGViYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kcC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZHAuaApAQCAtMTEwLDEyICsxMTAsNiBAQCBpbnQgaW50ZWxfZHBfbGlua19yZXF1aXJl ZChpbnQgcGl4ZWxfY2xvY2ssIGludCBicHApOwogaW50IGludGVsX2RwX21heF9kYXRhX3JhdGUo aW50IG1heF9saW5rX2Nsb2NrLCBpbnQgbWF4X2xhbmVzKTsKIGJvb2wgaW50ZWxfZHBfbmVlZHNf dnNjX3NkcChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAg ICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Ci12b2lkIGlu dGVsX2RwX3ZzY19lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKLQkJCSBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLQkJCSBjb25zdCBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Ci12b2lkIGludGVsX2RwX2hkcl9tZXRhZGF0 YV9lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKLQkJCQkgIGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQkJCSAgY29uc3Qgc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwogdm9pZCBpbnRlbF9kcF9zZXRfaW5mb2ZyYW1lcyhz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgYm9vbCBlbmFibGUsCiAJCQkgICAgIGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Ci0tIAoyLjI1LjAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=