From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v2 05/17] drm/i915: Move load time init of clock gating hooks earlier Date: Fri, 11 Mar 2016 18:31:30 +0200 Message-ID: <1457713902-2425-6-git-send-email-imre.deak@intel.com> References: <1457713902-2425-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 555B56EB1C for ; Fri, 11 Mar 2016 16:31:53 +0000 (UTC) In-Reply-To: <1457713902-2425-1-git-send-email-imre.deak@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: Jani Nikula List-Id: intel-gfx@lists.freedesktop.org U3BsaXQgb3V0IHRoZSBwYXJ0IGluaXRpbmcgdGhlIGNsb2NrIGdhdGluZyBob29rcyBhbmQgbW92 ZSBpdCBlYXJsaWVyLgpBZGQgYSBuZXcgTk9QIGhvb2sgZm9yIHBsYXRmb3JtcyB3aXRob3V0IHRo ZSBuZWVkIHRvIGFwcGx5IGNsb2NrZ2F0aW5nCm9yIHdvcmthcm91bmQgc2V0dGluZ3MsIHNvIHRo YXQgdGhlIGhvb2sgY2FuIGJlIGNhbGxlZCB1bmNvbmRpdGlvbmFsbHkuCkFsc28gYWRkIGEgV0FS TiBmb3IgZnV0dXJlIHBsYXRmb3JtcyB0aGF0IGZvcmdldCB0byBhZGQgYSBob29rLgoKVGhlIHJl c3Qgb2YgdGhlIGhvb2tzIGluIGludGVsX2luaXRfcG0oKSBzaG91bGQgYmUgaW5pdGVkIGluIHRo ZSBzYW1lCndheSwgYnV0IGF0bSBzb21lIG9mIHRoZSBob29rcyBhcmUgc2V0IG9ubHkgY29uZGl0 aW9uYWxseSwgc28gYmVmb3JlCmRvaW5nIHRoaXMgd2UgbmVlZCB0byBtYWtlIHRoZSBzZXR1cCB1 bmNvbmRpdGlvbmFsIGFuZCB1c2UgaW5zdGVhZCBzb21lCmZsYWdzLgoKdjI6Ci0gYWRkIGEgTk9Q IGhvb2sgYW5kIFdBUk4gaWYgbm8gaG9vayBpcyBzZXQgZm9yIHRoZSBwbGF0Zm9ybSAoQ2hyaXMp Ci0gdXNlIHRoZSB0ZXJtIGhvb2sgaW5zdGVhZCBvZiBjYWxsYmFjayBmb3IgdGhlc2UgZnVuY3Rp b25zIChKYW5pKQoKQ0M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+CkNDOiBD aHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KU2lnbmVkLW9mZi1ieTogSW1y ZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZG1hLmMgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggfCAgMSAr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICB8IDkzICsrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygr KSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKaW5kZXggNDRmMTVkZS4u NjBlOGZlNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCkBAIC0xMDI5LDYgKzEwMjksNyBAQCBp bnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25n IGZsYWdzKQogCWludGVsX3Bvd2VyX2RvbWFpbnNfaW5pdChkZXZfcHJpdik7CiAJaW50ZWxfaXJx X2luaXQoZGV2X3ByaXYpOwogCWludGVsX2luaXRfZGlzcGxheV9ob29rcyhkZXZfcHJpdik7CisJ aW50ZWxfaW5pdF9jbG9ja19nYXRpbmdfaG9va3MoZGV2X3ByaXYpOwogCWludGVsX2luaXRfYXVk aW9faG9va3MoZGV2X3ByaXYpOwogCiAJaW50ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBkMGYwNWE4Li43YTY0MmFlIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaApAQCAtMTU4Nyw2ICsxNTg3LDcgQEAgdm9pZCBpbnRlbF9zdXNwZW5k X2h3KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogaW50IGlsa193bV9tYXhfbGV2ZWwoY29uc3Qg c3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIGludGVsX3VwZGF0ZV93YXRlcm1hcmtzKHN0 cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiB2b2lkIGludGVsX2luaXRfcG0oc3RydWN0IGRybV9kZXZp Y2UgKmRldik7Cit2b2lkIGludGVsX2luaXRfY2xvY2tfZ2F0aW5nX2hvb2tzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGludGVsX3BtX3NldHVwKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwogdm9pZCBpbnRlbF9ncHVfaXBzX2luaXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxfZ3B1X2lwc190ZWFyZG93bih2b2lkKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IGQ3YWVmMTcuLjQ5MzY2ZGEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYwpAQCAtNzA5Nyw4ICs3MDk3LDcgQEAgdm9pZCBpbnRlbF9pbml0X2Nsb2NrX2dh dGluZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAKLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXku aW5pdF9jbG9ja19nYXRpbmcpCi0JCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5n KGRldik7CisJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcoZGV2KTsKIH0KIAog dm9pZCBpbnRlbF9zdXNwZW5kX2h3KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCkBAIC03MTA3LDYg KzcxMDYsNjMgQEAgdm9pZCBpbnRlbF9zdXNwZW5kX2h3KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiAJCWxwdF9zdXNwZW5kX2h3KGRldik7CiB9CiAKK3N0YXRpYyB2b2lkIG5vcF9pbml0X2Nsb2Nr X2dhdGluZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCURSTV9ERUJVR19LTVMoIk5vIGNs b2NrIGdhdGluZyBzZXR0aW5ncyBvciB3b3JrYXJvdW5kcyBhcHBsaWVkLlxuIik7Cit9CisKKy8q KgorICogaW50ZWxfaW5pdF9jbG9ja19nYXRpbmdfaG9va3MgLSBzZXR1cCB0aGUgY2xvY2sgZ2F0 aW5nIGhvb2tzCisgKiBAZGV2X3ByaXY6IGRldmljZSBwcml2YXRlCisgKgorICogU2V0dXAgdGhl IGhvb2tzIHRoYXQgY29uZmlndXJlIHdoaWNoIGNsb2NrcyBvZiBhIGdpdmVuIHBsYXRmb3JtIGNh biBiZQorICogZ2F0ZWQgYW5kIGFsc28gYXBwbHkgdmFyaW91cyBHVCBhbmQgZGlzcGxheSBzcGVj aWZpYyB3b3JrYXJvdW5kcyBmb3IgdGhlc2UKKyAqIHBsYXRmb3Jtcy4gTm90ZSB0aGF0IHNvbWUg R1Qgc3BlY2lmaWMgd29ya2Fyb3VuZHMgYXJlIGFwcGxpZWQgc2VwYXJhdGVseQorICogd2hlbiBH UFUgY29udGV4dHMgb3IgYmF0Y2hidWZmZXJzIHN0YXJ0IHRoZWlyIGV4ZWN1dGlvbi4KKyAqLwor dm9pZCBpbnRlbF9pbml0X2Nsb2NrX2dhdGluZ19ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCit7CisJaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IG5vcF9pbml0X2Nsb2NrX2dhdGluZzsKKwllbHNl IGlmIChJU19LQUJZTEFLRShkZXZfcHJpdikpCisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xv Y2tfZ2F0aW5nID0gbm9wX2luaXRfY2xvY2tfZ2F0aW5nOworCWVsc2UgaWYgKElTX0JST1hUT04o ZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGJ4dF9p bml0X2Nsb2NrX2dhdGluZzsKKwllbHNlIGlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQorCQlk ZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGJyb2Fkd2VsbF9pbml0X2Nsb2Nr X2dhdGluZzsKKwllbHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkKKwkJZGV2X3ByaXYt PmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSBjaGVycnl2aWV3X2luaXRfY2xvY2tfZ2F0aW5n OworCWVsc2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ZGlzcGxheS5p bml0X2Nsb2NrX2dhdGluZyA9IGhhc3dlbGxfaW5pdF9jbG9ja19nYXRpbmc7CisJZWxzZSBpZiAo SVNfSVZZQlJJREdFKGRldl9wcml2KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19n YXRpbmcgPSBpdnlicmlkZ2VfaW5pdF9jbG9ja19nYXRpbmc7CisJZWxzZSBpZiAoSVNfVkFMTEVZ VklFVyhkZXZfcHJpdikpCisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0g dmFsbGV5dmlld19pbml0X2Nsb2NrX2dhdGluZzsKKwllbHNlIGlmIChJU19HRU42KGRldl9wcml2 KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSBnZW42X2luaXRfY2xv Y2tfZ2F0aW5nOworCWVsc2UgaWYgKElTX0dFTjUoZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ZGlz cGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGlyb25sYWtlX2luaXRfY2xvY2tfZ2F0aW5nOworCWVs c2UgaWYgKElTX0c0WChkZXZfcHJpdikpCisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tf Z2F0aW5nID0gZzR4X2luaXRfY2xvY2tfZ2F0aW5nOworCWVsc2UgaWYgKElTX0NSRVNUTElORShk ZXZfcHJpdikpCisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gY3Jlc3Rs aW5lX2luaXRfY2xvY2tfZ2F0aW5nOworCWVsc2UgaWYgKElTX0JST0FEV0FURVIoZGV2X3ByaXYp KQorCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGJyb2Fkd2F0ZXJfaW5p dF9jbG9ja19nYXRpbmc7CisJZWxzZSBpZiAoSVNfR0VONChkZXZfcHJpdikpCisJCWRldl9wcml2 LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gbm9wX2luaXRfY2xvY2tfZ2F0aW5nOworCWVs c2UgaWYgKElTX0dFTjMoZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2Nr X2dhdGluZyA9IGdlbjNfaW5pdF9jbG9ja19nYXRpbmc7CisJZWxzZSBpZiAoSVNfSTg1WChkZXZf cHJpdikgfHwgSVNfSTg2NUcoZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Ns b2NrX2dhdGluZyA9IGk4NXhfaW5pdF9jbG9ja19nYXRpbmc7CisJZWxzZSBpZiAoSVNfR0VOMihk ZXZfcHJpdikpCisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gaTgzMF9p bml0X2Nsb2NrX2dhdGluZzsKKwllbHNlIHsKKwkJTUlTU0lOR19DQVNFKElOVEVMX0RFVklEKGRl dl9wcml2KSk7CisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gbm9wX2lu aXRfY2xvY2tfZ2F0aW5nOworCX0KKworfQorCiAvKiBTZXQgdXAgY2hpcCBzcGVjaWZpYyBwb3dl ciBtYW5hZ2VtZW50LXJlbGF0ZWQgZnVuY3Rpb25zICovCiB2b2lkIGludGVsX2luaXRfcG0oc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIHsKQEAgLTcxMjMsMTAgKzcxNzksNiBAQCB2b2lkIGludGVs X2luaXRfcG0oc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkvKiBGb3IgRklGTyB3YXRlcm1hcmsg dXBkYXRlcyAqLwogCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSB7CiAJCXNrbF9zZXR1 cF93bV9sYXRlbmN5KGRldik7Ci0KLQkJaWYgKElTX0JST1hUT04oZGV2KSkKLQkJCWRldl9wcml2 LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0KLQkJCQlieHRfaW5pdF9jbG9ja19nYXRpbmc7 CiAJCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV93bSA9IHNrbF91cGRhdGVfd207CiAJfSBlbHNl IGlmIChIQVNfUENIX1NQTElUKGRldikpIHsKIAkJaWxrX3NldHVwX3dtX2xhdGVuY3koZGV2KTsK QEAgLTcxNDYsMjkgKzcxOTgsMTIgQEAgdm9pZCBpbnRlbF9pbml0X3BtKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCiAJCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gcmVhZCBkaXNwbGF5IHBsYW5l IGxhdGVuY3kuICIKIAkJCQkgICAgICAiRGlzYWJsZSBDeFNSXG4iKTsKIAkJfQotCi0JCWlmIChJ U19HRU41KGRldikpCi0JCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGly b25sYWtlX2luaXRfY2xvY2tfZ2F0aW5nOwotCQllbHNlIGlmIChJU19HRU42KGRldikpCi0JCQlk ZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGdlbjZfaW5pdF9jbG9ja19nYXRp bmc7Ci0JCWVsc2UgaWYgKElTX0lWWUJSSURHRShkZXYpKQotCQkJZGV2X3ByaXYtPmRpc3BsYXku aW5pdF9jbG9ja19nYXRpbmcgPSBpdnlicmlkZ2VfaW5pdF9jbG9ja19nYXRpbmc7Ci0JCWVsc2Ug aWYgKElTX0hBU1dFTEwoZGV2KSkKLQkJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0 aW5nID0gaGFzd2VsbF9pbml0X2Nsb2NrX2dhdGluZzsKLQkJZWxzZSBpZiAoSU5URUxfSU5GTyhk ZXYpLT5nZW4gPT0gOCkKLQkJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0g YnJvYWR3ZWxsX2luaXRfY2xvY2tfZ2F0aW5nOwogCX0gZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhk ZXYpKSB7CiAJCXZsdl9zZXR1cF93bV9sYXRlbmN5KGRldik7Ci0KIAkJZGV2X3ByaXYtPmRpc3Bs YXkudXBkYXRlX3dtID0gdmx2X3VwZGF0ZV93bTsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9j bG9ja19nYXRpbmcgPQotCQkJY2hlcnJ5dmlld19pbml0X2Nsb2NrX2dhdGluZzsKIAl9IGVsc2Ug aWYgKElTX1ZBTExFWVZJRVcoZGV2KSkgewogCQl2bHZfc2V0dXBfd21fbGF0ZW5jeShkZXYpOwot CiAJCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV93bSA9IHZsdl91cGRhdGVfd207Ci0JCWRldl9w cml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0KLQkJCXZhbGxleXZpZXdfaW5pdF9jbG9j a19nYXRpbmc7CiAJfSBlbHNlIGlmIChJU19QSU5FVklFVyhkZXYpKSB7CiAJCWlmICghaW50ZWxf Z2V0X2N4c3JfbGF0ZW5jeShJU19QSU5FVklFV19HKGRldiksCiAJCQkJCSAgICBkZXZfcHJpdi0+ aXNfZGRyMywKQEAgLTcxODQsMjAgKzcyMTksMTMgQEAgdm9pZCBpbnRlbF9pbml0X3BtKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJCQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfd20gPSBOVUxM OwogCQl9IGVsc2UKIAkJCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV93bSA9IHBpbmV2aWV3X3Vw ZGF0ZV93bTsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSBnZW4zX2lu aXRfY2xvY2tfZ2F0aW5nOwogCX0gZWxzZSBpZiAoSVNfRzRYKGRldikpIHsKIAkJZGV2X3ByaXYt PmRpc3BsYXkudXBkYXRlX3dtID0gZzR4X3VwZGF0ZV93bTsKLQkJZGV2X3ByaXYtPmRpc3BsYXku aW5pdF9jbG9ja19nYXRpbmcgPSBnNHhfaW5pdF9jbG9ja19nYXRpbmc7CiAJfSBlbHNlIGlmIChJ U19HRU40KGRldikpIHsKIAkJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3dtID0gaTk2NV91cGRh dGVfd207Ci0JCWlmIChJU19DUkVTVExJTkUoZGV2KSkKLQkJCWRldl9wcml2LT5kaXNwbGF5Lmlu aXRfY2xvY2tfZ2F0aW5nID0gY3Jlc3RsaW5lX2luaXRfY2xvY2tfZ2F0aW5nOwotCQllbHNlIGlm IChJU19CUk9BRFdBVEVSKGRldikpCi0JCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dh dGluZyA9IGJyb2Fkd2F0ZXJfaW5pdF9jbG9ja19nYXRpbmc7CiAJfSBlbHNlIGlmIChJU19HRU4z KGRldikpIHsKIAkJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3dtID0gaTl4eF91cGRhdGVfd207 CiAJCWRldl9wcml2LT5kaXNwbGF5LmdldF9maWZvX3NpemUgPSBpOXh4X2dldF9maWZvX3NpemU7 Ci0JCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gZ2VuM19pbml0X2Nsb2Nr X2dhdGluZzsKIAl9IGVsc2UgaWYgKElTX0dFTjIoZGV2KSkgewogCQlpZiAoSU5URUxfSU5GTyhk ZXYpLT5udW1fcGlwZXMgPT0gMSkgewogCQkJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3dtID0g aTg0NV91cGRhdGVfd207CkBAIC03MjA2LDExICs3MjM0LDYgQEAgdm9pZCBpbnRlbF9pbml0X3Bt KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfd20g PSBpOXh4X3VwZGF0ZV93bTsKIAkJCWRldl9wcml2LT5kaXNwbGF5LmdldF9maWZvX3NpemUgPSBp ODMwX2dldF9maWZvX3NpemU7CiAJCX0KLQotCQlpZiAoSVNfSTg1WChkZXYpIHx8IElTX0k4NjVH KGRldikpCi0JCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGk4NXhfaW5p dF9jbG9ja19nYXRpbmc7Ci0JCWVsc2UKLQkJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tf Z2F0aW5nID0gaTgzMF9pbml0X2Nsb2NrX2dhdGluZzsKIAl9IGVsc2UgewogCQlEUk1fRVJST1Io InVuZXhwZWN0ZWQgZmFsbC10aHJvdWdoIGluIGludGVsX2luaXRfcG1cbiIpOwogCX0KLS0gCjIu NS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK