From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 08/12] drm/i915: Interrupt driven fences Date: Mon, 23 Nov 2015 11:34:27 +0000 Message-ID: <1448278471-31181-9-git-send-email-John.C.Harrison@Intel.com> References: <1448278471-31181-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 6F24C721EA for ; Mon, 23 Nov 2015 03:34:44 -0800 (PST) In-Reply-To: <1448278471-31181-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBpbnRl bmRlZCB1c2FnZSBtb2RlbCBmb3Igc3RydWN0IGZlbmNlIGlzIHRoYXQgdGhlIHNpZ25hbGxlZCBz dGF0dXMKc2hvdWxkIGJlIHNldCBvbiBkZW1hbmQgcmF0aGVyIHRoYW4gcG9sbGVkLiBUaGF0IGlz LCB0aGVyZSBzaG91bGQgbm90CmJlIGEgbmVlZCBmb3IgYSAnc2lnbmFsZWQnIGZ1bmN0aW9uIHRv IGJlIGNhbGxlZCBldmVyeXRpbWUgdGhlIHN0YXR1cwppcyBxdWVyaWVkLiBJbnN0ZWFkLCAnc29t ZXRoaW5nJyBzaG91bGQgYmUgZG9uZSB0byBlbmFibGUgYSBzaWduYWwKY2FsbGJhY2sgZnJvbSB0 aGUgaGFyZHdhcmUgd2hpY2ggd2lsbCB1cGRhdGUgdGhlIHN0YXRlIGRpcmVjdGx5LiBJbgp0aGUg Y2FzZSBvZiByZXF1ZXN0cywgdGhpcyBpcyB0aGUgc2Vxbm8gdXBkYXRlIGludGVycnVwdC4gVGhl IGlkZWEgaXMKdGhhdCB0aGlzIGNhbGxiYWNrIHdpbGwgb25seSBiZSBlbmFibGVkIG9uIGRlbWFu ZCB3aGVuIHNvbWV0aGluZwphY3R1YWxseSB0cmllcyB0byB3YWl0IG9uIHRoZSBmZW5jZS4KClRo aXMgY2hhbmdlIHJlbW92ZXMgdGhlIHBvbGxpbmcgdGVzdCBhbmQgcmVwbGFjZXMgaXQgd2l0aCB0 aGUgY2FsbGJhY2sKc2NoZW1lLiBFYWNoIGZlbmNlIGlzIGFkZGVkIHRvIGEgJ3BsZWFzZSBwb2tl IG1lJyBsaXN0IGF0IHRoZSBzdGFydCBvZgppOTE1X2FkZF9yZXF1ZXN0KCkuIFRoZSBpbnRlcnJ1 cHQgaGFuZGxlciB0aGVuIHNjYW5zIHRocm91Z2ggdGhlICdwb2tlCm1lJyBsaXN0IHdoZW4gYSBu ZXcgc2Vxbm8gcG9wcyBvdXQgYW5kIHNpZ25hbHMgYW55IG1hdGNoaW5nCmZlbmNlL3JlcXVlc3Qu IFRoZSBmZW5jZSBpcyB0aGVuIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBzbyB0aGUgZW50aXJlCnJl cXVlc3Qgc3RhY2sgZG9lcyBub3QgbmVlZCB0byBiZSBzY2FubmVkIGV2ZXJ5IHRpbWUuIE5vdGUg dGhhdCB0aGUKZmVuY2UgaXMgYWRkZWQgdG8gdGhlIGxpc3QgYmVmb3JlIHRoZSBjb21tYW5kcyB0 byBnZW5lcmF0ZSB0aGUgc2Vxbm8KaW50ZXJydXB0IGFyZSBhZGRlZCB0byB0aGUgcmluZy4gVGh1 cyB0aGUgc2VxdWVuY2UgaXMgZ3VhcmFudGVlZCB0byBiZQpyYWNlIGZyZWUgaWYgdGhlIGludGVy cnVwdCBpcyBhbHJlYWR5IGVuYWJsZWQuCgpOb3RlIHRoYXQgdGhlIGludGVycnVwdCBpcyBvbmx5 IGVuYWJsZWQgb24gZGVtYW5kIChpLmUuIHdoZW4KX193YWl0X3JlcXVlc3QoKSBpcyBjYWxsZWQp LiBUaHVzIHRoZXJlIGlzIHN0aWxsIGEgcG90ZW50aWFsIHJhY2Ugd2hlbgplbmFibGluZyB0aGUg aW50ZXJydXB0IGFzIHRoZSByZXF1ZXN0IG1heSBhbHJlYWR5IGhhdmUgY29tcGxldGVkLgpIb3dl dmVyLCB0aGlzIGlzIHNpbXBseSBzb2x2ZWQgYnkgY2FsbGluZyB0aGUgaW50ZXJydXB0IHByb2Nl c3NpbmcKY29kZSBpbW1lZGlhdGVseSBhZnRlciBlbmFibGluZyB0aGUgaW50ZXJydXB0IGFuZCB0 aGVyZWJ5IGNoZWNraW5nIGZvcgphbHJlYWR5IGNvbXBsZXRlZCByZXF1ZXN0cy4KCkxhc3RseSwg dGhlIHJpbmcgY2xlYW4gdXAgY29kZSBoYXMgdGhlIHBvc3NpYmlsaXR5IHRvIGNhbmNlbApvdXRz dGFuZGluZyByZXF1ZXN0cyAoZS5nLiBiZWNhdXNlIFREUiBoYXMgcmVzZXQgdGhlIHJpbmcpLiBU aGVzZQpyZXF1ZXN0cyB3aWxsIG5ldmVyIGdldCBzaWduYWxsZWQgYW5kIHNvIG11c3QgYmUgcmVt b3ZlZCBmcm9tIHRoZQpzaWduYWwgbGlzdCBtYW51YWxseS4gVGhpcyBpcyBkb25lIGJ5IHNldHRp bmcgYSAnY2FuY2VsbGVkJyBmbGFnIGFuZAp0aGVuIGNhbGxpbmcgdGhlIHJlZ3VsYXIgbm90aWZ5 L3JldGlyZSBjb2RlIHBhdGggcmF0aGVyIHRoYW4KYXR0ZW1wdGluZyB0byBkdXBsaWNhdGUgdGhl IGxpc3QgbWFuaXB1bGF0YXRpb24gYW5kIGNsZWFuIHVwIGNvZGUgaW4KbXVsdGlwbGUgcGxhY2Vz LiBUaGlzIGFsc28gYXZvaWQgYW55IHJhY2UgY29uZGl0aW9uIHdoZXJlIHRoZQpjYW5jZWxsYXRp b24gcmVxdWVzdCBtaWdodCBvY2N1ciBhZnRlci9kdXJpbmcgdGhlIGNvbXBsZXRpb24gaW50ZXJy dXB0CmFjdHVhbGx5IGFycml2aW5nLgoKdjI6IFVwZGF0ZWQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2Yg dGhlIHJlcXVlc3QgdW5yZWZlcmVuY2Ugbm8gbG9uZ2VyCnJlcXVpcmluZyB0aGUgbXV0ZXggbG9j ay4KCnYzOiBNb3ZlIHRoZSBzaWduYWwgbGlzdCBwcm9jZXNzaW5nIGFyb3VuZCB0byBwcmV2ZW50 IHVuc3VibWl0dGVkCnJlcXVlc3RzIGJlaW5nIGFkZGVkIHRvIHRoZSBsaXN0LiBUaGlzIHdhcyBv Y2N1cnJpbmcgb24gQW5kcm9pZApiZWNhdXNlIHRoZSBuYXRpdmUgc3luYyBpbXBsZW1lbnRhdGlv biBjYWxscyB0aGUKZmVuY2UtPmVuYWJsZV9zaWduYWxsaW5nIEFQSSBpbW1lZGlhdGVseSBvbiBm ZW5jZSBjcmVhdGlvbi4KClVwZGF0ZWQgYWZ0ZXIgcmV2aWV3IGNvbW1lbnRzIGJ5IFR2cnRrbyBV cnN1bGluLiBSZW5hbWVkIGxpc3Qgbm9kZXMgdG8KJ2xpbmsnIGluc3RlYWQgb2YgJ2xpc3QnLiBB ZGRlZCBzdXBwb3J0IGZvciByZXR1cm5pbmcgYW4gZXJyb3IgY29kZSBvbgphIGNhbmNlbGxlZCBm ZW5jZS4gVXBkYXRlIGxpc3QgcHJvY2Vzc2luZyB0byBiZSBtb3JlIGVmZmljaWVudC9zYWZlcgp3 aXRoIHJlc3BlY3QgdG8gc3BpbmxvY2tzLgoKRm9yOiBWSVotNTE5MApTaWduZWQtb2ZmLWJ5OiBK b2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgpDYzogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oICAgICAgICAgfCAgMTAgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgICAgICAgICB8IDE4NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgIHwgICAyICsKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMgfCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oIHwgICAyICsKIDYgZmlsZXMgY2hhbmdlZCwgMTk2IGluc2VydGlvbnMoKyksIDkg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZmJmNTkxZi4uZDAxM2M2 ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMTg3LDcgKzIxODcsMTIgQEAgdm9pZCBp OTE1X2dlbV90cmFja19mYihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2xkLAogc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0IHsKIAkvKiogVW5kZXJseWluZyBvYmplY3QgZm9yIGltcGxl bWVudGluZyB0aGUgc2lnbmFsL3dhaXQgc3R1ZmYuICovCiAJc3RydWN0IGZlbmNlIGZlbmNlOwor CXN0cnVjdCBsaXN0X2hlYWQgc2lnbmFsX2xpbms7CisJc3RydWN0IGxpc3RfaGVhZCB1bnNpZ25h bF9saW5rOwogCXN0cnVjdCBsaXN0X2hlYWQgZGVsYXllZF9mcmVlX2xpbms7CisJYm9vbCBjYW5j ZWxsZWQ7CisJYm9vbCBpcnFfZW5hYmxlZDsKKwlib29sIHNpZ25hbF9yZXF1ZXN0ZWQ7CiAKIAkv KiogT24gV2hpY2ggcmluZyB0aGlzIHJlcXVlc3Qgd2FzIGdlbmVyYXRlZCAqLwogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1OwpAQCAtMjI2NSw2ICsyMjcwLDExIEBAIGludCBpOTE1X2dl bV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCQkgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKipyZXFfb3V0KTsKIHZvaWQgaTkxNV9nZW1fcmVxdWVz dF9jYW5jZWwoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpOwogCit2b2lkIGk5MTVf Z2VtX3JlcXVlc3Rfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKK3Zv aWQgaTkxNV9nZW1fcmVxdWVzdF9lbmFibGVfaW50ZXJydXB0KHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxLAorCQkJCSAgICAgICBib29sIGZlbmNlX2xvY2tlZCk7Cit2b2lkIGk5MTVf Z2VtX3JlcXVlc3Rfbm90aWZ5KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGJvb2wgZmVu Y2VfbG9ja2VkKTsKKwogaW50IGk5MTVfY3JlYXRlX2ZlbmNlX3RpbWVsaW5lKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAJCQkgICAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAkJCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j CmluZGV4IDE3MWFlNWYuLjJhMGIzNDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMTE2 NSw2ICsxMTY1LDggQEAgc3RhdGljIGludCBfX2k5MTVfc3Bpbl9yZXF1ZXN0KHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCiAJdGltZW91dCA9IGppZmZpZXMgKyAxOwogCXdoaWxl ICghbmVlZF9yZXNjaGVkKCkpIHsKKwkJaTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkocmVxLT5yaW5n LCBmYWxzZSk7CisKIAkJaWYgKGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcSkpCiAJCQly ZXR1cm4gMDsKIApAQCAtMTE3Myw2ICsxMTc1LDkgQEAgc3RhdGljIGludCBfX2k5MTVfc3Bpbl9y ZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCiAJCWNwdV9yZWxheF9s b3dsYXRlbmN5KCk7CiAJfQorCisJaTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkocmVxLT5yaW5nLCBm YWxzZSk7CisKIAlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxKSkKIAkJcmV0dXJu IDA7CiAKQEAgLTEyMTQsOSArMTIxOSwxNCBAQCBpbnQgX19pOTE1X3dhaXRfcmVxdWVzdChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAogCVdBUk4oIWludGVsX2lycXNfZW5hYmxl ZChkZXZfcHJpdiksICJJUlFzIGRpc2FibGVkIik7CiAKLQlpZiAobGlzdF9lbXB0eSgmcmVxLT5s aXN0KSkKKwlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxKSkKIAkJcmV0dXJuIDA7 CiAKKwkvKgorCSAqIEVuYWJsZSBpbnRlcnJ1cHQgY29tcGxldGlvbiBvZiB0aGUgcmVxdWVzdC4K KwkgKi8KKwlmZW5jZV9lbmFibGVfc3dfc2lnbmFsaW5nKCZyZXEtPmZlbmNlKTsKKwogCWlmIChp OTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEpKQogCQlyZXR1cm4gMDsKIApAQCAtMTM3Nyw2 ICsxMzg3LDE5IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlsaXN0X2RlbF9pbml0KCZyZXF1ZXN0LT5s aXN0KTsKIAlpOTE1X2dlbV9yZXF1ZXN0X3JlbW92ZV9mcm9tX2NsaWVudChyZXF1ZXN0KTsKIAor CS8qIEluIGNhc2UgdGhlIHJlcXVlc3QgaXMgc3RpbGwgaW4gdGhlIHNpZ25hbCBwZW5kaW5nIGxp c3QgKi8KKwlpZiAoIWxpc3RfZW1wdHkoJnJlcXVlc3QtPnNpZ25hbF9saW5rKSkgeworCQkvKgor CQkgKiBUaGUgcmVxdWVzdCBtdXN0IGJlIG1hcmtlZCBhcyBjYW5jZWxsZWQgYW5kIHRoZSB1bmRl cmx5aW5nCisJCSAqIGZlbmNlIGFzIGJvdGggZmFpbGVkLiBOQjogVGhlcmUgaXMgbm8gZXhwbGlj aXQgZmVuY2UgZmFpbAorCQkgKiBBUEksIHRoZXJlIGlzIG9ubHkgYSBtYW51YWwgcG9rZSBhbmQg c2lnbmFsLgorCQkgKi8KKwkJcmVxdWVzdC0+Y2FuY2VsbGVkID0gdHJ1ZTsKKwkJLyogSG93IHRv IHByb3BhZ2F0ZSB0byBhbnkgYXNzb2NpYXRlZCBzeW5jX2ZlbmNlPz8/ICovCisJCXJlcXVlc3Qt PmZlbmNlLnN0YXR1cyA9IC1FSU87CisJCWZlbmNlX3NpZ25hbF9sb2NrZWQoJnJlcXVlc3QtPmZl bmNlKTsKKwl9CisKIAlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcXVlc3QpOwogfQog CkBAIC0yNTM1LDYgKzI1NTgsMTIgQEAgdm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LAogCSAqLwogCXJlcXVlc3QtPnBvc3RmaXggPSBp bnRlbF9yaW5nX2dldF90YWlsKHJpbmdidWYpOwogCisJLyoKKwkgKiBBZGQgdGhlIGZlbmNlIHRv IHRoZSBwZW5kaW5nIGxpc3QgYmVmb3JlIGVtaXR0aW5nIHRoZSBjb21tYW5kcyB0bworCSAqIGdl bmVyYXRlIGEgc2Vxbm8gbm90aWZpY2F0aW9uIGludGVycnVwdC4KKwkgKi8KKwlpOTE1X2dlbV9y ZXF1ZXN0X3N1Ym1pdChyZXF1ZXN0KTsKKwogCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpCiAJ CXJldCA9IHJpbmctPmVtaXRfcmVxdWVzdChyZXF1ZXN0KTsKIAllbHNlIHsKQEAgLTI2NTQsMjUg KzI2ODMsMTM1IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfZnJlZShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAkJaTkxNV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShj dHgpOwogCX0KIAorCWlmIChyZXEtPmlycV9lbmFibGVkKQorCQlyZXEtPnJpbmctPmlycV9wdXQo cmVxLT5yaW5nKTsKKwogCWttZW1fY2FjaGVfZnJlZShyZXEtPmk5MTUtPnJlcXVlc3RzLCByZXEp OwogfQogCi1zdGF0aWMgYm9vbCBpOTE1X2dlbV9yZXF1ZXN0X2VuYWJsZV9zaWduYWxpbmcoc3Ry dWN0IGZlbmNlICpyZXFfZmVuY2UpCisvKgorICogVGhlIHJlcXVlc3QgaXMgYWJvdXQgdG8gYmUg c3VibWl0dGVkIHRvIHRoZSBoYXJkd2FyZSBzbyBhZGQgdGhlIGZlbmNlIHRvCisgKiB0aGUgbGlz dCBvZiBzaWduYWxhYmxlIGZlbmNlcy4KKyAqCisgKiBOQjogVGhpcyBkb2VzIG5vdCBuZWNlc3Nh cmlseSBlbmFibGUgaW50ZXJydXB0cyB5ZXQuIFRoYXQgb25seSBvY2N1cnMgb24KKyAqIGRlbWFu ZCB3aGVuIHRoZSByZXF1ZXN0IGlzIGFjdHVhbGx5IHdhaXRlZCBvbi4gSG93ZXZlciwgYWRkaW5n IGl0IHRvIHRoZQorICogbGlzdCBlYXJseSBlbnN1cmVzIHRoYXQgdGhlcmUgaXMgbm8gcmFjZSBj b25kaXRpb24gd2hlcmUgdGhlIGludGVycnVwdAorICogY291bGQgcG9wIG91dCBwcmVtYXR1cmVs eSBhbmQgdGh1cyBiZSBjb21wbGV0ZWx5IGxvc3QuIFRoZSByYWNlIGlzIG1lcmVseQorICogdGhh dCB0aGUgaW50ZXJydXB0IG11c3QgYmUgbWFudWFsbHkgY2hlY2tlZCBmb3IgYWZ0ZXIgYmVpbmcg ZW5hYmxlZC4KKyAqLwordm9pZCBpOTE1X2dlbV9yZXF1ZXN0X3N1Ym1pdChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKLQkvKiBJbnRlcnJ1cHQgZHJpdmVuIGZlbmNlcyBhcmUg bm90IGltcGxlbWVudGVkIHlldC4qLwotCVdBUk4odHJ1ZSwgIlRoaXMgc2hvdWxkIG5vdCBiZSBj YWxsZWQhIik7Ci0JcmV0dXJuIHRydWU7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qCisJ ICogQWx3YXlzIGVuYWJsZSBzaWduYWwgcHJvY2Vzc2luZyBmb3IgdGhlIHJlcXVlc3QncyBmZW5j ZSBvYmplY3QKKwkgKiBiZWZvcmUgdGhhdCByZXF1ZXN0IGlzIHN1Ym1pdHRlZCB0byB0aGUgaGFy ZHdhcmUuIFRodXMgdGhlcmUgaXMgbm8KKwkgKiByYWNlIGNvbmRpdGlvbiB3aGVyZWJ5IHRoZSBp bnRlcnJ1cHQgY291bGQgcG9wIG91dCBiZWZvcmUgdGhlCisJICogcmVxdWVzdCBoYXMgYmVlbiBh ZGRlZCB0byB0aGUgc2lnbmFsIGxpc3QuIEhlbmNlIG5vIG5lZWQgdG8gY2hlY2sKKwkgKiBmb3Ig Y29tcGxldGlvbiwgdW5kbyB0aGUgbGlzdCBhZGQgYW5kIHJldHVybiBmYWxzZS4KKwkgKi8KKwlp OTE1X2dlbV9yZXF1ZXN0X3JlZmVyZW5jZShyZXEpOworCXNwaW5fbG9ja19pcnFzYXZlKCZyZXEt PnJpbmctPmZlbmNlX2xvY2ssIGZsYWdzKTsKKwlXQVJOX09OKCFsaXN0X2VtcHR5KCZyZXEtPnNp Z25hbF9saW5rKSk7CisJbGlzdF9hZGRfdGFpbCgmcmVxLT5zaWduYWxfbGluaywgJnJlcS0+cmlu Zy0+ZmVuY2Vfc2lnbmFsX2xpc3QpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJlcS0+cmlu Zy0+ZmVuY2VfbG9jaywgZmxhZ3MpOworCisJLyoKKwkgKiBOQjogSW50ZXJydXB0cyBhcmUgb25s eSBlbmFibGVkIG9uIGRlbWFuZC4gVGh1cyB0aGVyZSBpcyBzdGlsbCBhCisJICogcmFjZSB3aGVy ZSB0aGUgcmVxdWVzdCBjb3VsZCBjb21wbGV0ZSBiZWZvcmUgdGhlIGludGVycnVwdCBoYXMKKwkg KiBiZWVuIGVuYWJsZWQuIFRodXMgY2FyZSBtdXN0IGJlIHRha2VuIGF0IHRoYXQgcG9pbnQuCisJ ICovCisKKwkgLyogSGF2ZSBpbnRlcnJ1cHRzIGFscmVhZHkgYmVlbiByZXF1ZXN0ZWQ/ICovCisJ IGlmIChyZXEtPnNpZ25hbF9yZXF1ZXN0ZWQpCisJCWk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX2lu dGVycnVwdChyZXEsIGZhbHNlKTsKK30KKworLyoKKyAqIFRoZSByZXF1ZXN0IGlzIGJlaW5nIGFj dGl2ZWx5IHdhaXRlZCBvbiwgc28gZW5hYmxlIGludGVycnVwdCBiYXNlZAorICogY29tcGxldGlv biBzaWduYWxsaW5nLgorICovCit2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX2ludGVycnVw dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKKwkJCQkgICAgICAgYm9vbCBmZW5j ZV9sb2NrZWQpCit7CisJaWYgKHJlcS0+aXJxX2VuYWJsZWQpCisJCXJldHVybjsKKworCVdBUk5f T04oIXJlcS0+cmluZy0+aXJxX2dldChyZXEtPnJpbmcpKTsKKwlyZXEtPmlycV9lbmFibGVkID0g dHJ1ZTsKKworCS8qCisJICogQmVjYXVzZSB0aGUgaW50ZXJydXB0IGlzIG9ubHkgZW5hYmxlZCBv biBkZW1hbmQsIHRoZXJlIGlzIGEgcmFjZQorCSAqIHdoZXJlIHRoZSBpbnRlcnJ1cHQgY2FuIGZp cmUgYmVmb3JlIGFueW9uZSBpcyBsb29raW5nIGZvciBpdC4gU28KKwkgKiBkbyBhbiBleHBsaWNp dCBjaGVjayBmb3IgbWlzc2VkIGludGVycnVwdHMuCisJICovCisJaTkxNV9nZW1fcmVxdWVzdF9u b3RpZnkocmVxLT5yaW5nLCBmZW5jZV9sb2NrZWQpOwogfQogCi1zdGF0aWMgYm9vbCBpOTE1X2dl bV9yZXF1ZXN0X2lzX2NvbXBsZXRlZChzdHJ1Y3QgZmVuY2UgKnJlcV9mZW5jZSkKK3N0YXRpYyBi b29sIGk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX3NpZ25hbGluZyhzdHJ1Y3QgZmVuY2UgKnJlcV9m ZW5jZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSA9IGNvbnRhaW5lcl9v ZihyZXFfZmVuY2UsCiAJCQkJCQkgdHlwZW9mKCpyZXEpLCBmZW5jZSk7CisKKwkvKgorCSAqIE5v IG5lZWQgdG8gYWN0dWFsbHkgZW5hYmxlIGludGVycnVwdCBiYXNlZCBwcm9jZXNzaW5nIHVudGls IHRoZQorCSAqIHJlcXVlc3QgaGFzIGJlZW4gc3VibWl0dGVkIHRvIHRoZSBoYXJkd2FyZS4gQXQg d2hpY2ggcG9pbnQKKwkgKiAnaTkxNV9nZW1fcmVxdWVzdF9zdWJtaXQoKScgaXMgY2FsbGVkLiBT byBvbmx5IHJlYWxseSBlbmFibGUKKwkgKiBzaWduYWxsaW5nIGluIHRoZXJlLiBKdXN0IHNldCBh IGZsYWcgdG8gc2F5IHRoYXQgaW50ZXJydXB0cyBhcmUKKwkgKiB3YW50ZWQgd2hlbiB0aGUgcmVx dWVzdCBpcyBldmVudHVhbGx5IHN1Ym1pdHRlZC4gT24gdGhlIG90aGVyIGhhbmQKKwkgKiBpZiB0 aGUgcmVxdWVzdCBoYXMgYWxyZWFkeSBiZWVuIHN1Ym1pdHRlZCB0aGVuIGludGVycnVwdHMgZG8g bmVlZAorCSAqIHRvIGJlIGVuYWJsZWQgbm93LgorCSAqLworCisJcmVxLT5zaWduYWxfcmVxdWVz dGVkID0gdHJ1ZTsKKworCWlmICghbGlzdF9lbXB0eSgmcmVxLT5zaWduYWxfbGluaykpCisJCWk5 MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX2ludGVycnVwdChyZXEsIHRydWUpOworCisJcmV0dXJuIHRy dWU7Cit9CisKK3ZvaWQgaTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywgYm9vbCBmZW5jZV9sb2NrZWQpCit7CisJc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXEsICpyZXFfbmV4dDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXUzMiBzZXFu bzsKIAotCXNlcW5vID0gcmVxLT5yaW5nLT5nZXRfc2Vxbm8ocmVxLT5yaW5nLCBmYWxzZS8qbGF6 eV9jb2hlcmVuY3kqLyk7CisJaWYgKGxpc3RfZW1wdHkoJnJpbmctPmZlbmNlX3NpZ25hbF9saXN0 KSkKKwkJcmV0dXJuOworCisJaWYgKCFmZW5jZV9sb2NrZWQpCisJCXNwaW5fbG9ja19pcnFzYXZl KCZyaW5nLT5mZW5jZV9sb2NrLCBmbGFncyk7CisKKwlzZXFubyA9IHJpbmctPmdldF9zZXFubyhy aW5nLCBmYWxzZSk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmVxLCByZXFfbmV4dCwg JnJpbmctPmZlbmNlX3NpZ25hbF9saXN0LCBzaWduYWxfbGluaykgeworCQlpZiAoIXJlcS0+Y2Fu Y2VsbGVkKSB7CisJCQlpZiAoIWk5MTVfc2Vxbm9fcGFzc2VkKHNlcW5vLCByZXEtPnNlcW5vKSkK KwkJCQlicmVhazsKKwkJfQorCisJCS8qCisJCSAqIFN0YXJ0IGJ5IHJlbW92aW5nIHRoZSBmZW5j ZSBmcm9tIHRoZSBzaWduYWwgbGlzdCBvdGhlcndpc2UKKwkJICogdGhlIHJldGlyZSBjb2RlIGNh biBydW4gY29uY3VycmVudGx5IGFuZCBnZXQgY29uZnVzZWQuCisJCSAqLworCQlsaXN0X2RlbF9p bml0KCZyZXEtPnNpZ25hbF9saW5rKTsKKworCQlpZiAoIXJlcS0+Y2FuY2VsbGVkKSB7CisJCQlm ZW5jZV9zaWduYWxfbG9ja2VkKCZyZXEtPmZlbmNlKTsKKwkJfQorCisJCWlmIChyZXEtPmlycV9l bmFibGVkKSB7CisJCQlyZXEtPnJpbmctPmlycV9wdXQocmVxLT5yaW5nKTsKKwkJCXJlcS0+aXJx X2VuYWJsZWQgPSBmYWxzZTsKKwkJfQorCisJCS8qIENhbid0IHVucmVmZXJlbmNlIGhlcmUgYmVj YXVzZSB0aGF0IG1pZ2h0IGdyYWIgZmVuY2VfbG9jayAqLworCQlsaXN0X2FkZF90YWlsKCZyZXEt PnVuc2lnbmFsX2xpbmssICZyaW5nLT5mZW5jZV91bnNpZ25hbF9saXN0KTsKKwl9CiAKLQlyZXR1 cm4gaTkxNV9zZXFub19wYXNzZWQoc2Vxbm8sIHJlcS0+c2Vxbm8pOworCWlmICghZmVuY2VfbG9j a2VkKQorCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyaW5nLT5mZW5jZV9sb2NrLCBmbGFncyk7 CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICppOTE1X2dlbV9yZXF1ZXN0X2dldF9kcml2ZXJfbmFt ZShzdHJ1Y3QgZmVuY2UgKnJlcV9mZW5jZSkKQEAgLTI3MTIsNyArMjg1MSw2IEBAIHN0YXRpYyB2 b2lkIGk5MTVfZ2VtX3JlcXVlc3RfZmVuY2VfdmFsdWVfc3RyKHN0cnVjdCBmZW5jZSAqcmVxX2Zl bmNlLCBjaGFyICpzdHIsCiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVuY2Vfb3BzIGk5MTVfZ2Vt X3JlcXVlc3RfZm9wcyA9IHsKIAkuZW5hYmxlX3NpZ25hbGluZwk9IGk5MTVfZ2VtX3JlcXVlc3Rf ZW5hYmxlX3NpZ25hbGluZywKLQkuc2lnbmFsZWQJCT0gaTkxNV9nZW1fcmVxdWVzdF9pc19jb21w bGV0ZWQsCiAJLndhaXQJCQk9IGZlbmNlX2RlZmF1bHRfd2FpdCwKIAkucmVsZWFzZQkJPSBpOTE1 X2dlbV9yZXF1ZXN0X3JlbGVhc2UsCiAJLmdldF9kcml2ZXJfbmFtZQk9IGk5MTVfZ2VtX3JlcXVl c3RfZ2V0X2RyaXZlcl9uYW1lLApAQCAtMjc5NSw2ICsyOTMzLDcgQEAgaW50IGk5MTVfZ2VtX3Jl cXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJZ290byBlcnI7CiAJ fQogCisJSU5JVF9MSVNUX0hFQUQoJnJlcS0+c2lnbmFsX2xpbmspOwogCWZlbmNlX2luaXQoJnJl cS0+ZmVuY2UsICZpOTE1X2dlbV9yZXF1ZXN0X2ZvcHMsICZyaW5nLT5mZW5jZV9sb2NrLAogCQkg ICBjdHgtPmVuZ2luZVtyaW5nLT5pZF0uZmVuY2VfdGltZWxpbmUuZmVuY2VfY29udGV4dCwKIAkJ ICAgaTkxNV9mZW5jZV90aW1lbGluZV9nZXRfbmV4dF9zZXFubygmY3R4LT5lbmdpbmVbcmluZy0+ aWRdLmZlbmNlX3RpbWVsaW5lKSk7CkBAIC0yODMyLDYgKzI5NzEsMTEgQEAgdm9pZCBpOTE1X2dl bV9yZXF1ZXN0X2NhbmNlbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKIAlp bnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNlX2NhbmNlbChyZXEtPnJpbmdidWYpOwogCisJcmVxLT5j YW5jZWxsZWQgPSB0cnVlOworCS8qIEhvdyB0byBwcm9wYWdhdGUgdG8gYW55IGFzc29jaWF0ZWQg c3luY19mZW5jZT8/PyAqLworCXJlcS0+ZmVuY2Uuc3RhdHVzID0gLUVJTlZBTDsKKwlmZW5jZV9z aWduYWxfbG9ja2VkKCZyZXEtPmZlbmNlKTsKKwogCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVu Y2UocmVxKTsKIH0KIApAQCAtMjkyNSw2ICszMDY5LDEzIEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2Vt X3Jlc2V0X3JpbmdfY2xlYW51cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ CWk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHJlcXVlc3QpOwogCX0KIAorCS8qCisJICogVGlkeSB1 cCBhbnl0aGluZyBsZWZ0IG92ZXIuIFRoaXMgaW5jbHVkZXMgYSBjYWxsIHRvCisJICogaTkxNV9n ZW1fcmVxdWVzdF9ub3RpZnkoKSB3aGljaCB3aWxsIG1ha2Ugc3VyZSB0aGF0IGFueSByZXF1ZXN0 cworCSAqIHRoYXQgd2VyZSBvbiB0aGUgc2lnbmFsIHBlbmRpbmcgbGlzdCBnZXQgYWxzbyBjbGVh bmVkIHVwLgorCSAqLworCWk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0c19yaW5nKHJpbmcpOworCiAJ LyogSGF2aW5nIGZsdXNoZWQgYWxsIHJlcXVlc3RzIGZyb20gYWxsIHF1ZXVlcywgd2Uga25vdyB0 aGF0IGFsbAogCSAqIHJpbmdidWZmZXJzIG11c3Qgbm93IGJlIGVtcHR5LiBIb3dldmVyLCBzaW5j ZSB3ZSBkbyBub3QgcmVjbGFpbQogCSAqIGFsbCBzcGFjZSB3aGVuIHJldGlyaW5nIHRoZSByZXF1 ZXN0ICh0byBwcmV2ZW50IEhFQURzIGNvbGxpZGluZwpAQCAtMjk3NCw2ICszMTI1LDEzIEBAIGk5 MTVfZ2VtX3JldGlyZV9yZXF1ZXN0c19yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcp CiAKIAlXQVJOX09OKGk5MTVfdmVyaWZ5X2xpc3RzKHJpbmctPmRldikpOwogCisJLyoKKwkgKiBJ ZiBuby1vbmUgaGFzIHdhaXRlZCBvbiBhIHJlcXVlc3QgcmVjZW50bHkgdGhlbiBpbnRlcnJ1cHRz IHdpbGwKKwkgKiBub3QgaGF2ZSBiZWVuIGVuYWJsZWQgYW5kIHRodXMgbm8gcmVxdWVzdHMgd2ls bCBldmVyIGJlIG1hcmtlZCBhcworCSAqIGNvbXBsZXRlZC4gU28gZG8gYW4gaW50ZXJydXB0IGNo ZWNrIG5vdy4KKwkgKi8KKwlpOTE1X2dlbV9yZXF1ZXN0X25vdGlmeShyaW5nLCBmYWxzZSk7CisK IAkvKiBSZXRpcmUgcmVxdWVzdHMgZmlyc3QgYXMgd2UgdXNlIGl0IGFib3ZlIGZvciB0aGUgZWFy bHkgcmV0dXJuLgogCSAqIElmIHdlIHJldGlyZSByZXF1ZXN0cyBsYXN0LCB3ZSBtYXkgdXNlIGEg bGF0ZXIgc2Vxbm8gYW5kIHNvIGNsZWFyCiAJICogdGhlIHJlcXVlc3RzIGxpc3RzIHdpdGhvdXQg Y2xlYXJpbmcgdGhlIGFjdGl2ZSBsaXN0LCBsZWFkaW5nIHRvCkBAIC0zMDE1LDYgKzMxNzMsMTUg QEAgaTkxNV9nZW1fcmV0aXJlX3JlcXVlc3RzX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKIAkJaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJnJpbmctPnRyYWNlX2lycV9yZXEsIE5V TEwpOwogCX0KIAorCS8qIFRpZHkgdXAgYW55IHJlcXVlc3RzIHRoYXQgd2VyZSByZWNlbnRseSBz aWduYWxsZWQgKi8KKwlzcGluX2xvY2tfaXJxc2F2ZSgmcmluZy0+ZmVuY2VfbG9jaywgZmxhZ3Mp OworCWxpc3Rfc3BsaWNlX2luaXQoJnJpbmctPmZlbmNlX3Vuc2lnbmFsX2xpc3QsICZsaXN0X2hl YWQpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJpbmctPmZlbmNlX2xvY2ssIGZsYWdzKTsK KwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmVxLCByZXFfbmV4dCwgJmxpc3RfaGVhZCwgdW5z aWduYWxfbGluaykgeworCQlsaXN0X2RlbCgmcmVxLT51bnNpZ25hbF9saW5rKTsKKwkJaTkxNV9n ZW1fcmVxdWVzdF91bnJlZmVyZW5jZShyZXEpOworCX0KKwogCS8qIFJlYWxseSBmcmVlIGFueSBy ZXF1ZXN0cyB0aGF0IHdlcmUgcmVjZW50bHkgdW5yZWZlcmVuY2VkICovCiAJc3Bpbl9sb2NrX2ly cXNhdmUoJnJpbmctPmRlbGF5ZWRfZnJlZV9sb2NrLCBmbGFncyk7CiAJbGlzdF9zcGxpY2VfaW5p dCgmcmluZy0+ZGVsYXllZF9mcmVlX2xpc3QsICZsaXN0X2hlYWQpOwpAQCAtNTA2Niw2ICs1MjMz LDggQEAgaW5pdF9yaW5nX2xpc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB7CiAJ SU5JVF9MSVNUX0hFQUQoJnJpbmctPmFjdGl2ZV9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmcmlu Zy0+cmVxdWVzdF9saXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmcmluZy0+ZmVuY2Vfc2lnbmFsX2xp c3QpOworCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5mZW5jZV91bnNpZ25hbF9saXN0KTsKIAlJTklU X0xJU1RfSEVBRCgmcmluZy0+ZGVsYXllZF9mcmVlX2xpc3QpOwogfQogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYwppbmRleCA2OGIwOTRiLi43NGY4NTUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMK QEAgLTk4MSw2ICs5ODEsOCBAQCBzdGF0aWMgdm9pZCBub3RpZnlfcmluZyhzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nKQogCiAJdHJhY2VfaTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkocmluZyk7 CiAKKwlpOTE1X2dlbV9yZXF1ZXN0X25vdGlmeShyaW5nLCBmYWxzZSk7CisKIAl3YWtlX3VwX2Fs bCgmcmluZy0+aXJxX3F1ZXVlKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCAw NmEzOThhLi43NmZjMjQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMTkyMCw2ICsx OTIwLDggQEAgc3RhdGljIGludCBsb2dpY2FsX3JpbmdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW4KIAlyaW5nLT5kZXYgPSBkZXY7CiAJSU5J VF9MSVNUX0hFQUQoJnJpbmctPmFjdGl2ZV9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmcmluZy0+ cmVxdWVzdF9saXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmcmluZy0+ZmVuY2Vfc2lnbmFsX2xpc3Qp OworCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5mZW5jZV91bnNpZ25hbF9saXN0KTsKIAlJTklUX0xJ U1RfSEVBRCgmcmluZy0+ZGVsYXllZF9mcmVlX2xpc3QpOwogCXNwaW5fbG9ja19pbml0KCZyaW5n LT5mZW5jZV9sb2NrKTsKIAlzcGluX2xvY2tfaW5pdCgmcmluZy0+ZGVsYXllZF9mcmVlX2xvY2sp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IGU1NTczZTcuLjFk ZWMyNTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTIxNTgs NiArMjE1OCw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW5pdF9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAogCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5yZXF1ZXN0X2xpc3QpOwogCUlO SVRfTElTVF9IRUFEKCZyaW5nLT5leGVjbGlzdF9xdWV1ZSk7CiAJSU5JVF9MSVNUX0hFQUQoJnJp bmctPmJ1ZmZlcnMpOworCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5mZW5jZV9zaWduYWxfbGlzdCk7 CisJSU5JVF9MSVNUX0hFQUQoJnJpbmctPmZlbmNlX3Vuc2lnbmFsX2xpc3QpOwogCUlOSVRfTElT VF9IRUFEKCZyaW5nLT5kZWxheWVkX2ZyZWVfbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJnJpbmct PmZlbmNlX2xvY2spOwogCXNwaW5fbG9ja19pbml0KCZyaW5nLT5kZWxheWVkX2ZyZWVfbG9jayk7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggNzczODRlZC4uOWQw OWVkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtMzU0LDYg KzM1NCw4IEBAIHN0cnVjdCAgaW50ZWxfZW5naW5lX2NzIHsKIAl1MzIgKCpnZXRfY21kX2xlbmd0 aF9tYXNrKSh1MzIgY21kX2hlYWRlcik7CiAKIAlzcGlubG9ja190IGZlbmNlX2xvY2s7CisJc3Ry dWN0IGxpc3RfaGVhZCBmZW5jZV9zaWduYWxfbGlzdDsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGZlbmNl X3Vuc2lnbmFsX2xpc3Q7CiB9OwogCiBib29sIGludGVsX3JpbmdfaW5pdGlhbGl6ZWQoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqcmluZyk7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK