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=-10.0 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 D1CAAC433E2 for ; Fri, 26 Jun 2020 01:00:42 +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 F07AF20720 for ; Fri, 26 Jun 2020 01:00:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F07AF20720 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 7822A6EC2C; Fri, 26 Jun 2020 01:00:33 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6B5326EC29 for ; Fri, 26 Jun 2020 01:00:32 +0000 (UTC) IronPort-SDR: YD/n1f+TTbPpazT6fF9SfMtXroiZiz0J2p8zuiBqjc7ghARLWW1N5t+9T0lEBFX8Y5cwEsr3PH PtoHvaAzejOA== X-IronPort-AV: E=McAfee;i="6000,8403,9663"; a="145199132" X-IronPort-AV: E=Sophos;i="5.75,281,1589266800"; d="scan'208";a="145199132" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jun 2020 18:00:31 -0700 IronPort-SDR: 6ZXmPU0PZ+N29E9C5BLg4JOnmF9L2Sx0wYD8LeqgRRfc9h5RU9ARTT8fgpmizHA9HKnWZi+H2O mH46Zlht8/Mg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,281,1589266800"; d="scan'208";a="319887746" Received: from josouza-mobl2.jf.intel.com (HELO josouza-MOBL2.intel.com) ([10.24.14.51]) by FMSMGA003.fm.intel.com with ESMTP; 25 Jun 2020 18:00:31 -0700 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= To: intel-gfx@lists.freedesktop.org Date: Thu, 25 Jun 2020 18:01:50 -0700 Message-Id: <20200626010151.221388-4-jose.souza@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200626010151.221388-1-jose.souza@intel.com> References: <20200626010151.221388-1-jose.souza@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 4/5] drm/i915: Initial implementation of PSR2 selective fetch 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: Dhinakaran Pandiyan Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" QWxsIEdFTjEyIHBsYXRmb3JtcyBzdXBwb3J0cyBQU1IyIHNlbGVjdGl2ZSBmZXRjaCBidXQgbm90 IGFsbCBHRU4xMgpwbGF0Zm9ybXMgc3VwcG9ydHMgUFNSMiBoYXJkd2FyZSB0cmFja2luZyhha2Eg UktMKS4KClRoaXMgZmVhdHVyZSBjb25zaXN0cyBpbiBzb2Z0d2FyZSBwcm9ncmFtbWluZyByZWdp c3RlcnMgd2l0aCB0aGUKZGFtYWdlZCBhcmVhIG9mIGVhY2ggcGxhbmUgdGhpcyB3YXkgaGFyZHdh cmUgd2lsbCBvbmx5IGZldGNoIGZyb20KbWVtb3J5IHRob3NlIGFyZWFzIGFuZCBzZW50IHRoZSBQ U1IyIHNlbGVjdGl2ZSB1cGRhdGUgYmxvY2tzIHRvIHBhbmVsLApzYXZpbmcgZXZlbiBtb3JlIHBv d2VyLgoKQnV0IGFzIGluaXRpYWwgc3RlcCBpdCBpcyBvbmx5IGVuYWJsaW5nIHRoZSBmdWxsIGZy YW1lIGZldGNoIGF0CmV2ZXJ5IGZsaXAsIHRoZSBhY3R1YWwgc2VsZWN0aXZlIGZldGNoIHBhcnQg d2lsbCBjb21lIGluIGEgZnV0dXJlCnBhdGNoLgoKQWxzbyB0aGlzIGlzIG9ubHkgaGFuZGxpbmcg dGhlIHBhZ2UgZmxpcCBzaWRlLCBpdCBpcyBzdGlsbCBjb21wbGV0ZWx5Cm1pc3NpbmcgZnJvbnRi dWZmZXIgbW9kaWZpY2F0aW9ucywgdGhhdCBpcyB3aHkgdGhlCmVuYWJsZV9wc3IyX3NlbF9mZXRj aCBwYXJhbWV0ZXIgd2FzIGFkZGVkLgoKQlNwZWM6IDU1MjI5CkNjOiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtA aW50ZWwuY29tPgpDYzogR3dhbi1neWVvbmcgTXVuIDxnd2FuLWd5ZW9uZy5tdW5AaW50ZWwuY29t PgpDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpDYzogRGhpbmFrYXJh biBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8ICAzICsKIC4uLi9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZGVidWdmcy5jICB8ICAzICsKIC4uLi9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCAgICB8ICAzICsKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMgICAgICB8IDk1ICsrKysrKysrKysrKysrKystLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmggICAgICB8ICA1ICsKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICAgICB8ICAyICsKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMgICAgICAgICAgICB8ICA1ICsKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmggICAgICAgICAgICB8ICAxICsKIDggZmlsZXMgY2hh bmdlZCwgMTAzIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggYjY2MDA4YjgwNTg5Li5lYjNh NGYzMTdiMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jCkBAIC0xNTExNCw2ICsxNTExNCw4IEBAIHN0YXRpYyB2b2lkIGNvbW1pdF9waXBlX2NvbmZp ZyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAogCQlpZiAobmV3X2NydGNfc3Rh dGUtPnVwZGF0ZV9waXBlKQogCQkJaW50ZWxfcGlwZV9mYXN0c2V0KG9sZF9jcnRjX3N0YXRlLCBu ZXdfY3J0Y19zdGF0ZSk7CisKKwkJaW50ZWxfcHNyMl9wcm9ncmFtX3RyYW5zX21hbl90cmtfY3Rs KG5ld19jcnRjX3N0YXRlKTsKIAl9CiAKIAlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX3Vw ZGF0ZV93YXRlcm1hcmtzKQpAQCAtMTUxNTUsNiArMTUxNTcsNyBAQCBzdGF0aWMgdm9pZCBpbnRl bF91cGRhdGVfY3J0YyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCWludGVs X2NvbG9yX2xvYWRfbHV0cyhuZXdfY3J0Y19zdGF0ZSk7CiAKIAkJaW50ZWxfcHJlX3BsYW5lX3Vw ZGF0ZShzdGF0ZSwgY3J0Yyk7CisJCWludGVsX3BzcjJfc2VsX2ZldGNoX3VwZGF0ZShzdGF0ZSwg Y3J0Yyk7CiAKIAkJaWYgKG5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGlwZSkKIAkJCWludGVsX2Vu Y29kZXJzX3VwZGF0ZV9waXBlKHN0YXRlLCBjcnRjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZGVidWdmcy5jCmluZGV4IGQxY2I0OGIzZjQ2 Mi4uNGM5NTkxZjdlZDkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXlfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheV9kZWJ1Z2ZzLmMKQEAgLTQxNyw2ICs0MTcsOSBAQCBzdGF0aWMgaW50 IGk5MTVfZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCQkJ c3VfYmxvY2tzID0gc3VfYmxvY2tzID4+IFBTUjJfU1VfU1RBVFVTX1NISUZUKGZyYW1lKTsKIAkJ CXNlcV9wcmludGYobSwgIiVkXHQlZFxuIiwgZnJhbWUsIHN1X2Jsb2Nrcyk7CiAJCX0KKworCQlz ZXFfcHJpbnRmKG0sICJQU1IyIHNlbGVjdGl2ZSBmZXRjaDogJXNcbiIsCisJCQkgICBlbmFibGVk ZGlzYWJsZWQocHNyLT5wc3IyX3NlbF9mZXRjaF9lbmFibGVkKSk7CiAJfQogCiB1bmxvY2s6CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlw ZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5o CmluZGV4IDRiMGFhYTMwODFjOS4uNDRjOThhZTM5NjRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaApAQCAtOTMxLDYgKzkzMSw3 IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKIAogCWJvb2wgaGFzX3BzcjsKIAlib29sIGhh c19wc3IyOworCWJvb2wgZW5hYmxlX3BzcjJfc2VsX2ZldGNoOwogCXUzMiBkYzNjb19leGl0bGlu ZTsKIAogCS8qCkBAIC0xMDczLDYgKzEwNzQsOCBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7 CiAKIAkvKiBGb3IgRFNCIHJlbGF0ZWQgaW5mbyAqLwogCXN0cnVjdCBpbnRlbF9kc2IgKmRzYjsK KworCXUzMiBwc3IyX21hbl90cmFja19jdGw7CiB9OwogCiBlbnVtIGludGVsX3BpcGVfY3JjX3Nv dXJjZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bz ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYwppbmRleCA2MTFj YjhkNzQ4MTEuLjA3ODk4N2E4NzhiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9wc3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX3Bzci5jCkBAIC01NTMsNiArNTUzLDE0IEBAIHN0YXRpYyB2b2lkIGhzd19hY3RpdmF0ZV9w c3IyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJCXZhbCB8PSBFRFBfUFNSMl9GQVNUX1dB S0UoNyk7CiAJfQogCisJaWYgKGRldl9wcml2LT5wc3IucHNyMl9zZWxfZmV0Y2hfZW5hYmxlZCkK KwkJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsCisJCQkgICAgICAgUFNSMl9NQU5fVFJLX0NUTChk ZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLAorCQkJICAgICAgIFBTUjJfTUFOX1RSS19DVExfRU5B QkxFKTsKKwllbHNlIGlmIChIQVNfUFNSMl9TRUxfRkVUQ0goZGV2X3ByaXYpKQorCQlpbnRlbF9k ZV93cml0ZShkZXZfcHJpdiwKKwkJCSAgICAgICBQU1IyX01BTl9UUktfQ1RMKGRldl9wcml2LT5w c3IudHJhbnNjb2RlciksIDApOworCiAJLyoKIAkgKiBQU1IyIEhXIGlzIGluY29ycmVjdGx5IHVz aW5nIEVEUF9QU1JfVFAxX1RQM19TRUwgYW5kIEJTcGVjIGlzCiAJICogcmVjb21tZW5kaW5nIGtl ZXAgdGhpcyBiaXQgdW5zZXQgd2hpbGUgUFNSMiBpcyBlbmFibGVkLgpAQCAtNjYzLDYgKzY3MSwz OCBAQCB0Z2xfZGMzY29fZXhpdGxpbmVfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwKIAljcnRjX3N0YXRlLT5kYzNjb19leGl0bGluZSA9IGNydGNfdmRpc3BsYXkgLSBl eGl0X3NjYW5saW5lczsKIH0KIAorc3RhdGljIGJvb2wgaW50ZWxfcHNyMl9zZWxfZmV0Y2hfY29u ZmlnX3ZhbGlkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCisJCQkJCSAgICAgIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQoreworCXN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKGNydGNfc3RhdGUtPnVhcGkuc3RhdGUp OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxf ZHApOworCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7CisJc3RydWN0IGlu dGVsX3BsYW5lICpwbGFuZTsKKwlpbnQgaTsKKworCWlmICghZGV2X3ByaXYtPnBhcmFtcy5lbmFi bGVfcHNyMl9zZWxfZmV0Y2gpIHsKKwkJZHJtX2RiZ19rbXMoJmRldl9wcml2LT5kcm0sCisJCQkg ICAgIlBTUjIgc2VsIGZldGNoIG5vdCBlbmFibGVkLCBkaXNhYmxlZCBieSBwYXJhbWV0ZXJcbiIp OworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJaWYgKGNydGNfc3RhdGUtPnVhcGkuYXN5bmNfZmxp cCkgeworCQlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwKKwkJCSAgICAiUFNSMiBzZWwgZmV0 Y2ggbm90IGVuYWJsZWQsIGFzeW5jIGZsaXAgZW5hYmxlZFxuIik7CisJCXJldHVybiBmYWxzZTsK Kwl9CisKKwlmb3JfZWFjaF9uZXdfaW50ZWxfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBw bGFuZV9zdGF0ZSwgaSkgeworCQlpZiAocGxhbmVfc3RhdGUtPnVhcGkucm90YXRpb24gIT0gRFJN X01PREVfUk9UQVRFXzApIHsKKwkJCWRybV9kYmdfa21zKCZkZXZfcHJpdi0+ZHJtLAorCQkJCSAg ICAiUFNSMiBzZWwgZmV0Y2ggbm90IGVuYWJsZWQsIHBsYW5lIHJvdGF0ZWRcbiIpOworCQkJcmV0 dXJuIGZhbHNlOworCQl9CisJfQorCisJcmV0dXJuIGNydGNfc3RhdGUtPmVuYWJsZV9wc3IyX3Nl bF9mZXRjaCA9IHRydWU7Cit9CisKIHN0YXRpYyBib29sIGludGVsX3BzcjJfY29uZmlnX3ZhbGlk KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQogewpAQCAtNzMyLDIyICs3NzIsMTcgQEAgc3RhdGljIGJvb2wgaW50 ZWxfcHNyMl9jb25maWdfdmFsaWQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJcmV0dXJu IGZhbHNlOwogCX0KIAotCS8qCi0JICogU29tZSBwbGF0Zm9ybXMgbGFjayBQU1IyIEhXIHRyYWNr aW5nIGFuZCBpbnN0ZWFkIHJlcXVpcmUgbWFudWFsCi0JICogdHJhY2tpbmcgYnkgc29mdHdhcmUu ICBJbiB0aGlzIGNhc2UsIHRoZSBkcml2ZXIgaXMgcmVxdWlyZWQgdG8gdHJhY2sKLQkgKiB0aGUg YXJlYXMgdGhhdCBuZWVkIHVwZGF0ZXMgYW5kIHByb2dyYW0gaGFyZHdhcmUgdG8gc2VuZCBzZWxl Y3RpdmUKLQkgKiB1cGRhdGVzLgotCSAqCi0JICogU28gdW50aWwgdGhlIHNvZnR3YXJlIHRyYWNr aW5nIGlzIGltcGxlbWVudGVkLCBQU1IyIG5lZWRzIHRvIGJlCi0JICogZGlzYWJsZWQgZm9yIHBs YXRmb3JtcyB3aXRob3V0IFBTUjIgSFcgdHJhY2tpbmcuCi0JICovCi0JaWYgKCFIQVNfUFNSX0hX X1RSQUNLSU5HKGRldl9wcml2KSkgewotCQlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwKLQkJ CSAgICAiTm8gUFNSMiBIVyB0cmFja2luZyBpbiB0aGUgcGxhdGZvcm1cbiIpOwotCQlyZXR1cm4g ZmFsc2U7CisJaWYgKEhBU19QU1IyX1NFTF9GRVRDSChkZXZfcHJpdikpIHsKKwkJaWYgKCFpbnRl bF9wc3IyX3NlbF9mZXRjaF9jb25maWdfdmFsaWQoaW50ZWxfZHAsIGNydGNfc3RhdGUpICYmCisJ CSAgICAhSEFTX1BTUl9IV19UUkFDS0lORyhkZXZfcHJpdikpIHsKKwkJCWRybV9kYmdfa21zKCZk ZXZfcHJpdi0+ZHJtLAorCQkJCSAgICAiUFNSMiBub3QgZW5hYmxlZCwgc2VsZWN0aXZlIGZldGNo IG5vdCB2YWxpZCBhbmQgbm8gSFcgdHJhY2tpbmcgYXZhaWxhYmxlXG4iKTsKKwkJCXJldHVybiBm YWxzZTsKKwkJfQogCX0KIAotCWlmIChjcnRjX2hkaXNwbGF5ID4gcHNyX21heF9oIHx8IGNydGNf dmRpc3BsYXkgPiBwc3JfbWF4X3YpIHsKKwlpZiAoIWNydGNfc3RhdGUtPmVuYWJsZV9wc3IyX3Nl bF9mZXRjaCAmJgorCSAgICAoY3J0Y19oZGlzcGxheSA+IHBzcl9tYXhfaCB8fCBjcnRjX3ZkaXNw bGF5ID4gcHNyX21heF92KSkgewogCQlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwKIAkJCSAg ICAiUFNSMiBub3QgZW5hYmxlZCwgcmVzb2x1dGlvbiAlZHglZCA+IG1heCBzdXBwb3J0ZWQgJWR4 JWRcbiIsCiAJCQkgICAgY3J0Y19oZGlzcGxheSwgY3J0Y192ZGlzcGxheSwKQEAgLTg5OCw2ICs5 MzMsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwKIAkJdmFsIHw9IEVYSVRMSU5FX0VOQUJMRTsKIAkJaW50ZWxfZGVfd3Jp dGUoZGV2X3ByaXYsIEVYSVRMSU5FKGNwdV90cmFuc2NvZGVyKSwgdmFsKTsKIAl9CisKKwlpZiAo SEFTX1BTUl9IV19UUkFDS0lORyhkZXZfcHJpdikpCisJCWludGVsX2RlX3JtdyhkZXZfcHJpdiwg Q0hJQ0tFTl9QQVIxXzEsIElHTk9SRV9QU1IyX0hXX1RSQUNLSU5HLAorCQkJICAgICBkZXZfcHJp di0+cHNyLnBzcjJfc2VsX2ZldGNoX2VuYWJsZWQgPworCQkJICAgICBJR05PUkVfUFNSMl9IV19U UkFDS0lORyA6IDApOwogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZW5hYmxlX2xvY2tlZChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCkBAIC05MTksNiArOTU5LDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCS8qIERDNS9EQzYgcmVxdWlyZXMgYXQgbGVhc3QgNiBpZGxlIGZyYW1lcyAq LwogCXZhbCA9IHVzZWNzX3RvX2ppZmZpZXMoaW50ZWxfZ2V0X2ZyYW1lX3RpbWVfdXMoY3J0Y19z dGF0ZSkgKiA2KTsKIAlkZXZfcHJpdi0+cHNyLmRjM2NvX2V4aXRfZGVsYXkgPSB2YWw7CisJZGV2 X3ByaXYtPnBzci5wc3IyX3NlbF9mZXRjaF9lbmFibGVkID0gY3J0Y19zdGF0ZS0+ZW5hYmxlX3Bz cjJfc2VsX2ZldGNoOwogCiAJLyoKIAkgKiBJZiBhIFBTUiBlcnJvciBoYXBwZW5lZCBhbmQgdGhl IGRyaXZlciBpcyByZWxvYWRlZCwgdGhlIEVEUF9QU1JfSUlSCkBAIC0xMTE1LDYgKzExNTYsMzIg QEAgc3RhdGljIHZvaWQgcHNyX2ZvcmNlX2h3X3RyYWNraW5nX2V4aXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogCQlpbnRlbF9wc3JfZXhpdChkZXZfcHJpdik7CiB9CiAKK3Zv aWQgaW50ZWxfcHNyMl9wcm9ncmFtX3RyYW5zX21hbl90cmtfY3RsKGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQoreworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOworCXN0cnVjdCBpOTE1 X3BzciAqcHNyID0gJmRldl9wcml2LT5wc3I7CisKKwlpZiAoIUhBU19QU1IyX1NFTF9GRVRDSChk ZXZfcHJpdikgfHwKKwkgICAgIWNydGNfc3RhdGUtPmVuYWJsZV9wc3IyX3NlbF9mZXRjaCkKKwkJ cmV0dXJuOworCisJaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIFBTUjJfTUFOX1RSS19DVEwocHNy LT50cmFuc2NvZGVyKSwKKwkJICAgICAgIGNydGNfc3RhdGUtPnBzcjJfbWFuX3RyYWNrX2N0bCk7 Cit9CisKK3ZvaWQgaW50ZWxfcHNyMl9zZWxfZmV0Y2hfdXBkYXRlKHN0cnVjdCBpbnRlbF9hdG9t aWNfc3RhdGUgKnN0YXRlLAorCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKK3sKKwlzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfbmV3X2Ny dGNfc3RhdGUoc3RhdGUsIGNydGMpOworCisJaWYgKCFjcnRjX3N0YXRlLT5lbmFibGVfcHNyMl9z ZWxfZmV0Y2gpCisJCXJldHVybjsKKworCWNydGNfc3RhdGUtPnBzcjJfbWFuX3RyYWNrX2N0bCA9 IFBTUjJfTUFOX1RSS19DVExfRU5BQkxFIHwKKwkJCQkJIFBTUjJfTUFOX1RSS19DVExfU0ZfU0lO R0xFX0ZVTExfRlJBTUU7Cit9CisKIC8qKgogICogaW50ZWxfcHNyX3VwZGF0ZSAtIFVwZGF0ZSBQ U1Igc3RhdGUKICAqIEBpbnRlbF9kcDogSW50ZWwgRFAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX3Bzci5oCmluZGV4IGI0NTE1MTg2ZDVmNC4uNmE4M2M4ZTY4MmU2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmgKQEAgLTEzLDYgKzEzLDggQEAgc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGU7CiBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsKIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlOwogc3RydWN0IGludGVsX2RwOworc3RydWN0IGludGVsX2NydGM7 CitzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlOwogCiAjZGVmaW5lIENBTl9QU1IoZGV2X3ByaXYp IChIQVNfUFNSKGRldl9wcml2KSAmJiBkZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9ydCkKIHZvaWQg aW50ZWxfcHNyX2luaXRfZHBjZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKQEAgLTQzLDUg KzQ1LDggQEAgdm9pZCBpbnRlbF9wc3JfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCiAJCQkgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9zdGF0 ZSwKIAkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X3N0YXRlKTsKIHZvaWQg aW50ZWxfcHNyX3NldF9mb3JjZV9tb2RlX2NoYW5nZWQoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCk7Cit2b2lkIGludGVsX3BzcjJfc2VsX2ZldGNoX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSwKKwkJCQkgc3RydWN0IGludGVsX2NydGMgKmNydGMpOwordm9pZCBpbnRl bF9wc3IyX3Byb2dyYW1fdHJhbnNfbWFuX3Rya19jdGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpOwogCiAjZW5kaWYgLyogX19JTlRFTF9QU1JfSF9fICovCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCA5YWFkM2VjOTc5YmQuLjAzOGJkNTdlNDI5ZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCkBAIC01MDMsNiArNTAzLDcgQEAgc3RydWN0IGk5MTVfcHNyIHsK IAlib29sIGxpbmtfc3RhbmRieTsKIAlib29sIGNvbG9yaW1ldHJ5X3N1cHBvcnQ7CiAJYm9vbCBw c3IyX2VuYWJsZWQ7CisJYm9vbCBwc3IyX3NlbF9mZXRjaF9lbmFibGVkOwogCXU4IHNpbmtfc3lu Y19sYXRlbmN5OwogCWt0aW1lX3QgbGFzdF9lbnRyeV9hdHRlbXB0OwogCWt0aW1lX3QgbGFzdF9l eGl0OwpAQCAtMTY1MSw2ICsxNjUyLDcgQEAgSVNfU1VCUExBVEZPUk0oY29uc3Qgc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAjZGVmaW5lIEhBU19QU1IoZGV2X3ByaXYpCQkgKElOVEVM X0lORk8oZGV2X3ByaXYpLT5kaXNwbGF5Lmhhc19wc3IpCiAjZGVmaW5lIEhBU19QU1JfSFdfVFJB Q0tJTkcoZGV2X3ByaXYpIFwKIAkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmRpc3BsYXkuaGFzX3Bz cl9od190cmFja2luZykKKyNkZWZpbmUgSEFTX1BTUjJfU0VMX0ZFVENIKGRldl9wcml2KQkgKElO VEVMX0dFTihkZXZfcHJpdikgPj0gMTIpCiAjZGVmaW5lIEhBU19UUkFOU0NPREVSKGRldl9wcml2 LCB0cmFucykJICgoSU5URUxfSU5GTyhkZXZfcHJpdiktPmNwdV90cmFuc2NvZGVyX21hc2sgJiBC SVQodHJhbnMpKSAhPSAwKQogCiAjZGVmaW5lIEhBU19SQzYoZGV2X3ByaXYpCQkgKElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5oYXNfcmM2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wYXJhbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMKaW5kZXgg YTdiNjFlNmVjNTA4Li5kYTY4NmY4YmNiMDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGFyYW1zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMu YwpAQCAtMTAyLDYgKzEwMiwxMSBAQCBpOTE1X3BhcmFtX25hbWVkKHBzcl9zYWZlc3RfcGFyYW1z LCBib29sLCAwNDAwLAogCSJpcyBoZWxwZnVsbCB0byBkZXRlY3QgaWYgUFNSIGlzc3VlcyBhcmUg cmVsYXRlZCB0byBiYWQgdmFsdWVzIHNldCBpbiAiCiAJIiBWQlQuICgwPXVzZSBWQlQgcGFyYW10 ZXJzLCAxPXVzZSBzYWZlc3QgcGFyYW1ldGVycykiKTsKIAoraTkxNV9wYXJhbV9uYW1lZF91bnNh ZmUoZW5hYmxlX3BzcjJfc2VsX2ZldGNoLCBib29sLCAwNDAwLAorCSJFbmFibGUgUFNSMiBzZWxl Y3RpdmUgZmV0Y2ggIgorCSIoMD1kaXNhYmxlZCwgMT1lbmFibGVkKSAiCisJIkRlZmF1bHQ6IDAi KTsKKwogaTkxNV9wYXJhbV9uYW1lZF91bnNhZmUoZm9yY2VfcHJvYmUsIGNoYXJwLCAwNDAwLAog CSJGb3JjZSBwcm9iZSB0aGUgZHJpdmVyIGZvciBzcGVjaWZpZWQgZGV2aWNlcy4gIgogCSJTZWUg Q09ORklHX0RSTV9JOTE1X0ZPUkNFX1BST0JFIGZvciBkZXRhaWxzLiIpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGFyYW1zLmgKaW5kZXggNTNmYjViYThmYmVkLi4zMzBjMDNlMmI0ZjcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wYXJhbXMuaApAQCAtNTQsNiArNTQsNyBAQCBzdHJ1Y3QgZHJtX3ByaW50 ZXI7CiAJcGFyYW0oaW50LCBlbmFibGVfZmJjLCAtMSwgMDYwMCkgXAogCXBhcmFtKGludCwgZW5h YmxlX3BzciwgLTEsIDA2MDApIFwKIAlwYXJhbShib29sLCBwc3Jfc2FmZXN0X3BhcmFtcywgZmFs c2UsIDA2MDApIFwKKwlwYXJhbShib29sLCBlbmFibGVfcHNyMl9zZWxfZmV0Y2gsIGZhbHNlLCAw NjAwKSBcCiAJcGFyYW0oaW50LCBkaXNhYmxlX3Bvd2VyX3dlbGwsIC0xLCAwNDAwKSBcCiAJcGFy YW0oaW50LCBlbmFibGVfaXBzLCAxLCAwNjAwKSBcCiAJcGFyYW0oaW50LCBpbnZlcnRfYnJpZ2h0 bmVzcywgMCwgMDYwMCkgXAotLSAKMi4yNy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK