From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v2 4/4] drm/amdgpu: Dynamically probe for ATIF handle Date: Thu, 28 Jun 2018 15:14:55 -0400 Message-ID: <20180628191505.10015-5-lyude@redhat.com> References: <20180628191505.10015-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180628191505.10015-1-lyude@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: amd-gfx@lists.freedesktop.org Cc: David Airlie , linux-kernel@vger.kernel.org, stable@vger.kernel.org, dri-devel@lists.freedesktop.org, Alex Deucher , Rex Zhu , =?UTF-8?q?Christian=20K=C3=B6nig?= , Jean Delvare List-Id: dri-devel@lists.freedesktop.org VGhlIG90aGVyIGRheSBJIHdhcyB0ZXN0aW5nIG9uZSBvZiB0aGUgSFAgbGFwdG9wcyBhdCBteSBv ZmZpY2Ugd2l0aCBhbgppOTE1L2FtZGdwdSBoeWJyaWQgc2V0dXAgYW5kIG5vdGljZWQgdGhhdCBo b3RwbHVnZ2luZyB3YXMgbm9uLWZ1bmN0aW9uYWwKb24gYWxtb3N0IGFsbCBvZiB0aGUgZGlzcGxh eSBvdXRwdXRzLiBJIGV2ZW50dWFsbHkgZGlzY292ZXJlZCB0aGF0IGFsbApvZiB0aGUgZXh0ZXJu YWwgb3V0cHV0cyB3ZXJlIGNvbm5lY3RlZCB0byB0aGUgYW1kZ3B1IGRldmljZSBpbnN0ZWFkIG9m Cmk5MTUsIGFuZCB0aGF0IHRoZSBob3RwbHVncyB3ZXJlbid0IGJlaW5nIGRldGVjdGVkIHNvIGxv bmcgYXMgdGhlIEdQVQp3YXMgaW4gcnVudGltZSBzdXNwZW5kLiBBZnRlciBzb21lIHRhbGtpbmcg d2l0aCBmb2xrcyBhdCBBTUQsIEkgbGVhcm5lZAp0aGF0IGFtZGdwdSBpcyBhY3R1YWxseSBzdXBw b3NlZCB0byBzdXBwb3J0IGhvdHBsdWcgZGV0ZWN0aW9uIGluIHJ1bnRpbWUKc3VzcGVuZCBzbyBs b25nIGFzIHRoZSBPRU0gaGFzIGltcGxlbWVudGVkIGl0IHByb3Blcmx5IGluIHRoZSBmaXJtd2Fy ZS4KCk9uIHRoaXMgSFAgWkJvb2sgMTUgRzQgKHRoZSBtYWNoaW5lIGluIHF1ZXN0aW9uKSwgYW1k Z3B1IHdhc24ndCBtYW5hZ2luZwp0byBmaW5kIHRoZSBBVElGIGhhbmRsZSBhdCBhbGwgZGVzcGl0 ZSB0aGUgZmFjdCB0aGF0IEkgY291bGQgc2VlIGFjcGkKZXZlbnRzIGJlaW5nIHNlbnQgaW4gcmVz cG9uc2UgdG8gYW55IGhvdHBsdWdnaW5nLiBBZnRlciBnb2luZyB0aHJvdWdoCmR1bXBzIG9mIHRo ZSBmaXJtd2FyZSwgSSBkaXNjb3ZlcmVkIHRoYXQgdGhpcyBtYWNoaW5lIGRpZCBpbiBmYWN0CnN1 cHBvcnQgQVRJRiwgYnV0IHRoYXQgaXQncyBBVElGIG1ldGhvZCBsaXZlZCBpbiBhbiBlbnRpcmVs eSBkaWZmZXJlbnQKbmFtZXNwYWNlIHRoYW4gdGhpcyBkZXZpY2UncyBoYW5kbGUgKHRoZSBkZXZp Y2UgaGFuZGxlIHdhcwpcX1NCXy5QQ0kwLlBFRzAuUEVHUCwgYnV0IEFUSUYgbGl2ZXMgaW4gQVRQ WCdzIGhhbmRsZSBhdApcX1NCXy5QQ0kwLkdGWDApLgoKQWNjb3JkaW5nIHRvIEFNRCwgdGhlIHJl YXNvbiBmb3IgdGhpcyBhcHBlYXJzIHRvIGJlIHRoYXQgb24gbGFwdG9wcyB3aXRoClBSSU1FIGNv bmZpZ3VyYXRpb25zLCB0aGUgQVRJRiBhbmQgb3RoZXIgcmVsYXRlZCBBQ1BJIGhhbmRsZXMgdXN1 YWxseQpsaXZlIHVuZGVyIHRoZSBuYW1lc3BhY2Ugb2YgdGhlIGludGVsIEdQVSBpbnN0ZWFkIG9m IHRoZSBBTUQgR1BVLgpNYWNoaW5lcyB0aGF0IGRvbid0IGhhdmUgbW9yZSB0aGVuIGEgc2luZ2xl IEdQVSBoYXZlIHRoZSBBVElGIGhhbmRsZQpsb2NhdGVkIGluIHRoZSBuYW1lc3BhY2Ugb2YgdGhl IEFNRCBHUFUuCgpTbywgZml4IHRoaXMgYnkgcHJvYmluZyBBVFBYJ3MgQUNQSSBwYXJlbnQncyBu YW1lc3BhY2UgaWYgd2UgY2FuJ3QgZmluZApBVElGIGVsc2V3aGVyZSwgYWxvbmcgd2l0aCBzdG9y aW5nIGEgcG9pbnRlciB0byB0aGUgcHJvcGVyIGhhbmRsZSB0byB1c2UKZm9yIEFUSUYgYW5kIHVz aW5nIHRoYXQgaW5zdGVhZCBvZiB0aGUgZGV2aWNlJ3MgaGFuZGxlLgoKVGhpcyBmaXhlcyBIUEQg ZGV0ZWN0aW9uIHdoaWxlIGluIHJ1bnRpbWUgc3VzcGVuZCBmb3IgdGhpcyBaQm9vayEKClNpZ25l ZC1vZmYtYnk6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+CkNjOiBzdGFibGVAdmdlci5r ZXJuZWwub3JnCi0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FjcGkuYyB8 IDgwICsrKysrKysrKysrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU5IGluc2VydGlv bnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9hY3BpLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf YWNwaS5jCmluZGV4IDIyYzdlOGVjMGI5YS4uYjBkNzk3OGM0NzVkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYWNwaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9hY3BpLmMKQEAgLTY1LDYgKzY1LDggQEAgc3RydWN0IGFtZGdw dV9hdGlmX2Z1bmN0aW9ucyB7CiB9OwogCiBzdHJ1Y3QgYW1kZ3B1X2F0aWYgeworCWFjcGlfaGFu ZGxlIGhhbmRsZTsKKwogCXN0cnVjdCBhbWRncHVfYXRpZl9ub3RpZmljYXRpb25zIG5vdGlmaWNh dGlvbnM7CiAJc3RydWN0IGFtZGdwdV9hdGlmX2Z1bmN0aW9ucyBmdW5jdGlvbnM7CiAJc3RydWN0 IGFtZGdwdV9hdGlmX25vdGlmaWNhdGlvbl9jZmcgbm90aWZpY2F0aW9uX2NmZzsKQEAgLTgzLDgg Kzg1LDkgQEAgc3RydWN0IGFtZGdwdV9hdGlmIHsKICAqIEV4ZWN1dGVzIHRoZSByZXF1ZXN0ZWQg QVRJRiBmdW5jdGlvbiAoYWxsIGFzaWNzKS4KICAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBh Y3BpIG91dHB1dCBidWZmZXIuCiAgKi8KLXN0YXRpYyB1bmlvbiBhY3BpX29iamVjdCAqYW1kZ3B1 X2F0aWZfY2FsbChhY3BpX2hhbmRsZSBoYW5kbGUsIGludCBmdW5jdGlvbiwKLQkJc3RydWN0IGFj cGlfYnVmZmVyICpwYXJhbXMpCitzdGF0aWMgdW5pb24gYWNwaV9vYmplY3QgKmFtZGdwdV9hdGlm X2NhbGwoc3RydWN0IGFtZGdwdV9hdGlmICphdGlmLAorCQkJCQkgICBpbnQgZnVuY3Rpb24sCisJ CQkJCSAgIHN0cnVjdCBhY3BpX2J1ZmZlciAqcGFyYW1zKQogewogCWFjcGlfc3RhdHVzIHN0YXR1 czsKIAl1bmlvbiBhY3BpX29iamVjdCBhdGlmX2FyZ19lbGVtZW50c1syXTsKQEAgLTEwNyw3ICsx MTAsOCBAQCBzdGF0aWMgdW5pb24gYWNwaV9vYmplY3QgKmFtZGdwdV9hdGlmX2NhbGwoYWNwaV9o YW5kbGUgaGFuZGxlLCBpbnQgZnVuY3Rpb24sCiAJCWF0aWZfYXJnX2VsZW1lbnRzWzFdLmludGVn ZXIudmFsdWUgPSAwOwogCX0KIAotCXN0YXR1cyA9IGFjcGlfZXZhbHVhdGVfb2JqZWN0KGhhbmRs ZSwgIkFUSUYiLCAmYXRpZl9hcmcsICZidWZmZXIpOworCXN0YXR1cyA9IGFjcGlfZXZhbHVhdGVf b2JqZWN0KGF0aWYtPmhhbmRsZSwgTlVMTCwgJmF0aWZfYXJnLAorCQkJCSAgICAgICZidWZmZXIp OwogCiAJLyogRmFpbCBvbmx5IGlmIGNhbGxpbmcgdGhlIG1ldGhvZCBmYWlscyBhbmQgQVRJRiBp cyBzdXBwb3J0ZWQgKi8KIAlpZiAoQUNQSV9GQUlMVVJFKHN0YXR1cykgJiYgc3RhdHVzICE9IEFF X05PVF9GT1VORCkgewpAQCAtMTc4LDE1ICsxODIsMTQgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2F0 aWZfcGFyc2VfZnVuY3Rpb25zKHN0cnVjdCBhbWRncHVfYXRpZl9mdW5jdGlvbnMgKmYsIHUzMiBt YXMKICAqIChhbGwgYXNpY3MpLgogICogcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVycm9yIG9uIGZh aWx1cmUuCiAgKi8KLXN0YXRpYyBpbnQgYW1kZ3B1X2F0aWZfdmVyaWZ5X2ludGVyZmFjZShhY3Bp X2hhbmRsZSBoYW5kbGUsCi0JCXN0cnVjdCBhbWRncHVfYXRpZiAqYXRpZikKK3N0YXRpYyBpbnQg YW1kZ3B1X2F0aWZfdmVyaWZ5X2ludGVyZmFjZShzdHJ1Y3QgYW1kZ3B1X2F0aWYgKmF0aWYpCiB7 CiAJdW5pb24gYWNwaV9vYmplY3QgKmluZm87CiAJc3RydWN0IGF0aWZfdmVyaWZ5X2ludGVyZmFj ZSBvdXRwdXQ7CiAJc2l6ZV90IHNpemU7CiAJaW50IGVyciA9IDA7CiAKLQlpbmZvID0gYW1kZ3B1 X2F0aWZfY2FsbChoYW5kbGUsIEFUSUZfRlVOQ1RJT05fVkVSSUZZX0lOVEVSRkFDRSwgTlVMTCk7 CisJaW5mbyA9IGFtZGdwdV9hdGlmX2NhbGwoYXRpZiwgQVRJRl9GVU5DVElPTl9WRVJJRllfSU5U RVJGQUNFLCBOVUxMKTsKIAlpZiAoIWluZm8pCiAJCXJldHVybiAtRUlPOwogCkBAIC0yMTMsNiAr MjE2LDM2IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2F0aWZfdmVyaWZ5X2ludGVyZmFjZShhY3BpX2hh bmRsZSBoYW5kbGUsCiAJcmV0dXJuIGVycjsKIH0KIAorc3RhdGljIGFjcGlfaGFuZGxlIGFtZGdw dV9hdGlmX3Byb2JlX2hhbmRsZShhY3BpX2hhbmRsZSBkaGFuZGxlKQoreworCWFjcGlfaGFuZGxl IGhhbmRsZSA9IE5VTEw7CisJY2hhciBhY3BpX21ldGhvZF9uYW1lWzI1NV0gPSB7IDAgfTsKKwlz dHJ1Y3QgYWNwaV9idWZmZXIgYnVmZmVyID0geyBzaXplb2YoYWNwaV9tZXRob2RfbmFtZSksIGFj cGlfbWV0aG9kX25hbWUgfTsKKwlhY3BpX3N0YXR1cyBzdGF0dXM7CisKKwkvKiBGaXJzdCBjaGVj ayB0aGUgZGV2aWNlIGhhbmRsZSAqLworCXN0YXR1cyA9IGFjcGlfZ2V0X2hhbmRsZShkaGFuZGxl LCAiQVRJRiIsICZoYW5kbGUpOworCWlmIChBQ1BJX1NVQ0NFU1Moc3RhdHVzKSkKKwkJZ290byBv dXQ7CisKKwkvKiBTb21lIHZlbmRvcnMgc3RpY2sgdGhlIEFUSUYgbWV0aG9kcyBpbiB0aGUgc2Ft ZSBuYW1lc3BhY2UgYXMgdGhlCisJICogQVRQWCBtZXRob2RzCisJICovCisJaWYgKGFtZGdwdV9o YXNfYXRweCgpKSB7CisJCXN0YXR1cyA9IGFjcGlfZ2V0X2hhbmRsZShhbWRncHVfYXRweF9nZXRf ZGhhbmRsZSgpLCAiQVRJRiIsCisJCQkJCSAmaGFuZGxlKTsKKwkJaWYgKEFDUElfU1VDQ0VTUyhz dGF0dXMpKQorCQkJZ290byBvdXQ7CisJfQorCisJRFJNX0RFQlVHX0RSSVZFUigiTm8gQVRJRiBo YW5kbGUgZm91bmRcbiIpOworCXJldHVybiBOVUxMOworb3V0OgorCWFjcGlfZ2V0X25hbWUoaGFu ZGxlLCBBQ1BJX0ZVTExfUEFUSE5BTUUsICZidWZmZXIpOworCURSTV9ERUJVR19EUklWRVIoIkZv dW5kIEFUSUYgaGFuZGxlICVzXG4iLCBhY3BpX21ldGhvZF9uYW1lKTsKKwlyZXR1cm4gaGFuZGxl OworfQorCiAvKioKICAqIGFtZGdwdV9hdGlmX2dldF9ub3RpZmljYXRpb25fcGFyYW1zIC0gZGV0 ZXJtaW5lIG5vdGlmeSBjb25maWd1cmF0aW9uCiAgKgpAQCAtMjI1LDE1ICsyNTgsMTYgQEAgc3Rh dGljIGludCBhbWRncHVfYXRpZl92ZXJpZnlfaW50ZXJmYWNlKGFjcGlfaGFuZGxlIGhhbmRsZSwK ICAqIHdoZXJlIG4gaXMgc3BlY2lmaWVkIGluIHRoZSByZXN1bHQgaWYgYSBub3RpZmllciBpcyB1 c2VkLgogICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVycm9yIG9uIGZhaWx1cmUuCiAgKi8KLXN0 YXRpYyBpbnQgYW1kZ3B1X2F0aWZfZ2V0X25vdGlmaWNhdGlvbl9wYXJhbXMoYWNwaV9oYW5kbGUg aGFuZGxlLAotCQlzdHJ1Y3QgYW1kZ3B1X2F0aWZfbm90aWZpY2F0aW9uX2NmZyAqbikKK3N0YXRp YyBpbnQgYW1kZ3B1X2F0aWZfZ2V0X25vdGlmaWNhdGlvbl9wYXJhbXMoc3RydWN0IGFtZGdwdV9h dGlmICphdGlmKQogewogCXVuaW9uIGFjcGlfb2JqZWN0ICppbmZvOworCXN0cnVjdCBhbWRncHVf YXRpZl9ub3RpZmljYXRpb25fY2ZnICpuID0gJmF0aWYtPm5vdGlmaWNhdGlvbl9jZmc7CiAJc3Ry dWN0IGF0aWZfc3lzdGVtX3BhcmFtcyBwYXJhbXM7CiAJc2l6ZV90IHNpemU7CiAJaW50IGVyciA9 IDA7CiAKLQlpbmZvID0gYW1kZ3B1X2F0aWZfY2FsbChoYW5kbGUsIEFUSUZfRlVOQ1RJT05fR0VU X1NZU1RFTV9QQVJBTUVURVJTLCBOVUxMKTsKKwlpbmZvID0gYW1kZ3B1X2F0aWZfY2FsbChhdGlm LCBBVElGX0ZVTkNUSU9OX0dFVF9TWVNURU1fUEFSQU1FVEVSUywKKwkJCQlOVUxMKTsKIAlpZiAo IWluZm8pIHsKIAkJZXJyID0gLUVJTzsKIAkJZ290byBvdXQ7CkBAIC0yODcsMTQgKzMyMSwxNSBA QCBzdGF0aWMgaW50IGFtZGdwdV9hdGlmX2dldF9ub3RpZmljYXRpb25fcGFyYW1zKGFjcGlfaGFu ZGxlIGhhbmRsZSwKICAqIChhbGwgYXNpY3MpLgogICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVy cm9yIG9uIGZhaWx1cmUuCiAgKi8KLXN0YXRpYyBpbnQgYW1kZ3B1X2F0aWZfZ2V0X3NiaW9zX3Jl cXVlc3RzKGFjcGlfaGFuZGxlIGhhbmRsZSwKLQkJc3RydWN0IGF0aWZfc2Jpb3NfcmVxdWVzdHMg KnJlcSkKK3N0YXRpYyBpbnQgYW1kZ3B1X2F0aWZfZ2V0X3NiaW9zX3JlcXVlc3RzKHN0cnVjdCBh bWRncHVfYXRpZiAqYXRpZiwKKwkJCQkJICBzdHJ1Y3QgYXRpZl9zYmlvc19yZXF1ZXN0cyAqcmVx KQogewogCXVuaW9uIGFjcGlfb2JqZWN0ICppbmZvOwogCXNpemVfdCBzaXplOwogCWludCBjb3Vu dCA9IDA7CiAKLQlpbmZvID0gYW1kZ3B1X2F0aWZfY2FsbChoYW5kbGUsIEFUSUZfRlVOQ1RJT05f R0VUX1NZU1RFTV9CSU9TX1JFUVVFU1RTLCBOVUxMKTsKKwlpbmZvID0gYW1kZ3B1X2F0aWZfY2Fs bChhdGlmLCBBVElGX0ZVTkNUSU9OX0dFVF9TWVNURU1fQklPU19SRVFVRVNUUywKKwkJCQlOVUxM KTsKIAlpZiAoIWluZm8pCiAJCXJldHVybiAtRUlPOwogCkBAIC0zMjcsMTEgKzM2MiwxMCBAQCBz dGF0aWMgaW50IGFtZGdwdV9hdGlmX2dldF9zYmlvc19yZXF1ZXN0cyhhY3BpX2hhbmRsZSBoYW5k bGUsCiAgKiBSZXR1cm5zIE5PVElGWSBjb2RlCiAgKi8KIHN0YXRpYyBpbnQgYW1kZ3B1X2F0aWZf aGFuZGxlcihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKLQkJCXN0cnVjdCBhY3BpX2J1c19l dmVudCAqZXZlbnQpCisJCQkgICAgICAgc3RydWN0IGFjcGlfYnVzX2V2ZW50ICpldmVudCkKIHsK IAlzdHJ1Y3QgYW1kZ3B1X2F0aWYgKmF0aWYgPSBhZGV2LT5hdGlmOwogCXN0cnVjdCBhdGlmX3Ni aW9zX3JlcXVlc3RzIHJlcTsKLQlhY3BpX2hhbmRsZSBoYW5kbGU7CiAJaW50IGNvdW50OwogCiAJ RFJNX0RFQlVHX0RSSVZFUigiZXZlbnQsIGRldmljZV9jbGFzcyA9ICVzLCB0eXBlID0gJSN4XG4i LApAQCAtMzQ3LDggKzM4MSw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2F0aWZfaGFuZGxlcihzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJcmV0dXJuIE5PVElGWV9ET05FOwogCiAJLyogQ2hl Y2sgcGVuZGluZyBTQklPUyByZXF1ZXN0cyAqLwotCWhhbmRsZSA9IEFDUElfSEFORExFKCZhZGV2 LT5wZGV2LT5kZXYpOwotCWNvdW50ID0gYW1kZ3B1X2F0aWZfZ2V0X3NiaW9zX3JlcXVlc3RzKGhh bmRsZSwgJnJlcSk7CisJY291bnQgPSBhbWRncHVfYXRpZl9nZXRfc2Jpb3NfcmVxdWVzdHMoYXRp ZiwgJnJlcSk7CiAKIAlpZiAoY291bnQgPD0gMCkKIAkJcmV0dXJuIE5PVElGWV9ET05FOwpAQCAt Njc5LDcgKzcxMiw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2FjcGlfZXZlbnQoc3RydWN0IG5vdGlm aWVyX2Jsb2NrICpuYiwKICAqLwogaW50IGFtZGdwdV9hY3BpX2luaXQoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpCiB7Ci0JYWNwaV9oYW5kbGUgaGFuZGxlOworCWFjcGlfaGFuZGxlIGhhbmRs ZSwgYXRpZl9oYW5kbGU7CiAJc3RydWN0IGFtZGdwdV9hdGlmICphdGlmOwogCXN0cnVjdCBhbWRn cHVfYXRjcyAqYXRjcyA9ICZhZGV2LT5hdGNzOwogCWludCByZXQ7CkBAIC02OTYsMTQgKzcyOSwy MCBAQCBpbnQgYW1kZ3B1X2FjcGlfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJ RFJNX0RFQlVHX0RSSVZFUigiQ2FsbCB0byBBVENTIHZlcmlmeV9pbnRlcmZhY2UgZmFpbGVkOiAl ZFxuIiwgcmV0KTsKIAl9CiAKLQkvKiBDYWxsIHRoZSBBVElGIG1ldGhvZCAqLworCS8qIFByb2Jl IGZvciBBVElGLCBhbmQgaW5pdGlhbGl6ZSBpdCBpZiBmb3VuZCAqLworCWF0aWZfaGFuZGxlID0g YW1kZ3B1X2F0aWZfcHJvYmVfaGFuZGxlKGhhbmRsZSk7CisJaWYgKCFhdGlmX2hhbmRsZSkKKwkJ Z290byBvdXQ7CisKIAlhdGlmID0ga3phbGxvYyhzaXplb2YoKmF0aWYpLCBHRlBfS0VSTkVMKTsK IAlpZiAoIWF0aWYpIHsKIAkJRFJNX1dBUk4oIk5vdCBlbm91Z2ggbWVtb3J5IHRvIGluaXRpYWxp emUgQVRJRlxuIik7CiAJCWdvdG8gb3V0OwogCX0KKwlhdGlmLT5oYW5kbGUgPSBhdGlmX2hhbmRs ZTsKIAotCXJldCA9IGFtZGdwdV9hdGlmX3ZlcmlmeV9pbnRlcmZhY2UoaGFuZGxlLCBhdGlmKTsK KwkvKiBDYWxsIHRoZSBBVElGIG1ldGhvZCAqLworCXJldCA9IGFtZGdwdV9hdGlmX3ZlcmlmeV9p bnRlcmZhY2UoYXRpZik7CiAJaWYgKHJldCkgewogCQlEUk1fREVCVUdfRFJJVkVSKCJDYWxsIHRv IEFUSUYgdmVyaWZ5X2ludGVyZmFjZSBmYWlsZWQ6ICVkXG4iLCByZXQpOwogCQlrZnJlZShhdGlm KTsKQEAgLTczOSw4ICs3NzgsNyBAQCBpbnQgYW1kZ3B1X2FjcGlfaW5pdChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKIAl9CiAKIAlpZiAoYXRpZi0+ZnVuY3Rpb25zLnN5c3RlbV9wYXJhbXMp IHsKLQkJcmV0ID0gYW1kZ3B1X2F0aWZfZ2V0X25vdGlmaWNhdGlvbl9wYXJhbXMoaGFuZGxlLAot CQkJCSZhdGlmLT5ub3RpZmljYXRpb25fY2ZnKTsKKwkJcmV0ID0gYW1kZ3B1X2F0aWZfZ2V0X25v dGlmaWNhdGlvbl9wYXJhbXMoYXRpZik7CiAJCWlmIChyZXQpIHsKIAkJCURSTV9ERUJVR19EUklW RVIoIkNhbGwgdG8gR0VUX1NZU1RFTV9QQVJBTVMgZmFpbGVkOiAlZFxuIiwKIAkJCQkJcmV0KTsK LS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==