From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v3 05/19] drm/i915: Move load time init of clock gating hooks earlier Date: Wed, 16 Mar 2016 13:38:54 +0200 Message-ID: <1458128348-15730-6-git-send-email-imre.deak@intel.com> References: <1458128348-15730-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 1C5E36E8E3 for ; Wed, 16 Mar 2016 11:39:17 +0000 (UTC) In-Reply-To: <1458128348-15730-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 b25zIChKYW5pKQp2MzoKLSByZW1vdmUgdGhlIEdFTjQoKSBjaGVjayBpdCdzIGFscmVhZHkgY292 ZXJlZCBieSBlYXJsaWVyIHBsYXRmb3JtCiAgY2hlY2tzIChDaHJpcykKCkNDOiBKYW5pIE5pa3Vs YSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgpDQzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+ClNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jICB8ICAxICsKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYyAgfCA5MSArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiAz IGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RtYS5jCmluZGV4IDQ0ZjE1ZGUuLjYwZThmZTYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kbWEuYwpAQCAtMTAyOSw2ICsxMDI5LDcgQEAgaW50IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKIAlpbnRlbF9wb3dlcl9kb21h aW5zX2luaXQoZGV2X3ByaXYpOwogCWludGVsX2lycV9pbml0KGRldl9wcml2KTsKIAlpbnRlbF9p bml0X2Rpc3BsYXlfaG9va3MoZGV2X3ByaXYpOworCWludGVsX2luaXRfY2xvY2tfZ2F0aW5nX2hv b2tzKGRldl9wcml2KTsKIAlpbnRlbF9pbml0X2F1ZGlvX2hvb2tzKGRldl9wcml2KTsKIAogCWlu dGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5k ZXggZDBmMDVhOC4uN2E2NDJhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTE1ODcs NiArMTU4Nyw3IEBAIHZvaWQgaW50ZWxfc3VzcGVuZF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKIGludCBpbGtfd21fbWF4X2xldmVsKGNvbnN0IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwog dm9pZCBpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwogdm9p ZCBpbnRlbF9pbml0X3BtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwordm9pZCBpbnRlbF9pbml0 X2Nsb2NrX2dhdGluZ19ob29rcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwog dm9pZCBpbnRlbF9wbV9zZXR1cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaW50ZWxf Z3B1X2lwc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGlu dGVsX2dwdV9pcHNfdGVhcmRvd24odm9pZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCBk N2FlZjE3Li40ZjRiNDAyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTcwOTcsOCArNzA5 Nyw3IEBAIHZvaWQgaW50ZWxfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwogCi0JaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nKQotCQlkZXZf cHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyhkZXYpOworCWRldl9wcml2LT5kaXNwbGF5 LmluaXRfY2xvY2tfZ2F0aW5nKGRldik7CiB9CiAKIHZvaWQgaW50ZWxfc3VzcGVuZF9odyhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQpAQCAtNzEwNyw2ICs3MTA2LDYxIEBAIHZvaWQgaW50ZWxfc3Vz cGVuZF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlscHRfc3VzcGVuZF9odyhkZXYpOwog fQogCitzdGF0aWMgdm9pZCBub3BfaW5pdF9jbG9ja19nYXRpbmcoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKK3sKKwlEUk1fREVCVUdfS01TKCJObyBjbG9jayBnYXRpbmcgc2V0dGluZ3Mgb3Igd29y a2Fyb3VuZHMgYXBwbGllZC5cbiIpOworfQorCisvKioKKyAqIGludGVsX2luaXRfY2xvY2tfZ2F0 aW5nX2hvb2tzIC0gc2V0dXAgdGhlIGNsb2NrIGdhdGluZyBob29rcworICogQGRldl9wcml2OiBk ZXZpY2UgcHJpdmF0ZQorICoKKyAqIFNldHVwIHRoZSBob29rcyB0aGF0IGNvbmZpZ3VyZSB3aGlj aCBjbG9ja3Mgb2YgYSBnaXZlbiBwbGF0Zm9ybSBjYW4gYmUKKyAqIGdhdGVkIGFuZCBhbHNvIGFw cGx5IHZhcmlvdXMgR1QgYW5kIGRpc3BsYXkgc3BlY2lmaWMgd29ya2Fyb3VuZHMgZm9yIHRoZXNl CisgKiBwbGF0Zm9ybXMuIE5vdGUgdGhhdCBzb21lIEdUIHNwZWNpZmljIHdvcmthcm91bmRzIGFy ZSBhcHBsaWVkIHNlcGFyYXRlbHkKKyAqIHdoZW4gR1BVIGNvbnRleHRzIG9yIGJhdGNoYnVmZmVy cyBzdGFydCB0aGVpciBleGVjdXRpb24uCisgKi8KK3ZvaWQgaW50ZWxfaW5pdF9jbG9ja19nYXRp bmdfaG9va3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCWlmIChJU19T S1lMQUtFKGRldl9wcml2KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcg PSBub3BfaW5pdF9jbG9ja19nYXRpbmc7CisJZWxzZSBpZiAoSVNfS0FCWUxBS0UoZGV2X3ByaXYp KQorCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IG5vcF9pbml0X2Nsb2Nr X2dhdGluZzsKKwllbHNlIGlmIChJU19CUk9YVE9OKGRldl9wcml2KSkKKwkJZGV2X3ByaXYtPmRp c3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSBieHRfaW5pdF9jbG9ja19nYXRpbmc7CisJZWxzZSBp ZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9j a19nYXRpbmcgPSBicm9hZHdlbGxfaW5pdF9jbG9ja19nYXRpbmc7CisJZWxzZSBpZiAoSVNfQ0hF UlJZVklFVyhkZXZfcHJpdikpCisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5n ID0gY2hlcnJ5dmlld19pbml0X2Nsb2NrX2dhdGluZzsKKwllbHNlIGlmIChJU19IQVNXRUxMKGRl dl9wcml2KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSBoYXN3ZWxs X2luaXRfY2xvY2tfZ2F0aW5nOworCWVsc2UgaWYgKElTX0lWWUJSSURHRShkZXZfcHJpdikpCisJ CWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gaXZ5YnJpZGdlX2luaXRfY2xv Y2tfZ2F0aW5nOworCWVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpKQorCQlkZXZfcHJp di0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IHZhbGxleXZpZXdfaW5pdF9jbG9ja19nYXRp bmc7CisJZWxzZSBpZiAoSVNfR0VONihkZXZfcHJpdikpCisJCWRldl9wcml2LT5kaXNwbGF5Lmlu aXRfY2xvY2tfZ2F0aW5nID0gZ2VuNl9pbml0X2Nsb2NrX2dhdGluZzsKKwllbHNlIGlmIChJU19H RU41KGRldl9wcml2KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSBp cm9ubGFrZV9pbml0X2Nsb2NrX2dhdGluZzsKKwllbHNlIGlmIChJU19HNFgoZGV2X3ByaXYpKQor CQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGc0eF9pbml0X2Nsb2NrX2dh dGluZzsKKwllbHNlIGlmIChJU19DUkVTVExJTkUoZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ZGlz cGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGNyZXN0bGluZV9pbml0X2Nsb2NrX2dhdGluZzsKKwll bHNlIGlmIChJU19CUk9BRFdBVEVSKGRldl9wcml2KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5p dF9jbG9ja19nYXRpbmcgPSBicm9hZHdhdGVyX2luaXRfY2xvY2tfZ2F0aW5nOworCWVsc2UgaWYg KElTX0dFTjMoZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGlu ZyA9IGdlbjNfaW5pdF9jbG9ja19nYXRpbmc7CisJZWxzZSBpZiAoSVNfSTg1WChkZXZfcHJpdikg fHwgSVNfSTg2NUcoZGV2X3ByaXYpKQorCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dh dGluZyA9IGk4NXhfaW5pdF9jbG9ja19nYXRpbmc7CisJZWxzZSBpZiAoSVNfR0VOMihkZXZfcHJp dikpCisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gaTgzMF9pbml0X2Ns b2NrX2dhdGluZzsKKwllbHNlIHsKKwkJTUlTU0lOR19DQVNFKElOVEVMX0RFVklEKGRldl9wcml2 KSk7CisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gbm9wX2luaXRfY2xv Y2tfZ2F0aW5nOworCX0KKworfQorCiAvKiBTZXQgdXAgY2hpcCBzcGVjaWZpYyBwb3dlciBtYW5h Z2VtZW50LXJlbGF0ZWQgZnVuY3Rpb25zICovCiB2b2lkIGludGVsX2luaXRfcG0oc3RydWN0IGRy bV9kZXZpY2UgKmRldikKIHsKQEAgLTcxMjMsMTAgKzcxNzcsNiBAQCB2b2lkIGludGVsX2luaXRf cG0oc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkvKiBGb3IgRklGTyB3YXRlcm1hcmsgdXBkYXRl cyAqLwogCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSB7CiAJCXNrbF9zZXR1cF93bV9s YXRlbmN5KGRldik7Ci0KLQkJaWYgKElTX0JST1hUT04oZGV2KSkKLQkJCWRldl9wcml2LT5kaXNw bGF5LmluaXRfY2xvY2tfZ2F0aW5nID0KLQkJCQlieHRfaW5pdF9jbG9ja19nYXRpbmc7CiAJCWRl dl9wcml2LT5kaXNwbGF5LnVwZGF0ZV93bSA9IHNrbF91cGRhdGVfd207CiAJfSBlbHNlIGlmIChI QVNfUENIX1NQTElUKGRldikpIHsKIAkJaWxrX3NldHVwX3dtX2xhdGVuY3koZGV2KTsKQEAgLTcx NDYsMjkgKzcxOTYsMTIgQEAgdm9pZCBpbnRlbF9pbml0X3BtKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAJCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gcmVhZCBkaXNwbGF5IHBsYW5lIGxhdGVu Y3kuICIKIAkJCQkgICAgICAiRGlzYWJsZSBDeFNSXG4iKTsKIAkJfQotCi0JCWlmIChJU19HRU41 KGRldikpCi0JCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGlyb25sYWtl X2luaXRfY2xvY2tfZ2F0aW5nOwotCQllbHNlIGlmIChJU19HRU42KGRldikpCi0JCQlkZXZfcHJp di0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGdlbjZfaW5pdF9jbG9ja19nYXRpbmc7Ci0J CWVsc2UgaWYgKElTX0lWWUJSSURHRShkZXYpKQotCQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9j bG9ja19nYXRpbmcgPSBpdnlicmlkZ2VfaW5pdF9jbG9ja19nYXRpbmc7Ci0JCWVsc2UgaWYgKElT X0hBU1dFTEwoZGV2KSkKLQkJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0g aGFzd2VsbF9pbml0X2Nsb2NrX2dhdGluZzsKLQkJZWxzZSBpZiAoSU5URUxfSU5GTyhkZXYpLT5n ZW4gPT0gOCkKLQkJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gYnJvYWR3 ZWxsX2luaXRfY2xvY2tfZ2F0aW5nOwogCX0gZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXYpKSB7 CiAJCXZsdl9zZXR1cF93bV9sYXRlbmN5KGRldik7Ci0KIAkJZGV2X3ByaXYtPmRpc3BsYXkudXBk YXRlX3dtID0gdmx2X3VwZGF0ZV93bTsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19n YXRpbmcgPQotCQkJY2hlcnJ5dmlld19pbml0X2Nsb2NrX2dhdGluZzsKIAl9IGVsc2UgaWYgKElT X1ZBTExFWVZJRVcoZGV2KSkgewogCQl2bHZfc2V0dXBfd21fbGF0ZW5jeShkZXYpOwotCiAJCWRl dl9wcml2LT5kaXNwbGF5LnVwZGF0ZV93bSA9IHZsdl91cGRhdGVfd207Ci0JCWRldl9wcml2LT5k aXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0KLQkJCXZhbGxleXZpZXdfaW5pdF9jbG9ja19nYXRp bmc7CiAJfSBlbHNlIGlmIChJU19QSU5FVklFVyhkZXYpKSB7CiAJCWlmICghaW50ZWxfZ2V0X2N4 c3JfbGF0ZW5jeShJU19QSU5FVklFV19HKGRldiksCiAJCQkJCSAgICBkZXZfcHJpdi0+aXNfZGRy MywKQEAgLTcxODQsMjAgKzcyMTcsMTMgQEAgdm9pZCBpbnRlbF9pbml0X3BtKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfd20gPSBOVUxMOwogCQl9 IGVsc2UKIAkJCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV93bSA9IHBpbmV2aWV3X3VwZGF0ZV93 bTsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9jbG9ja19nYXRpbmcgPSBnZW4zX2luaXRfY2xv Y2tfZ2F0aW5nOwogCX0gZWxzZSBpZiAoSVNfRzRYKGRldikpIHsKIAkJZGV2X3ByaXYtPmRpc3Bs YXkudXBkYXRlX3dtID0gZzR4X3VwZGF0ZV93bTsKLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdF9j bG9ja19nYXRpbmcgPSBnNHhfaW5pdF9jbG9ja19nYXRpbmc7CiAJfSBlbHNlIGlmIChJU19HRU40 KGRldikpIHsKIAkJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3dtID0gaTk2NV91cGRhdGVfd207 Ci0JCWlmIChJU19DUkVTVExJTkUoZGV2KSkKLQkJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xv Y2tfZ2F0aW5nID0gY3Jlc3RsaW5lX2luaXRfY2xvY2tfZ2F0aW5nOwotCQllbHNlIGlmIChJU19C Uk9BRFdBVEVSKGRldikpCi0JCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9 IGJyb2Fkd2F0ZXJfaW5pdF9jbG9ja19nYXRpbmc7CiAJfSBlbHNlIGlmIChJU19HRU4zKGRldikp IHsKIAkJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3dtID0gaTl4eF91cGRhdGVfd207CiAJCWRl dl9wcml2LT5kaXNwbGF5LmdldF9maWZvX3NpemUgPSBpOXh4X2dldF9maWZvX3NpemU7Ci0JCWRl dl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5nID0gZ2VuM19pbml0X2Nsb2NrX2dhdGlu ZzsKIAl9IGVsc2UgaWYgKElTX0dFTjIoZGV2KSkgewogCQlpZiAoSU5URUxfSU5GTyhkZXYpLT5u dW1fcGlwZXMgPT0gMSkgewogCQkJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3dtID0gaTg0NV91 cGRhdGVfd207CkBAIC03MjA2LDExICs3MjMyLDYgQEAgdm9pZCBpbnRlbF9pbml0X3BtKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJCQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfd20gPSBpOXh4 X3VwZGF0ZV93bTsKIAkJCWRldl9wcml2LT5kaXNwbGF5LmdldF9maWZvX3NpemUgPSBpODMwX2dl dF9maWZvX3NpemU7CiAJCX0KLQotCQlpZiAoSVNfSTg1WChkZXYpIHx8IElTX0k4NjVHKGRldikp Ci0JCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0X2Nsb2NrX2dhdGluZyA9IGk4NXhfaW5pdF9jbG9j a19nYXRpbmc7Ci0JCWVsc2UKLQkJCWRldl9wcml2LT5kaXNwbGF5LmluaXRfY2xvY2tfZ2F0aW5n ID0gaTgzMF9pbml0X2Nsb2NrX2dhdGluZzsKIAl9IGVsc2UgewogCQlEUk1fRVJST1IoInVuZXhw ZWN0ZWQgZmFsbC10aHJvdWdoIGluIGludGVsX2luaXRfcG1cbiIpOwogCX0KLS0gCjIuNS4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK