From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 21/43] drm/i915: Track the pinned kernel contexts on each engine Date: Wed, 6 Mar 2019 14:24:55 +0000 Message-ID: <20190306142517.22558-22-chris@chris-wilson.co.uk> References: <20190306142517.22558-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0C2466E0A6 for ; Wed, 6 Mar 2019 14:27:20 +0000 (UTC) In-Reply-To: <20190306142517.22558-1-chris@chris-wilson.co.uk> 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: matthew.auld@intel.com List-Id: intel-gfx@lists.freedesktop.org RWFjaCBlbmdpbmUgYWNxdWlyZXMgYSBwaW4gb24gdGhlIGtlcm5lbCBjb250ZXh0cyAobm9ybWFs IGFuZCBwcmVlbXB0KQpzbyB0aGF0IHRoZSBsb2dpY2FsIHN0YXRlIGlzIGFsd2F5cyBhdmFpbGFi bGUgb24gZGVtYW5kLiBLZWVwIHRyYWNrIG9mCmVhY2ggZW5naW5lcyBwaW4gYnkgc3RvcmluZyB0 aGUgcmV0dXJuZWQgcG9pbnRlciBvbiB0aGUgZW5naW5lIGZvciBxdWljawphY2Nlc3MuCgpTaWdu ZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgICAgICB8IDY1ICsrKysrKysr KystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfdHlwZXMuaCAg ICB8ICA4ICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2Fkcy5jICAgICAgICAg fCAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgICAgfCAx MyArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgICAgICB8ICAz ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19lbmdpbmUuYyB8ICA1ICst CiA2IGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDUyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggMTkzNzEyOGVhMjY3Li42NTJj MWIzYmExOTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9j cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCkBAIC02NDEs MTIgKzY0MSw2IEBAIHZvaWQgaW50ZWxfZW5naW5lc19zZXRfc2NoZWR1bGVyX2NhcHMoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJCWk5MTUtPmNhcHMuc2NoZWR1bGVyID0gMDsKIH0K IAotc3RhdGljIHZvaWQgX19pbnRlbF9jb250ZXh0X3VucGluKHN0cnVjdCBpOTE1X2dlbV9jb250 ZXh0ICpjdHgsCi0JCQkJICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCi17Ci0JaW50 ZWxfY29udGV4dF91bnBpbihpbnRlbF9jb250ZXh0X2xvb2t1cChjdHgsIGVuZ2luZSkpOwotfQot CiBzdHJ1Y3QgbWVhc3VyZV9icmVhZGNydW1iIHsKIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0IHJxOwog CXN0cnVjdCBpOTE1X3RpbWVsaW5lIHRpbWVsaW5lOwpAQCAtNjk3LDYgKzY5MSwyMCBAQCBzdGF0 aWMgaW50IG1lYXN1cmVfYnJlYWRjcnVtYl9kdyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCiAJcmV0dXJuIGR3OwogfQogCitzdGF0aWMgaW50IHBpbl9jb250ZXh0KHN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0ICpjdHgsCisJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUsCisJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqKm91dCkKK3sKKwlzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY2U7CisKKwljZSA9IGludGVsX2NvbnRleHRfcGluKGN0eCwgZW5naW5lKTsK KwlpZiAoSVNfRVJSKGNlKSkKKwkJcmV0dXJuIFBUUl9FUlIoY2UpOworCisJKm91dCA9IGNlOwor CXJldHVybiAwOworfQorCiAvKioKICAqIGludGVsX2VuZ2luZXNfaW5pdF9jb21tb24gLSBpbml0 aWFsaXplIGNlbmdpbmUgc3RhdGUgd2hpY2ggbWlnaHQgcmVxdWlyZSBodyBhY2Nlc3MKICAqIEBl bmdpbmU6IEVuZ2luZSB0byBpbml0aWFsaXplLgpAQCAtNzExLDExICs3MTksOCBAQCBzdGF0aWMg aW50IG1lYXN1cmVfYnJlYWRjcnVtYl9kdyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CiBpbnQgaW50ZWxfZW5naW5lX2luaXRfY29tbW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVuZ2luZS0+aTkxNTsK LQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2U7CiAJaW50IHJldDsKIAotCWVuZ2luZS0+c2V0X2Rl ZmF1bHRfc3VibWlzc2lvbihlbmdpbmUpOwotCiAJLyogV2UgbWF5IG5lZWQgdG8gZG8gdGhpbmdz IHdpdGggdGhlIHNocmlua2VyIHdoaWNoCiAJICogcmVxdWlyZSB1cyB0byBpbW1lZGlhdGVseSBz d2l0Y2ggYmFjayB0byB0aGUgZGVmYXVsdAogCSAqIGNvbnRleHQuIFRoaXMgY2FuIGNhdXNlIGEg cHJvYmxlbSBhcyBwaW5uaW5nIHRoZQpAQCAtNzIzLDM2ICs3MjgsMzQgQEAgaW50IGludGVsX2Vu Z2luZV9pbml0X2NvbW1vbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJICogYmUg YXZhaWxhYmxlLiBUbyBhdm9pZCB0aGlzIHdlIGFsd2F5cyBwaW4gdGhlIGRlZmF1bHQKIAkgKiBj b250ZXh0LgogCSAqLwotCWNlID0gaW50ZWxfY29udGV4dF9waW4oaTkxNS0+a2VybmVsX2NvbnRl eHQsIGVuZ2luZSk7Ci0JaWYgKElTX0VSUihjZSkpCi0JCXJldHVybiBQVFJfRVJSKGNlKTsKKwly ZXQgPSBwaW5fY29udGV4dChpOTE1LT5rZXJuZWxfY29udGV4dCwgZW5naW5lLAorCQkJICAmZW5n aW5lLT5rZXJuZWxfY29udGV4dCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKIAogCS8qCiAJ ICogU2ltaWxhcmx5IHRoZSBwcmVlbXB0IGNvbnRleHQgbXVzdCBhbHdheXMgYmUgYXZhaWxhYmxl IHNvIHRoYXQKLQkgKiB3ZSBjYW4gaW50ZXJydXB0IHRoZSBlbmdpbmUgYXQgYW55IHRpbWUuCisJ ICogd2UgY2FuIGludGVycnVwdCB0aGUgZW5naW5lIGF0IGFueSB0aW1lLiBIb3dldmVyLCBhcyBw cmVlbXB0aW9uCisJICogaXMgb3B0aW9uYWwsIHdlIGFsbG93IGl0IHRvIGZhaWwuCiAJICovCi0J aWYgKGk5MTUtPnByZWVtcHRfY29udGV4dCkgewotCQljZSA9IGludGVsX2NvbnRleHRfcGluKGk5 MTUtPnByZWVtcHRfY29udGV4dCwgZW5naW5lKTsKLQkJaWYgKElTX0VSUihjZSkpIHsKLQkJCXJl dCA9IFBUUl9FUlIoY2UpOwotCQkJZ290byBlcnJfdW5waW5fa2VybmVsOwotCQl9Ci0JfQorCWlm IChpOTE1LT5wcmVlbXB0X2NvbnRleHQpCisJCXBpbl9jb250ZXh0KGk5MTUtPnByZWVtcHRfY29u dGV4dCwgZW5naW5lLAorCQkJICAgICZlbmdpbmUtPnByZWVtcHRfY29udGV4dCk7CiAKIAlyZXQg PSBtZWFzdXJlX2JyZWFkY3J1bWJfZHcoZW5naW5lKTsKIAlpZiAocmV0IDwgMCkKLQkJZ290byBl cnJfdW5waW5fcHJlZW1wdDsKKwkJZ290byBlcnJfdW5waW47CiAKIAllbmdpbmUtPmVtaXRfZmlu aV9icmVhZGNydW1iX2R3ID0gcmV0OwogCi0JcmV0dXJuIDA7CisJZW5naW5lLT5zZXRfZGVmYXVs dF9zdWJtaXNzaW9uKGVuZ2luZSk7CiAKLWVycl91bnBpbl9wcmVlbXB0OgotCWlmIChpOTE1LT5w cmVlbXB0X2NvbnRleHQpCi0JCV9faW50ZWxfY29udGV4dF91bnBpbihpOTE1LT5wcmVlbXB0X2Nv bnRleHQsIGVuZ2luZSk7CisJcmV0dXJuIDA7CiAKLWVycl91bnBpbl9rZXJuZWw6Ci0JX19pbnRl bF9jb250ZXh0X3VucGluKGk5MTUtPmtlcm5lbF9jb250ZXh0LCBlbmdpbmUpOworZXJyX3VucGlu OgorCWlmIChlbmdpbmUtPnByZWVtcHRfY29udGV4dCkKKwkJaW50ZWxfY29udGV4dF91bnBpbihl bmdpbmUtPnByZWVtcHRfY29udGV4dCk7CisJaW50ZWxfY29udGV4dF91bnBpbihlbmdpbmUtPmtl cm5lbF9jb250ZXh0KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC03NjUsOCArNzY4LDYgQEAgaW50 IGludGVsX2VuZ2luZV9pbml0X2NvbW1vbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CiAgKi8KIHZvaWQgaW50ZWxfZW5naW5lX2NsZWFudXBfY29tbW9uKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVuZ2lu ZS0+aTkxNTsKLQogCWNsZWFudXBfc3RhdHVzX3BhZ2UoZW5naW5lKTsKIAogCWludGVsX2VuZ2lu ZV9maW5pX2JyZWFkY3J1bWJzKGVuZ2luZSk7CkBAIC03NzYsOSArNzc3LDkgQEAgdm9pZCBpbnRl bF9lbmdpbmVfY2xlYW51cF9jb21tb24oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQog CWlmIChlbmdpbmUtPmRlZmF1bHRfc3RhdGUpCiAJCWk5MTVfZ2VtX29iamVjdF9wdXQoZW5naW5l LT5kZWZhdWx0X3N0YXRlKTsKIAotCWlmIChpOTE1LT5wcmVlbXB0X2NvbnRleHQpCi0JCV9faW50 ZWxfY29udGV4dF91bnBpbihpOTE1LT5wcmVlbXB0X2NvbnRleHQsIGVuZ2luZSk7Ci0JX19pbnRl bF9jb250ZXh0X3VucGluKGk5MTUtPmtlcm5lbF9jb250ZXh0LCBlbmdpbmUpOworCWlmIChlbmdp bmUtPnByZWVtcHRfY29udGV4dCkKKwkJaW50ZWxfY29udGV4dF91bnBpbihlbmdpbmUtPnByZWVt cHRfY29udGV4dCk7CisJaW50ZWxfY29udGV4dF91bnBpbihlbmdpbmUtPmtlcm5lbF9jb250ZXh0 KTsKIAogCWk5MTVfdGltZWxpbmVfZmluaSgmZW5naW5lLT50aW1lbGluZSk7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV90eXBlcy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX3R5cGVzLmgKaW5kZXggMjFmMzI3NWNjMDBjLi5iMGFh MWYwZDRlNDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV90 eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV90eXBlcy5oCkBA IC0yMzEsMTEgKzIzMSw2IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzIHsKIAkgKi8K IAl1MzIgKmNzYl9zdGF0dXM7CiAKLQkvKioKLQkgKiBAcHJlZW1wdF9jb250ZXh0OiB0aGUgSFcg Y29udGV4dCBmb3IgaW5qZWN0aW5nIHByZWVtcHQtdG8taWRsZQotCSAqLwotCXN0cnVjdCBpbnRl bF9jb250ZXh0ICpwcmVlbXB0X2NvbnRleHQ7Ci0KIAkvKioKIAkgKiBAcHJlZW1wdF9jb21wbGV0 ZV9zdGF0dXM6IGV4cGVjdGVkIENTQiB1cG9uIGNvbXBsZXRpbmcgcHJlZW1wdGlvbgogCSAqLwpA QCAtMjcxLDYgKzI2Niw5IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgewogCiAJc3RydWN0IGk5 MTVfdGltZWxpbmUgdGltZWxpbmU7CiAKKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqa2VybmVsX2Nv bnRleHQ7IC8qIHBpbm5lZCAqLworCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpwcmVlbXB0X2NvbnRl eHQ7IC8qIHBpbm5lZDsgb3B0aW9uYWwgKi8KKwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpkZWZhdWx0X3N0YXRlOwogCXZvaWQgKnBpbm5lZF9kZWZhdWx0X3N0YXRlOwogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfYWRzLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWNfYWRzLmMKaW5kZXggYjRmZjAwNDVhNjA1Li5iZWM2MmYzNGIxNWEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19hZHMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfYWRzLmMKQEAgLTEyMSw4ICsxMjEsNyBAQCBp bnQgaW50ZWxfZ3VjX2Fkc19jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQogCSAqIHRvIGZp bmQgaXQuIE5vdGUgdGhhdCB3ZSBoYXZlIHRvIHNraXAgb3VyIGhlYWRlciAoMSBwYWdlKSwKIAkg KiBiZWNhdXNlIG91ciBHdUMgc2hhcmVkIGRhdGEgaXMgdGhlcmUuCiAJICovCi0Ja2VybmVsX2N0 eF92bWEgPSBpbnRlbF9jb250ZXh0X2xvb2t1cChkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQsCi0J CQkJCSAgICAgIGRldl9wcml2LT5lbmdpbmVbUkNTMF0pLT5zdGF0ZTsKKwlrZXJuZWxfY3R4X3Zt YSA9IGRldl9wcml2LT5lbmdpbmVbUkNTMF0tPmtlcm5lbF9jb250ZXh0LT5zdGF0ZTsKIAlibG9i LT5hZHMuZ29sZGVuX2NvbnRleHRfbHJjYSA9CiAJCWludGVsX2d1Y19nZ3R0X29mZnNldChndWMs IGtlcm5lbF9jdHhfdm1hKSArIHNraXBwZWRfb2Zmc2V0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jCmluZGV4IDc5MTA3YWI3NzFkOC4uZjcxMzRkNjUwMTg3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYwpAQCAtNjI2LDcgKzYyNiw3IEBAIHN0YXRpYyB2b2lkIHBvcnRfYXNzaWduKHN0cnVj dCBleGVjbGlzdF9wb3J0ICpwb3J0LCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHN0YXRpYyB2 b2lkIGluamVjdF9wcmVlbXB0X2NvbnRleHQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l KQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzICpleGVjbGlzdHMgPSAmZW5naW5l LT5leGVjbGlzdHM7Ci0Jc3RydWN0IGludGVsX2NvbnRleHQgKmNlID0gZXhlY2xpc3RzLT5wcmVl bXB0X2NvbnRleHQ7CisJc3RydWN0IGludGVsX2NvbnRleHQgKmNlID0gZW5naW5lLT5wcmVlbXB0 X2NvbnRleHQ7CiAJdW5zaWduZWQgaW50IG47CiAKIAlHRU1fQlVHX09OKGV4ZWNsaXN0cy0+cHJl ZW1wdF9jb21wbGV0ZV9zdGF0dXMgIT0KQEAgLTIzMjEsNyArMjMyMSw3IEBAIHZvaWQgaW50ZWxf ZXhlY2xpc3RzX3NldF9kZWZhdWx0X3N1Ym1pc3Npb24oc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lKQogCiAJZW5naW5lLT5mbGFncyB8PSBJOTE1X0VOR0lORV9IQVNfU0VNQVBIT1JFUzsK IAllbmdpbmUtPmZsYWdzIHw9IEk5MTVfRU5HSU5FX1NVUFBPUlRTX1NUQVRTOwotCWlmIChlbmdp bmUtPmk5MTUtPnByZWVtcHRfY29udGV4dCkKKwlpZiAoZW5naW5lLT5wcmVlbXB0X2NvbnRleHQp CiAJCWVuZ2luZS0+ZmxhZ3MgfD0gSTkxNV9FTkdJTkVfSEFTX1BSRUVNUFRJT047CiB9CiAKQEAg LTI0MjMsMTQgKzI0MjMsOSBAQCBzdGF0aWMgaW50IGxvZ2ljYWxfcmluZ19pbml0KHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAl9CiAKIAlleGVjbGlzdHMtPnByZWVtcHRfY29tcGxl dGVfc3RhdHVzID0gfjB1OwotCWlmIChpOTE1LT5wcmVlbXB0X2NvbnRleHQpIHsKLQkJc3RydWN0 IGludGVsX2NvbnRleHQgKmNlID0KLQkJCWludGVsX2NvbnRleHRfbG9va3VwKGk5MTUtPnByZWVt cHRfY29udGV4dCwgZW5naW5lKTsKLQotCQlleGVjbGlzdHMtPnByZWVtcHRfY29udGV4dCA9IGNl OworCWlmIChlbmdpbmUtPnByZWVtcHRfY29udGV4dCkKIAkJZXhlY2xpc3RzLT5wcmVlbXB0X2Nv bXBsZXRlX3N0YXR1cyA9Ci0JCQl1cHBlcl8zMl9iaXRzKGNlLT5scmNfZGVzYyk7Ci0JfQorCQkJ dXBwZXJfMzJfYml0cyhlbmdpbmUtPnByZWVtcHRfY29udGV4dC0+bHJjX2Rlc2MpOwogCiAJZXhl Y2xpc3RzLT5jc2Jfc3RhdHVzID0KIAkJJmVuZ2luZS0+c3RhdHVzX3BhZ2UuYWRkcltJOTE1X0hX U19DU0JfQlVGMF9JTkRFWF07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMK aW5kZXggZDA2OTA4Yzk1ODRjLi4wMzY1NjAyMWQwNGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMKQEAgLTE3MzUsOCArMTczNSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50 IG1pX3NldF9jb250ZXh0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgZmxhZ3MpCiAJCSAq IHBsYWNlaG9sZGVyIHdlIHVzZSB0byBmbHVzaCBvdGhlciBjb250ZXh0cy4KIAkJICovCiAJCSpj cysrID0gTUlfU0VUX0NPTlRFWFQ7Ci0JCSpjcysrID0gaTkxNV9nZ3R0X29mZnNldChpbnRlbF9j b250ZXh0X2xvb2t1cChpOTE1LT5rZXJuZWxfY29udGV4dCwKLQkJCQkJCQkgICAgICBlbmdpbmUp LT5zdGF0ZSkgfAorCQkqY3MrKyA9IGk5MTVfZ2d0dF9vZmZzZXQoZW5naW5lLT5rZXJuZWxfY29u dGV4dC0+c3RhdGUpIHwKIAkJCU1JX01NX1NQQUNFX0dUVCB8CiAJCQlNSV9SRVNUT1JFX0lOSElC SVQ7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tf ZW5naW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19lbmdpbmUuYwpp bmRleCBlNDgzMzI5ZmQ1MzMuLjk5ZDc0NjMyMThkMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZW5naW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL21vY2tfZW5naW5lLmMKQEAgLTIzMyw3ICsyMzMsOCBAQCBzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICptb2NrX2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwK IAl0aW1lcl9zZXR1cCgmZW5naW5lLT5od19kZWxheSwgaHdfZGVsYXlfY29tcGxldGUsIDApOwog CUlOSVRfTElTVF9IRUFEKCZlbmdpbmUtPmh3X3F1ZXVlKTsKIAotCWlmIChJU19FUlIoaW50ZWxf Y29udGV4dF9waW4oaTkxNS0+a2VybmVsX2NvbnRleHQsICZlbmdpbmUtPmJhc2UpKSkKKwlpZiAo cGluX2NvbnRleHQoaTkxNS0+a2VybmVsX2NvbnRleHQsICZlbmdpbmUtPmJhc2UsCisJCQkmZW5n aW5lLT5iYXNlLmtlcm5lbF9jb250ZXh0KSkKIAkJZ290byBlcnJfYnJlYWRjcnVtYnM7CiAKIAly ZXR1cm4gJmVuZ2luZS0+YmFzZTsKQEAgLTI3Niw3ICsyNzcsNyBAQCB2b2lkIG1vY2tfZW5naW5l X2ZyZWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWlmIChjZSkKIAkJaW50ZWxf Y29udGV4dF91bnBpbihjZSk7CiAKLQlfX2ludGVsX2NvbnRleHRfdW5waW4oZW5naW5lLT5pOTE1 LT5rZXJuZWxfY29udGV4dCwgZW5naW5lKTsKKwlpbnRlbF9jb250ZXh0X3VucGluKGVuZ2luZS0+ a2VybmVsX2NvbnRleHQpOwogCiAJaW50ZWxfZW5naW5lX2ZpbmlfYnJlYWRjcnVtYnMoZW5naW5l KTsKIAlpOTE1X3RpbWVsaW5lX2ZpbmkoJmVuZ2luZS0+dGltZWxpbmUpOwotLSAKMi4yMC4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=