From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 3/5] drm/i915: Unify engine init loop Date: Fri, 1 Jul 2016 17:47:13 +0100 Message-ID: <1467391635-9902-3-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1467391635-9902-1-git-send-email-tvrtko.ursulin@linux.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 023596E1CE for ; Fri, 1 Jul 2016 16:47:20 +0000 (UTC) In-Reply-To: <1467391635-9902-1-git-send-email-tvrtko.ursulin@linux.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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldpdGggdGhl IHVuaWZpZWQgY29tbW9uIGVuZ2luZSBzZXR1cCBkb25lLCBhbmQgdGhlIGV4ZWNsaXN0IGVuZ2lu ZQppbml0aWFsaXphdGlvbiBsb29wIGNsZWFybHkgc3BsaXQgaW50byB0d28gcGhhc2VzLCB3ZSBj YW4gZWxpbWluYXRlCnRoZSBzZXBhcmF0ZSBsZWdhY3kgZW5naW5lIGluaXRpYWxpemF0aW9uIGNv ZGUuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICAyIC0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCA1MSArLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j ICAgICAgICB8IDI1ICsrKysrKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5oICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmMgfCA0NyArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8IDEwICsrKy0tLS0KIDYgZmlsZXMgY2hhbmdlZCwg MzkgaW5zZXJ0aW9ucygrKSwgOTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK aW5kZXggNDg1YWIxMTQ4MTgxLi5jMDU4Y2I4MTUwYmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aApAQCAtMjAzMCw3ICsyMDMwLDYgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCQlpbnQg KCpleGVjYnVmX3N1Ym1pdCkoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywK IAkJCQkgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyICphcmdzLAogCQkJCSAg ICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMpOwotCQlpbnQgKCppbml0X2VuZ2luZXMpKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwogCQl2b2lkICgqY2xlYW51cF9lbmdpbmUpKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSk7CiAJCXZvaWQgKCpzdG9wX2VuZ2luZSkoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKTsKIAl9IGd0OwpAQCAtMzM0Miw3ICszMzQxLDYgQEAgc3RhdGlj IGlubGluZSBib29sIGk5MTVfc3RvcF9yaW5nX2FsbG93X3dhcm4oc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogdm9pZCBpOTE1X2dlbV9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KTsKIGJvb2wgaTkxNV9nZW1fY2xmbHVzaF9vYmplY3Qoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaiwgYm9vbCBmb3JjZSk7CiBpbnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldik7Ci1pbnQgaTkxNV9nZW1faW5pdF9lbmdpbmVzKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwogaW50IF9fbXVzdF9jaGVjayBpOTE1X2dlbV9pbml0X2h3KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBpOTE1X2dlbV9pbml0X3N3aXp6bGluZyhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaTkxNV9nZW1fY2xlYW51cF9lbmdpbmVzKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggMWQ5ODc4MjU4 MTAzLi4zYjVjOTk4MzNkZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNTAyOSw1MyAr NTAyOSw2IEBAIHN0YXRpYyB2b2lkIGluaXRfdW51c2VkX3JpbmdzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAJfQogfQogCi1pbnQgaTkxNV9nZW1faW5pdF9lbmdpbmVzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCi17Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKLQlpbnQgcmV0OwotCi0JcmV0ID0gaW50ZWxfaW5pdF9yZW5kZXJfcmluZ19i dWZmZXIoZGV2KTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCi0JaWYgKEhBU19CU0QoZGV2 KSkgewotCQlyZXQgPSBpbnRlbF9pbml0X2JzZF9yaW5nX2J1ZmZlcihkZXYpOwotCQlpZiAocmV0 KQotCQkJZ290byBjbGVhbnVwX3JlbmRlcl9yaW5nOwotCX0KLQotCWlmIChIQVNfQkxUKGRldikp IHsKLQkJcmV0ID0gaW50ZWxfaW5pdF9ibHRfcmluZ19idWZmZXIoZGV2KTsKLQkJaWYgKHJldCkK LQkJCWdvdG8gY2xlYW51cF9ic2RfcmluZzsKLQl9Ci0KLQlpZiAoSEFTX1ZFQk9YKGRldikpIHsK LQkJcmV0ID0gaW50ZWxfaW5pdF92ZWJveF9yaW5nX2J1ZmZlcihkZXYpOwotCQlpZiAocmV0KQot CQkJZ290byBjbGVhbnVwX2JsdF9yaW5nOwotCX0KLQotCWlmIChIQVNfQlNEMihkZXYpKSB7Ci0J CXJldCA9IGludGVsX2luaXRfYnNkMl9yaW5nX2J1ZmZlcihkZXYpOwotCQlpZiAocmV0KQotCQkJ Z290byBjbGVhbnVwX3ZlYm94X3Jpbmc7Ci0JfQotCi0JcmV0dXJuIDA7Ci0KLWNsZWFudXBfdmVi b3hfcmluZzoKLQlpbnRlbF9jbGVhbnVwX2VuZ2luZSgmZGV2X3ByaXYtPmVuZ2luZVtWRUNTXSk7 Ci1jbGVhbnVwX2JsdF9yaW5nOgotCWludGVsX2NsZWFudXBfZW5naW5lKCZkZXZfcHJpdi0+ZW5n aW5lW0JDU10pOwotY2xlYW51cF9ic2RfcmluZzoKLQlpbnRlbF9jbGVhbnVwX2VuZ2luZSgmZGV2 X3ByaXYtPmVuZ2luZVtWQ1NdKTsKLWNsZWFudXBfcmVuZGVyX3Jpbmc6Ci0JaW50ZWxfY2xlYW51 cF9lbmdpbmUoJmRldl9wcml2LT5lbmdpbmVbUkNTXSk7Ci0KLQlyZXR1cm4gcmV0OwotfQotCiBp bnQKIGk5MTVfZ2VtX2luaXRfaHcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKQEAgLTUxNTcs MTIgKzUxMTAsMTAgQEAgaW50IGk5MTVfZ2VtX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK IAogCWlmICghaTkxNS5lbmFibGVfZXhlY2xpc3RzKSB7CiAJCWRldl9wcml2LT5ndC5leGVjYnVm X3N1Ym1pdCA9IGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbjsKLQkJZGV2X3ByaXYtPmd0 LmluaXRfZW5naW5lcyA9IGk5MTVfZ2VtX2luaXRfZW5naW5lczsKIAkJZGV2X3ByaXYtPmd0LmNs ZWFudXBfZW5naW5lID0gaW50ZWxfY2xlYW51cF9lbmdpbmU7CiAJCWRldl9wcml2LT5ndC5zdG9w X2VuZ2luZSA9IGludGVsX3N0b3BfZW5naW5lOwogCX0gZWxzZSB7CiAJCWRldl9wcml2LT5ndC5l eGVjYnVmX3N1Ym1pdCA9IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uOwotCQlkZXZfcHJpdi0+ Z3QuaW5pdF9lbmdpbmVzID0gaW50ZWxfbG9naWNhbF9yaW5nc19pbml0OwogCQlkZXZfcHJpdi0+ Z3QuY2xlYW51cF9lbmdpbmUgPSBpbnRlbF9sb2dpY2FsX3JpbmdfY2xlYW51cDsKIAkJZGV2X3By aXYtPmd0LnN0b3BfZW5naW5lID0gaW50ZWxfbG9naWNhbF9yaW5nX3N0b3A7CiAJfQpAQCAtNTE4 Miw3ICs1MTMzLDcgQEAgaW50IGk5MTVfZ2VtX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK IAlpZiAocmV0KQogCQlnb3RvIG91dF91bmxvY2s7CiAKLQlyZXQgPSBkZXZfcHJpdi0+Z3QuaW5p dF9lbmdpbmVzKGRldik7CisJcmV0ID0gaW50ZWxfZW5naW5lc19pbml0KGRldik7CiAJaWYgKHJl dCkKIAkJZ290byBvdXRfdW5sb2NrOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IGFi YjE2NTAxOWFmNy4uYmY4ZjRhNjdjNzViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAt MjE1Myw2ICsyMTUzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBlbmdpbmVfaW5mbyB7CiAJdTMy IG1taW9fYmFzZTsKIAl1bnNpZ25lZCBpcnFfc2hpZnQ7CiAJaW50ICgqaW5pdCkoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKKwlpbnQgKCppbml0X3JpbmdidWYpKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSk7CiB9IGludGVsX2VuZ2luZXNbXSA9IHsKIAlbUkNTXSA9IHsK IAkJLm5hbWUgPSAicmVuZGVyIHJpbmciLApAQCAtMjE2MSw2ICsyMTYyLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBlbmdpbmVfaW5mbyB7CiAJCS5tbWlvX2Jhc2UgPSBSRU5ERVJfUklOR19CQVNF LAogCQkuaXJxX3NoaWZ0ID0gR0VOOF9SQ1NfSVJRX1NISUZULAogCQkuaW5pdCA9IGxvZ2ljYWxf cmVuZGVyX3JpbmdfaW5pdCwKKwkJLmluaXRfcmluZ2J1ZiA9IGludGVsX2luaXRfcmVuZGVyX3Jp bmdfYnVmZmVyLAogCX0sCiAJW0JDU10gPSB7CiAJCS5uYW1lID0gImJsaXR0ZXIgcmluZyIsCkBA IC0yMTY5LDYgKzIxNzEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGVuZ2luZV9pbmZvIHsKIAkJ Lm1taW9fYmFzZSA9IEJMVF9SSU5HX0JBU0UsCiAJCS5pcnFfc2hpZnQgPSBHRU44X0JDU19JUlFf U0hJRlQsCiAJCS5pbml0ID0gbG9naWNhbF94Y3NfcmluZ19pbml0LAorCQkuaW5pdF9yaW5nYnVm ID0gaW50ZWxfaW5pdF9ibHRfcmluZ19idWZmZXIsCiAJfSwKIAlbVkNTXSA9IHsKIAkJLm5hbWUg PSAiYnNkIHJpbmciLApAQCAtMjE3Nyw2ICsyMTgwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBl bmdpbmVfaW5mbyB7CiAJCS5tbWlvX2Jhc2UgPSBHRU42X0JTRF9SSU5HX0JBU0UsCiAJCS5pcnFf c2hpZnQgPSBHRU44X1ZDUzFfSVJRX1NISUZULAogCQkuaW5pdCA9IGxvZ2ljYWxfeGNzX3Jpbmdf aW5pdCwKKwkJLmluaXRfcmluZ2J1ZiA9IGludGVsX2luaXRfYnNkX3JpbmdfYnVmZmVyLAogCX0s CiAJW1ZDUzJdID0gewogCQkubmFtZSA9ICJic2QyIHJpbmciLApAQCAtMjE4NSw2ICsyMTg5LDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBlbmdpbmVfaW5mbyB7CiAJCS5tbWlvX2Jhc2UgPSBHRU44 X0JTRDJfUklOR19CQVNFLAogCQkuaXJxX3NoaWZ0ID0gR0VOOF9WQ1MyX0lSUV9TSElGVCwKIAkJ LmluaXQgPSBsb2dpY2FsX3hjc19yaW5nX2luaXQsCisJCS5pbml0X3JpbmdidWYgPSBpbnRlbF9p bml0X2JzZDJfcmluZ19idWZmZXIsCiAJfSwKIAlbVkVDU10gPSB7CiAJCS5uYW1lID0gInZpZGVv IGVuaGFuY2VtZW50IHJpbmciLApAQCAtMjE5Myw2ICsyMTk4LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBlbmdpbmVfaW5mbyB7CiAJCS5tbWlvX2Jhc2UgPSBWRUJPWF9SSU5HX0JBU0UsCiAJCS5p cnFfc2hpZnQgPSBHRU44X1ZFQ1NfSVJRX1NISUZULAogCQkuaW5pdCA9IGxvZ2ljYWxfeGNzX3Jp bmdfaW5pdCwKKwkJLmluaXRfcmluZ2J1ZiA9IGludGVsX2luaXRfdmVib3hfcmluZ19idWZmZXIs CiAJfSwKIH07CiAKQEAgLTIyMTUsMjAgKzIyMjEsMTYgQEAgaW50ZWxfZW5naW5lX3NldHVwKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIH0KIAogLyoqCi0gKiBpbnRlbF9sb2dp Y2FsX3JpbmdzX2luaXQoKSAtIGFsbG9jYXRlLCBwb3B1bGF0ZSBhbmQgaW5pdCB0aGUgRW5naW5l IENvbW1hbmQgU3RyZWFtZXJzCisgKiBpbnRlbF9lbmdpbmVzX2luaXQoKSAtIGFsbG9jYXRlLCBw b3B1bGF0ZSBhbmQgaW5pdCB0aGUgRW5naW5lIENvbW1hbmQgU3RyZWFtZXJzCiAgKiBAZGV2OiBE Uk0gZGV2aWNlLgogICoKLSAqIFRoaXMgZnVuY3Rpb24gaW5pdHMgdGhlIGVuZ2luZXMgZm9yIGFu IEV4ZWNsaXN0cyBzdWJtaXNzaW9uIHN0eWxlICh0aGUKLSAqIGVxdWl2YWxlbnQgaW4gdGhlIGxl Z2FjeSByaW5nYnVmZmVyIHN1Ym1pc3Npb24gd29ybGQgd291bGQgYmUKLSAqIGk5MTVfZ2VtX2lu aXRfZW5naW5lcykuIEl0IGRvZXMgaXQgb25seSBmb3IgdGhvc2UgZW5naW5lcyB0aGF0IGFyZSBw cmVzZW50IGluCi0gKiB0aGUgaGFyZHdhcmUuCi0gKgogICogUmV0dXJuOiBub24temVybyBpZiB0 aGUgaW5pdGlhbGl6YXRpb24gZmFpbGVkLgogICovCi1pbnQgaW50ZWxfbG9naWNhbF9yaW5nc19p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitpbnQgaW50ZWxfZW5naW5lc19pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAl1bnNpZ25lZCBpbnQgbWFzayA9IDA7CisJaW50ICgqaW5p dCkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKIAl1bnNpZ25lZCBpbnQgaTsKIAlp bnQgcmV0OwogCkBAIC0yMjM5LDEwICsyMjQxLDE1IEBAIGludCBpbnRlbF9sb2dpY2FsX3Jpbmdz X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJaWYgKCFIQVNfRU5HSU5FKGRldl9wcml2 LCBpKSkKIAkJCWNvbnRpbnVlOwogCi0JCWlmICghaW50ZWxfZW5naW5lc1tpXS5pbml0KQorCQlp ZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzKQorCQkJaW5pdCA9IGludGVsX2VuZ2luZXNbaV0uaW5p dDsKKwkJZWxzZQorCQkJaW5pdCA9IGludGVsX2VuZ2luZXNbaV0uaW5pdF9yaW5nYnVmOworCisJ CWlmICghaW5pdCkKIAkJCWNvbnRpbnVlOwogCi0JCXJldCA9IGludGVsX2VuZ2luZXNbaV0uaW5p dChpbnRlbF9lbmdpbmVfc2V0dXAoZGV2X3ByaXYsIGkpKTsKKwkJcmV0ID0gaW5pdChpbnRlbF9l bmdpbmVfc2V0dXAoZGV2X3ByaXYsIGkpKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gY2xlYW51cDsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAppbmRleCAyYjgyNTVjMTlkY2MuLmFhODkwNWM0MmRl NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKQEAgLTY3LDcgKzY3LDcgQEAgaW50IGludGVs X2xvZ2ljYWxfcmluZ19hbGxvY19yZXF1ZXN0X2V4dHJhcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcXVlc3QKIGludCBpbnRlbF9sb2dpY2FsX3JpbmdfcmVzZXJ2ZV9zcGFjZShzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpOwogdm9pZCBpbnRlbF9sb2dpY2FsX3Jp bmdfc3RvcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwogdm9pZCBpbnRlbF9sb2dp Y2FsX3JpbmdfY2xlYW51cChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwotaW50IGlu dGVsX2xvZ2ljYWxfcmluZ3NfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK2ludCBpbnRl bF9lbmdpbmVzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAKIGludCBsb2dpY2FsX3Jp bmdfZmx1c2hfYWxsX2NhY2hlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSk7CiAv KioKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCAyMTU0MjRlZmUw NWMuLmEwMGFkYzM0MzhmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu YwpAQCAtMzAzMywxNSArMzAzMywxMiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9yaW5nX2RlZmF1bHRf dmZ1bmNzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlpbnRlbF9yaW5nX2lu aXRfc2VtYXBob3JlcyhkZXZfcHJpdiwgZW5naW5lKTsKIH0KIAotaW50IGludGVsX2luaXRfcmVu ZGVyX3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitpbnQgaW50ZWxfaW5pdF9y ZW5kZXJfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewotCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq OwogCWludCByZXQ7CiAKLQllbmdpbmUgPSBpbnRlbF9lbmdpbmVfc2V0dXAoZGV2X3ByaXYsIFJD Uyk7Ci0KIAlpbnRlbF9yaW5nX2RlZmF1bHRfdmZ1bmNzKGRldl9wcml2LCBlbmdpbmUpOwogCiAJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCkgewpAQCAtMzA4MCw3ICszMDc3LDcgQEAgaW50 IGludGVsX2luaXRfcmVuZGVyX3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAK IAkvKiBXb3JrYXJvdW5kIGJhdGNoYnVmZmVyIHRvIGNvbWJhdCBDUyB0bGIgYnVnLiAqLwogCWlm IChIQVNfQlJPS0VOX0NTX1RMQihkZXZfcHJpdikpIHsKLQkJb2JqID0gaTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZShkZXYsIEk4MzBfV0FfU0laRSk7CisJCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVh dGUoZGV2X3ByaXYtPmRldiwgSTgzMF9XQV9TSVpFKTsKIAkJaWYgKElTX0VSUihvYmopKSB7CiAJ CQlEUk1fRVJST1IoIkZhaWxlZCB0byBhbGxvY2F0ZSBiYXRjaCBib1xuIik7CiAJCQlyZXR1cm4g UFRSX0VSUihvYmopOwpAQCAtMzA5Nyw3ICszMDk0LDcgQEAgaW50IGludGVsX2luaXRfcmVuZGVy X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWVuZ2luZS0+c2NyYXRjaC5n dHRfb2Zmc2V0ID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaik7CiAJfQogCi0JcmV0ID0g aW50ZWxfaW5pdF9yaW5nX2J1ZmZlcihkZXYsIGVuZ2luZSk7CisJcmV0ID0gaW50ZWxfaW5pdF9y aW5nX2J1ZmZlcihkZXZfcHJpdi0+ZGV2LCBlbmdpbmUpOwogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CiAKQEAgLTMxMTAsMTIgKzMxMDcsOSBAQCBpbnQgaW50ZWxfaW5pdF9yZW5kZXJfcmluZ19i dWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlyZXR1cm4gMDsKIH0KIAotaW50IGludGVs X2luaXRfYnNkX3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitpbnQgaW50ZWxf aW5pdF9ic2RfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0J c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwotCi0JZW5naW5lID0gaW50ZWxfZW5naW5l X3NldHVwKGRldl9wcml2LCBWQ1MpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGVuZ2luZS0+aTkxNTsKIAogCWludGVsX3JpbmdfZGVmYXVsdF92ZnVuY3MoZGV2X3ByaXYs IGVuZ2luZSk7CiAKQEAgLTMxMzgsMTggKzMxMzIsMTUgQEAgaW50IGludGVsX2luaXRfYnNkX3Jp bmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQllbmdpbmUtPmlycV9lbmFibGVf bWFzayA9IEk5MTVfQlNEX1VTRVJfSU5URVJSVVBUOwogCX0KIAotCXJldHVybiBpbnRlbF9pbml0 X3JpbmdfYnVmZmVyKGRldiwgZW5naW5lKTsKKwlyZXR1cm4gaW50ZWxfaW5pdF9yaW5nX2J1ZmZl cihkZXZfcHJpdi0+ZGV2LCBlbmdpbmUpOwogfQogCiAvKioKICAqIEluaXRpYWxpemUgdGhlIHNl Y29uZCBCU0QgcmluZyAoZWcuIEJyb2Fkd2VsbCBHVDMsIFNreWxha2UgR1QzKQogICovCi1pbnQg aW50ZWxfaW5pdF9ic2QyX3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitpbnQg aW50ZWxfaW5pdF9ic2QyX3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKLQotCWVuZ2luZSA9IGludGVs X2VuZ2luZV9zZXR1cChkZXZfcHJpdiwgVkNTMik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZW5naW5lLT5pOTE1OwogCiAJaW50ZWxfcmluZ19kZWZhdWx0X3ZmdW5jcyhk ZXZfcHJpdiwgZW5naW5lKTsKIApAQCAtMzE1NywxNSArMzE0OCwxMiBAQCBpbnQgaW50ZWxfaW5p dF9ic2QyX3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJZW5naW5lLT5pcnFf ZW5hYmxlX21hc2sgPQogCQkJR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIDw8IEdFTjhfVkNTMl9J UlFfU0hJRlQ7CiAKLQlyZXR1cm4gaW50ZWxfaW5pdF9yaW5nX2J1ZmZlcihkZXYsIGVuZ2luZSk7 CisJcmV0dXJuIGludGVsX2luaXRfcmluZ19idWZmZXIoZGV2X3ByaXYtPmRldiwgZW5naW5lKTsK IH0KIAotaW50IGludGVsX2luaXRfYmx0X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCitpbnQgaW50ZWxfaW5pdF9ibHRfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwotCi0JZW5naW5l ID0gaW50ZWxfZW5naW5lX3NldHVwKGRldl9wcml2LCBCQ1MpOworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKIAogCWludGVsX3JpbmdfZGVmYXVsdF92 ZnVuY3MoZGV2X3ByaXYsIGVuZ2luZSk7CiAKQEAgLTMxNzYsMTUgKzMxNjQsMTIgQEAgaW50IGlu dGVsX2luaXRfYmx0X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJZWxzZQog CQllbmdpbmUtPmlycV9lbmFibGVfbWFzayA9IEdUX0JMVF9VU0VSX0lOVEVSUlVQVDsKIAotCXJl dHVybiBpbnRlbF9pbml0X3JpbmdfYnVmZmVyKGRldiwgZW5naW5lKTsKKwlyZXR1cm4gaW50ZWxf aW5pdF9yaW5nX2J1ZmZlcihkZXZfcHJpdi0+ZGV2LCBlbmdpbmUpOwogfQogCi1pbnQgaW50ZWxf aW5pdF92ZWJveF9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoraW50IGludGVs X2luaXRfdmVib3hfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQog ewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwotCi0JZW5naW5lID0gaW50ZWxfZW5n aW5lX3NldHVwKGRldl9wcml2LCBWRUNTKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBlbmdpbmUtPmk5MTU7CiAKIAlpbnRlbF9yaW5nX2RlZmF1bHRfdmZ1bmNzKGRldl9w cml2LCBlbmdpbmUpOwogCkBAIC0zMTk5LDcgKzMxODQsNyBAQCBpbnQgaW50ZWxfaW5pdF92ZWJv eF9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQllbmdpbmUtPmlycV9wdXQg PSBoc3dfdmVib3hfcHV0X2lycTsKIAl9CiAKLQlyZXR1cm4gaW50ZWxfaW5pdF9yaW5nX2J1ZmZl cihkZXYsIGVuZ2luZSk7CisJcmV0dXJuIGludGVsX2luaXRfcmluZ19idWZmZXIoZGV2X3ByaXYt PmRldiwgZW5naW5lKTsKIH0KIAogaW50CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmgKaW5kZXggMWFlYjAwY2JhOWUyLi5hODQzMTY0YWIzODYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTQ1OSwxMSArNDU5LDExIEBAIGludCBpbnRlbF9y aW5nX2ludmFsaWRhdGVfYWxsX2NhY2hlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cSk7CiB2b2lkIGludGVsX2ZpbmlfcGlwZV9jb250cm9sKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSk7CiBpbnQgaW50ZWxfaW5pdF9waXBlX2NvbnRyb2woc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKTsKIAotaW50IGludGVsX2luaXRfcmVuZGVyX3JpbmdfYnVmZmVyKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwotaW50IGludGVsX2luaXRfYnNkX3JpbmdfYnVmZmVyKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwotaW50IGludGVsX2luaXRfYnNkMl9yaW5nX2J1ZmZlcihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KTsKLWludCBpbnRlbF9pbml0X2JsdF9yaW5nX2J1ZmZlcihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KTsKLWludCBpbnRlbF9pbml0X3ZlYm94X3JpbmdfYnVmZmVyKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOworaW50IGludGVsX2luaXRfcmVuZGVyX3JpbmdfYnVmZmVy KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CitpbnQgaW50ZWxfaW5pdF9ic2Rfcmlu Z19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKK2ludCBpbnRlbF9pbml0 X2JzZDJfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKK2ludCBp bnRlbF9pbml0X2JsdF9yaW5nX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp OworaW50IGludGVsX2luaXRfdmVib3hfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKTsKIAogdTY0IGludGVsX3JpbmdfZ2V0X2FjdGl2ZV9oZWFkKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSk7CiAKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK