From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: [PATCH v2 4/5] drm/i915: add a new perf configuration execbuf parameter Date: Wed, 22 May 2019 14:05:23 +0100 Message-ID: <20190522130524.10223-5-lionel.g.landwerlin@intel.com> References: <20190522130524.10223-1-lionel.g.landwerlin@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7C8C689A7A for ; Wed, 22 May 2019 13:08:27 +0000 (UTC) In-Reply-To: <20190522130524.10223-1-lionel.g.landwerlin@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 V2Ugd2FudCB0aGUgYWJpbGl0eSB0byBkaXNwYXRjaCBhIHNldCBvZiBjb21tYW5kIGJ1ZmZlciB0 byB0aGUKaGFyZHdhcmUsIGVhY2ggd2l0aCBhIGRpZmZlcmVudCBPQSBjb25maWd1cmF0aW9uLiBU byBhY2hpZXZlIHRoaXMsIHdlCnJldXNlIGEgY291cGxlIG9mIGZpZWxkcyBmcm9tIHRoZSBleGVj YnVmMiBzdHJ1Y3QgKEkgQ0FOIEhBWgpleGVjYnVmMz8pIHRvIG5vdGlmeSB3aGF0IE9BIGNvbmZp Z3VyYXRpb24gc2hvdWxkIGJlIHVzZWQgZm9yIGEgYmF0Y2gKYnVmZmVyLiBUaGlzIHJlcXVpcmVz IHRoZSBwcm9jZXNzIG1ha2luZyB0aGUgZXhlY2J1ZiB3aXRoIHRoaXMgZmxhZyB0bwphbHNvIG93 biB0aGUgcGVyZiBmZCBhdCB0aGUgdGltZSBvZiBleGVjYnVmLgoKdjI6IEFkZCBhIGVtaXRfb2Ff Y29uZmlnKCkgdmZ1bmMgaW4gdGhlIGludGVsX2VuZ2luZV9jcyAoQ2hyaXMpCiAgICBNb3ZlIG9h X2NvbmZpZyB2bWEgdG8gYWN0aXZlIChDaHJpcykKCnYzOiBEb24ndCBkcm9wIHRoZSBsb2NrIGZv ciBlbmdpbmUgbG9va3VwIChDaHJpcykKICAgIE1vdmUgT0EgY29uZmlnIHZtYSB0byBhY3RpdmUg YmVmb3JlIHdyaXRpbmcgdGhlIHJpbmdidWZmZXIgKENocmlzKQoKU2lnbmVkLW9mZi1ieTogTGlv bmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oIHwgIDcgKysKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jICAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuYyAgICAgICAgICAgICAgfCAgNCArCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oICAgICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYyAgIHwgOTcgKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jICAgICAgICAgICAgIHwgMTQgKy0tCiBpbmNsdWRlL3Vh cGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAgICAgICAgICB8IDE5ICsrKy0KIDggZmlsZXMgY2hh bmdlZCwgMTMyIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKaW5kZXggZjNmYzJlOGFjYzkwLi45MDdm ZDE5ZmI4ZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2lu ZV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBl cy5oCkBAIC00NTQsNiArNDU0LDcgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7CiAjZGVmaW5l IEk5MTVfRU5HSU5FX0hBU19TRU1BUEhPUkVTICAgQklUKDMpCiAjZGVmaW5lIEk5MTVfRU5HSU5F X05FRURTX0JSRUFEQ1JVTUJfVEFTS0xFVCBCSVQoNCkKICNkZWZpbmUgSTkxNV9FTkdJTkVfSVNf VklSVFVBTCAgICAgICBCSVQoNSkKKyNkZWZpbmUgSTkxNV9FTkdJTkVfSEFTX09BICAgICAgICAg ICBCSVQoNikKIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CiAKIAkvKgpAQCAtNTQ5LDYgKzU1MCwxMiBA QCBpbnRlbF9lbmdpbmVfaXNfdmlydHVhbChjb25zdCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpCiAJcmV0dXJuIGVuZ2luZS0+ZmxhZ3MgJiBJOTE1X0VOR0lORV9JU19WSVJUVUFMOwog fQogCitzdGF0aWMgaW5saW5lIGJvb2wKK2ludGVsX2VuZ2luZV9oYXNfb2EoY29uc3Qgc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQoreworCXJldHVybiBlbmdpbmUtPmZsYWdzICYgSTkx NV9FTkdJTkVfSEFTX09BOworfQorCiAjZGVmaW5lIGluc3Rkb25lX3NsaWNlX21hc2soZGV2X3By aXZfXykgXAogCShJU19HRU4oZGV2X3ByaXZfXywgNykgPyBcCiAJIDEgOiBSVU5USU1FX0lORk8o ZGV2X3ByaXZfXyktPnNzZXUuc2xpY2VfbWFzaykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJj LmMKaW5kZXggNDEzNzczOWRhZjJkLi5kMTEyOTFiNjNmZDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX2xyYy5jCkBAIC0yNzMyLDYgKzI3MzIsNyBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1 Ym1pc3Npb25fc2V0dXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQllbmdpbmUt PmluaXRfY29udGV4dCA9IGdlbjhfaW5pdF9yY3NfY29udGV4dDsKIAkJZW5naW5lLT5lbWl0X2Zs dXNoID0gZ2VuOF9lbWl0X2ZsdXNoX3JlbmRlcjsKIAkJZW5naW5lLT5lbWl0X2ZpbmlfYnJlYWRj cnVtYiA9IGdlbjhfZW1pdF9maW5pX2JyZWFkY3J1bWJfcmNzOworCQllbmdpbmUtPmZsYWdzIHw9 IEk5MTVfRU5HSU5FX0hBU19PQTsKIAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCBmMGQ2MGFmZmRiYTMuLmRjODVhM2U0NzRi OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtMjIx MCw4ICsyMjEwLDEwIEBAIHN0YXRpYyB2b2lkIHNldHVwX3JjcyhzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCiAJCWVuZ2luZS0+aXJxX2VuYWJsZV9tYXNrID0gSTkxNV9VU0VSX0lOVEVS UlVQVDsKIAl9CiAKLQlpZiAoSVNfSEFTV0VMTChpOTE1KSkKKwlpZiAoSVNfSEFTV0VMTChpOTE1 KSkgewogCQllbmdpbmUtPmVtaXRfYmJfc3RhcnQgPSBoc3dfZW1pdF9iYl9zdGFydDsKKwkJZW5n aW5lLT5mbGFncyB8PSBJOTE1X0VOR0lORV9IQVNfT0E7CisJfQogCiAJZW5naW5lLT5yZXN1bWUg PSByY3NfcmVzdW1lOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggNzIyNzRjYmU3ZDEx Li4yN2VhMTY1MzJkMWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtNDczLDYgKzQ3Mywx MCBAQCBzdGF0aWMgaW50IGk5MTVfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKIAljYXNlIEk5MTVfUEFSQU1fUEVSRl9SRVZJU0lPTjoKIAkJdmFsdWUg PSAyOwogCQlicmVhazsKKwljYXNlIEk5MTVfUEFSQU1fSEFTX0VYRUNfUEVSRl9DT05GSUc6CisJ CS8qIE9idmlvdXNseSByZXF1aXJlcyBwZXJmIHN1cHBvcnQuICovCisJCXZhbHVlID0gZGV2X3By aXYtPnBlcmYuaW5pdGlhbGl6ZWQ7CisJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCURSTV9ERUJVRygi VW5rbm93biBwYXJhbWV0ZXIgJWRcbiIsIHBhcmFtLT5wYXJhbSk7CiAJCXJldHVybiAtRUlOVkFM OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggYWJkNTY0YmZhMDNiLi4yNTg2MGQ5OWZmYzYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMzE1NCw2ICszMTU0LDcgQEAgaW50IGk5MTVf cGVyZl9nZXRfb2FfY29uZmlnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJICAg IGludCBtZXRyaWNzX3NldCwKIAkJCSAgICBzdHJ1Y3QgaTkxNV9vYV9jb25maWcgKipvdXRfY29u ZmlnLAogCQkJICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoqb3V0X29iaik7Cit2b2lk IGk5MTVfb2FfY29uZmlnX3B1dChzdHJ1Y3QgaTkxNV9vYV9jb25maWcgKm9hX2NvbmZpZyk7CiAK IC8qIGk5MTVfZ2VtX2V2aWN0LmMgKi8KIGludCBfX211c3RfY2hlY2sgaTkxNV9nZW1fZXZpY3Rf c29tZXRoaW5nKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IDhiODVjOTFjM2VhNC4uZjJkZDczM2Vi ZGY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVy LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0y ODgsNiArMjg4LDkgQEAgc3RydWN0IGk5MTVfZXhlY2J1ZmZlciB7CiAJICovCiAJaW50IGx1dF9z aXplOwogCXN0cnVjdCBobGlzdF9oZWFkICpidWNrZXRzOyAvKiogaHQgZm9yIHJlbG9jYXRpb24g aGFuZGxlcyAqLworCisJc3RydWN0IGk5MTVfb2FfY29uZmlnICpvYV9jb25maWc7IC8qKiBIVyBj b25maWd1cmF0aW9uIGZvciBPQSwgTlVMTCBpcyBub3QgbmVlZGVkLiAqLworCXN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYV9ibzsKIH07CiAKICNkZWZpbmUgZXhlY19lbnRyeShFQiwgVk1B KSAoJihFQiktPmV4ZWNbKFZNQSktPmV4ZWNfZmxhZ3MgLSAoRUIpLT5mbGFnc10pCkBAIC0xMTgz LDYgKzExODYsMzMgQEAgc3RhdGljIHZvaWQgY2xmbHVzaF93cml0ZTMyKHUzMiAqYWRkciwgdTMy IHZhbHVlLCB1bnNpZ25lZCBpbnQgZmx1c2hlcykKIAkJKmFkZHIgPSB2YWx1ZTsKIH0KIAorc3Rh dGljIGludAorZ2V0X2V4ZWNidWZfb2FfY29uZmlnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKKwkJICAgICAgaW50IHBlcmZfZmQsIHUzMiBvYV9jb25maWdfaWQsCisJCSAgICAg IHN0cnVjdCBpOTE1X29hX2NvbmZpZyAqKm91dF9vYV9jb25maWcsCisJCSAgICAgIHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICoqb3V0X29hX29iaikKK3sKKwlzdHJ1Y3QgZmlsZSAqcGVyZl9m aWxlOworCWludCByZXQ7CisKKwlpZiAoIWRldl9wcml2LT5wZXJmLm9hLmV4Y2x1c2l2ZV9zdHJl YW0pCisJCXJldHVybiAtRUlOVkFMOworCisJcGVyZl9maWxlID0gZmdldChwZXJmX2ZkKTsKKwlp ZiAoIXBlcmZfZmlsZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAocGVyZl9maWxlLT5wcml2 YXRlX2RhdGEgIT0gZGV2X3ByaXYtPnBlcmYub2EuZXhjbHVzaXZlX3N0cmVhbSkKKwkJcmV0dXJu IC1FSU5WQUw7CisKKwlmcHV0KHBlcmZfZmlsZSk7CisKKwlyZXQgPSBpOTE1X3BlcmZfZ2V0X29h X2NvbmZpZyhkZXZfcHJpdiwgb2FfY29uZmlnX2lkLAorCQkJCSAgICAgIG91dF9vYV9jb25maWcs IG91dF9vYV9vYmopOworCisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGludCBfX3JlbG9jX2dw dV9hbGxvYyhzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYiwKIAkJCSAgICAgc3RydWN0IGk5MTVf dm1hICp2bWEsCiAJCQkgICAgIHVuc2lnbmVkIGludCBsZW4pCkBAIC0xOTM3LDEyICsxOTY3LDE1 IEBAIHN0YXRpYyBib29sIGk5MTVfZ2VtX2NoZWNrX2V4ZWNidWZmZXIoc3RydWN0IGRybV9pOTE1 X2dlbV9leGVjYnVmZmVyMiAqZXhlYykKIAkJCXJldHVybiBmYWxzZTsKIAl9CiAKLQlpZiAoZXhl Yy0+RFI0ID09IDB4ZmZmZmZmZmYpIHsKLQkJRFJNX0RFQlVHKCJVWEEgc3VibWl0dGluZyBnYXJi YWdlIERSNCwgZml4aW5nIHVwXG4iKTsKLQkJZXhlYy0+RFI0ID0gMDsKKwkvKiBXZSByZXVzZSBE UjEgJiBEUjQgZmllbGRzIGZvciBwYXNzaW5nIHRoZSBwZXJmIGNvbmZpZyBkZXRhaWwuICovCisJ aWYgKCEoZXhlYy0+ZmxhZ3MgJiBJOTE1X0VYRUNfUEVSRl9DT05GSUcpKSB7CisJCWlmIChleGVj LT5EUjQgPT0gMHhmZmZmZmZmZikgeworCQkJRFJNX0RFQlVHKCJVWEEgc3VibWl0dGluZyBnYXJi YWdlIERSNCwgZml4aW5nIHVwXG4iKTsKKwkJCWV4ZWMtPkRSNCA9IDA7CisJCX0KKwkJaWYgKGV4 ZWMtPkRSMSB8fCBleGVjLT5EUjQpCisJCQlyZXR1cm4gZmFsc2U7CiAJfQotCWlmIChleGVjLT5E UjEgfHwgZXhlYy0+RFI0KQotCQlyZXR1cm4gZmFsc2U7CiAKIAlpZiAoKGV4ZWMtPmJhdGNoX3N0 YXJ0X29mZnNldCB8IGV4ZWMtPmJhdGNoX2xlbikgJiAweDcpCiAJCXJldHVybiBmYWxzZTsKQEAg LTIwNDgsNiArMjA4MSw0MCBAQCBzdGF0aWMgaW50IGViX3N1Ym1pdChzdHJ1Y3QgaTkxNV9leGVj YnVmZmVyICplYikKIAkJCXJldHVybiBlcnI7CiAJfQogCisJaWYgKGViLT5vYV9jb25maWcgJiYK KwkgICAgZWItPm9hX2NvbmZpZyAhPSBlYi0+aTkxNS0+cGVyZi5vYS5leGNsdXNpdmVfc3RyZWFt LT5vYV9jb25maWcpIHsKKwkJc3RydWN0IGk5MTVfdm1hICpvYV92bWE7CisKKwkJb2Ffdm1hID0g aTkxNV92bWFfaW5zdGFuY2UoZWItPm9hX2JvLAorCQkJCQkgICAgICAmZWItPmVuZ2luZS0+aTkx NS0+Z2d0dC52bSwgTlVMTCk7CisJCWlmICh1bmxpa2VseShJU19FUlIob2Ffdm1hKSkpIHsKKwkJ CWVyciA9IFBUUl9FUlIob2Ffdm1hKTsKKwkJCXJldHVybiBlcnI7CisJCX0KKworCQllcnIgPSBp OTE1X3ZtYV9waW4ob2Ffdm1hLCAwLCAwLCBQSU5fR0xPQkFMKTsKKwkJaWYgKGVycikKKwkJCXJl dHVybiBlcnI7CisKKwkJZXJyID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUob2Ffdm1hLCBlYi0+ cmVxdWVzdCwgMCk7CisJCWlmIChlcnIpIHsKKwkJCWk5MTVfdm1hX3VucGluKG9hX3ZtYSk7CisJ CQlyZXR1cm4gZXJyOworCQl9CisKKwkJZXJyID0gZWItPmVuZ2luZS0+ZW1pdF9iYl9zdGFydChl Yi0+cmVxdWVzdCwKKwkJCQkJCW9hX3ZtYS0+bm9kZS5zdGFydCwKKwkJCQkJCTAsIEk5MTVfRElT UEFUQ0hfU0VDVVJFKTsKKwkJaWYgKGVycikgeworCQkJaTkxNV92bWFfdW5waW4ob2Ffdm1hKTsK KwkJCXJldHVybiBlcnI7CisJCX0KKworCQlpOTE1X3ZtYV91bnBpbihvYV92bWEpOworCisJCXN3 YXAoZWItPm9hX2NvbmZpZywgZWItPmk5MTUtPnBlcmYub2EuZXhjbHVzaXZlX3N0cmVhbS0+b2Ff Y29uZmlnKTsKKwl9CisKIAllcnIgPSBlYi0+ZW5naW5lLT5lbWl0X2JiX3N0YXJ0KGViLT5yZXF1 ZXN0LAogCQkJCQllYi0+YmF0Y2gtPm5vZGUuc3RhcnQgKwogCQkJCQllYi0+YmF0Y2hfc3RhcnRf b2Zmc2V0LApAQCAtMjM0NSw2ICsyNDEyLDcgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogCWViLmJ1ZmZlcl9jb3VudCA9IGFyZ3MtPmJ1ZmZlcl9jb3Vu dDsKIAllYi5iYXRjaF9zdGFydF9vZmZzZXQgPSBhcmdzLT5iYXRjaF9zdGFydF9vZmZzZXQ7CiAJ ZWIuYmF0Y2hfbGVuID0gYXJncy0+YmF0Y2hfbGVuOworCWViLm9hX2NvbmZpZyA9IE5VTEw7CiAK IAllYi5iYXRjaF9mbGFncyA9IDA7CiAJaWYgKGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX1NFQ1VS RSkgewpAQCAtMjQxMCw5ICsyNDc4LDIxIEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAlpZiAodW5saWtlbHkoZXJyKSkKIAkJZ290byBlcnJfdW5sb2Nr OwogCisJaWYgKGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX1BFUkZfQ09ORklHKSB7CisJCWlmICgh aW50ZWxfZW5naW5lX2hhc19vYShlYi5lbmdpbmUpKSB7CisJCQllcnIgPSAtRU5PREVWOworCQkJ Z290byBlcnJfZW5naW5lOworCQl9CisKKwkJZXJyID0gZ2V0X2V4ZWNidWZfb2FfY29uZmlnKGVi Lmk5MTUsIGFyZ3MtPkRSMSwgYXJncy0+RFI0LAorCQkJCQkgICAgJmViLm9hX2NvbmZpZywgJmVi Lm9hX2JvKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gZXJyX2VuZ2luZTsKKwl9CisKIAllcnIgPSBl Yl93YWl0X2Zvcl9yaW5nKCZlYik7IC8qIG1heSB0ZW1wb3JhcmlseSBkcm9wIHN0cnVjdF9tdXRl eCAqLwogCWlmICh1bmxpa2VseShlcnIpKQotCQlnb3RvIGVycl9lbmdpbmU7CisJCWdvdG8gZXJy X29hOwogCiAJZXJyID0gZWJfcmVsb2NhdGUoJmViKTsKIAlpZiAoZXJyKSB7CkBAIC0yNTY1LDYg KzI2NDUsMTEgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogZXJyX3ZtYToKIAlpZiAoZWIuZXhlYykKIAkJZWJfcmVsZWFzZV92bWFzKCZlYik7CitlcnJf b2E6CisJaWYgKGViLm9hX2NvbmZpZykgeworCQlpOTE1X2dlbV9vYmplY3RfcHV0KGViLm9hX2Jv KTsKKwkJaTkxNV9vYV9jb25maWdfcHV0KGViLm9hX2NvbmZpZyk7CisJfQogZXJyX2VuZ2luZToK IAllYl91bnBpbl9jb250ZXh0KCZlYik7CiBlcnJfdW5sb2NrOgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bl cmYuYwppbmRleCA1ZTE0ZTc4ZmMxZTMuLmNiNmY4ZWE3MzU0NSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wZXJmLmMKQEAgLTM2Nyw3ICszNjcsNyBAQCBzdHJ1Y3QgcGVyZl9vcGVuX3Byb3BlcnRpZXMg ewogCWludCBvYV9wZXJpb2RfZXhwb25lbnQ7CiB9OwogCi1zdGF0aWMgdm9pZCBwdXRfb2FfY29u ZmlnKHN0cnVjdCBpOTE1X29hX2NvbmZpZyAqb2FfY29uZmlnKQordm9pZCBpOTE1X29hX2NvbmZp Z19wdXQoc3RydWN0IGk5MTVfb2FfY29uZmlnICpvYV9jb25maWcpCiB7CiAJaWYgKCFhdG9taWNf ZGVjX2FuZF90ZXN0KCZvYV9jb25maWctPnJlZl9jb3VudCkpCiAJCXJldHVybjsKQEAgLTUwMSw3 ICs1MDEsNyBAQCBpbnQgaTkxNV9wZXJmX2dldF9vYV9jb25maWcoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsCiAKIGVycl9idWZfYWxsb2M6CiAJaWYgKG91dF9jb25maWcpIHsKLQkJcHV0 X29hX2NvbmZpZyhvYV9jb25maWcpOworCQlpOTE1X29hX2NvbmZpZ19wdXQob2FfY29uZmlnKTsK IAkJKm91dF9jb25maWcgPSBOVUxMOwogCX0KIHVubG9jazoKQEAgLTE0ODIsNyArMTQ4Miw3IEBA IHN0YXRpYyB2b2lkIGk5MTVfb2Ffc3RyZWFtX2Rlc3Ryb3koc3RydWN0IGk5MTVfcGVyZl9zdHJl YW0gKnN0cmVhbSkKIAlpZiAoc3RyZWFtLT5jdHgpCiAJCW9hX3B1dF9yZW5kZXJfY3R4X2lkKHN0 cmVhbSk7CiAKLQlwdXRfb2FfY29uZmlnKHN0cmVhbS0+b2FfY29uZmlnKTsKKwlpOTE1X29hX2Nv bmZpZ19wdXQoc3RyZWFtLT5vYV9jb25maWcpOwogCiAJaWYgKGRldl9wcml2LT5wZXJmLm9hLnNw dXJpb3VzX3JlcG9ydF9ycy5taXNzZWQpIHsKIAkJRFJNX05PVEUoIiVkIHNwdXJpb3VzIE9BIHJl cG9ydCBub3RpY2VzIHN1cHByZXNzZWQgZHVlIHRvIHJhdGVsaW1pdGluZ1xuIiwKQEAgLTIyNTAs NyArMjI1MCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9vYV9zdHJlYW1faW5pdChzdHJ1Y3QgaTkxNV9w ZXJmX3N0cmVhbSAqc3RyZWFtLAogCWZyZWVfb2FfYnVmZmVyKGRldl9wcml2KTsKIAogZXJyX29h X2J1Zl9hbGxvYzoKLQlwdXRfb2FfY29uZmlnKHN0cmVhbS0+b2FfY29uZmlnKTsKKwlpOTE1X29h X2NvbmZpZ19wdXQoc3RyZWFtLT5vYV9jb25maWcpOwogCiAJaW50ZWxfdW5jb3JlX2ZvcmNld2Fr ZV9wdXQoJmRldl9wcml2LT51bmNvcmUsIEZPUkNFV0FLRV9BTEwpOwogCWludGVsX3J1bnRpbWVf cG1fcHV0KGRldl9wcml2LCBzdHJlYW0tPndha2VyZWYpOwpAQCAtMzQyNyw3ICszNDI3LDcgQEAg aW50IGk5MTVfcGVyZl9hZGRfY29uZmlnX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCiBzeXNmc19lcnI6CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cGVyZi5tZXRy aWNzX2xvY2spOwogcmVnX2VycjoKLQlwdXRfb2FfY29uZmlnKG9hX2NvbmZpZyk7CisJaTkxNV9v YV9jb25maWdfcHV0KG9hX2NvbmZpZyk7CiAJRFJNX0RFQlVHKCJGYWlsZWQgdG8gYWRkIG5ldyBP QSBjb25maWdcbiIpOwogCXJldHVybiBlcnI7CiB9CkBAIC0zNDgxLDcgKzM0ODEsNyBAQCBpbnQg aTkxNV9wZXJmX3JlbW92ZV9jb25maWdfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKIAogCURSTV9ERUJVRygiUmVtb3ZlZCBjb25maWcgJXMgaWQ9JWlcbiIsIG9hX2Nv bmZpZy0+dXVpZCwgb2FfY29uZmlnLT5pZCk7CiAKLQlwdXRfb2FfY29uZmlnKG9hX2NvbmZpZyk7 CisJaTkxNV9vYV9jb25maWdfcHV0KG9hX2NvbmZpZyk7CiAKIGNvbmZpZ19lcnI6CiAJbXV0ZXhf dW5sb2NrKCZkZXZfcHJpdi0+cGVyZi5tZXRyaWNzX2xvY2spOwpAQCAtMzY0Myw3ICszNjQzLDcg QEAgc3RhdGljIGludCBkZXN0cm95X2NvbmZpZyhpbnQgaWQsIHZvaWQgKnAsIHZvaWQgKmRhdGEp CiB7CiAJc3RydWN0IGk5MTVfb2FfY29uZmlnICpvYV9jb25maWcgPSBwOwogCi0JcHV0X29hX2Nv bmZpZyhvYV9jb25maWcpOworCWk5MTVfb2FfY29uZmlnX3B1dChvYV9jb25maWcpOwogCiAJcmV0 dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggYi9pbmNs dWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKaW5kZXggOWFjYjQ1NWZhZDM5Li43N2RkOWI0MTAxZjUg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL3Vh cGkvZHJtL2k5MTVfZHJtLmgKQEAgLTYxNyw2ICs2MTcsMTYgQEAgdHlwZWRlZiBzdHJ1Y3QgZHJt X2k5MTVfaXJxX3dhaXQgewogICovCiAjZGVmaW5lIEk5MTVfUEFSQU1fUEVSRl9SRVZJU0lPTgk1 NAogCisvKgorICogUmVxdWVzdCBhbiBPQSBwZXJmb3JtYW5jZSBjb25maWd1cmF0aW9uIGNoYW5n ZSBiZWZvcmUgcnVubmluZyB0aGUgY29tbWFuZHMKKyAqIGdpdmVuIGluIGFuIGV4ZWNidWYuCisg KgorICogUGVyZm9ybWFuY2UgY29uZmlndXJhdGlvbiBJRCBpcyBnaXZlbiBpbiB0aGUgRFI0IGZp ZWxkIG9mCisgKiBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgYW5kIHRoZSBmaWxlIGRlc2NyaXB0 b3Igb2YgdGhlIGk5MTUgcGVyZiBzdHJlYW0gaXMKKyAqIGdpdmVuIGluIERSMS4gRXhlY2J1ZmZl ciB3aWxsIGZhaWwgaWYgYW55IG9mIHRoZXNlIHBhcmFtZXRlciBpcyBpbnZhbGlkLgorICovCisj ZGVmaW5lIEk5MTVfUEFSQU1fSEFTX0VYRUNfUEVSRl9DT05GSUcgNTUKKwogLyogTXVzdCBiZSBr ZXB0IGNvbXBhY3QgLS0gbm8gaG9sZXMgYW5kIHdlbGwgZG9jdW1lbnRlZCAqLwogCiB0eXBlZGVm IHN0cnVjdCBkcm1faTkxNV9nZXRwYXJhbSB7CkBAIC0xMTQ4LDcgKzExNTgsMTQgQEAgc3RydWN0 IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiB7CiAgKi8KICNkZWZpbmUgSTkxNV9FWEVDX0ZFTkNF X1NVQk1JVAkJKDEgPDwgMjApCiAKLSNkZWZpbmUgX19JOTE1X0VYRUNfVU5LTk9XTl9GTEFHUyAo LShJOTE1X0VYRUNfRkVOQ0VfU1VCTUlUIDw8IDEpKQorLyogUmVxdWVzdCB0aGF0IHBlcmYgbW9u aXRvcmluZyBoYXJkd2FyZSBiZSByZXByb2dyYW1tZWQgYmVmb3JlIGV4ZWN1dGluZyB0aGUKKyAq IGNvbW1hbmRzIGZyb20gdGhlIGJhdGNoIGluIHRoZSBleGVjYnVmLiBUaGUgRFIxICYgRFI0IGZp ZWxkcyBvZiB0aGUgZXhlY2J1ZgorICogbXVzdCByZXNwZWN0aXZlbHkgY29udGFpbiB0aGUgZmls ZSBkZXNjcmlwdG9yIG9mIHRoZSBwZXJmIG1vbml0b3JpbmcgZGV2aWNlCisgKiBhbmQgdGhlIGNv bmZpZ3VyYXRpb24gdG8gcHJvZ3JhbS4KKyAqLworI2RlZmluZSBJOTE1X0VYRUNfUEVSRl9DT05G SUcgICAoMTw8MjEpCisKKyNkZWZpbmUgX19JOTE1X0VYRUNfVU5LTk9XTl9GTEFHUyAoLShJOTE1 X0VYRUNfUEVSRl9DT05GSUc8PDEpKQogCiAjZGVmaW5lIEk5MTVfRVhFQ19DT05URVhUX0lEX01B U0sJKDB4ZmZmZmZmZmYpCiAjZGVmaW5lIGk5MTVfZXhlY2J1ZmZlcjJfc2V0X2NvbnRleHRfaWQo ZWIyLCBjb250ZXh0KSBcCi0tIAoyLjIxLjAuMzkyLmdmOGY2Nzg3MTU5ZQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4