From mboxrd@z Thu Jan 1 00:00:00 1970 From: tom.orourke@intel.com Subject: [PATCH 05/25] drm/i915/slpc: Use intel_slpc_* functions if supported Date: Wed, 6 Apr 2016 12:24:23 -0700 Message-ID: <1459970683-97940-6-git-send-email-tom.orourke@intel.com> References: <1459970683-97940-1-git-send-email-tom.orourke@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 36FC56E30D for ; Wed, 6 Apr 2016 19:24:57 +0000 (UTC) In-Reply-To: <1459970683-97940-1-git-send-email-tom.orourke@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 Cc: paulo.r.zanoni@intel.com, jbarnes@virtuousgeek.org, Tom O'Rourke List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVG9tIE8nUm91cmtlIDxUb20uTydSb3Vya2VAaW50ZWwuY29tPgoKT24gcGxhdGZvcm1z IHdpdGggU0xQQyBzdXBwb3J0OiBjYWxsIGludGVsX3NscGNfKigpCmZ1bmN0aW9ucyBmcm9tIGNv cnJlc3BvbmRpbmcgaW50ZWxfKl9ndF9wb3dlcnNhdmUoKQpmdW5jdGlvbnM7IGFuZCBkbyBub3Qg dXNlIHJwcyBmdW5jdGlvbnMuCgp2MjogcmV0dXJuIHZvaWQgaW5zdGVhZCBvZiBpZ25vcmVkIGVy cm9yIGNvZGUgKFBhdWxvKQogICAgZW5hYmxlL2Rpc2FibGUgUkM2IGluIFNMUEMgZmxvd3MgKFNh Z2FyKQogICAgcmVwbGFjZSBIQVNfU0xQQygpIHVzZSB3aXRoIGludGVsX3NscGNfZW5hYmxlZCgp CglvciBpbnRlbF9zbHBjX2FjdGl2ZSgpIChQYXVsbykKClNpZ25lZC1vZmYtYnk6IFRvbSBPJ1Jv dXJrZSA8VG9tLk8nUm91cmtlQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9N YWtlZmlsZSAgICAgfCAgNSArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg fCAgNCArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oICB8ICAxICsKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICB8IDM2ICsrKysrKysrKysrKysrKysrKy0tLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuYyB8IDU2ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xw Yy5oIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDEyNiBp bnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9zbHBjLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCmluZGV4IDdmZmI1MWIu LjljZTM0OTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCkBAIC00MSw4ICs0MSw5IEBAIGk5MTUteSAr PSBpOTE1X2NtZF9wYXJzZXIubyBcCiAJICBpbnRlbF91bmNvcmUubwogCiAjIGdlbmVyYWwtcHVy cG9zZSBtaWNyb2NvbnRyb2xsZXIgKEd1Qykgc3VwcG9ydAotaTkxNS15ICs9IGludGVsX2d1Y19s b2FkZXIubyBcCi0JICBpOTE1X2d1Y19zdWJtaXNzaW9uLm8KK2k5MTUteSArPSBpOTE1X2d1Y19z dWJtaXNzaW9uLm8gXAorCSAgaW50ZWxfZ3VjX2xvYWRlci5vIFwKKwkgIGludGVsX3NscGMubwog CiAjIGF1dG9nZW5lcmF0ZWQgbnVsbCByZW5kZXIgc3RhdGUKIGk5MTUteSArPSBpbnRlbF9yZW5k ZXJzdGF0ZV9nZW42Lm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBlMGZjZmExLi44 MGMwMzBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTU3Myw2ICsxNTczLDEwIEBA IHZvaWQgY2h2X3BoeV9wb3dlcmdhdGVfbGFuZXMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCiBib29sIGNodl9waHlfcG93ZXJnYXRlX2NoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwgZW51bSBkcGlvX3BoeSBwaHksCiAJCQkgIGVudW0gZHBpb19jaGFubmVsIGNoLCBi b29sIG92ZXJyaWRlKTsKIAorc3RhdGljIGlubGluZSBpbnQgaW50ZWxfc2xwY19hY3RpdmUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlyZXR1cm4gMDsKK30KIAogLyogaW50ZWxfcG0uYyAq Lwogdm9pZCBpbnRlbF9pbml0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKaW5kZXggMjk4ZTI0My4uNDE3Y2M4MiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZ3VjLmgKQEAgLTI2LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgImludGVsX2d1 Y19md2lmLmgiCiAjaW5jbHVkZSAiaTkxNV9ndWNfcmVnLmgiCisjaW5jbHVkZSAiaW50ZWxfc2xw Yy5oIgogCiBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50IHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqY2xpZW50X29iajsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDdmY2NmM2IuLmE2 MjQ2YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtNjE5Miw3ICs2MTkyLDkgQEAgdm9p ZCBpbnRlbF9pbml0X2d0X3Bvd2Vyc2F2ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlpbnRl bF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7CiAJfQogCi0JaWYgKElTX0NIRVJSWVZJRVcoZGV2 KSkKKwlpZiAoaW50ZWxfc2xwY19lbmFibGVkKCkpCisJCWludGVsX3NscGNfaW5pdChkZXYpOwor CWVsc2UgaWYgKElTX0NIRVJSWVZJRVcoZGV2KSkKIAkJY2hlcnJ5dmlld19pbml0X2d0X3Bvd2Vy c2F2ZShkZXYpOwogCWVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkKIAkJdmFsbGV5dmlld19p bml0X2d0X3Bvd2Vyc2F2ZShkZXYpOwpAQCAtNjIwMiw3ICs2MjA0LDkgQEAgdm9pZCBpbnRlbF9j bGVhbnVwX2d0X3Bvd2Vyc2F2ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAKLQlpZiAoSVNf Q0hFUlJZVklFVyhkZXYpKQorCWlmIChpbnRlbF9zbHBjX2FjdGl2ZShkZXYpKQorCQlpbnRlbF9z bHBjX2NsZWFudXAoZGV2KTsKKwllbHNlIGlmIChJU19DSEVSUllWSUVXKGRldikpCiAJCXJldHVy bjsKIAllbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikpCiAJCXZhbGxleXZpZXdfY2xlYW51cF9n dF9wb3dlcnNhdmUoZGV2KTsKQEAgLTYyMzUsMTcgKzYyMzksMjQgQEAgdm9pZCBpbnRlbF9zdXNw ZW5kX2d0X3Bvd2Vyc2F2ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmIChJTlRFTF9JTkZP KGRldiktPmdlbiA8IDYpCiAJCXJldHVybjsKIAotCWdlbjZfc3VzcGVuZF9ycHMoZGV2KTsKKwlp ZiAoaW50ZWxfc2xwY19hY3RpdmUoZGV2KSkgeworCQlpbnRlbF9zbHBjX3N1c3BlbmQoZGV2KTsK Kwl9IGVsc2UgeworCQlnZW42X3N1c3BlbmRfcnBzKGRldik7CiAKLQkvKiBGb3JjZSBHUFUgdG8g bWluIGZyZXEgZHVyaW5nIHN1c3BlbmQgKi8KLQlnZW42X3Jwc19pZGxlKGRldl9wcml2KTsKKwkJ LyogRm9yY2UgR1BVIHRvIG1pbiBmcmVxIGR1cmluZyBzdXNwZW5kICovCisJCWdlbjZfcnBzX2lk bGUoZGV2X3ByaXYpOworCX0KIH0KIAogdm9pZCBpbnRlbF9kaXNhYmxlX2d0X3Bvd2Vyc2F2ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAKLQlpZiAoSVNfSVJPTkxBS0VfTShkZXYpKSB7CisJ aWYgKGludGVsX3NscGNfYWN0aXZlKGRldikpIHsKKwkJaW50ZWxfc2xwY19kaXNhYmxlKGRldik7 CisJCWdlbjlfZGlzYWJsZV9ycHMoZGV2KTsKKwl9IGVsc2UgaWYgKElTX0lST05MQUtFX00oZGV2 KSkgewogCQlpcm9ubGFrZV9kaXNhYmxlX2RycHMoZGV2KTsKIAl9IGVsc2UgaWYgKElOVEVMX0lO Rk8oZGV2KS0+Z2VuID49IDYpIHsKIAkJaW50ZWxfc3VzcGVuZF9ndF9wb3dlcnNhdmUoZGV2KTsK QEAgLTYzMTYsNyArNjMyNywxMCBAQCB2b2lkIGludGVsX2VuYWJsZV9ndF9wb3dlcnNhdmUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAlpZiAoaW50ZWxfdmdwdV9hY3RpdmUoZGV2KSkKIAkJcmV0 dXJuOwogCi0JaWYgKElTX0lST05MQUtFX00oZGV2KSkgeworCWlmIChpbnRlbF9zbHBjX2FjdGl2 ZShkZXYpKSB7CisJCWdlbjlfZW5hYmxlX3JjNihkZXYpOworCQlpbnRlbF9zbHBjX2VuYWJsZShk ZXYpOworCX0gZWxzZSBpZiAoSVNfSVJPTkxBS0VfTShkZXYpKSB7CiAJCWlyb25sYWtlX2VuYWJs ZV9kcnBzKGRldik7CiAJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAkJaW50ZWxf aW5pdF9lbW9uKGRldik7CkBAIC02MzQ3LDggKzYzNjEsMTIgQEAgdm9pZCBpbnRlbF9yZXNldF9n dF9wb3dlcnNhdmUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlpZiAoSU5URUxfSU5GTyhkZXYp LT5nZW4gPCA2KQogCQlyZXR1cm47CiAKLQlnZW42X3N1c3BlbmRfcnBzKGRldik7Ci0JZGV2X3By aXYtPnJwcy5lbmFibGVkID0gZmFsc2U7CisJaWYgKGludGVsX3NscGNfYWN0aXZlKGRldikpIHsK KwkJaW50ZWxfc2xwY19yZXNldChkZXYpOworCX0gZWxzZSB7CisJCWdlbjZfc3VzcGVuZF9ycHMo ZGV2KTsKKwkJZGV2X3ByaXYtPnJwcy5lbmFibGVkID0gZmFsc2U7CisJfQogfQogCiBzdGF0aWMg dm9pZCBpYnhfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3NscGMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40 NzRmYWMwCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xw Yy5jCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxNSBJbnRlbCBDb3Jw b3JhdGlvbgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg YW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICog dG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdp dGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy Z2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3Bp ZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAq IFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5n IGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg cGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFs bCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo ZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIs IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElO Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM SVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF TUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M REVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklM SVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0Us IEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRX QVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAq CisgKi8KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgImk5MTVfZHJ2Lmgi CisjaW5jbHVkZSAiaW50ZWxfZ3VjLmgiCisKK3ZvaWQgaW50ZWxfc2xwY19pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCit7CisJcmV0dXJuOworfQorCit2b2lkIGludGVsX3NscGNfY2xlYW51 cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXJldHVybjsKK30KKwordm9pZCBpbnRlbF9z bHBjX3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlyZXR1cm47Cit9CisKK3Zv aWQgaW50ZWxfc2xwY19kaXNhYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJcmV0dXJu OworfQorCit2b2lkIGludGVsX3NscGNfZW5hYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7 CisJcmV0dXJuOworfQorCit2b2lkIGludGVsX3NscGNfcmVzZXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKK3sKKwlyZXR1cm47Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zbHBjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmgKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNmYWRiMwotLS0gL2Rldi9udWxsCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuaApAQCAtMCwwICsxLDM1IEBACisvKgorICog Q29weXJpZ2h0IMKpIDIwMTUgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisgKiBQZXJtaXNzaW9uIGlz IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg YQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g ZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhv dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdo dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJs aWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBl cm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8g c28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92 ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcg dGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBv ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBT T0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E LCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI RSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICog VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0s IERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1Ig SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ TkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKgorICovCisjaWZuZGVmIF9JTlRFTF9TTFBDX0hf CisjZGVmaW5lIF9JTlRFTF9TTFBDX0hfCisKKy8qIGludGVsX3NscGMuYyAqLwordm9pZCBpbnRl bF9zbHBjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cit2b2lkIGludGVsX3NscGNfY2xl YW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK3ZvaWQgaW50ZWxfc2xwY19zdXNwZW5kKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwordm9pZCBpbnRlbF9zbHBjX2Rpc2FibGUoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7Cit2b2lkIGludGVsX3NscGNfZW5hYmxlKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpOwordm9pZCBpbnRlbF9zbHBjX3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwor CisjZW5kaWYKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK