From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 46/55] drm/i915: Update intel_ring_begin() to take a request structure Date: Fri, 29 May 2015 17:44:07 +0100 Message-ID: <1432917856-12261-47-git-send-email-John.C.Harrison@Intel.com> References: <1432917856-12261-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 76EAA7215A for ; Fri, 29 May 2015 09:45:34 -0700 (PDT) In-Reply-To: <1432917856-12261-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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KCk5vdyB0aGF0 IGV2ZXJ5dGhpbmcgYWJvdmUgaGFzIGJlZW4gY29udmVydGVkIHRvIHVzZSByZXF1ZXN0cywgaW50 ZWxfcmluZ19iZWdpbigpCmNhbiBiZSB1cGRhdGVkIHRvIHRha2UgYSByZXF1ZXN0IGluc3RlYWQg b2YgYSByaW5nLiBUaGlzIGFsc28gbWVhbnMgdGhhdCBpdCBubwpsb25nZXIgbmVlZHMgdG8gbGF6 aWx5IGFsbG9jYXRlIGEgcmVxdWVzdCBpZiBuby1vbmUgaGFwcGVucyB0byBoYXZlIGRvbmUgaXQK ZWFybGllci4KCkZvcjogVklaLTUxMTUKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9o bi5DLkhhcnJpc29uQEludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFRvbWFzIEVsZiA8dG9tYXMuZWxm QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAg ICAgfCAgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgICAg fCAgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAg ICA4ICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAgIHwgICAg NiArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICAgICB8ICAgMTAg KystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jICAgICAgIHwgICAgOCAr LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyAgICB8ICAgNzQgKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oICAgIHwgICAgMiArLQogOCBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCsp LCA1NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBkMzRkNWFjLi45 ZjNlMDcxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC00OTAwLDcgKzQ5MDAsNyBAQCBp bnQgaTkxNV9nZW1fbDNfcmVtYXAoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIGlu dCBzbGljZSkKIAlpZiAoIUhBU19MM19EUEYoZGV2KSB8fCAhcmVtYXBfaW5mbykKIAkJcmV0dXJu IDA7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIEdFTjdfTDNMT0dfU0laRSAvIDQg KiAzKTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgR0VON19MM0xPR19TSVpFIC8gNCAq IDMpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2NvbnRleHQuYwppbmRleCBiOTBlNGMwLi41MTYxNzQ3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fY29udGV4dC5jCkBAIC01MDksNyArNTA5LDcgQEAgbWlfc2V0X2NvbnRleHQo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIHUzMiBod19mbGFncykKIAlpZiAoSU5U RUxfSU5GTyhyaW5nLT5kZXYpLT5nZW4gPj0gNykKIAkJbGVuICs9IDIgKyAobnVtX3JpbmdzID8g NCpudW1fcmluZ3MgKyAyIDogMCk7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIGxl bik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIGxlbik7CiAJaWYgKHJldCkKIAkJcmV0 dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhl Y2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmlu ZGV4IDBiMjRkOGYuLjgwNWQyODggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l eGVjYnVmZmVyLmMKQEAgLTEwNzQsNyArMTA3NCw3IEBAIGk5MTVfcmVzZXRfZ2VuN19zb2xfb2Zm c2V0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQly ZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQgKiAzKTsKKwlyZXQgPSBpbnRlbF9yaW5nX2Jl Z2luKHJlcSwgNCAqIDMpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTExMDUsNyAr MTEwNSw3IEBAIGk5MTVfZW1pdF9ib3goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEs CiAJfQogCiAJaWYgKElOVEVMX0lORk8ocmluZy0+ZGV2KS0+Z2VuID49IDQpIHsKLQkJcmV0ID0g aW50ZWxfcmluZ19iZWdpbihyaW5nLCA0KTsKKwkJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEs IDQpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIApAQCAtMTExNCw3ICsxMTE0LDcgQEAg aTkxNV9lbWl0X2JveChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJaW50ZWxf cmluZ19lbWl0KHJpbmcsICgoYm94LT54MiAtIDEpICYgMHhmZmZmKSB8IChib3gtPnkyIC0gMSkg PDwgMTYpOwogCQlpbnRlbF9yaW5nX2VtaXQocmluZywgRFI0KTsKIAl9IGVsc2UgewotCQlyZXQg PSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOworCQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJl cSwgNik7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCkBAIC0xMjkwLDcgKzEyOTAsNyBA QCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9w YXJhbXMgKnBhcmFtcywKIAogCWlmIChyaW5nID09ICZkZXZfcHJpdi0+cmluZ1tSQ1NdICYmCiAJ CQlpbnN0cF9tb2RlICE9IGRldl9wcml2LT5yZWxhdGl2ZV9jb25zdGFudHNfbW9kZSkgewotCQly ZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2lu KHBhcmFtcy0+cmVxdWVzdCwgNCk7CiAJCWlmIChyZXQpCiAJCQlnb3RvIGVycm9yOwogCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IGVhNTIyZmEuLmFjZGUyNWEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC00NjEsNyArNDYxLDcgQEAgc3RhdGljIGludCBn ZW44X3dyaXRlX3BkcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAogCUJVR19P TihlbnRyeSA+PSA0KTsKIAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJcmV0 ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDYpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAK QEAgLTEwNjYsNyArMTA2Niw3IEBAIHN0YXRpYyBpbnQgaHN3X21tX3N3aXRjaChzdHJ1Y3QgaTkx NV9od19wcGd0dCAqcHBndHQsCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCXJldCA9IGlu dGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDYp OwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTExMDMsNyArMTEwMyw3IEBAIHN0YXRp YyBpbnQgZ2VuN19tbV9zd2l0Y2goc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0LAogCWlmIChy ZXQpCiAJCXJldHVybiByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOwor CXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCA2KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0 OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMDMyNzYyOC4uOTFlMTlk MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTA2NDMsNyArMTA2NDMs NyBAQCBzdGF0aWMgaW50IGludGVsX2dlbjJfcXVldWVfZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCXUzMiBmbGlwX21hc2s7CiAJaW50IHJldDsKIAotCXJldCA9IGludGVsX3JpbmdfYmVn aW4ocmluZywgNik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDYpOwogCWlmIChyZXQp CiAJCXJldHVybiByZXQ7CiAKQEAgLTEwNjc4LDcgKzEwNjc4LDcgQEAgc3RhdGljIGludCBpbnRl bF9nZW4zX3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl1MzIgZmxpcF9tYXNr OwogCWludCByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOworCXJldCA9 IGludGVsX3JpbmdfYmVnaW4ocmVxLCA2KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBA IC0xMDcxMSw3ICsxMDcxMSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZ2VuNF9xdWV1ZV9mbGlwKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJdWludDMyX3QgcGYsIHBpcGVzcmM7CiAJaW50IHJldDsK IAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNCk7CisJcmV0ID0gaW50ZWxfcmluZ19i ZWdpbihyZXEsIDQpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTEwNzUwLDcgKzEw NzUwLDcgQEAgc3RhdGljIGludCBpbnRlbF9nZW42X3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIAl1aW50MzJfdCBwZiwgcGlwZXNyYzsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaW50 ZWxfcmluZ19iZWdpbihyaW5nLCA0KTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNCk7 CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTA4MjYsNyArMTA4MjYsNyBAQCBzdGF0 aWMgaW50IGludGVsX2dlbjdfcXVldWVfZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWlm IChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIGxl bik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIGxlbik7CiAJaWYgKHJldCkKIAkJcmV0 dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3Zlcmxh eS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCmluZGV4IDNmNzA5MDQu LjQ0NDU0MjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXku YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKQEAgLTI0NCw3ICsy NDQsNyBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlfb24oc3RydWN0IGludGVsX292ZXJsYXkg Km92ZXJsYXkpCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCXJldCA9IGludGVsX3Jpbmdf YmVnaW4ocmluZywgNCk7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDQpOwogCWlmIChy ZXQpIHsKIAkJaTkxNV9nZW1fcmVxdWVzdF9jYW5jZWwocmVxKTsKIAkJcmV0dXJuIHJldDsKQEAg LTI4Nyw3ICsyODcsNyBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlfY29udGludWUoc3RydWN0 IGludGVsX292ZXJsYXkgKm92ZXJsYXksCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCXJl dCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgMik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihy ZXEsIDIpOwogCWlmIChyZXQpIHsKIAkJaTkxNV9nZW1fcmVxdWVzdF9jYW5jZWwocmVxKTsKIAkJ cmV0dXJuIHJldDsKQEAgLTM1Myw3ICszNTMsNyBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlf b2ZmKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOworCXJldCA9IGludGVsX3Jp bmdfYmVnaW4ocmVxLCA2KTsKIAlpZiAocmV0KSB7CiAJCWk5MTVfZ2VtX3JlcXVlc3RfY2FuY2Vs KHJlcSk7CiAJCXJldHVybiByZXQ7CkBAIC00MjcsNyArNDI3LDcgQEAgc3RhdGljIGludCBpbnRl bF9vdmVybGF5X3JlbGVhc2Vfb2xkX3ZpZChzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSkK IAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAKLQkJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihy aW5nLCAyKTsKKwkJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDIpOwogCQlpZiAocmV0KSB7 CiAJCQlpOTE1X2dlbV9yZXF1ZXN0X2NhbmNlbChyZXEpOwogCQkJcmV0dXJuIHJldDsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCA4ZWJjMGQ4Li5iYjEwZmMyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC0xMDYsNyArMTA2LDcg QEAgZ2VuMl9yZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cSwKIAlpZiAoaW52YWxpZGF0ZV9kb21haW5zICYgSTkxNV9HRU1fRE9NQUlOX1NBTVBMRVIpCiAJ CWNtZCB8PSBNSV9SRUFEX0ZMVVNIOwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCAy KTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgMik7CiAJaWYgKHJldCkKIAkJcmV0dXJu IHJldDsKIApAQCAtMTY1LDcgKzE2NSw3IEBAIGdlbjRfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJICAgIChJU19HNFgoZGV2KSB8fCBJU19HRU41 KGRldikpKQogCQljbWQgfD0gTUlfSU5WQUxJREFURV9JU1A7CiAKLQlyZXQgPSBpbnRlbF9yaW5n X2JlZ2luKHJpbmcsIDIpOworCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCAyKTsKIAlpZiAo cmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0yMjAsOCArMjIwLDcgQEAgaW50ZWxfZW1pdF9wb3N0 X3N5bmNfbm9uemVyb19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAl1 MzIgc2NyYXRjaF9hZGRyID0gcmluZy0+c2NyYXRjaC5ndHRfb2Zmc2V0ICsgMiAqIENBQ0hFTElO RV9CWVRFUzsKIAlpbnQgcmV0OwogCi0KLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYp OworCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCA2KTsKIAlpZiAocmV0KQogCQlyZXR1cm4g cmV0OwogCkBAIC0yMzQsNyArMjMzLDcgQEAgaW50ZWxfZW1pdF9wb3N0X3N5bmNfbm9uemVyb19m bHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAlpbnRlbF9yaW5nX2VtaXQo cmluZywgTUlfTk9PUCk7CiAJaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwogCi0JcmV0ID0gaW50 ZWxfcmluZ19iZWdpbihyaW5nLCA2KTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNik7 CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMjg5LDcgKzI4OCw3IEBAIGdlbjZfcmVu ZGVyX3JpbmdfZmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJCWZsYWdz IHw9IFBJUEVfQ09OVFJPTF9RV19XUklURSB8IFBJUEVfQ09OVFJPTF9DU19TVEFMTDsKIAl9CiAK LQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCXJldCA9IGludGVsX3JpbmdfYmVn aW4ocmVxLCA0KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0zMDgsNyArMzA3LDcg QEAgZ2VuN19yZW5kZXJfcmluZ19jc19zdGFsbF93YShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSkKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOwogCWlu dCByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCXJldCA9IGludGVs X3JpbmdfYmVnaW4ocmVxLCA0KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0zNzEs NyArMzcwLDcgQEAgZ2VuN19yZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcSwKIAkJZ2VuN19yZW5kZXJfcmluZ19jc19zdGFsbF93YShyZXEpOwogCX0KIAot CXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNCk7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdp bihyZXEsIDQpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTM5MSw3ICszOTAsNyBA QCBnZW44X2VtaXRfcGlwZV9jb250cm9sKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx LAogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcgPSByZXEtPnJpbmc7CiAJaW50IHJldDsK IAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJcmV0ID0gaW50ZWxfcmluZ19i ZWdpbihyZXEsIDYpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTcyNiw3ICs3MjUs NyBAQCBzdGF0aWMgaW50IGludGVsX3Jpbmdfd29ya2Fyb3VuZHNfZW1pdChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0JcmV0ID0g aW50ZWxfcmluZ19iZWdpbihyaW5nLCAody0+Y291bnQgKiAyICsgMikpOworCXJldCA9IGludGVs X3JpbmdfYmVnaW4ocmVxLCAody0+Y291bnQgKiAyICsgMikpOwogCWlmIChyZXQpCiAJCXJldHVy biByZXQ7CiAKQEAgLTExNzUsNyArMTE3NCw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9yY3Nfc2lnbmFs KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqc2lnbmFsbGVyX3JlcSwKIAludW1fZHdvcmRz ICs9IChudW1fcmluZ3MtMSkgKiBNQk9YX1VQREFURV9EV09SRFM7CiAjdW5kZWYgTUJPWF9VUERB VEVfRFdPUkRTCiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHNpZ25hbGxlciwgbnVtX2R3b3Jk cyk7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihzaWduYWxsZXJfcmVxLCBudW1fZHdvcmRzKTsK IAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0xMjE2LDcgKzEyMTUsNyBAQCBzdGF0aWMg aW50IGdlbjhfeGNzX3NpZ25hbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnNpZ25hbGxl cl9yZXEsCiAJbnVtX2R3b3JkcyArPSAobnVtX3JpbmdzLTEpICogTUJPWF9VUERBVEVfRFdPUkRT OwogI3VuZGVmIE1CT1hfVVBEQVRFX0RXT1JEUwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihz aWduYWxsZXIsIG51bV9kd29yZHMpOworCXJldCA9IGludGVsX3JpbmdfYmVnaW4oc2lnbmFsbGVy X3JlcSwgbnVtX2R3b3Jkcyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTI1NSw3 ICsxMjU0LDcgQEAgc3RhdGljIGludCBnZW42X3NpZ25hbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnNpZ25hbGxlcl9yZXEsCiAJbnVtX2R3b3JkcyArPSByb3VuZF91cCgobnVtX3Jpbmdz LTEpICogTUJPWF9VUERBVEVfRFdPUkRTLCAyKTsKICN1bmRlZiBNQk9YX1VQREFURV9EV09SRFMK IAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4oc2lnbmFsbGVyLCBudW1fZHdvcmRzKTsKKwlyZXQg PSBpbnRlbF9yaW5nX2JlZ2luKHNpZ25hbGxlcl9yZXEsIG51bV9kd29yZHMpOwogCWlmIChyZXQp CiAJCXJldHVybiByZXQ7CiAKQEAgLTEyOTMsNyArMTI5Miw3IEBAIGdlbjZfYWRkX3JlcXVlc3Qo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJaWYgKHJpbmctPnNlbWFwaG9yZS5z aWduYWwpCiAJCXJldCA9IHJpbmctPnNlbWFwaG9yZS5zaWduYWwocmVxLCA0KTsKIAllbHNlCi0J CXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNCk7CisJCXJldCA9IGludGVsX3JpbmdfYmVn aW4ocmVxLCA0KTsKIAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CkBAIC0xMzMxLDcgKzEzMzAs NyBAQCBnZW44X3Jpbmdfc3luYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKndhaXRlcl9y ZXEsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gd2FpdGVyLT5kZXYtPmRl dl9wcml2YXRlOwogCWludCByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHdhaXRlciwg NCk7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbih3YWl0ZXJfcmVxLCA0KTsKIAlpZiAocmV0KQog CQlyZXR1cm4gcmV0OwogCkBAIC0xMzY4LDcgKzEzNjcsNyBAQCBnZW42X3Jpbmdfc3luYyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKndhaXRlcl9yZXEsCiAKIAlXQVJOX09OKHdhaXRfbWJv eCA9PSBNSV9TRU1BUEhPUkVfU1lOQ19JTlZBTElEKTsKIAotCXJldCA9IGludGVsX3JpbmdfYmVn aW4od2FpdGVyLCA0KTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHdhaXRlcl9yZXEsIDQpOwog CWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTE0MTMsNyArMTQxMiw3IEBAIHBjX3JlbmRl cl9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAkgKiBpbmNv aGVyZW5jZSBieSBmbHVzaGluZyB0aGUgNiBQSVBFX05PVElGWSBidWZmZXJzIG91dCB0bwogCSAq IG1lbW9yeSBiZWZvcmUgcmVxdWVzdGluZyBhbiBpbnRlcnJ1cHQuCiAJICovCi0JcmV0ID0gaW50 ZWxfcmluZ19iZWdpbihyaW5nLCAzMik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDMy KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0xNTk4LDcgKzE1OTcsNyBAQCBic2Rf cmluZ19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAlzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOwogCWludCByZXQ7CiAKLQlyZXQgPSBpbnRl bF9yaW5nX2JlZ2luKHJpbmcsIDIpOworCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCAyKTsK IAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0xNjE0LDcgKzE2MTMsNyBAQCBpOXh4X2Fk ZF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmcgPSByZXEtPnJpbmc7CiAJaW50IHJldDsKIAotCXJldCA9IGludGVs X3JpbmdfYmVnaW4ocmluZywgNCk7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDQpOwog CWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTE3NTksNyArMTc1OCw3IEBAIGk5NjVfZGlz cGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOwogCWludCByZXQ7CiAKLQlyZXQg PSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDIpOworCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVx LCAyKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0xNzg3LDcgKzE3ODYsNyBAQCBp ODMwX2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEs CiAJdTMyIGNzX29mZnNldCA9IHJpbmctPnNjcmF0Y2guZ3R0X29mZnNldDsKIAlpbnQgcmV0Owog Ci0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA2KTsKKwlyZXQgPSBpbnRlbF9yaW5nX2Jl Z2luKHJlcSwgNik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTgwNCw3ICsxODAz LDcgQEAgaTgzMF9kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxLAogCQlpZiAobGVuID4gSTgzMF9CQVRDSF9MSU1JVCkKIAkJCXJldHVybiAtRU5PU1BD OwogCi0JCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNiArIDIpOworCQlyZXQgPSBpbnRl bF9yaW5nX2JlZ2luKHJlcSwgNiArIDIpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIApA QCAtMTgyNyw3ICsxODI2LDcgQEAgaTgzMF9kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQlvZmZzZXQgPSBjc19vZmZzZXQ7CiAJfQogCi0JcmV0 ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA0KTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJl cSwgNCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTg0OSw3ICsxODQ4LDcgQEAg aTkxNV9kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx LAogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcgPSByZXEtPnJpbmc7CiAJaW50IHJldDsK IAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgMik7CisJcmV0ID0gaW50ZWxfcmluZ19i ZWdpbihyZXEsIDIpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTIyNzIsMTMgKzIy NzEsMTcgQEAgc3RhdGljIGludCBfX2ludGVsX3JpbmdfcHJlcGFyZShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nLCBpbnQgYnl0ZXMpCiAJcmV0dXJuIDA7CiB9CiAKLWludCBpbnRlbF9yaW5n X2JlZ2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCitpbnQgaW50ZWxfcmluZ19iZWdp bihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJICAgICBpbnQgbnVtX2R3b3Jk cykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsKLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSByaW5nLT5kZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmc7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 OwogCWludCByZXQ7CiAKKwlXQVJOX09OKHJlcSA9PSBOVUxMKTsKKwlyaW5nID0gcmVxLT5yaW5n OworCWRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKKwogCXJldCA9IGk5MTVfZ2Vt X2NoZWNrX3dlZGdlKCZkZXZfcHJpdi0+Z3B1X2Vycm9yLAogCQkJCSAgIGRldl9wcml2LT5tbS5p bnRlcnJ1cHRpYmxlKTsKIAlpZiAocmV0KQpAQCAtMjI4OCwxMSArMjI5MSw2IEBAIGludCBpbnRl bF9yaW5nX2JlZ2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJaWYgKHJldCkKIAkJ cmV0dXJuIHJldDsKIAotCS8qIFByZWFsbG9jYXRlIHRoZSBvbHIgYmVmb3JlIHRvdWNoaW5nIHRo ZSByaW5nICovCi0JcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhyaW5nLCByaW5nLT5kZWZh dWx0X2NvbnRleHQsICZyZXEpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0KIAlyaW5nLT5i dWZmZXItPnNwYWNlIC09IG51bV9kd29yZHMgKiBzaXplb2YodWludDMyX3QpOwogCXJldHVybiAw OwogfQpAQCAtMjMwOCw3ICsyMzA2LDcgQEAgaW50IGludGVsX3JpbmdfY2FjaGVsaW5lX2FsaWdu KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCQlyZXR1cm4gMDsKIAogCW51bV9k d29yZHMgPSBDQUNIRUxJTkVfQllURVMgLyBzaXplb2YodWludDMyX3QpIC0gbnVtX2R3b3JkczsK LQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIG51bV9kd29yZHMpOworCXJldCA9IGludGVs X3JpbmdfYmVnaW4ocmVxLCBudW1fZHdvcmRzKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0Owog CkBAIC0yMzc4LDcgKzIzNzYsNyBAQCBzdGF0aWMgaW50IGdlbjZfYnNkX3JpbmdfZmx1c2goc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJdWludDMyX3QgY21kOwogCWludCByZXQ7 CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCXJldCA9IGludGVsX3Jpbmdf YmVnaW4ocmVxLCA0KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0yNDI1LDcgKzI0 MjMsNyBAQCBnZW44X3JpbmdfZGlzcGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKIAkJCSEoZGlzcGF0Y2hfZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VS RSk7CiAJaW50IHJldDsKIAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNCk7CisJcmV0 ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDQpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAK QEAgLTI0NDcsNyArMjQ0NSw3IEBAIGhzd19yaW5nX2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZyA9IHJlcS0+cmluZzsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5n LCAyKTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgMik7CiAJaWYgKHJldCkKIAkJcmV0 dXJuIHJldDsKIApAQCAtMjQ3MCw3ICsyNDY4LDcgQEAgZ2VuNl9yaW5nX2Rpc3BhdGNoX2V4ZWNi dWZmZXIoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZyA9IHJlcS0+cmluZzsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaW50ZWxfcmlu Z19iZWdpbihyaW5nLCAyKTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgMik7CiAJaWYg KHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMjQ5NSw3ICsyNDkzLDcgQEAgc3RhdGljIGludCBn ZW42X3JpbmdfZmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJdWludDMy X3QgY21kOwogCWludCByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOwor CXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCA0KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0 OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggYmZlY2E1My4u MTZmZDliYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtMzk5 LDcgKzM5OSw3IEBAIHZvaWQgaW50ZWxfY2xlYW51cF9yaW5nX2J1ZmZlcihzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nKTsKIAogaW50IGludGVsX3JpbmdfYWxsb2NfcmVxdWVzdF9leHRyYXMo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KTsKIAotaW50IF9fbXVzdF9jaGVj ayBpbnRlbF9yaW5nX2JlZ2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGludCBuKTsK K2ludCBfX211c3RfY2hlY2sgaW50ZWxfcmluZ19iZWdpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcSwgaW50IG4pOwogaW50IF9fbXVzdF9jaGVjayBpbnRlbF9yaW5nX2NhY2hlbGlu ZV9hbGlnbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSk7CiBzdGF0aWMgaW5saW5l IHZvaWQgaW50ZWxfcmluZ19lbWl0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCQkJ ICAgdTMyIGRhdGEpCi0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=