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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 DA0EFC432BE for ; Wed, 28 Jul 2021 21:12:51 +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 AAC356101B for ; Wed, 28 Jul 2021 21:12:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org AAC356101B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3F8D76E9E3; Wed, 28 Jul 2021 21:12:51 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id E94F76E9E3; Wed, 28 Jul 2021 21:12:39 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10059"; a="199968626" X-IronPort-AV: E=Sophos;i="5.84,276,1620716400"; d="scan'208";a="199968626" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jul 2021 14:12:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,276,1620716400"; d="scan'208";a="580995633" Received: from vbelgaum-ubuntu.fm.intel.com ([10.1.27.27]) by fmsmga001.fm.intel.com with ESMTP; 28 Jul 2021 14:12:39 -0700 From: Vinay Belgaumkar To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Date: Wed, 28 Jul 2021 14:11:44 -0700 Message-Id: <20210728211144.15322-15-vinay.belgaumkar@intel.com> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20210728211144.15322-1-vinay.belgaumkar@intel.com> References: <20210728211144.15322-1-vinay.belgaumkar@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 14/14] drm/i915/guc/rc: Setup and enable GuCRC feature 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" VGhpcyBmZWF0dXJlIGhhbmRzIG92ZXIgdGhlIGNvbnRyb2wgb2YgSFcgUkM2IHRvIHRoZSBHdUMu Ckd1QyBkZWNpZGVzIHdoZW4gdG8gcHV0IEhXIGludG8gUkM2IGJhc2VkIG9uIGl0J3MgaW50ZXJu YWwKYnVzeW5lc3MgYWxnb3JpdGhtcy4KCkd1Q1JDIG5lZWRzIEd1QyBzdWJtaXNzaW9uIHRvIGJl IGVuYWJsZWQsIGFuZCBvbmx5CnN1cHBvcnRlZCBvbiBHZW4xMisgZm9yIG5vdy4KCldoZW4gR3VD UkMgaXMgZW5hYmxlZCwgZG8gbm90IHNldCBIVyBSQzYuIFVzZSBhIEgyRyBtZXNzYWdlCnRvIHRl bGwgR3VDIHRvIGVuYWJsZSBHdUNSQy4gV2hlbiBkaXNhYmxpbmcgUkM2LCB0ZWxsIEd1QyB0bwpy ZXZlcnQgUkM2IGNvbnRyb2wgYmFjayB0byBLTUQuIEtNRCBpcyBzdGlsbCByZXNwb25zaWJsZSBm b3IKZW5hYmxpbmcgZXZlcnl0aGluZyByZWxhdGVkIHRvIENvYXJzZSBQb3dlciBHYXRpbmcgdGhv dWdoLgoKdjI6IEFkZHJlc3MgY29tbWVudHMgKE1pY2hhbCBXKQp2MzogRG9uJ3Qgc2V0IGh5c3Rl cmlzaXMgdmFsdWVzIHdoZW4gR3VDUkMgaXMgdXNlZCAoTWF0dCBSb3BlcikKClJldmlld2VkLWJ5 OiBNaWNoYWwgV2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogVmluYXkgQmVsZ2F1bWthciA8dmluYXkuYmVsZ2F1bWthckBpbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgICAgICAgICAgIHwgIDEgKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmM2LmMgICAgICAgICAgIHwgNDcgKysrKysrKy0t LS0KIC4uLi9ncHUvZHJtL2k5MTUvZ3QvdWMvYWJpL2d1Y19hY3Rpb25zX2FiaS5oICB8ICA2ICsr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWMuYyAgICAgICAgfCAgMSArCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWMuaCAgICAgICAgfCAgMiArCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfcmMuYyAgICAgfCA4MCArKysrKysrKysr KysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfcmMuaCAgICAg fCAzMSArKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5oICAgICAg ICAgfCAgMiArCiA4IGZpbGVzIGNoYW5nZWQsIDE1NSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRl bF9ndWNfcmMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Vj L2ludGVsX2d1Y19yYy5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZp bGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQppbmRleCBkOGVhYzQ0NjhkZjkuLjNm YzE3ZjIwZDg4ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTE4Niw2ICsxODYsNyBAQCBpOTE1 LXkgKz0gZ3QvdWMvaW50ZWxfdWMubyBcCiAJICBndC91Yy9pbnRlbF9ndWNfZncubyBcCiAJICBn dC91Yy9pbnRlbF9ndWNfbG9nLm8gXAogCSAgZ3QvdWMvaW50ZWxfZ3VjX2xvZ19kZWJ1Z2ZzLm8g XAorCSAgZ3QvdWMvaW50ZWxfZ3VjX3JjLm8gXAogCSAgZ3QvdWMvaW50ZWxfZ3VjX3NscGMubyBc CiAJICBndC91Yy9pbnRlbF9ndWNfc3VibWlzc2lvbi5vIFwKIAkgIGd0L3VjL2ludGVsX2h1Yy5v IFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JjNi5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmM2LmMKaW5kZXggMjU5ZDdlYjRlMTY1Li5mNmI5 MTQ0MzhhMGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JjNi5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JjNi5jCkBAIC02MiwyMCArNjIs MjUgQEAgc3RhdGljIHZvaWQgZ2VuMTFfcmM2X2VuYWJsZShzdHJ1Y3QgaW50ZWxfcmM2ICpyYzYp CiAJdTMyIHBnX2VuYWJsZTsKIAlpbnQgaTsKIAotCS8qIDJiOiBQcm9ncmFtIFJDNiB0aHJlc2hv bGRzLiovCi0Jc2V0KHVuY29yZSwgR0VONl9SQzZfV0FLRV9SQVRFX0xJTUlULCA1NCA8PCAxNiB8 IDg1KTsKLQlzZXQodW5jb3JlLCBHRU4xMF9NRURJQV9XQUtFX1JBVEVfTElNSVQsIDE1MCk7CisJ LyoKKwkgKiBXaXRoIEd1Q1JDLCB0aGVzZSBwYXJhbWV0ZXJzIGFyZSBzZXQgYnkgR3VDCisJICov CisJaWYgKCFpbnRlbF91Y191c2VzX2d1Y19yYygmZ3QtPnVjKSkgeworCQkvKiAyYjogUHJvZ3Jh bSBSQzYgdGhyZXNob2xkcy4qLworCQlzZXQodW5jb3JlLCBHRU42X1JDNl9XQUtFX1JBVEVfTElN SVQsIDU0IDw8IDE2IHwgODUpOworCQlzZXQodW5jb3JlLCBHRU4xMF9NRURJQV9XQUtFX1JBVEVf TElNSVQsIDE1MCk7CiAKLQlzZXQodW5jb3JlLCBHRU42X1JDX0VWQUxVQVRJT05fSU5URVJWQUws IDEyNTAwMCk7IC8qIDEyNTAwICogMTI4MG5zICovCi0Jc2V0KHVuY29yZSwgR0VONl9SQ19JRExF X0hZU1RFUlNJUywgMjUpOyAvKiAyNSAqIDEyODBucyAqLwotCWZvcl9lYWNoX2VuZ2luZShlbmdp bmUsIHJjNl90b19ndChyYzYpLCBpZCkKLQkJc2V0KHVuY29yZSwgUklOR19NQVhfSURMRShlbmdp bmUtPm1taW9fYmFzZSksIDEwKTsKKwkJc2V0KHVuY29yZSwgR0VONl9SQ19FVkFMVUFUSU9OX0lO VEVSVkFMLCAxMjUwMDApOyAvKiAxMjUwMCAqIDEyODBucyAqLworCQlzZXQodW5jb3JlLCBHRU42 X1JDX0lETEVfSFlTVEVSU0lTLCAyNSk7IC8qIDI1ICogMTI4MG5zICovCisJCWZvcl9lYWNoX2Vu Z2luZShlbmdpbmUsIHJjNl90b19ndChyYzYpLCBpZCkKKwkJCXNldCh1bmNvcmUsIFJJTkdfTUFY X0lETEUoZW5naW5lLT5tbWlvX2Jhc2UpLCAxMCk7CiAKLQlzZXQodW5jb3JlLCBHVUNfTUFYX0lE TEVfQ09VTlQsIDB4QSk7CisJCXNldCh1bmNvcmUsIEdVQ19NQVhfSURMRV9DT1VOVCwgMHhBKTsK IAotCXNldCh1bmNvcmUsIEdFTjZfUkNfU0xFRVAsIDApOworCQlzZXQodW5jb3JlLCBHRU42X1JD X1NMRUVQLCAwKTsKIAotCXNldCh1bmNvcmUsIEdFTjZfUkM2X1RIUkVTSE9MRCwgNTAwMDApOyAv KiA1MC8xMjVtcyBwZXIgRUkgKi8KKwkJc2V0KHVuY29yZSwgR0VONl9SQzZfVEhSRVNIT0xELCA1 MDAwMCk7IC8qIDUwLzEyNW1zIHBlciBFSSAqLworCX0KIAogCS8qCiAJICogMmM6IFByb2dyYW0g Q29hcnNlIFBvd2VyIEdhdGluZyBQb2xpY2llcy4KQEAgLTk4LDExICsxMDMsMTkgQEAgc3RhdGlj IHZvaWQgZ2VuMTFfcmM2X2VuYWJsZShzdHJ1Y3QgaW50ZWxfcmM2ICpyYzYpCiAJc2V0KHVuY29y ZSwgR0VOOV9NRURJQV9QR19JRExFX0hZU1RFUkVTSVMsIDYwKTsKIAlzZXQodW5jb3JlLCBHRU45 X1JFTkRFUl9QR19JRExFX0hZU1RFUkVTSVMsIDYwKTsKIAotCS8qIDNhOiBFbmFibGUgUkM2ICov Ci0JcmM2LT5jdGxfZW5hYmxlID0KLQkJR0VONl9SQ19DVExfSFdfRU5BQkxFIHwKLQkJR0VONl9S Q19DVExfUkM2X0VOQUJMRSB8Ci0JCUdFTjZfUkNfQ1RMX0VJX01PREUoMSk7CisJLyogM2E6IEVu YWJsZSBSQzYKKwkgKgorCSAqIFdpdGggR3VDUkMsIHdlIGRvIG5vdCBlbmFibGUgYml0IDMxIG9m IFJDX0NUTCwKKwkgKiB0aHVzIGFsbG93aW5nIEd1QyB0byBjb250cm9sIFJDNiBlbnRyeS9leGl0 IGZ1bGx5IGluc3RlYWQuCisJICogV2Ugd2lsbCBub3Qgc2V0IHRoZSBIVyBFTkFCTEUgYW5kIEVJ IGJpdHMKKwkgKi8KKwlpZiAoIWludGVsX2d1Y19yY19lbmFibGUoJmd0LT51Yy5ndWMpKQorCQly YzYtPmN0bF9lbmFibGUgPSBHRU42X1JDX0NUTF9SQzZfRU5BQkxFOworCWVsc2UKKwkJcmM2LT5j dGxfZW5hYmxlID0KKwkJCUdFTjZfUkNfQ1RMX0hXX0VOQUJMRSB8CisJCQlHRU42X1JDX0NUTF9S QzZfRU5BQkxFIHwKKwkJCUdFTjZfUkNfQ1RMX0VJX01PREUoMSk7CiAKIAlwZ19lbmFibGUgPQog CQlHRU45X1JFTkRFUl9QR19FTkFCTEUgfApAQCAtNTEzLDYgKzUyNiwxMCBAQCBzdGF0aWMgdm9p ZCBfX2ludGVsX3JjNl9kaXNhYmxlKHN0cnVjdCBpbnRlbF9yYzYgKnJjNikKIHsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHJjNl90b19pOTE1KHJjNik7CiAJc3RydWN0IGludGVs X3VuY29yZSAqdW5jb3JlID0gcmM2X3RvX3VuY29yZShyYzYpOworCXN0cnVjdCBpbnRlbF9ndCAq Z3QgPSByYzZfdG9fZ3QocmM2KTsKKworCS8qIFRha2UgY29udHJvbCBvZiBSQzYgYmFjayBmcm9t IEd1QyAqLworCWludGVsX2d1Y19yY19kaXNhYmxlKCZndC0+dWMuZ3VjKTsKIAogCWludGVsX3Vu Y29yZV9mb3JjZXdha2VfZ2V0KHVuY29yZSwgRk9SQ0VXQUtFX0FMTCk7CiAJaWYgKEdSQVBISUNT X1ZFUihpOTE1KSA+PSA5KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMv YWJpL2d1Y19hY3Rpb25zX2FiaS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvYWJpL2d1 Y19hY3Rpb25zX2FiaS5oCmluZGV4IGNhNTM4ZTVkZTk0MC4uOGZmNTgyMjIyYWZmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9hYmkvZ3VjX2FjdGlvbnNfYWJpLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvYWJpL2d1Y19hY3Rpb25zX2FiaS5oCkBAIC0x MzUsNiArMTM1LDcgQEAgZW51bSBpbnRlbF9ndWNfYWN0aW9uIHsKIAlJTlRFTF9HVUNfQUNUSU9O X1NFVF9DT05URVhUX1BSRUVNUFRJT05fVElNRU9VVCA9IDB4MTAwNywKIAlJTlRFTF9HVUNfQUNU SU9OX0NPTlRFWFRfUkVTRVRfTk9USUZJQ0FUSU9OID0gMHgxMDA4LAogCUlOVEVMX0dVQ19BQ1RJ T05fRU5HSU5FX0ZBSUxVUkVfTk9USUZJQ0FUSU9OID0gMHgxMDA5LAorCUlOVEVMX0dVQ19BQ1RJ T05fU0VUVVBfUENfR1VDUkMgPSAweDMwMDQsCiAJSU5URUxfR1VDX0FDVElPTl9BVVRIRU5USUNB VEVfSFVDID0gMHg0MDAwLAogCUlOVEVMX0dVQ19BQ1RJT05fUkVHSVNURVJfQ09OVEVYVCA9IDB4 NDUwMiwKIAlJTlRFTF9HVUNfQUNUSU9OX0RFUkVHSVNURVJfQ09OVEVYVCA9IDB4NDUwMywKQEAg LTE0NSw2ICsxNDYsMTEgQEAgZW51bSBpbnRlbF9ndWNfYWN0aW9uIHsKIAlJTlRFTF9HVUNfQUNU SU9OX0xJTUlUCiB9OwogCitlbnVtIGludGVsX2d1Y19yY19vcHRpb25zIHsKKwlJTlRFTF9HVUNS Q19IT1NUX0NPTlRST0wsCisJSU5URUxfR1VDUkNfRklSTVdBUkVfQ09OVFJPTCwKK307CisKIGVu dW0gaW50ZWxfZ3VjX3ByZWVtcHRfb3B0aW9ucyB7CiAJSU5URUxfR1VDX1BSRUVNUFRfT1BUSU9O X0RST1BfV09SS19RID0gMHg0LAogCUlOVEVMX0dVQ19QUkVFTVBUX09QVElPTl9EUk9QX1NVQk1J VF9RID0gMHg4LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxf Z3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWMuYwppbmRleCAxM2Qx NjIzNTNiMWEuLmZiZmNhZTcyN2Q3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvdWMvaW50ZWxfZ3VjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxf Z3VjLmMKQEAgLTE1OSw2ICsxNTksNyBAQCB2b2lkIGludGVsX2d1Y19pbml0X2Vhcmx5KHN0cnVj dCBpbnRlbF9ndWMgKmd1YykKIAlpbnRlbF9ndWNfbG9nX2luaXRfZWFybHkoJmd1Yy0+bG9nKTsK IAlpbnRlbF9ndWNfc3VibWlzc2lvbl9pbml0X2Vhcmx5KGd1Yyk7CiAJaW50ZWxfZ3VjX3NscGNf aW5pdF9lYXJseSgmZ3VjLT5zbHBjKTsKKwlpbnRlbF9ndWNfcmNfaW5pdF9lYXJseShndWMpOwog CiAJbXV0ZXhfaW5pdCgmZ3VjLT5zZW5kX211dGV4KTsKIAlzcGluX2xvY2tfaW5pdCgmZ3VjLT5p cnFfbG9jayk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9n dWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5oCmluZGV4IDdkYTEx YTBiNjA1OS4uMmUyN2ZlNTk3ODZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC91Yy9pbnRlbF9ndWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9n dWMuaApAQCAtNTksNiArNTksOCBAQCBzdHJ1Y3QgaW50ZWxfZ3VjIHsKIAogCWJvb2wgc3VibWlz c2lvbl9zdXBwb3J0ZWQ7CiAJYm9vbCBzdWJtaXNzaW9uX3NlbGVjdGVkOworCWJvb2wgcmNfc3Vw cG9ydGVkOworCWJvb2wgcmNfc2VsZWN0ZWQ7CiAKIAlzdHJ1Y3QgaTkxNV92bWEgKmFkc192bWE7 CiAJc3RydWN0IF9fZ3VjX2Fkc19ibG9iICphZHNfYmxvYjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19yYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvdWMvaW50ZWxfZ3VjX3JjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi4xOGUzZTA1ZDdiMzkKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC91Yy9pbnRlbF9ndWNfcmMuYwpAQCAtMCwwICsxLDgwIEBACisvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogTUlUCisvKgorICogQ29weXJpZ2h0IMKpIDIwMjEgSW50ZWwgQ29ycG9yYXRp b24KKyAqLworCisjaW5jbHVkZSAiaW50ZWxfZ3VjX3JjLmgiCisjaW5jbHVkZSAiZ3QvaW50ZWxf Z3QuaCIKKyNpbmNsdWRlICJpOTE1X2Rydi5oIgorCitzdGF0aWMgYm9vbCBfX2d1Y19yY19zdXBw b3J0ZWQoc3RydWN0IGludGVsX2d1YyAqZ3VjKQoreworCS8qIEd1QyBSQyBpcyB1bmF2YWlsYWJs ZSBmb3IgcHJlLUdlbjEyICovCisJcmV0dXJuIGd1Yy0+c3VibWlzc2lvbl9zdXBwb3J0ZWQgJiYK KwkJR1JBUEhJQ1NfVkVSKGd1Y190b19ndChndWMpLT5pOTE1KSA+PSAxMjsKK30KKworc3RhdGlj IGJvb2wgX19ndWNfcmNfc2VsZWN0ZWQoc3RydWN0IGludGVsX2d1YyAqZ3VjKQoreworCWlmICgh aW50ZWxfZ3VjX3JjX2lzX3N1cHBvcnRlZChndWMpKQorCQlyZXR1cm4gZmFsc2U7CisKKwlyZXR1 cm4gZ3VjLT5zdWJtaXNzaW9uX3NlbGVjdGVkOworfQorCit2b2lkIGludGVsX2d1Y19yY19pbml0 X2Vhcmx5KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlndWMtPnJjX3N1cHBvcnRlZCA9IF9f Z3VjX3JjX3N1cHBvcnRlZChndWMpOworCWd1Yy0+cmNfc2VsZWN0ZWQgPSBfX2d1Y19yY19zZWxl Y3RlZChndWMpOworfQorCitzdGF0aWMgaW50IGd1Y19hY3Rpb25fY29udHJvbF9ndWNyYyhzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMsIGJvb2wgZW5hYmxlKQoreworCXUzMiByY19tb2RlID0gZW5hYmxl ID8gSU5URUxfR1VDUkNfRklSTVdBUkVfQ09OVFJPTCA6CisJCQkJSU5URUxfR1VDUkNfSE9TVF9D T05UUk9MOworCXUzMiBhY3Rpb25bXSA9IHsKKwkJSU5URUxfR1VDX0FDVElPTl9TRVRVUF9QQ19H VUNSQywKKwkJcmNfbW9kZQorCX07CisJaW50IHJldDsKKworCXJldCA9IGludGVsX2d1Y19zZW5k KGd1YywgYWN0aW9uLCBBUlJBWV9TSVpFKGFjdGlvbikpOworCXJldCA9IHJldCA+IDAgPyAtRVBS T1RPIDogcmV0OworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBfX2d1Y19yY19jb250 cm9sKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgYm9vbCBlbmFibGUpCit7CisJc3RydWN0IGludGVs X2d0ICpndCA9IGd1Y190b19ndChndWMpOworCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSAmZ3Vj X3RvX2d0KGd1YyktPmk5MTUtPmRybTsKKwlpbnQgcmV0OworCisJaWYgKCFpbnRlbF91Y191c2Vz X2d1Y19yYygmZ3QtPnVjKSkKKwkJcmV0dXJuIC1FTk9UU1VQUDsKKworCWlmICghaW50ZWxfZ3Vj X2lzX3JlYWR5KGd1YykpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0ID0gZ3VjX2FjdGlvbl9j b250cm9sX2d1Y3JjKGd1YywgZW5hYmxlKTsKKwlpZiAocmV0KSB7CisJCWRybV9lcnIoZHJtLCAi RmFpbGVkIHRvICVzIEd1QyBSQyAoJXBlKVxuIiwKKwkJCWVuYWJsZWRpc2FibGUoZW5hYmxlKSwg RVJSX1BUUihyZXQpKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlkcm1faW5mbygmZ3QtPmk5MTUt PmRybSwgIkd1QyBSQzogJXNcbiIsCisJCWVuYWJsZWRkaXNhYmxlZChlbmFibGUpKTsKKworCXJl dHVybiAwOworfQorCitpbnQgaW50ZWxfZ3VjX3JjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZ3VjICpn dWMpCit7CisJcmV0dXJuIF9fZ3VjX3JjX2NvbnRyb2woZ3VjLCB0cnVlKTsKK30KKworaW50IGlu dGVsX2d1Y19yY19kaXNhYmxlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlyZXR1cm4gX19n dWNfcmNfY29udHJvbChndWMsIGZhbHNlKTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L3VjL2ludGVsX2d1Y19yYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMv aW50ZWxfZ3VjX3JjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41 N2U4NmMzMzc4MzgKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF9ndWNfcmMuaApAQCAtMCwwICsxLDMxIEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogTUlUICovCisvKgorICogQ29weXJpZ2h0IMKpIDIwMjEgSW50ZWwgQ29ycG9yYXRpb24K KyAqLworCisjaWZuZGVmIF9JTlRFTF9HVUNfUkNfSF8KKyNkZWZpbmUgX0lOVEVMX0dVQ19SQ19I XworCisjaW5jbHVkZSAiaW50ZWxfZ3VjX3N1Ym1pc3Npb24uaCIKKwordm9pZCBpbnRlbF9ndWNf cmNfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOworCitzdGF0aWMgaW5saW5lIGJv b2wgaW50ZWxfZ3VjX3JjX2lzX3N1cHBvcnRlZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJ cmV0dXJuIGd1Yy0+cmNfc3VwcG9ydGVkOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxf Z3VjX3JjX2lzX3dhbnRlZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJcmV0dXJuIGd1Yy0+ c3VibWlzc2lvbl9zZWxlY3RlZCAmJiBpbnRlbF9ndWNfcmNfaXNfc3VwcG9ydGVkKGd1Yyk7Cit9 CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9ndWNfcmNfaXNfdXNlZChzdHJ1Y3QgaW50ZWxf Z3VjICpndWMpCit7CisJcmV0dXJuIGludGVsX2d1Y19zdWJtaXNzaW9uX2lzX3VzZWQoZ3VjKSAm JiBpbnRlbF9ndWNfcmNfaXNfd2FudGVkKGd1Yyk7Cit9CisKK2ludCBpbnRlbF9ndWNfcmNfZW5h YmxlKHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7CitpbnQgaW50ZWxfZ3VjX3JjX2Rpc2FibGUoc3Ry dWN0IGludGVsX2d1YyAqZ3VjKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50 ZWxfdWMuaAppbmRleCA5MjVhNThjYTZiOTQuLjg2NmI0NjI4MjFjMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC91Yy9pbnRlbF91Yy5oCkBAIC03LDYgKzcsNyBAQAogI2RlZmluZSBfSU5URUxfVUNf SF8KIAogI2luY2x1ZGUgImludGVsX2d1Yy5oIgorI2luY2x1ZGUgImludGVsX2d1Y19yYy5oIgog I2luY2x1ZGUgImludGVsX2d1Y19zdWJtaXNzaW9uLmgiCiAjaW5jbHVkZSAiaW50ZWxfZ3VjX3Ns cGMuaCIKICNpbmNsdWRlICJpbnRlbF9odWMuaCIKQEAgLTg1LDYgKzg2LDcgQEAgdWNfc3RhdGVf Y2hlY2tlcnMoZ3VjLCBndWMpOwogdWNfc3RhdGVfY2hlY2tlcnMoaHVjLCBodWMpOwogdWNfc3Rh dGVfY2hlY2tlcnMoZ3VjLCBndWNfc3VibWlzc2lvbik7CiB1Y19zdGF0ZV9jaGVja2VycyhndWMs IGd1Y19zbHBjKTsKK3VjX3N0YXRlX2NoZWNrZXJzKGd1YywgZ3VjX3JjKTsKIAogI3VuZGVmIHVj X3N0YXRlX2NoZWNrZXJzCiAjdW5kZWYgX191Y19zdGF0ZV9jaGVja2VyCi0tIAoyLjI1LjAKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=