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 44D14C352A2 for ; Wed, 5 Feb 2020 15:42:04 +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 2775320730 for ; Wed, 5 Feb 2020 15:42:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2775320730 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CD6A26F636; Wed, 5 Feb 2020 15:41:59 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id A1D346F639; Wed, 5 Feb 2020 15:41:57 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Feb 2020 07:41:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,406,1574150400"; d="scan'208";a="224950207" Received: from helsinki.fi.intel.com ([10.237.66.164]) by fmsmga007.fm.intel.com with ESMTP; 05 Feb 2020 07:41:56 -0800 From: Gwan-gyeong Mun To: intel-gfx@lists.freedesktop.org Subject: [PATCH v4 11/17] drm/i915: Program DP SDPs with computed configs Date: Wed, 5 Feb 2020 17:41:31 +0200 Message-Id: <20200205154137.1202389-12-gwan-gyeong.mun@intel.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200205154137.1202389-1-gwan-gyeong.mun@intel.com> References: <20200205154137.1202389-1-gwan-gyeong.mun@intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - 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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SW4gb3JkZXIgdG8gdXNlIGNvbXB1dGVkIGNvbmZpZyBmb3IgRFAgU0RQcyAoRFAgVlNDIFNEUCBh bmQgRFAgSERSIE1ldGFkYXRhCkluZm9mcmFtZSBTRFApLCBpdCByZXBsYWNlcyBpbnRlbF9kcF92 c2NfZW5hYmxlKCkgZnVuY3Rpb24gYW5kCmludGVsX2RwX2hkcl9tZXRhZGF0YV9lbmFibGUoKSBm dW5jdGlvbiB0byBpbnRlbF9kcF9zZXRfaW5mb2ZyYW1lcygpCmZ1bmN0aW9uLgoKQmVmb3JlIGFw cGx5aW5nIGl0LCByb3V0aW5lcyBvZiBwcm9ncmFtIFNEUCBhbHdheXMgY2FsY3VsYXRlZCBjb25m aWdzIHdoZW4KdGhleSBjYWxsZWQuIEFuZCBpdCByZW1vdmVzIHVudXNlZCBmdW5jdGlvbnMuCgp2 MzogUmViYXNlZAoKU2lnbmVkLW9mZi1ieTogR3dhbi1neWVvbmcgTXVuIDxnd2FuLWd5ZW9uZy5t dW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRp LmMgfCAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyAgfCAy MjYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZHAuaCAgfCAgIDYgLQogMyBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMjM0 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCmlu ZGV4IDFhYjYzOGUxNzA0Ni4uODU3MDE0ZmU1ODgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGRpLmMKQEAgLTM5MDIsOCArMzkwMiw3IEBAIHN0YXRpYyB2b2lkIGludGVs X2VuYWJsZV9kZGlfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAlpbnRlbF9l ZHBfYmFja2xpZ2h0X29uKGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwogCWludGVsX3Bzcl9lbmFi bGUoaW50ZWxfZHAsIGNydGNfc3RhdGUpOwotCWludGVsX2RwX3ZzY19lbmFibGUoaW50ZWxfZHAs IGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwotCWludGVsX2RwX2hkcl9tZXRhZGF0YV9lbmFibGUo aW50ZWxfZHAsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOworCWludGVsX2RwX3NldF9pbmZvZnJh bWVzKGVuY29kZXIsIHRydWUsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwogCWludGVsX2VkcF9k cnJzX2VuYWJsZShpbnRlbF9kcCwgY3J0Y19zdGF0ZSk7CiAKIAlpZiAoY3J0Y19zdGF0ZS0+aGFz X2F1ZGlvKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k cC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCmluZGV4IGMzMDI3 MmU4MGRjNy4uYWNmOTQzYjllMWVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcC5jCkBAIC01MTAxLDIzMiArNTEwMSw2IEBAIHZvaWQgaW50ZWxfcmVhZF9kcF9zZHAoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJfQogfQogCi1zdGF0aWMgdm9pZAotaW50ZWxf ZHBfc2V0dXBfdnNjX3NkcChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAotCQkgICAgICAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCi0JCSAgICAgICBjb25zdCBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKLXsKLQlzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsK LQlzdHJ1Y3QgZHBfc2RwIHZzY19zZHAgPSB7fTsKLQotCS8qIFByZXBhcmUgVlNDIEhlYWRlciBm b3IgU1UgYXMgcGVyIERQIDEuNGEgc3BlYywgVGFibGUgMi0xMTkgKi8KLQl2c2Nfc2RwLnNkcF9o ZWFkZXIuSEIwID0gMDsKLQl2c2Nfc2RwLnNkcF9oZWFkZXIuSEIxID0gMHg3OwotCi0JLyoKLQkg KiBWU0MgU0RQIHN1cHBvcnRpbmcgM0Qgc3RlcmVvLCBQU1IyLCBhbmQgUGl4ZWwgRW5jb2Rpbmcv Ci0JICogQ29sb3JpbWV0cnkgRm9ybWF0IGluZGljYXRpb24uCi0JICovCi0JdnNjX3NkcC5zZHBf aGVhZGVyLkhCMiA9IDB4NTsKLQotCS8qCi0JICogVlNDIFNEUCBzdXBwb3J0aW5nIDNEIHN0ZXJl bywgKyBQU1IyLCArIFBpeGVsIEVuY29kaW5nLwotCSAqIENvbG9yaW1ldHJ5IEZvcm1hdCBpbmRp Y2F0aW9uIChIQjIgPSAwNWgpLgotCSAqLwotCXZzY19zZHAuc2RwX2hlYWRlci5IQjMgPSAweDEz OwotCi0JLyogRFAgMS40YSBzcGVjLCBUYWJsZSAyLTEyMCAqLwotCXN3aXRjaCAoY3J0Y19zdGF0 ZS0+b3V0cHV0X2Zvcm1hdCkgewotCWNhc2UgSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQ0NDoK LQkJdnNjX3NkcC5kYlsxNl0gPSAweDEgPDwgNDsgLyogWUNiQ3IgNDQ0IDogREIxNls3OjRdID0g MWggKi8KLQkJYnJlYWs7Ci0JY2FzZSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIwOgotCQl2 c2Nfc2RwLmRiWzE2XSA9IDB4MyA8PCA0OyAvKiBZQ2JDciA0MjAgOiBEQjE2Wzc6NF0gPSAzaCAq LwotCQlicmVhazsKLQljYXNlIElOVEVMX09VVFBVVF9GT1JNQVRfUkdCOgotCWRlZmF1bHQ6Ci0J CS8qIFJHQjogREIxNls3OjRdID0gMGggKi8KLQkJYnJlYWs7Ci0JfQotCi0Jc3dpdGNoIChjb25u X3N0YXRlLT5jb2xvcnNwYWNlKSB7Ci0JY2FzZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDcwOV9Z Q0M6Ci0JCXZzY19zZHAuZGJbMTZdIHw9IDB4MTsKLQkJYnJlYWs7Ci0JY2FzZSBEUk1fTU9ERV9D T0xPUklNRVRSWV9YVllDQ182MDE6Ci0JCXZzY19zZHAuZGJbMTZdIHw9IDB4MjsKLQkJYnJlYWs7 Ci0JY2FzZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9YVllDQ183MDk6Ci0JCXZzY19zZHAuZGJbMTZd IHw9IDB4MzsKLQkJYnJlYWs7Ci0JY2FzZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9TWUNDXzYwMToK LQkJdnNjX3NkcC5kYlsxNl0gfD0gMHg0OwotCQlicmVhazsKLQljYXNlIERSTV9NT0RFX0NPTE9S SU1FVFJZX09QWUNDXzYwMToKLQkJdnNjX3NkcC5kYlsxNl0gfD0gMHg1OwotCQlicmVhazsKLQlj YXNlIERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9DWUNDOgotCWNhc2UgRFJNX01PREVfQ09M T1JJTUVUUllfQlQyMDIwX1JHQjoKLQkJdnNjX3NkcC5kYlsxNl0gfD0gMHg2OwotCQlicmVhazsK LQljYXNlIERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9ZQ0M6Ci0JCXZzY19zZHAuZGJbMTZd IHw9IDB4NzsKLQkJYnJlYWs7Ci0JY2FzZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9EQ0lfUDNfUkdC X0Q2NToKLQljYXNlIERSTV9NT0RFX0NPTE9SSU1FVFJZX0RDSV9QM19SR0JfVEhFQVRFUjoKLQkJ dnNjX3NkcC5kYlsxNl0gfD0gMHg0OyAvKiBEQ0ktUDMgKFNNUFRFIFJQIDQzMS0yKSAqLwotCQli cmVhazsKLQlkZWZhdWx0OgotCQkvKiBzUkdCIChJRUMgNjE5NjYtMi0xKSAvIElUVS1SIEJULjYw MTogREIxNlswOjNdID0gMGggKi8KLQotCQkvKiBSR0ItPllDQkNSIGNvbG9yIGNvbnZlcnNpb24g dXNlcyB0aGUgQlQuNzA5IGNvbG9yIHNwYWNlLiAqLwotCQlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0 X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIwKQotCQkJdnNjX3NkcC5kYlsx Nl0gfD0gMHgxOyAvKiAweDEsIElUVS1SIEJULjcwOSAqLwotCQlicmVhazsKLQl9Ci0KLQkvKgot CSAqIEZvciBwaXhlbCBlbmNvZGluZyBmb3JtYXRzIFlDYkNyNDQ0LCBZQ2JDcjQyMiwgWUNiQ3I0 MjAsIGFuZCBZIE9ubHksCi0JICogdGhlIGZvbGxvd2luZyBDb21wb25lbnQgQml0IERlcHRoIHZh bHVlcyBhcmUgZGVmaW5lZDoKLQkgKiAwMDFiID0gOGJwYy4KLQkgKiAwMTBiID0gMTBicGMuCi0J ICogMDExYiA9IDEyYnBjLgotCSAqIDEwMGIgPSAxNmJwYy4KLQkgKi8KLQlzd2l0Y2ggKGNydGNf c3RhdGUtPnBpcGVfYnBwKSB7Ci0JY2FzZSAyNDogLyogOGJwYyAqLwotCQl2c2Nfc2RwLmRiWzE3 XSA9IDB4MTsKLQkJYnJlYWs7Ci0JY2FzZSAzMDogLyogMTBicGMgKi8KLQkJdnNjX3NkcC5kYlsx N10gPSAweDI7Ci0JCWJyZWFrOwotCWNhc2UgMzY6IC8qIDEyYnBjICovCi0JCXZzY19zZHAuZGJb MTddID0gMHgzOwotCQlicmVhazsKLQljYXNlIDQ4OiAvKiAxNmJwYyAqLwotCQl2c2Nfc2RwLmRi WzE3XSA9IDB4NDsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKGNydGNfc3Rh dGUtPnBpcGVfYnBwKTsKLQkJYnJlYWs7Ci0JfQotCi0JLyoKLQkgKiBEeW5hbWljIFJhbmdlIChC aXQgNykKLQkgKiAwID0gVkVTQSByYW5nZSwgMSA9IENUQSByYW5nZS4KLQkgKiBhbGwgWUNiQ3Ig YXJlIGFsd2F5cyBsaW1pdGVkIHJhbmdlCi0JICovCi0JdnNjX3NkcC5kYlsxN10gfD0gMHg4MDsK LQotCS8qCi0JICogQ29udGVudCBUeXBlIChCaXRzIDI6MCkKLQkgKiAwMDBiID0gTm90IGRlZmlu ZWQuCi0JICogMDAxYiA9IEdyYXBoaWNzLgotCSAqIDAxMGIgPSBQaG90by4KLQkgKiAwMTFiID0g VmlkZW8uCi0JICogMTAwYiA9IEdhbWUKLQkgKiBBbGwgb3RoZXIgdmFsdWVzIGFyZSBSRVNFUlZF RC4KLQkgKiBOb3RlOiBTZWUgQ1RBLTg2MS1HIGZvciB0aGUgZGVmaW5pdGlvbiBhbmQgZXhwZWN0 ZWQKLQkgKiBwcm9jZXNzaW5nIGJ5IGEgc3RyZWFtIHNpbmsgZm9yIHRoZSBhYm92ZSBjb250ZWN0 IHR5cGVzLgotCSAqLwotCXZzY19zZHAuZGJbMThdID0gMDsKLQotCWludGVsX2RpZ19wb3J0LT53 cml0ZV9pbmZvZnJhbWUoJmludGVsX2RpZ19wb3J0LT5iYXNlLAotCQkJY3J0Y19zdGF0ZSwgRFBf U0RQX1ZTQywgJnZzY19zZHAsIHNpemVvZih2c2Nfc2RwKSk7Ci19Ci0KLXN0YXRpYyB2b2lkCi1p bnRlbF9kcF9zZXR1cF9oZHJfbWV0YWRhdGFfaW5mb2ZyYW1lX3NkcChzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwLAotCQkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLAotCQkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQotewotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9f ZGlnX3BvcnQoaW50ZWxfZHApOwotCXN0cnVjdCBkcF9zZHAgaW5mb2ZyYW1lX3NkcCA9IHt9Owot CXN0cnVjdCBoZG1pX2RybV9pbmZvZnJhbWUgZHJtX2luZm9mcmFtZSA9IHt9OwotCWNvbnN0IGlu dCBpbmZvZnJhbWVfc2l6ZSA9IEhETUlfSU5GT0ZSQU1FX0hFQURFUl9TSVpFICsgSERNSV9EUk1f SU5GT0ZSQU1FX1NJWkU7Ci0JdW5zaWduZWQgY2hhciBidWZbSERNSV9JTkZPRlJBTUVfSEVBREVS X1NJWkUgKyBIRE1JX0RSTV9JTkZPRlJBTUVfU0laRV07Ci0Jc3NpemVfdCBsZW47Ci0JaW50IHJl dDsKLQotCXJldCA9IGRybV9oZG1pX2luZm9mcmFtZV9zZXRfaGRyX21ldGFkYXRhKCZkcm1faW5m b2ZyYW1lLCBjb25uX3N0YXRlKTsKLQlpZiAocmV0KSB7Ci0JCURSTV9ERUJVR19LTVMoImNvdWxk bid0IHNldCBIRFIgbWV0YWRhdGEgaW4gaW5mb2ZyYW1lXG4iKTsKLQkJcmV0dXJuOwotCX0KLQot CWxlbiA9IGhkbWlfZHJtX2luZm9mcmFtZV9wYWNrX29ubHkoJmRybV9pbmZvZnJhbWUsIGJ1Ziwg c2l6ZW9mKGJ1ZikpOwotCWlmIChsZW4gPCAwKSB7Ci0JCURSTV9ERUJVR19LTVMoImJ1ZmZlciBz aXplIGlzIHNtYWxsZXIgdGhhbiBoZHIgbWV0YWRhdGEgaW5mb2ZyYW1lXG4iKTsKLQkJcmV0dXJu OwotCX0KLQotCWlmIChsZW4gIT0gaW5mb2ZyYW1lX3NpemUpIHsKLQkJRFJNX0RFQlVHX0tNUygi d3Jvbmcgc3RhdGljIGhkciBtZXRhZGF0YSBzaXplXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCS8q Ci0JICogU2V0IHVwIHRoZSBpbmZvZnJhbWUgc2RwIHBhY2tldCBmb3IgSERSIHN0YXRpYyBtZXRh ZGF0YS4KLQkgKiBQcmVwYXJlIFZTQyBIZWFkZXIgZm9yIFNVIGFzIHBlciBEUCAxLjRhIHNwZWMs Ci0JICogVGFibGUgMi0xMDAgYW5kIFRhYmxlIDItMTAxCi0JICovCi0KLQkvKiBQYWNrZXQgSUQs IDAwaCBmb3Igbm9uLUF1ZGlvIElORk9GUkFNRSAqLwotCWluZm9mcmFtZV9zZHAuc2RwX2hlYWRl ci5IQjAgPSAwOwotCS8qCi0JICogUGFja2V0IFR5cGUgODBoICsgTm9uLWF1ZGlvIElORk9GUkFN RSBUeXBlIHZhbHVlCi0JICogSERNSV9JTkZPRlJBTUVfVFlQRV9EUk06IDB4ODcsCi0JICovCi0J aW5mb2ZyYW1lX3NkcC5zZHBfaGVhZGVyLkhCMSA9IGRybV9pbmZvZnJhbWUudHlwZTsKLQkvKgot CSAqIExlYXN0IFNpZ25pZmljYW50IEVpZ2h0IEJpdHMgb2YgKERhdGEgQnl0ZSBDb3VudCDigJMg MSkKLQkgKiBpbmZvZnJhbWVfc2l6ZSAtIDEsCi0JICovCi0JaW5mb2ZyYW1lX3NkcC5zZHBfaGVh ZGVyLkhCMiA9IDB4MUQ7Ci0JLyogSU5GT0ZSQU1FIFNEUCBWZXJzaW9uIE51bWJlciAqLwotCWlu Zm9mcmFtZV9zZHAuc2RwX2hlYWRlci5IQjMgPSAoMHgxMyA8PCAyKTsKLQkvKiBDVEEgSGVhZGVy IEJ5dGUgMiAoSU5GT0ZSQU1FIFZlcnNpb24gTnVtYmVyKSAqLwotCWluZm9mcmFtZV9zZHAuZGJb MF0gPSBkcm1faW5mb2ZyYW1lLnZlcnNpb247Ci0JLyogQ1RBIEhlYWRlciBCeXRlIDMgKExlbmd0 aCBvZiBJTkZPRlJBTUUpOiBIRE1JX0RSTV9JTkZPRlJBTUVfU0laRSAqLwotCWluZm9mcmFtZV9z ZHAuZGJbMV0gPSBkcm1faW5mb2ZyYW1lLmxlbmd0aDsKLQkvKgotCSAqIENvcHkgSERNSV9EUk1f SU5GT0ZSQU1FX1NJWkUgc2l6ZSBmcm9tIGEgYnVmZmVyIGFmdGVyCi0JICogSERNSV9JTkZPRlJB TUVfSEVBREVSX1NJWkUKLQkgKi8KLQlCVUlMRF9CVUdfT04oc2l6ZW9mKGluZm9mcmFtZV9zZHAu ZGIpIDwgSERNSV9EUk1fSU5GT0ZSQU1FX1NJWkUgKyAyKTsKLQltZW1jcHkoJmluZm9mcmFtZV9z ZHAuZGJbMl0sICZidWZbSERNSV9JTkZPRlJBTUVfSEVBREVSX1NJWkVdLAotCSAgICAgICBIRE1J X0RSTV9JTkZPRlJBTUVfU0laRSk7Ci0KLQkvKgotCSAqIFNpemUgb2YgRFAgaW5mb2ZyYW1lIHNk cCBwYWNrZXQgZm9yIEhEUiBzdGF0aWMgbWV0YWRhdGEgaXMgY29uc2lzdCBvZgotCSAqIC0gRFAg U0RQIEhlYWRlcihzdHJ1Y3QgZHBfc2RwX2hlYWRlcik6IDQgYnl0ZXMKLQkgKiAtIFR3byBEYXRh IEJsb2NrczogMiBieXRlcwotCSAqICAgIENUQSBIZWFkZXIgQnl0ZTIgKElORk9GUkFNRSBWZXJz aW9uIE51bWJlcikKLQkgKiAgICBDVEEgSGVhZGVyIEJ5dGUzIChMZW5ndGggb2YgSU5GT0ZSQU1F KQotCSAqIC0gSERNSV9EUk1fSU5GT0ZSQU1FX1NJWkU6IDI2IGJ5dGVzCi0JICoKLQkgKiBQcmlv ciB0byBHRU4xMSdzIEdNUCByZWdpc3RlciBzaXplIGlzIGlkZW50aWNhbCB0byBEUCBIRFIgc3Rh dGljIG1ldGFkYXRhCi0JICogaW5mb2ZyYW1lIHNpemUuIEJ1dCBHRU4xMSsgaGFzIGxhcmdlciB0 aGFuIHRoYXQgc2l6ZSwgd3JpdGVfaW5mb2ZyYW1lCi0JICogd2lsbCBwYWQgcmVzdCBvZiB0aGUg c2l6ZS4KLQkgKi8KLQlpbnRlbF9kaWdfcG9ydC0+d3JpdGVfaW5mb2ZyYW1lKCZpbnRlbF9kaWdf cG9ydC0+YmFzZSwgY3J0Y19zdGF0ZSwKLQkJCQkJSERNSV9QQUNLRVRfVFlQRV9HQU1VVF9NRVRB REFUQSwKLQkJCQkJJmluZm9mcmFtZV9zZHAsCi0JCQkJCXNpemVvZihzdHJ1Y3QgZHBfc2RwX2hl YWRlcikgKyAyICsgSERNSV9EUk1fSU5GT0ZSQU1FX1NJWkUpOwotfQotCi12b2lkIGludGVsX2Rw X3ZzY19lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKLQkJCSBjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKLXsKLQlpZiAoIWludGVsX2RwX25lZWRzX3ZzY19zZHAo Y3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSkpCi0JCXJldHVybjsKLQotCWludGVsX2RwX3NldHVwX3Zz Y19zZHAoaW50ZWxfZHAsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwotfQotCi12b2lkIGludGVs X2RwX2hkcl9tZXRhZGF0YV9lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKLQkJCQkg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQkJCSAgY29uc3Qg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCi17Ci0JaWYgKCFjb25uX3N0 YXRlLT5oZHJfb3V0cHV0X21ldGFkYXRhKQotCQlyZXR1cm47Ci0KLQlpbnRlbF9kcF9zZXR1cF9o ZHJfbWV0YWRhdGFfaW5mb2ZyYW1lX3NkcChpbnRlbF9kcCwKLQkJCQkJCSAgY3J0Y19zdGF0ZSwK LQkJCQkJCSAgY29ubl9zdGF0ZSk7Ci19Ci0KIHN0YXRpYyB1OCBpbnRlbF9kcF9hdXRvdGVzdF9s aW5rX3RyYWluaW5nKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJaW50IHN0YXR1cyA9 IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmgKaW5kZXggZThmOWJhOTYy ZDA5Li42NTYyYmI4ZWRlYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZHAuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rw LmgKQEAgLTExMCwxMiArMTEwLDYgQEAgaW50IGludGVsX2RwX2xpbmtfcmVxdWlyZWQoaW50IHBp eGVsX2Nsb2NrLCBpbnQgYnBwKTsKIGludCBpbnRlbF9kcF9tYXhfZGF0YV9yYXRlKGludCBtYXhf bGlua19jbG9jaywgaW50IG1heF9sYW5lcyk7CiBib29sIGludGVsX2RwX25lZWRzX3ZzY19zZHAo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICAgY29uc3Qg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwotdm9pZCBpbnRlbF9kcF92 c2NfZW5hYmxlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCi0JCQkgY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCi0JCQkgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwotdm9pZCBpbnRlbF9kcF9oZHJfbWV0YWRhdGFfZW5hYmxl KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCi0JCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLQkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpjb25uX3N0YXRlKTsKIHZvaWQgaW50ZWxfZHBfc2V0X2luZm9mcmFtZXMoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsIGJvb2wgZW5hYmxlLAogCQkJICAgICBjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwotLSAKMi4yNC4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK