From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Hoath Subject: [PATCH 4/4] drm/i915: Subsume intel_ctx_submit_request in to drm_i915_gem_request Date: Thu, 15 Jan 2015 13:10:39 +0000 Message-ID: <1421327439-13166-5-git-send-email-nicholas.hoath@intel.com> References: <1421327439-13166-1-git-send-email-nicholas.hoath@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id C63AE6E111 for ; Thu, 15 Jan 2015 05:11:21 -0800 (PST) In-Reply-To: <1421327439-13166-1-git-send-email-nicholas.hoath@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@ffwll.ch List-Id: intel-gfx@lists.freedesktop.org TW92ZSBhbGwgcmVtYWluaW5nIGVsZW1lbnRzIHRoYXQgd2VyZSB1bmlxdWUgdG8gZXhlY2xpc3Rz IHF1ZXVlIGl0ZW1zCmluIHRvIHRoZSBhc3NvY2lhdGVkIHJlcXVlc3QuCgpJc3N1ZTogVklaLTQy NzQKCnYyOiBSZWJhc2UuIEZpeGVkIGlzc3VlIG9mIG92ZXJ6ZWFsb3VzIGZyZWVpbmcgb2YgcmVx dWVzdC4KdjM6IFJlbW92ZWQgcmUtYWRkaXRpb24gb2YgY2xlYW51cCB3b3JrIHF1ZXVlIChmb3Vu ZCBieSBEYW5pZWwgVmV0dGVyKQp2NDogUmViYXNlLgp2NTogQWN0dWFsIHJlbW92YWwgb2YgaW50 ZWxfY3R4X3N1Ym1pdF9yZXF1ZXN0LiBVcGRhdGUgYm90aCB0YWlsIGFuZCBwb3N0Zml4CnBvaW50 ZXIgaW4gX19pOTE1X2FkZF9yZXF1ZXN0IChmb3VuZCBieSBUaG9tYXMgRGFuaWVsKQp2NjogUmVt b3ZlZCB1bnJlbGF0ZWQgY2hhbmdlcwoKU2lnbmVkLW9mZi1ieTogTmljayBIb2F0aCA8bmljaG9s YXMuaG9hdGhAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jICB8ICA4ICsrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8 IDIxICsrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAg ICAgfCAxMiArKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAg fCAzMiArKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIHwgIDYgKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j ICAgICB8IDQ0ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggICAgIHwgMjcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog NyBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IGQ0Y2M0ODIuLmIyZGZhYzQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0xOTI4LDcgKzE5MjgsNyBAQCBzdGF0aWMgaW50 IGk5MTVfZXhlY2xpc3RzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAlpbnRlbF9y dW50aW1lX3BtX2dldChkZXZfcHJpdik7CiAKIAlmb3JfZWFjaF9yaW5nKHJpbmcsIGRldl9wcml2 LCByaW5nX2lkKSB7Ci0JCXN0cnVjdCBpbnRlbF9jdHhfc3VibWl0X3JlcXVlc3QgKmhlYWRfcmVx ID0gTlVMTDsKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpoZWFkX3JlcSA9IE5VTEw7 CiAJCWludCBjb3VudCA9IDA7CiAJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKQEAgLTE5NjEsMTgg KzE5NjEsMTggQEAgc3RhdGljIGludCBpOTE1X2V4ZWNsaXN0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0s IHZvaWQgKmRhdGEpCiAJCWxpc3RfZm9yX2VhY2goY3Vyc29yLCAmcmluZy0+ZXhlY2xpc3RfcXVl dWUpCiAJCQljb3VudCsrOwogCQloZWFkX3JlcSA9IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVsbCgm cmluZy0+ZXhlY2xpc3RfcXVldWUsCi0JCQkJc3RydWN0IGludGVsX2N0eF9zdWJtaXRfcmVxdWVz dCwgZXhlY2xpc3RfbGluayk7CisJCQkJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0LCBleGVj bGlzdF9saW5rKTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+ZXhlY2xpc3RfbG9j aywgZmxhZ3MpOwogCiAJCXNlcV9wcmludGYobSwgIlx0JWQgcmVxdWVzdHMgaW4gcXVldWVcbiIs IGNvdW50KTsKIAkJaWYgKGhlYWRfcmVxKSB7CiAJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqY3R4X29iajsKIAotCQkJY3R4X29iaiA9IGhlYWRfcmVxLT5yZXF1ZXN0LT5jdHgtPmVuZ2lu ZVtyaW5nX2lkXS5zdGF0ZTsKKwkJCWN0eF9vYmogPSBoZWFkX3JlcS0+Y3R4LT5lbmdpbmVbcmlu Z19pZF0uc3RhdGU7CiAJCQlzZXFfcHJpbnRmKG0sICJcdEhlYWQgcmVxdWVzdCBpZDogJXVcbiIs CiAJCQkJICAgaW50ZWxfZXhlY2xpc3RzX2N0eF9pZChjdHhfb2JqKSk7CiAJCQlzZXFfcHJpbnRm KG0sICJcdEhlYWQgcmVxdWVzdCB0YWlsOiAldVxuIiwKLQkJCQkgICBoZWFkX3JlcS0+cmVxdWVz dC0+dGFpbCk7CisJCQkJICAgaGVhZF9yZXEtPnRhaWwpOwogCQl9CiAKIAkJc2VxX3B1dGMobSwg J1xuJyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBhZjAyNGYyLi44YzZhMjA3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTIwODksNiArMjA4OSwyNyBAQCBzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgewogCXN0cnVjdCBsaXN0X2hlYWQgY2xpZW50X2xpc3Q7CiAKIAl1aW50 MzJfdCB1bmlxOworCisJLyoqCisJICogVGhlIEVMU1Agb25seSBhY2NlcHRzIHR3byBlbGVtZW50 cyBhdCBhIHRpbWUsIHNvIHdlIHF1ZXVlCisJICogY29udGV4dC90YWlsIHBhaXJzIG9uIGEgZ2l2 ZW4gcXVldWUgKHJpbmctPmV4ZWNsaXN0X3F1ZXVlKSB1bnRpbCB0aGUKKwkgKiBoYXJkd2FyZSBp cyBhdmFpbGFibGUuIFRoZSBxdWV1ZSBzZXJ2ZXMgYSBkb3VibGUgcHVycG9zZTogd2UgYWxzbyB1 c2UKKwkgKiBpdCB0byBrZWVwIHRyYWNrIG9mIHRoZSB1cCB0byAyIGNvbnRleHRzIGN1cnJlbnRs eSBpbiB0aGUgaGFyZHdhcmUKKwkgKiAodXN1YWxseSBvbmUgaW4gZXhlY3V0aW9uIGFuZCB0aGUg b3RoZXIgcXVldWVkIHVwIGJ5IHRoZSBHUFUpOiBXZQorCSAqIG9ubHkgcmVtb3ZlIGVsZW1lbnRz IGZyb20gdGhlIGhlYWQKKwkgKiBvZiB0aGUgcXVldWUgd2hlbiB0aGUgaGFyZHdhcmUgaW5mb3Jt cyB1cyB0aGF0IGFuIGVsZW1lbnQgaGFzIGJlZW4KKwkgKiBjb21wbGV0ZWQuCisJICoKKwkgKiBB bGwgYWNjZXNzZXMgdG8gdGhlIHF1ZXVlIGFyZSBtZWRpYXRlZCBieSBhIHNwaW5sb2NrCisJICog KHJpbmctPmV4ZWNsaXN0X2xvY2spLgorCSAqLworCisJLyoqIEV4ZWNsaXN0IGxpbmsgaW4gdGhl IHN1Ym1pc3Npb24gcXVldWUuKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIGV4ZWNsaXN0X2xpbms7CisK KwkvKiogRXhlY2xpc3RzIG5vLiBvZiB0aW1lcyB0aGlzIHJlcXVlc3QgaGFzIGJlZW4gc2VudCB0 byB0aGUgRUxTUCAqLworCWludCBlbHNwX3N1Ym1pdHRlZDsKKwogfTsKIAogdm9pZCBpOTE1X2dl bV9yZXF1ZXN0X2ZyZWUoc3RydWN0IGtyZWYgKnJlcV9yZWYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMKaW5kZXggMDY0OTU1OS4uMDE5NWUzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0y NDE0LDcgKzI0MTQsNyBAQCBpbnQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3Q7 CiAJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWY7Ci0JdTMyIHJlcXVlc3RfcmluZ19w b3NpdGlvbiwgcmVxdWVzdF9zdGFydDsKKwl1MzIgcmVxdWVzdF9zdGFydDsKIAlpbnQgcmV0Owog CiAJcmVxdWVzdCA9IHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdDsKQEAgLTI0NDksNyAr MjQ0OSw3IEBAIGludCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKIAkgKiBHUFUgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdCwgd2UgbmV2ZXIgb3Zlci1lc3Rp bWF0ZSB0aGUKIAkgKiBwb3NpdGlvbiBvZiB0aGUgaGVhZC4KIAkgKi8KLQlyZXF1ZXN0X3Jpbmdf cG9zaXRpb24gPSBpbnRlbF9yaW5nX2dldF90YWlsKHJpbmdidWYpOworCXJlcXVlc3QtPnBvc3Rm aXggPSBpbnRlbF9yaW5nX2dldF90YWlsKHJpbmdidWYpOwogCiAJaWYgKGk5MTUuZW5hYmxlX2V4 ZWNsaXN0cykgewogCQlyZXQgPSByaW5nLT5lbWl0X3JlcXVlc3QocmluZ2J1ZiwgcmVxdWVzdCk7 CkBAIC0yNDYyLDcgKzI0NjIsNyBAQCBpbnQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmcsCiAJfQogCiAJcmVxdWVzdC0+aGVhZCA9IHJlcXVlc3Rfc3RhcnQ7 Ci0JcmVxdWVzdC0+cG9zdGZpeCA9IHJlcXVlc3RfcmluZ19wb3NpdGlvbjsKKwlyZXF1ZXN0LT50 YWlsID0gaW50ZWxfcmluZ19nZXRfdGFpbChyaW5nYnVmKTsKIAogCS8qIFdoaWxzdCB0aGlzIHJl cXVlc3QgZXhpc3RzLCBiYXRjaF9vYmogd2lsbCBiZSBvbiB0aGUKIAkgKiBhY3RpdmVfbGlzdCwg YW5kIHNvIHdpbGwgaG9sZCB0aGUgYWN0aXZlIHJlZmVyZW5jZS4gT25seSB3aGVuIHRoaXMKQEAg LTI2NDksMTQgKzI2NDksMTQgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVzZXRfcmluZ19jbGVh bnVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkgKiBwaW5uZWQgaW4gcGxh Y2UuCiAJICovCiAJd2hpbGUgKCFsaXN0X2VtcHR5KCZyaW5nLT5leGVjbGlzdF9xdWV1ZSkpIHsK LQkJc3RydWN0IGludGVsX2N0eF9zdWJtaXRfcmVxdWVzdCAqc3VibWl0X3JlcTsKKwkJc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpzdWJtaXRfcmVxOwogCiAJCXN1Ym1pdF9yZXEgPSBsaXN0 X2ZpcnN0X2VudHJ5KCZyaW5nLT5leGVjbGlzdF9xdWV1ZSwKLQkJCQlzdHJ1Y3QgaW50ZWxfY3R4 X3N1Ym1pdF9yZXF1ZXN0LAorCQkJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCwKIAkJCQll eGVjbGlzdF9saW5rKTsKIAkJbGlzdF9kZWwoJnN1Ym1pdF9yZXEtPmV4ZWNsaXN0X2xpbmspOwog CQlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7Ci0JCWk5MTVfZ2VtX2NvbnRleHRfdW5y ZWZlcmVuY2Uoc3VibWl0X3JlcS0+cmVxdWVzdC0+Y3R4KTsKKwkJaTkxNV9nZW1fY29udGV4dF91 bnJlZmVyZW5jZShzdWJtaXRfcmVxLT5jdHgpOwogCQlrZnJlZShzdWJtaXRfcmVxKTsKIAl9CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggODI3NWI3YS4uMzY5YWU1NSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKQEAgLTQwNCw4ICs0MDQsOCBAQCBzdGF0aWMgdm9pZCBleGVjbGlz dHNfc3VibWl0X2NvbnRleHRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAKIHN0YXRp YyB2b2lkIGV4ZWNsaXN0c19jb250ZXh0X3VucXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKIHsKLQlzdHJ1Y3QgaW50ZWxfY3R4X3N1Ym1pdF9yZXF1ZXN0ICpyZXEwID0gTlVMTCwg KnJlcTEgPSBOVUxMOwotCXN0cnVjdCBpbnRlbF9jdHhfc3VibWl0X3JlcXVlc3QgKmN1cnNvciA9 IE5VTEwsICp0bXAgPSBOVUxMOworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxMCA9 IE5VTEwsICpyZXExID0gTlVMTDsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKmN1cnNv ciA9IE5VTEwsICp0bXAgPSBOVUxMOwogCiAJYXNzZXJ0X3NwaW5fbG9ja2VkKCZyaW5nLT5leGVj bGlzdF9sb2NrKTsKIApAQCAtNDE3LDcgKzQxNyw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19j b250ZXh0X3VucXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAkJCQkgZXhlY2xp c3RfbGluaykgewogCQlpZiAoIXJlcTApIHsKIAkJCXJlcTAgPSBjdXJzb3I7Ci0JCX0gZWxzZSBp ZiAocmVxMC0+cmVxdWVzdC0+Y3R4ID09IGN1cnNvci0+cmVxdWVzdC0+Y3R4KSB7CisJCX0gZWxz ZSBpZiAocmVxMC0+Y3R4ID09IGN1cnNvci0+Y3R4KSB7CiAJCQkvKiBTYW1lIGN0eDogaWdub3Jl IGZpcnN0IHJlcXVlc3QsIGFzIHNlY29uZCByZXF1ZXN0CiAJCQkgKiB3aWxsIHVwZGF0ZSB0YWls IHBhc3QgZmlyc3QgcmVxdWVzdCdzIHdvcmtsb2FkICovCiAJCQljdXJzb3ItPmVsc3Bfc3VibWl0 dGVkID0gcmVxMC0+ZWxzcF9zdWJtaXR0ZWQ7CkBAIC00MzMsOSArNDMzLDkgQEAgc3RhdGljIHZv aWQgZXhlY2xpc3RzX2NvbnRleHRfdW5xdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5n KQogCiAJV0FSTl9PTihyZXExICYmIHJlcTEtPmVsc3Bfc3VibWl0dGVkKTsKIAotCWV4ZWNsaXN0 c19zdWJtaXRfY29udGV4dHMocmluZywgcmVxMC0+cmVxdWVzdC0+Y3R4LCByZXEwLT5yZXF1ZXN0 LT50YWlsLAotCQkJCSAgcmVxMSA/IHJlcTEtPnJlcXVlc3QtPmN0eCA6IE5VTEwsCi0JCQkJICBy ZXExID8gcmVxMS0+cmVxdWVzdC0+dGFpbCA6IDApOworCWV4ZWNsaXN0c19zdWJtaXRfY29udGV4 dHMocmluZywgcmVxMC0+Y3R4LCByZXEwLT50YWlsLAorCQkJCSAgcmVxMSA/IHJlcTEtPmN0eCA6 IE5VTEwsCisJCQkJICByZXExID8gcmVxMS0+dGFpbCA6IDApOwogCiAJcmVxMC0+ZWxzcF9zdWJt aXR0ZWQrKzsKIAlpZiAocmVxMSkKQEAgLTQ0NSwxNyArNDQ1LDE3IEBAIHN0YXRpYyB2b2lkIGV4 ZWNsaXN0c19jb250ZXh0X3VucXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIHN0 YXRpYyBib29sIGV4ZWNsaXN0c19jaGVja19yZW1vdmVfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nLAogCQkJCQkgICB1MzIgcmVxdWVzdF9pZCkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3R4X3N1Ym1pdF9yZXF1ZXN0ICpoZWFkX3JlcTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKmhlYWRfcmVxOwogCiAJYXNzZXJ0X3NwaW5fbG9ja2VkKCZyaW5nLT5leGVjbGlzdF9sb2Nr KTsKIAogCWhlYWRfcmVxID0gbGlzdF9maXJzdF9lbnRyeV9vcl9udWxsKCZyaW5nLT5leGVjbGlz dF9xdWV1ZSwKLQkJCQkJICAgIHN0cnVjdCBpbnRlbF9jdHhfc3VibWl0X3JlcXVlc3QsCisJCQkJ CSAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QsCiAJCQkJCSAgICBleGVjbGlzdF9saW5r KTsKIAogCWlmIChoZWFkX3JlcSAhPSBOVUxMKSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpjdHhfb2JqID0KLQkJCQloZWFkX3JlcS0+cmVxdWVzdC0+Y3R4LT5lbmdpbmVbcmluZy0+ aWRdLnN0YXRlOworCQkJCWhlYWRfcmVxLT5jdHgtPmVuZ2luZVtyaW5nLT5pZF0uc3RhdGU7CiAJ CWlmIChpbnRlbF9leGVjbGlzdHNfY3R4X2lkKGN0eF9vYmopID09IHJlcXVlc3RfaWQpIHsKIAkJ CVdBUk4oaGVhZF9yZXEtPmVsc3Bfc3VibWl0dGVkID09IDAsCiAJCQkgICAgICJOZXZlciBzdWJt aXR0ZWQgaGVhZCByZXF1ZXN0XG4iKTsKQEAgLTUzNywxNSArNTM3LDExIEBAIHN0YXRpYyBpbnQg ZXhlY2xpc3RzX2NvbnRleHRfcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJ CQkgICB1MzIgdGFpbCwKIAkJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVl c3QpCiB7Ci0Jc3RydWN0IGludGVsX2N0eF9zdWJtaXRfcmVxdWVzdCAqcmVxID0gTlVMTCwgKmN1 cnNvcjsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKmN1cnNvcjsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSByaW5nLT5kZXYtPmRldl9wcml2YXRlOwogCXVuc2ln bmVkIGxvbmcgZmxhZ3M7CiAJaW50IG51bV9lbGVtZW50cyA9IDA7CiAKLQlyZXEgPSBremFsbG9j KHNpemVvZigqcmVxKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKHJlcSA9PSBOVUxMKQotCQlyZXR1cm4g LUVOT01FTTsKLQogCWlmICh0byAhPSByaW5nLT5kZWZhdWx0X2NvbnRleHQpCiAJCWludGVsX2xy X2NvbnRleHRfcGluKHJpbmcsIHRvKTsKIApAQCAtNTU5LDE0ICs1NTUsMTMgQEAgc3RhdGljIGlu dCBleGVjbGlzdHNfY29udGV4dF9xdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAog CQlpZiAocmVxdWVzdCA9PSBOVUxMKQogCQkJcmV0dXJuIC1FTk9NRU07CiAJCXJlcXVlc3QtPnJp bmcgPSByaW5nOworCQlyZXF1ZXN0LT5jdHggPSB0bzsKIAl9IGVsc2UgewogCQlXQVJOX09OKHRv ICE9IHJlcXVlc3QtPmN0eCk7CiAJfQotCXJlcXVlc3QtPmN0eCA9IHRvOwogCXJlcXVlc3QtPnRh aWwgPSB0YWlsOwotCXJlcS0+cmVxdWVzdCA9IHJlcXVlc3Q7CiAJaTkxNV9nZW1fcmVxdWVzdF9y ZWZlcmVuY2UocmVxdWVzdCk7Ci0JaTkxNV9nZW1fY29udGV4dF9yZWZlcmVuY2UocmVxLT5yZXF1 ZXN0LT5jdHgpOworCWk5MTVfZ2VtX2NvbnRleHRfcmVmZXJlbmNlKHJlcXVlc3QtPmN0eCk7CiAK IAlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7CiAKQEAgLTU3NywxMyArNTcyLDEzIEBA IHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZywKIAkJCWJyZWFrOwogCiAJaWYgKG51bV9lbGVtZW50cyA+IDIpIHsKLQkJc3RydWN0 IGludGVsX2N0eF9zdWJtaXRfcmVxdWVzdCAqdGFpbF9yZXE7CisJCXN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqdGFpbF9yZXE7CiAKIAkJdGFpbF9yZXEgPSBsaXN0X2xhc3RfZW50cnkoJnJp bmctPmV4ZWNsaXN0X3F1ZXVlLAotCQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3R4X3N1Ym1pdF9yZXF1 ZXN0LAorCQkJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QsCiAJCQkJCSAgIGV4ZWNs aXN0X2xpbmspOwogCi0JCWlmICh0byA9PSB0YWlsX3JlcS0+cmVxdWVzdC0+Y3R4KSB7CisJCWlm ICh0byA9PSB0YWlsX3JlcS0+Y3R4KSB7CiAJCQlXQVJOKHRhaWxfcmVxLT5lbHNwX3N1Ym1pdHRl ZCAhPSAwLAogCQkJCSJNb3JlIHRoYW4gMiBhbHJlYWR5LXN1Ym1pdHRlZCByZXFzIHF1ZXVlZFxu Iik7CiAJCQlsaXN0X2RlbCgmdGFpbF9yZXEtPmV4ZWNsaXN0X2xpbmspOwpAQCAtNTkyLDcgKzU4 Nyw3IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfcXVldWUoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZywKIAkJfQogCX0KIAotCWxpc3RfYWRkX3RhaWwoJnJlcS0+ZXhlY2xpc3Rf bGluaywgJnJpbmctPmV4ZWNsaXN0X3F1ZXVlKTsKKwlsaXN0X2FkZF90YWlsKCZyZXF1ZXN0LT5l eGVjbGlzdF9saW5rLCAmcmluZy0+ZXhlY2xpc3RfcXVldWUpOwogCWlmIChudW1fZWxlbWVudHMg PT0gMCkKIAkJZXhlY2xpc3RzX2NvbnRleHRfdW5xdWV1ZShyaW5nKTsKIApAQCAtNzYxLDcgKzc1 Niw3IEBAIGludCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCiAKIHZvaWQgaW50ZWxfZXhlY2xpc3RzX3JldGly ZV9yZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogewotCXN0cnVjdCBpbnRl bF9jdHhfc3VibWl0X3JlcXVlc3QgKnJlcSwgKnRtcDsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcSwgKnRtcDsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBy aW5nLT5kZXYtPmRldl9wcml2YXRlOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IGxp c3RfaGVhZCByZXRpcmVkX2xpc3Q7CkBAIC03NzYsNyArNzcxLDcgQEAgdm9pZCBpbnRlbF9leGVj bGlzdHNfcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+ZXhlY2xpc3RfbG9jaywgZmxhZ3MpOwogCiAJbGlz dF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJlcSwgdG1wLCAmcmV0aXJlZF9saXN0LCBleGVjbGlzdF9s aW5rKSB7Ci0JCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHggPSByZXEtPnJlcXVlc3QtPmN0eDsK KwkJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCA9IHJlcS0+Y3R4OwogCQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqY3R4X29iaiA9CiAJCQkJY3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRl OwogCkBAIC03ODQsOSArNzc5LDggQEAgdm9pZCBpbnRlbF9leGVjbGlzdHNfcmV0aXJlX3JlcXVl c3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJCQlpbnRlbF9scl9jb250ZXh0X3Vu cGluKHJpbmcsIGN0eCk7CiAJCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2KTsKIAkJaTkx NV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShjdHgpOwotCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVm ZXJlbmNlKHJlcS0+cmVxdWVzdCk7CisJCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UocmVx KTsKIAkJbGlzdF9kZWwoJnJlcS0+ZXhlY2xpc3RfbGluayk7Ci0JCWtmcmVlKHJlcSk7CiAJfQog fQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCmluZGV4IDgwYTgwZWEuLjZmMmQ3ZGEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5oCkBAIC04OSwzMyArODksNiBAQCBpbnQgaW50ZWxfZXhlY2xp c3RzX3N1Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpm aWxlLAogCQkJICAgICAgIHU2NCBleGVjX3N0YXJ0LCB1MzIgZmxhZ3MpOwogdTMyIGludGVsX2V4 ZWNsaXN0c19jdHhfaWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmopOwogCi0v KioKLSAqIHN0cnVjdCBpbnRlbF9jdHhfc3VibWl0X3JlcXVlc3QgLSBxdWV1ZWQgY29udGV4dCBz dWJtaXNzaW9uIHJlcXVlc3QKLSAqIEBjdHg6IENvbnRleHQgdG8gc3VibWl0IHRvIHRoZSBFTFNQ LgotICogQHJpbmc6IEVuZ2luZSB0byBzdWJtaXQgaXQgdG8uCi0gKiBAdGFpbDogaG93IGZhciBp biB0aGUgY29udGV4dCdzIHJpbmdidWZmZXIgdGhpcyByZXF1ZXN0IGdvZXMgdG8uCi0gKiBAZXhl Y2xpc3RfbGluazogbGluayBpbiB0aGUgc3VibWlzc2lvbiBxdWV1ZS4KLSAqIEB3b3JrOiB3b3Jr cXVldWUgZm9yIHByb2Nlc3NpbmcgdGhpcyByZXF1ZXN0IGluIGEgYm90dG9tIGhhbGYuCi0gKiBA ZWxzcF9zdWJtaXR0ZWQ6IG5vLiBvZiB0aW1lcyB0aGlzIHJlcXVlc3QgaGFzIGJlZW4gc2VudCB0 byB0aGUgRUxTUC4KLSAqCi0gKiBUaGUgRUxTUCBvbmx5IGFjY2VwdHMgdHdvIGVsZW1lbnRzIGF0 IGEgdGltZSwgc28gd2UgcXVldWUgY29udGV4dC90YWlsCi0gKiBwYWlycyBvbiBhIGdpdmVuIHF1 ZXVlIChyaW5nLT5leGVjbGlzdF9xdWV1ZSkgdW50aWwgdGhlIGhhcmR3YXJlIGlzCi0gKiBhdmFp bGFibGUuIFRoZSBxdWV1ZSBzZXJ2ZXMgYSBkb3VibGUgcHVycG9zZTogd2UgYWxzbyB1c2UgaXQg dG8ga2VlcCB0cmFjawotICogb2YgdGhlIHVwIHRvIDIgY29udGV4dHMgY3VycmVudGx5IGluIHRo ZSBoYXJkd2FyZSAodXN1YWxseSBvbmUgaW4gZXhlY3V0aW9uCi0gKiBhbmQgdGhlIG90aGVyIHF1 ZXVlZCB1cCBieSB0aGUgR1BVKTogV2Ugb25seSByZW1vdmUgZWxlbWVudHMgZnJvbSB0aGUgaGVh ZAotICogb2YgdGhlIHF1ZXVlIHdoZW4gdGhlIGhhcmR3YXJlIGluZm9ybXMgdXMgdGhhdCBhbiBl bGVtZW50IGhhcyBiZWVuCi0gKiBjb21wbGV0ZWQuCi0gKgotICogQWxsIGFjY2Vzc2VzIHRvIHRo ZSBxdWV1ZSBhcmUgbWVkaWF0ZWQgYnkgYSBzcGlubG9jayAocmluZy0+ZXhlY2xpc3RfbG9jayku Ci0gKi8KLXN0cnVjdCBpbnRlbF9jdHhfc3VibWl0X3JlcXVlc3QgewotCXN0cnVjdCBsaXN0X2hl YWQgZXhlY2xpc3RfbGluazsKLQotCWludCBlbHNwX3N1Ym1pdHRlZDsKLQotCXN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdDsKLX07Ci0KIHZvaWQgaW50ZWxfbHJjX2lycV9oYW5k bGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwogdm9pZCBpbnRlbF9leGVjbGlzdHNf cmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwogCi0tIAoyLjEu MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK