From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: [PATCH v6 02/23] drm/i915/gen9: Separate RPS and RC6 handling Date: Thu, 16 Mar 2017 22:02:04 +0530 Message-ID: <1489681945-14058-3-git-send-email-sagar.a.kamble@intel.com> References: <1489681945-14058-1-git-send-email-sagar.a.kamble@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2EDB86EB4F for ; Thu, 16 Mar 2017 16:30:01 +0000 (UTC) In-Reply-To: <1489681945-14058-1-git-send-email-sagar.a.kamble@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2l0aCBHdUMgYmFzZWQgU0xQQywgZnJlcXVlbmN5IGNvbnRyb2wgd2lsbCBiZSBtb3ZlZCB0byBH dUMgYW5kIEhvc3Qgd2lsbApjb250aW51ZSB0byBjb250cm9sIFJDNiBhbmQgUmluZyBmcmVxdWVu Y3kgc2V0dXAuIFNMUEMgY2FuIGJlIGVuYWJsZWQgaW4KdGhlIEd1QyBzZXR1cCBwYXRoIGFuZCBj YW4gaGFwcGVuIGluIHBhcmFsbGVsIGluIEd1QyB3aXRoIG90aGVyIGk5MTUgc2V0dXAuCkhlbmNl IHdlIGNhbiBkbyBhd2F5IHdpdGggZGVmZXJyZWQgUlBTIGVuYWJsaW5nLiBUaGlzIG5lZWRzIHNl cGFyYXRlCmhhbmRsaW5nIG9mIFJQUywgUkM2IGFuZCByaW5nIGZyZXF1ZW5jaWVzIGluIGRyaXZl ciBmbG93cy4gV2UgY2FuIHN0aWxsIHVzZQp0aGUgKmd0X3Bvd2Vyc2F2ZSByb3V0aW5lcyB3aXRo IHNlcGFyYXRlIHN0YXR1cyB2YXJpYWJsZXMgb2YgUlBTLCBSQzYgYW5kClNMUEMuIFdpdGggdGhp cyBwYXRjaCwgUkM2IGFuZCByaW5nIGZyZXF1ZW5jaWVzIHNldHVwKGlmIGFwcGxpY2FibGUpIGFy ZQp0cmFja2VkIHRocm91Z2ggcnBzLnJjNl9lbmFibGVkIGFuZCBSUFMgdGhyb3VnaCBycHMuZW5h YmxlZC4KQWxzbywgQWN0aXZlIFJQUyBjaGVjayBpbiBzdXNwZW5kIGZsb3cgaXMgbmVlZGVkIGZv ciBwbGF0Zm9ybXMgd2l0aCBSQzYKYW5kIFJQUyBlbmFibGluZy9kaXNhYmxpbmcgY291cGxlZCB0 b2dldGhlci4gUlBNIHN1c3BlbmQgZGVwZW5kcyBvbmx5IG9uClJDNiB0aG91Z2guIEhlbmNlIEFj dGl2ZSBSUFMgY2hlY2sgaXMgZG9uZSBvbmx5IGZvciBub24tR2VuOSBwbGF0Zm9ybXMuCk1vdmVk IHNldHRpbmcgb2YgcnBzLmVuYWJsZWQgdG8gcGxhdGZvcm0gbGV2ZWwgZnVuY3Rpb25zIGFzIHRo ZXJlIGlzIGNhc2UKb2YgZGlzYWJsaW5nIG9mIFJQUyBpbiBnZW45X2VuYWJsZV9ycHMuCgp2Mjog Q2hhbmdpbmcgcGFyYW1ldGVyIHRvIGRldl9wcml2IGZvciBJU19HRU45IGFuZCBIQVNfUlVOVElN RV9QTSBhbmQgbGluZQogICAgc3BhY2luZyBjaGFuZ2VzLiAoRGF2aWQpCiAgICBhbmQgY29tbWl0 IG1lc3NhZ2UgdXBkYXRlIGZvciBjaGVja3BhdGNoIGlzc3Vlcy4KCnYzOiBSZWJhc2UuCgp2NDog Q29tbWl0IG1lc3NhZ2UgdXBkYXRlLgoKdjU6IFVwZGF0ZWQgaW50ZWxfZW5hYmxlX2d0X3Bvd2Vy c2F2ZSBhbmQgaW50ZWxfZGlzYWJsZV9ndF9wb3dlcnNhdmUKICAgIHJvdXRpbmVzIHdpdGggc2Vw YXJhdGVkIFJQUyBhbmQgUkM2IGhhbmRsaW5nIGFuZCByZWJhc2UuIENvbW1pdCBtZXNzYWdlCiAg ICB1cGRhdGUuKFNhZ2FyKQoKdjY6IEFkZGVkIGNvbW1lbnRzIGF0IHRoZSBkZWZpbml0aW9uIG9m IHJjNl9lbmFibGVkLgoKU2lnbmVkLW9mZi1ieTogU2FnYXIgQXJ1biBLYW1ibGUgPHNhZ2FyLmEu a2FtYmxlQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIHwg IDYgKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggfCAgNSArKysrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMTEg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggOTE2NDE2Ny4uMDMwMmQy NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0yMzU4LDcgKzIzNTgsMTEgQEAgc3RhdGlj IGludCBpbnRlbF9ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqa2RldikKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJaW50IHJldDsKIAot CWlmIChXQVJOX09OX09OQ0UoIShkZXZfcHJpdi0+cnBzLmVuYWJsZWQgJiYgaW50ZWxfZW5hYmxl X3JjNigpKSkpCisJaWYgKFdBUk5fT05fT05DRSghaW50ZWxfZW5hYmxlX3JjNigpKSkKKwkJcmV0 dXJuIC1FTk9ERVY7CisKKwlpZiAoV0FSTl9PTl9PTkNFKChJU19HRU45KGRldl9wcml2KSAmJiAh ZGV2X3ByaXYtPnJwcy5yYzZfZW5hYmxlZCkgfHwKKwkJCSAoIUlTX0dFTjkoZGV2X3ByaXYpICYm ICFkZXZfcHJpdi0+cnBzLmVuYWJsZWQpKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAlpZiAoV0FS Tl9PTl9PTkNFKCFIQVNfUlVOVElNRV9QTShkZXZfcHJpdikpKQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKaW5kZXggMzU1YmM1NDUuLjdiYWZjZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAt MTM3Miw3ICsxMzcyLDEyIEBAIHN0cnVjdCBpbnRlbF9nZW42X3Bvd2VyX21nbXQgewogCXN0cnVj dCBsaXN0X2hlYWQgY2xpZW50czsKIAlib29sIGNsaWVudF9ib29zdDsKIAorCS8qCisJICogRm9y IHBsYXRmb3JtcyBwcmlvciB0byBHZW45LCBSUFMgYW5kIFJDNiBzdGF0dXMgaXMgdHJhY2tlZAor CSAqIHRocm91Z2ggImVuYWJsZWQiLiBGb3IgR2VuOSwgUkM2IGlzIHRyYWNrZWQgdGhyb3VnaCAi cmM2X2VuYWJsZWQiLgorCSAqLwogCWJvb2wgZW5hYmxlZDsKKwlib29sIHJjNl9lbmFibGVkOwog CXN0cnVjdCBkZWxheWVkX3dvcmsgYXV0b2VuYWJsZV93b3JrOwogCXVuc2lnbmVkIGJvb3N0czsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggMmNhMzhhZS4uOGU0MTU5NiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jCkBAIC01Mzk3LDExICs1Mzk3LDE1IEBAIHN0YXRpYyB2b2lkIGdlbjlf ZGlzYWJsZV9yYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCUk5MTVf V1JJVEUoR0VONl9SQ19DT05UUk9MLCAwKTsKIAlJOTE1X1dSSVRFKEdFTjlfUEdfRU5BQkxFLCAw KTsKKworCWRldl9wcml2LT5ycHMucmM2X2VuYWJsZWQgPSBmYWxzZTsKIH0KIAogc3RhdGljIHZv aWQgZ2VuOV9kaXNhYmxlX3JwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7 CiAJSTkxNV9XUklURShHRU42X1JQX0NPTlRST0wsIDApOworCisJZGV2X3ByaXYtPnJwcy5lbmFi bGVkID0gZmFsc2U7CiB9CiAKIHN0YXRpYyB2b2lkIGdlbjZfZGlzYWJsZV9ycHMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpAQCAtNTQwOSwxMSArNTQxMywxNSBAQCBzdGF0aWMg dm9pZCBnZW42X2Rpc2FibGVfcnBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK IAlJOTE1X1dSSVRFKEdFTjZfUkNfQ09OVFJPTCwgMCk7CiAJSTkxNV9XUklURShHRU42X1JQTlNX UkVRLCAxIDw8IDMxKTsKIAlJOTE1X1dSSVRFKEdFTjZfUlBfQ09OVFJPTCwgMCk7CisKKwlkZXZf cHJpdi0+cnBzLmVuYWJsZWQgPSBmYWxzZTsKIH0KIAogc3RhdGljIHZvaWQgY2hlcnJ5dmlld19k aXNhYmxlX3JwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJSTkxNV9X UklURShHRU42X1JDX0NPTlRST0wsIDApOworCisJZGV2X3ByaXYtPnJwcy5lbmFibGVkID0gZmFs c2U7CiB9CiAKIHN0YXRpYyB2b2lkIHZhbGxleXZpZXdfZGlzYWJsZV9ycHMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQpAQCAtNTQyNSw2ICs1NDMzLDggQEAgc3RhdGljIHZvaWQg dmFsbGV5dmlld19kaXNhYmxlX3JwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJSTkxNV9XUklURShHRU42X1JDX0NPTlRST0wsIDApOwogCiAJaW50ZWxfdW5jb3JlX2ZvcmNl d2FrZV9wdXQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOworCisJZGV2X3ByaXYtPnJwcy5lbmFi bGVkID0gZmFsc2U7CiB9CiAKIHN0YXRpYyB2b2lkIGludGVsX3ByaW50X3JjNl9pbmZvKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIG1vZGUpCkBAIC01NjI3LDYgKzU2Mzcs OCBAQCBzdGF0aWMgdm9pZCBnZW45X2VuYWJsZV9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQogCXJlc2V0X3JwcyhkZXZfcHJpdiwgZ2VuNl9zZXRfcnBzKTsKIAogCWludGVs X3VuY29yZV9mb3JjZXdha2VfcHV0KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKKworCWRldl9w cml2LT5ycHMuZW5hYmxlZCA9IHRydWU7CiB9CiAKIHN0YXRpYyB2b2lkIGdlbjlfZW5hYmxlX3Jj NihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCkBAIC01Njg1LDYgKzU2OTcsOCBA QCBzdGF0aWMgdm9pZCBnZW45X2VuYWJsZV9yYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCQkJCShHRU45X1JFTkRFUl9QR19FTkFCTEUgfCBHRU45X01FRElBX1BHX0VOQUJM RSkgOiAwKTsKIAogCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0KGRldl9wcml2LCBGT1JDRVdB S0VfQUxMKTsKKworCWRldl9wcml2LT5ycHMucmM2X2VuYWJsZWQgPSB0cnVlOwogfQogCiBzdGF0 aWMgdm9pZCBnZW44X2VuYWJsZV9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQpAQCAtNTc2Miw2ICs1Nzc2LDggQEAgc3RhdGljIHZvaWQgZ2VuOF9lbmFibGVfcnBzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlyZXNldF9ycHMoZGV2X3ByaXYsIGdlbjZf c2V0X3Jwcyk7CiAKIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dChkZXZfcHJpdiwgRk9SQ0VX QUtFX0FMTCk7CisKKwlkZXZfcHJpdi0+cnBzLmVuYWJsZWQgPSB0cnVlOwogfQogCiBzdGF0aWMg dm9pZCBnZW42X2VuYWJsZV9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpA QCAtNTg1NSw2ICs1ODcxLDggQEAgc3RhdGljIHZvaWQgZ2VuNl9lbmFibGVfcnBzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAl9CiAKIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtl X3B1dChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7CisKKwlkZXZfcHJpdi0+cnBzLmVuYWJsZWQg PSB0cnVlOwogfQogCiBzdGF0aWMgdm9pZCBnZW42X3VwZGF0ZV9yaW5nX2ZyZXEoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpAQCAtNjM0MCw2ICs2MzU4LDggQEAgc3RhdGljIHZv aWQgY2hlcnJ5dmlld19lbmFibGVfcnBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAlyZXNldF9ycHMoZGV2X3ByaXYsIHZhbGxleXZpZXdfc2V0X3Jwcyk7CiAKIAlpbnRlbF91 bmNvcmVfZm9yY2V3YWtlX3B1dChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7CisKKwlkZXZfcHJp di0+cnBzLmVuYWJsZWQgPSB0cnVlOwogfQogCiBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2VuYWJs ZV9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpAQCAtNjQyMSw2ICs2NDQx LDggQEAgc3RhdGljIHZvaWQgdmFsbGV5dmlld19lbmFibGVfcnBzKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIAlyZXNldF9ycHMoZGV2X3ByaXYsIHZhbGxleXZpZXdfc2V0X3Jw cyk7CiAKIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FM TCk7CisKKwlkZXZfcHJpdi0+cnBzLmVuYWJsZWQgPSB0cnVlOwogfQogCiBzdGF0aWMgdW5zaWdu ZWQgbG9uZyBpbnRlbF9weGZyZXEodTMyIHZpZGZyZXEpCkBAIC02OTg1LDYgKzcwMDcsNyBAQCB2 b2lkIGludGVsX3N1c3BlbmRfZ3RfcG93ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIHZvaWQgaW50ZWxfc2FuaXRpemVfZ3RfcG93ZXJzYXZlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlkZXZfcHJpdi0+cnBzLmVuYWJsZWQgPSB0cnVlOyAv KiBmb3JjZSBkaXNhYmxpbmcgKi8KKwlkZXZfcHJpdi0+cnBzLnJjNl9lbmFibGVkID0gdHJ1ZTsK IAlpbnRlbF9kaXNhYmxlX2d0X3Bvd2Vyc2F2ZShkZXZfcHJpdik7CiAKIAlnZW42X3Jlc2V0X3Jw c19pbnRlcnJ1cHRzKGRldl9wcml2KTsKQEAgLTY5OTIsMTQgKzcwMTUsMjAgQEAgdm9pZCBpbnRl bF9zYW5pdGl6ZV9ndF9wb3dlcnNhdmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQogCiB2b2lkIGludGVsX2Rpc2FibGVfZ3RfcG93ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIHsKLQlpZiAoIVJFQURfT05DRShkZXZfcHJpdi0+cnBzLmVuYWJsZWQp KQorCWlmICghUkVBRF9PTkNFKGRldl9wcml2LT5ycHMuZW5hYmxlZCkpIHsKKwkJaWYgKFdBUk5f T05fT05DRShJU19HRU45KGRldl9wcml2KSAmJgorCQkJCSBSRUFEX09OQ0UoZGV2X3ByaXYtPnJw cy5yYzZfZW5hYmxlZCkpKQorCQkJRFJNX0VSUk9SKCJSQzYgbm90IGRpc2FibGVkLlxuIik7CiAJ CXJldHVybjsKKwl9CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spOwogCiAJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewotCQlnZW45X2Rpc2FibGVfcmM2KGRldl9w cml2KTsKLQkJZ2VuOV9kaXNhYmxlX3JwcyhkZXZfcHJpdik7CisJCWlmIChSRUFEX09OQ0UoZGV2 X3ByaXYtPnJwcy5yYzZfZW5hYmxlZCkpCisJCQlnZW45X2Rpc2FibGVfcmM2KGRldl9wcml2KTsK KwkJaWYgKFJFQURfT05DRShkZXZfcHJpdi0+cnBzLmVuYWJsZWQpKQorCQkJZ2VuOV9kaXNhYmxl X3JwcyhkZXZfcHJpdik7CiAJfSBlbHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewog CQljaGVycnl2aWV3X2Rpc2FibGVfcnBzKGRldl9wcml2KTsKIAl9IGVsc2UgaWYgKElTX1ZBTExF WVZJRVcoZGV2X3ByaXYpKSB7CkBAIC03MDEwLDcgKzcwMzksNiBAQCB2b2lkIGludGVsX2Rpc2Fi bGVfZ3RfcG93ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJaXJv bmxha2VfZGlzYWJsZV9kcnBzKGRldl9wcml2KTsKIAl9CiAKLQlkZXZfcHJpdi0+cnBzLmVuYWJs ZWQgPSBmYWxzZTsKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5ycHMuaHdfbG9jayk7CiB9CiAK QEAgLTcwMTksOCArNzA0NywxMiBAQCB2b2lkIGludGVsX2VuYWJsZV9ndF9wb3dlcnNhdmUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCS8qIFdlIHNob3VsZG4ndCBiZSBkaXNh YmxpbmcgYXMgd2Ugc3VibWl0LCBzbyB0aGlzIHNob3VsZCBiZSBsZXNzCiAJICogcmFjeSB0aGFu IGl0IGFwcGVhcnMhCiAJICovCi0JaWYgKFJFQURfT05DRShkZXZfcHJpdi0+cnBzLmVuYWJsZWQp KQorCWlmIChSRUFEX09OQ0UoZGV2X3ByaXYtPnJwcy5lbmFibGVkKSkgeworCQlpZiAoV0FSTl9P Tl9PTkNFKElTX0dFTjkoZGV2X3ByaXYpICYmCisJCQkJICFSRUFEX09OQ0UoZGV2X3ByaXYtPnJw cy5yYzZfZW5hYmxlZCkpKQorCQkJRFJNX0VSUk9SKCJSQzYgYW5kIHJpbmcgZnJlcXVlbmNpZXMg bm90IGVuYWJsZWQuXG4iKTsKIAkJcmV0dXJuOworCX0KIAogCS8qIFBvd2Vyc2F2aW5nIGlzIGNv bnRyb2xsZWQgYnkgdGhlIGhvc3Qgd2hlbiBpbnNpZGUgYSBWTSAqLwogCWlmIChpbnRlbF92Z3B1 X2FjdGl2ZShkZXZfcHJpdikpCkBAIC03MDMzLDEwICs3MDY1LDEzIEBAIHZvaWQgaW50ZWxfZW5h YmxlX2d0X3Bvd2Vyc2F2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJfSBl bHNlIGlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSkgewogCQl2YWxsZXl2aWV3X2VuYWJsZV9y cHMoZGV2X3ByaXYpOwogCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Ci0J CWdlbjlfZW5hYmxlX3JjNihkZXZfcHJpdik7Ci0JCWdlbjlfZW5hYmxlX3JwcyhkZXZfcHJpdik7 Ci0JCWlmIChJU19HRU45X0JDKGRldl9wcml2KSkKLQkJCWdlbjZfdXBkYXRlX3JpbmdfZnJlcShk ZXZfcHJpdik7CisJCWlmICghUkVBRF9PTkNFKGRldl9wcml2LT5ycHMucmM2X2VuYWJsZWQpKSB7 CisJCQlnZW45X2VuYWJsZV9yYzYoZGV2X3ByaXYpOworCQkJaWYgKElTX1NLWUxBS0UoZGV2X3By aXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkKKwkJCQlnZW42X3VwZGF0ZV9yaW5nX2ZyZXEo ZGV2X3ByaXYpOworCQl9CisJCWlmICghUkVBRF9PTkNFKGRldl9wcml2LT5ycHMuZW5hYmxlZCkp CisJCQlnZW45X2VuYWJsZV9ycHMoZGV2X3ByaXYpOwogCX0gZWxzZSBpZiAoSVNfQlJPQURXRUxM KGRldl9wcml2KSkgewogCQlnZW44X2VuYWJsZV9ycHMoZGV2X3ByaXYpOwogCQlnZW42X3VwZGF0 ZV9yaW5nX2ZyZXEoZGV2X3ByaXYpOwpAQCAtNzA1NCw3ICs3MDg5LDYgQEAgdm9pZCBpbnRlbF9l bmFibGVfZ3RfcG93ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlX QVJOX09OKGRldl9wcml2LT5ycHMuZWZmaWNpZW50X2ZyZXEgPCBkZXZfcHJpdi0+cnBzLm1pbl9m cmVxKTsKIAlXQVJOX09OKGRldl9wcml2LT5ycHMuZWZmaWNpZW50X2ZyZXEgPiBkZXZfcHJpdi0+ cnBzLm1heF9mcmVxKTsKIAotCWRldl9wcml2LT5ycHMuZW5hYmxlZCA9IHRydWU7CiAJbXV0ZXhf dW5sb2NrKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spOwogfQogCi0tIAoxLjkuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==