From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [PATCH 08/15] drm/i915: Add support for emitting execbuffer tags through OA counter reports Date: Thu, 2 Jun 2016 10:48:42 +0530 Message-ID: <1464844729-2774-9-git-send-email-sourab.gupta@intel.com> References: <1464844729-2774-1-git-send-email-sourab.gupta@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 56F856E365 for ; Thu, 2 Jun 2016 05:17:21 +0000 (UTC) In-Reply-To: <1464844729-2774-1-git-send-email-sourab.gupta@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: Daniel Vetter , Sourab Gupta , Deepak S List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgoKVGhpcyBwYXRjaCBl bmFibGVzIHVzZXJzcGFjZSB0byBzcGVjaWZ5IHRhZ3MgKHBlciB3b3JrbG9hZCksIHByb3ZpZGVk IHZpYQpleGVjYnVmZmVyIGlvY3RsLCB3aGljaCBjb3VsZCBiZSBhZGRlZCB0byBPQSByZXBvcnRz LCB0byBoZWxwIGFzc29jaWF0ZQpyZXBvcnRzIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgd29ya2xv YWRzLgoKVGhlcmUgbWF5IGJlIG11bHRpcGxlIHN0YWdlcyB3aXRoaW4gYSBzaW5nbGUgY29udGV4 dCwgZnJvbSBhIHVzZXJzcGFjZQpwZXJzcGVjdGl2ZS4gQW4gYWJpbGl0eSBpcyBuZWVkZWQgdG8g aW5kaXZpZHVhbGx5IGFzc29jaWF0ZSB0aGUgT0EgcmVwb3J0cwp3aXRoIHRoZWlyIGNvcnJlc3Bv bmRpbmcgd29ya2xvYWRzKGV4ZWNidWZmZXJzKSwgd2hpY2ggbWF5IG5vdCBiZSBwb3NzaWJsZQpz b2xlbHkgd2l0aCBjdHhfaWQgb3IgcGlkIGluZm9ybWF0aW9uLiBUaGlzIHBhdGNoIGVuYWJsZXMg c3VjaCBhIG1lY2hhbmlzbS4KCkluIHRoaXMgcGF0Y2gsIHVwcGVyIDMyIGJpdHMgb2YgcnN2ZDEg ZmllbGQsIHdoaWNoIHdlcmUgcHJldmlvdXNseSB1bnVzZWQKYXJlIG5vdyBiZWluZyB1c2VkIHRv IHBhc3MgaW4gdGhlIHRhZy4KClNpZ25lZC1vZmYtYnk6IFNvdXJhYiBHdXB0YSA8c291cmFiLmd1 cHRhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg ICAgICAgfCAgNyArKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZm ZXIuYyB8ICA1ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jICAgICAgICAg ICB8IDM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgIDQgKystLQogaW5jbHVkZS91YXBpL2RybS9pOTE1 X2RybS5oICAgICAgICAgICAgICAgIHwgMTIgKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA1 NSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApp bmRleCA2MGU5NGU2Li45ZGE1MDA3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE3MDgs NiArMTcwOCw3IEBAIHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAgICAgICpiYXRjaF9vYmo7CiAJc3RydWN0IGludGVsX2NvbnRleHQg ICAgICAgICAgICAqY3R4OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAgICAgKnJlcXVl c3Q7CisJdWludDMyX3QJCQl0YWc7CiB9OwogCiAvKiB1c2VkIGluIGNvbXB1dGluZyB0aGUgbmV3 IHdhdGVybWFya3Mgc3RhdGUgKi8KQEAgLTE3OTYsNyArMTc5Nyw3IEBAIHN0cnVjdCBpOTE1X3Bl cmZfc3RyZWFtX29wcyB7CiAJICogUm91dGluZSB0byBlbWl0IHRoZSBjb21tYW5kcyBpbiB0aGUg Y29tbWFuZCBzdHJlYW1lciBhc3NvY2lhdGVkCiAJICogd2l0aCB0aGUgY29ycmVzcG9uZGluZyBn cHUgZW5naW5lLgogCSAqLwotCXZvaWQgKCpjb21tYW5kX3N0cmVhbV9ob29rKShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSk7CisJdm9pZCAoKmNvbW1hbmRfc3RyZWFtX2hvb2spKHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLCB1MzIgdGFnKTsKIH07CiAKIGVudW0gaTkx NV9wZXJmX3N0cmVhbV9zdGF0ZSB7CkBAIC0xODUyLDYgKzE4NTMsNyBAQCBzdHJ1Y3QgaTkxNV9w ZXJmX2NzX2RhdGFfbm9kZSB7CiAJdTMyIG9mZnNldDsKIAl1MzIgY3R4X2lkOwogCXUzMiBwaWQ7 CisJdTMyIHRhZzsKIH07CiAKIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKQEAgLTIxOTksNiAr MjIwMSw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAogCQl1MzIgbGFzdF9jdHhfaWQ7 CiAJCXUzMiBsYXN0X3BpZDsKKwkJdTMyIGxhc3RfdGFnOwogCQlzdHJ1Y3QgbGlzdF9oZWFkIG5v ZGVfbGlzdDsKIAkJc3BpbmxvY2tfdCBub2RlX2xpc3RfbG9jazsKIAl9IHBlcmY7CkBAIC0zNTYz LDcgKzM1NjYsNyBAQCB2b2lkIGk5MTVfb2FfbGVnYWN5X2N0eF9zd2l0Y2hfbm90aWZ5KHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKIHZvaWQgaTkxNV9vYV91cGRhdGVfcmVnX3N0 YXRlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJCSAgICAgIHN0cnVjdCBpbnRl bF9jb250ZXh0ICpjdHgsCiAJCQkgICAgICB1aW50MzJfdCAqcmVnX3N0YXRlKTsKLXZvaWQgaTkx NV9wZXJmX2NvbW1hbmRfc3RyZWFtX2hvb2soc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEpOwordm9pZCBpOTE1X3BlcmZfY29tbWFuZF9zdHJlYW1faG9vayhzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSwgdTMyIHRhZyk7CiAKIC8qIGk5MTVfZ2VtX2V2aWN0LmMgKi8KIGlu dCBfX211c3RfY2hlY2sgaTkxNV9nZW1fZXZpY3Rfc29tZXRoaW5nKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVm ZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXgg OGI3NTlhZi4uYTY1NjRhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNi dWZmZXIuYwpAQCAtMTMwNSw3ICsxMzA1LDcgQEAgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNz aW9uKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJaWYgKGV4ZWNfbGVu ID09IDApCiAJCWV4ZWNfbGVuID0gcGFyYW1zLT5iYXRjaF9vYmotPmJhc2Uuc2l6ZTsKIAotCWk5 MTVfcGVyZl9jb21tYW5kX3N0cmVhbV9ob29rKHBhcmFtcy0+cmVxdWVzdCk7CisJaTkxNV9wZXJm X2NvbW1hbmRfc3RyZWFtX2hvb2socGFyYW1zLT5yZXF1ZXN0LCBwYXJhbXMtPnRhZyk7CiAKIAly ZXQgPSBlbmdpbmUtPmRpc3BhdGNoX2V4ZWNidWZmZXIocGFyYW1zLT5yZXF1ZXN0LAogCQkJCQll eGVjX3N0YXJ0LCBleGVjX2xlbiwKQEAgLTEzMTMsNyArMTMxMyw3IEBAIGk5MTVfZ2VtX3Jpbmdi dWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAog CWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlpOTE1X3BlcmZfY29tbWFuZF9zdHJlYW1faG9v ayhwYXJhbXMtPnJlcXVlc3QpOworCWk5MTVfcGVyZl9jb21tYW5kX3N0cmVhbV9ob29rKHBhcmFt cy0+cmVxdWVzdCwgcGFyYW1zLT50YWcpOwogCiAJdHJhY2VfaTkxNV9nZW1fcmluZ19kaXNwYXRj aChwYXJhbXMtPnJlcXVlc3QsIHBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOwogCkBAIC0xNjM0LDYg KzE2MzQsNyBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCiAJcGFyYW1zLT5iYXRjaF9vYmogICAgICAgICAgICAgICA9IGJhdGNoX29i ajsKIAlwYXJhbXMtPmN0eCAgICAgICAgICAgICAgICAgICAgID0gY3R4OwogCXBhcmFtcy0+cmVx dWVzdCAgICAgICAgICAgICAgICAgPSByZXE7CisJcGFyYW1zLT50YWcJCQk9IGk5MTVfZXhlY2J1 ZmZlcjJfZ2V0X3RhZygqYXJncyk7CiAKIAlyZXQgPSBkZXZfcHJpdi0+Z3QuZXhlY2J1Zl9zdWJt aXQocGFyYW1zLCBhcmdzLCAmZWItPnZtYXMpOwogZXJyX3JlcXVlc3Q6CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGVyZi5jCmluZGV4IGJiNTM1NmYuLjkwMmY4NGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcGVyZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVy Zi5jCkBAIC04OSw2ICs4OSw3IEBAIHN0cnVjdCBvYV9zYW1wbGVfZGF0YSB7CiAJdTMyIHNvdXJj ZTsKIAl1MzIgY3R4X2lkOwogCXUzMiBwaWQ7CisJdTMyIHRhZzsKIAljb25zdCB1OCAqcmVwb3J0 OwogfTsKIApAQCAtMTQ1LDYgKzE0Niw3IEBAIHN0YXRpYyBjb25zdCBlbnVtIGludGVsX2VuZ2lu ZV9pZCB1c2VyX3JpbmdfbWFwW0k5MTVfVVNFUl9SSU5HUyArIDFdID0gewogI2RlZmluZSBTQU1Q TEVfT0FfU09VUkNFX0lORk8JKDE8PDEpCiAjZGVmaW5lIFNBTVBMRV9DVFhfSUQJCSgxPDwyKQog I2RlZmluZSBTQU1QTEVfUElECQkoMTw8MykKKyNkZWZpbmUgU0FNUExFX1RBRwkJKDE8PDQpCiAK IHN0cnVjdCBwZXJmX29wZW5fcHJvcGVydGllcyB7CiAJdTMyIHNhbXBsZV9mbGFnczsKQEAgLTE2 OSw3ICsxNzEsOCBAQCBzdHJ1Y3QgcGVyZl9vcGVuX3Byb3BlcnRpZXMgewogICogcGVyZiBtdXRl eCBsb2NrLgogICovCiAKLXZvaWQgaTkxNV9wZXJmX2NvbW1hbmRfc3RyZWFtX2hvb2soc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQordm9pZCBpOTE1X3BlcmZfY29tbWFuZF9z dHJlYW1faG9vayhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QsCisJCQkJCXUz MiB0YWcpCiB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxdWVzdC0+ZW5n aW5lOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+ZGV2LT5k ZXZfcHJpdmF0ZTsKQEAgLTE4Miw3ICsxODUsNyBAQCB2b2lkIGk5MTVfcGVyZl9jb21tYW5kX3N0 cmVhbV9ob29rKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlsaXN0X2Zv cl9lYWNoX2VudHJ5KHN0cmVhbSwgJmRldl9wcml2LT5wZXJmLnN0cmVhbXMsIGxpbmspIHsKIAkJ aWYgKChzdHJlYW0tPnN0YXRlID09IEk5MTVfUEVSRl9TVFJFQU1fRU5BQkxFRCkgJiYKIAkJCQkJ c3RyZWFtLT5jc19tb2RlKQotCQkJc3RyZWFtLT5vcHMtPmNvbW1hbmRfc3RyZWFtX2hvb2socmVx dWVzdCk7CisJCQlzdHJlYW0tPm9wcy0+Y29tbWFuZF9zdHJlYW1faG9vayhyZXF1ZXN0LCB0YWcp OwogCX0KIAltdXRleF91bmxvY2soJmRldl9wcml2LT5wZXJmLnN0cmVhbXNfbG9jayk7CiB9CkBA IC0yOTYsNyArMjk5LDggQEAgb3V0X3VubG9jazoKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMg dm9pZCBpOTE1X3BlcmZfY29tbWFuZF9zdHJlYW1faG9va19vYShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSkKK3N0YXRpYyB2b2lkIGk5MTVfcGVyZl9jb21tYW5kX3N0cmVhbV9ob29r X29hKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAorCQkJCQkJdTMyIHRhZykKIHsK IAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKIAlzdHJ1Y3Qg aW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IHJlcS0+cmluZ2J1ZjsKQEAgLTMyNSw2ICszMjks NyBAQCBzdGF0aWMgdm9pZCBpOTE1X3BlcmZfY29tbWFuZF9zdHJlYW1faG9va19vYShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAogCWVudHJ5LT5jdHhfaWQgPSBjdHgtPmh3X2lk OwogCWVudHJ5LT5waWQgPSBjdXJyZW50LT5waWQ7CisJZW50cnktPnRhZyA9IHRhZzsKIAlpOTE1 X2dlbV9yZXF1ZXN0X2Fzc2lnbigmZW50cnktPnJlcXVlc3QsIHJlcSk7CiAKIAlhZGRyID0gZGV2 X3ByaXYtPnBlcmYuY29tbWFuZF9zdHJlYW1fYnVmLnZtYS0+bm9kZS5zdGFydCArCkBAIC01OTEs NiArNTk2LDEyIEBAIHN0YXRpYyBpbnQgYXBwZW5kX29hX3NhbXBsZShzdHJ1Y3QgaTkxNV9wZXJm X3N0cmVhbSAqc3RyZWFtLAogCQlidWYgKz0gNDsKIAl9CiAKKwlpZiAoc2FtcGxlX2ZsYWdzICYg U0FNUExFX1RBRykgeworCQlpZiAoY29weV90b191c2VyKGJ1ZiwgJmRhdGEtPnRhZywgNCkpCisJ CQlyZXR1cm4gLUVGQVVMVDsKKwkJYnVmICs9IDQ7CisJfQorCiAJaWYgKHNhbXBsZV9mbGFncyAm IFNBTVBMRV9PQV9SRVBPUlQpIHsKIAkJaWYgKGNvcHlfdG9fdXNlcihidWYsIGRhdGEtPnJlcG9y dCwgcmVwb3J0X3NpemUpKQogCQkJcmV0dXJuIC1FRkFVTFQ7CkBAIC02MzYsNiArNjQ3LDkgQEAg c3RhdGljIGludCBhcHBlbmRfb2FfYnVmZmVyX3NhbXBsZShzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVh bSAqc3RyZWFtLAogCWlmIChzYW1wbGVfZmxhZ3MgJiBTQU1QTEVfUElEKQogCQlkYXRhLnBpZCA9 IGRldl9wcml2LT5wZXJmLmxhc3RfcGlkOwogCisJaWYgKHNhbXBsZV9mbGFncyAmIFNBTVBMRV9U QUcpCisJCWRhdGEudGFnID0gZGV2X3ByaXYtPnBlcmYubGFzdF90YWc7CisKIAlpZiAoc2FtcGxl X2ZsYWdzICYgU0FNUExFX09BX1JFUE9SVCkKIAkJZGF0YS5yZXBvcnQgPSByZXBvcnQ7CiAKQEAg LTExMDksNiArMTEyMywxMSBAQCBzdGF0aWMgaW50IGFwcGVuZF9vYV9yY3Nfc2FtcGxlKHN0cnVj dCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJCWRldl9wcml2LT5wZXJmLmxhc3RfcGlkID0g bm9kZS0+cGlkOwogCX0KIAorCWlmIChzYW1wbGVfZmxhZ3MgJiBTQU1QTEVfVEFHKSB7CisJCWRh dGEudGFnID0gbm9kZS0+dGFnOworCQlkZXZfcHJpdi0+cGVyZi5sYXN0X3RhZyA9IG5vZGUtPnRh ZzsKKwl9CisKIAlpZiAoc2FtcGxlX2ZsYWdzICYgU0FNUExFX09BX1JFUE9SVCkKIAkJZGF0YS5y ZXBvcnQgPSByZXBvcnQ7CiAKQEAgLTE4OTAsNyArMTkwOSw4IEBAIHN0YXRpYyBpbnQgaTkxNV9v YV9zdHJlYW1faW5pdChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHN0cmVhbS0+ZGV2X3ByaXY7CiAJYm9vbCByZXF1 aXJlX29hX3VuaXQgPSBwcm9wcy0+c2FtcGxlX2ZsYWdzICYgKFNBTVBMRV9PQV9SRVBPUlQgfAog CQkJCQkJICAgICAgU0FNUExFX09BX1NPVVJDRV9JTkZPKTsKLQlib29sIHJlcXVpcmVfY3NfbW9k ZSA9IHByb3BzLT5zYW1wbGVfZmxhZ3MgJiBTQU1QTEVfUElEOworCWJvb2wgcmVxdWlyZV9jc19t b2RlID0gcHJvcHMtPnNhbXBsZV9mbGFncyAmIChTQU1QTEVfUElEIHwKKwkJCQkJCSAgICAgIFNB TVBMRV9UQUcpOwogCWJvb2wgY3Nfc2FtcGxlX2RhdGEgPSBwcm9wcy0+c2FtcGxlX2ZsYWdzICYg U0FNUExFX09BX1JFUE9SVDsKIAlpbnQgcmV0OwogCkBAIC0yMDM0LDcgKzIwNTQsNyBAQCBzdGF0 aWMgaW50IGk5MTVfb2Ffc3RyZWFtX2luaXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVh bSwKIAl9CiAKIAlpZiAocmVxdWlyZV9jc19tb2RlICYmICFwcm9wcy0+Y3NfbW9kZSkgewotCQlE Uk1fRVJST1IoIlBJRCBzYW1wbGluZyByZXF1aXJlcyBhIHJpbmcgdG8gYmUgc3BlY2lmaWVkIik7 CisJCURSTV9FUlJPUigiUElEIG9yIFRBRyBzYW1wbGluZyByZXF1aXJlIGEgcmluZyB0byBiZSBz cGVjaWZpZWQiKTsKIAkJcmV0ID0gLUVJTlZBTDsKIAkJZ290byBjc19lcnJvcjsKIAl9CkBAIC0y MDY3LDYgKzIwODcsMTEgQEAgc3RhdGljIGludCBpOTE1X29hX3N0cmVhbV9pbml0KHN0cnVjdCBp OTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJCQlzdHJlYW0tPnNhbXBsZV9zaXplICs9IDQ7CiAJ CX0KIAorCQlpZiAocHJvcHMtPnNhbXBsZV9mbGFncyAmIFNBTVBMRV9UQUcpIHsKKwkJCXN0cmVh bS0+c2FtcGxlX2ZsYWdzIHw9IFNBTVBMRV9UQUc7CisJCQlzdHJlYW0tPnNhbXBsZV9zaXplICs9 IDQ7CisJCX0KKwogCQlyZXQgPSBhbGxvY19jb21tYW5kX3N0cmVhbV9idWYoZGV2X3ByaXYpOwog CQlpZiAocmV0KQogCQkJZ290byBjc19lcnJvcjsKQEAgLTI3MDcsNiArMjczMiw5IEBAIHN0YXRp YyBpbnQgcmVhZF9wcm9wZXJ0aWVzX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAkJY2FzZSBEUk1fSTkxNV9QRVJGX1BST1BfU0FNUExFX1BJRDoKIAkJCXByb3Bz LT5zYW1wbGVfZmxhZ3MgfD0gU0FNUExFX1BJRDsKIAkJCWJyZWFrOworCQljYXNlIERSTV9JOTE1 X1BFUkZfUFJPUF9TQU1QTEVfVEFHOgorCQkJcHJvcHMtPnNhbXBsZV9mbGFncyB8PSBTQU1QTEVf VEFHOworCQkJYnJlYWs7CiAJCWNhc2UgRFJNX0k5MTVfUEVSRl9QUk9QX01BWDoKIAkJCUJVRygp OwogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDI3NTFmM2EuLmNmZmFmN2IgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC04NjksMTMgKzg2OSwxMyBAQCBpbnQgaW50ZWxf ZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFt cywKIAlleGVjX3N0YXJ0ID0gcGFyYW1zLT5iYXRjaF9vYmpfdm1fb2Zmc2V0ICsKIAkJICAgICBh cmdzLT5iYXRjaF9zdGFydF9vZmZzZXQ7CiAKLQlpOTE1X3BlcmZfY29tbWFuZF9zdHJlYW1faG9v ayhwYXJhbXMtPnJlcXVlc3QpOworCWk5MTVfcGVyZl9jb21tYW5kX3N0cmVhbV9ob29rKHBhcmFt cy0+cmVxdWVzdCwgcGFyYW1zLT50YWcpOwogCiAJcmV0ID0gZW5naW5lLT5lbWl0X2JiX3N0YXJ0 KHBhcmFtcy0+cmVxdWVzdCwgZXhlY19zdGFydCwgcGFyYW1zLT5kaXNwYXRjaF9mbGFncyk7CiAJ aWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCWk5MTVfcGVyZl9jb21tYW5kX3N0cmVhbV9ob29r KHBhcmFtcy0+cmVxdWVzdCk7CisJaTkxNV9wZXJmX2NvbW1hbmRfc3RyZWFtX2hvb2socGFyYW1z LT5yZXF1ZXN0LCBwYXJhbXMtPnRhZyk7CiAKIAl0cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNo KHBhcmFtcy0+cmVxdWVzdCwgcGFyYW1zLT5kaXNwYXRjaF9mbGFncyk7CiAKZGlmZiAtLWdpdCBh L2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0u aAppbmRleCA4MDY5NzkwLi5iZDBlNDhkIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2k5 MTVfZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCkBAIC03OTYsNiArNzk2 LDExIEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgewogI2RlZmluZSBpOTE1X2V4 ZWNidWZmZXIyX2dldF9jb250ZXh0X2lkKGViMikgXAogCSgoZWIyKS5yc3ZkMSAmIEk5MTVfRVhF Q19DT05URVhUX0lEX01BU0spCiAKKy8qIHVwcGVyIDMyIGJpdHMgb2YgcnN2ZDEgZmllbGQgY29u dGFpbiB0YWcgKi8KKyNkZWZpbmUgSTkxNV9FWEVDX1RBR19NQVNLCQkoMHhmZmZmZmZmZjAwMDAw MDAwVUwpCisjZGVmaW5lIGk5MTVfZXhlY2J1ZmZlcjJfZ2V0X3RhZyhlYjIpIFwKKwkoKGViMiku cnN2ZDEgJiBJOTE1X0VYRUNfVEFHX01BU0spCisKIHN0cnVjdCBkcm1faTkxNV9nZW1fcGluIHsK IAkvKiogSGFuZGxlIG9mIHRoZSBidWZmZXIgdG8gYmUgcGlubmVkLiAqLwogCV9fdTMyIGhhbmRs ZTsKQEAgLTEyNjEsNiArMTI2NiwxMiBAQCBlbnVtIGRybV9pOTE1X3BlcmZfcHJvcGVydHlfaWQg ewogCSAqLwogCURSTV9JOTE1X1BFUkZfUFJPUF9TQU1QTEVfUElELAogCisJLyoqCisJICogVGhl IHZhbHVlIG9mIHRoaXMgcHJvcGVydHkgc2V0IHRvIDEgcmVxdWVzdHMgaW5jbHVzaW9uIG9mIHRh ZyBpbiB0aGUKKwkgKiBwZXJmIHNhbXBsZSBkYXRhLgorCSAqLworCURSTV9JOTE1X1BFUkZfUFJP UF9TQU1QTEVfVEFHLAorCiAJRFJNX0k5MTVfUEVSRl9QUk9QX01BWCAvKiBub24tQUJJICovCiB9 OwogCkBAIC0xMzI4LDYgKzEzMzksNyBAQCBlbnVtIGRybV9pOTE1X3BlcmZfcmVjb3JkX3R5cGUg ewogCSAqICAgICB7IHUzMiBzb3VyY2VfaW5mbzsgfSAmJiBEUk1fSTkxNV9QRVJGX1BST1BfU0FN UExFX09BX1NPVVJDRQogCSAqICAgICB7IHUzMiBjdHhfaWQ7IH0gJiYgRFJNX0k5MTVfUEVSRl9Q Uk9QX1NBTVBMRV9DVFhfSUQKIAkgKiAgICAgeyB1MzIgcGlkOyB9ICYmIERSTV9JOTE1X1BFUkZf UFJPUF9TQU1QTEVfUElECisJICogICAgIHsgdTMyIHRhZzsgfSAmJiBEUk1fSTkxNV9QRVJGX1BS T1BfU0FNUExFX1RBRwogCSAqICAgICB7IHUzMiBvYV9yZXBvcnRbXTsgfSAmJiBEUk1fSTkxNV9Q RVJGX1BST1BfU0FNUExFX09BCiAJICogfTsKIAkgKi8KLS0gCjEuOS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK