From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 49/59] drm/i915: Update intel_ring_begin() to take a request structure Date: Thu, 19 Mar 2015 12:30:54 +0000 Message-ID: <1426768264-16996-50-git-send-email-John.C.Harrison@Intel.com> References: <1426768264-16996-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 24FB56EA3C for ; Thu, 19 Mar 2015 05:32:06 -0700 (PDT) In-Reply-To: <1426768264-16996-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 bi5DLkhhcnJpc29uQEludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jICAgICAgICAgICAgfCAgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9j b250ZXh0LmMgICAgfCAgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVj YnVmZmVyLmMgfCAgICA4ICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMg ICAgICAgIHwgICAgNiArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAg ICAgICB8ICAgMTAgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jICAg ICAgIHwgICAgOCArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyAg ICB8ICAgNzQgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgIHwgICAgMiArLQogOCBmaWxlcyBjaGFuZ2VkLCA1NSBp bnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRl eCA3MzA0MjkwLi5iMDQ3NjkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTQ3MTEsNyAr NDcxMSw3IEBAIGludCBpOTE1X2dlbV9sM19yZW1hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSwgaW50IHNsaWNlKQogCWlmICghSEFTX0wzX0RQRihkZXYpIHx8ICFyZW1hcF9pbmZv KQogCQlyZXR1cm4gMDsKIAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgR0VON19MM0xP R19TSVpFIC8gNCAqIDMpOworCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCBHRU43X0wzTE9H X1NJWkUgLyA0ICogMyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IDJjOTRjODguLjM2OWU1OGQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTUwNyw3ICs1MDcsNyBAQCBtaV9z ZXRfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwgdTMyIGh3X2ZsYWdz KQogCWlmIChJTlRFTF9JTkZPKHJpbmctPmRldiktPmdlbiA+PSA3KQogCQlsZW4gKz0gMiArIChu dW1fcmluZ3MgPyA0Km51bV9yaW5ncyArIDIgOiAwKTsKIAotCXJldCA9IGludGVsX3JpbmdfYmVn aW4ocmluZywgbGVuKTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgbGVuKTsKIAlpZiAo cmV0KQogCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVj YnVmZmVyLmMKaW5kZXggY2IyNGNhNy4uOTM0NWRiOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMTA3Niw3ICsxMDc2LDcgQEAgaTkxNV9yZXNldF9n ZW43X3NvbF9vZmZzZXRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCXJldHVybiAtRUlOVkFM OwogCX0KIAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNCAqIDMpOworCXJldCA9IGlu dGVsX3JpbmdfYmVnaW4ocmVxLCA0ICogMyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApA QCAtMTEwNyw3ICsxMTA3LDcgQEAgaTkxNV9lbWl0X2JveChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcSwKIAl9CiAKIAlpZiAoSU5URUxfSU5GTyhyaW5nLT5kZXYpLT5nZW4gPj0gNCkg ewotCQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCQlyZXQgPSBpbnRlbF9yaW5n X2JlZ2luKHJlcSwgNCk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCkBAIC0xMTE2LDcg KzExMTYsNyBAQCBpOTE1X2VtaXRfYm94KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx LAogCQlpbnRlbF9yaW5nX2VtaXQocmluZywgKChib3gtPngyIC0gMSkgJiAweGZmZmYpIHwgKGJv eC0+eTIgLSAxKSA8PCAxNik7CiAJCWludGVsX3JpbmdfZW1pdChyaW5nLCBEUjQpOwogCX0gZWxz ZSB7Ci0JCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJCXJldCA9IGludGVsX3Jp bmdfYmVnaW4ocmVxLCA2KTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAKQEAgLTEyODcs NyArMTI4Nyw3IEBAIGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9l eGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAogCiAJaWYgKHJpbmcgPT0gJmRldl9wcml2LT5yaW5n W1JDU10gJiYKIAkJCWluc3RwX21vZGUgIT0gZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19t b2RlKSB7Ci0JCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNCk7CisJCXJldCA9IGludGVs X3JpbmdfYmVnaW4ocGFyYW1zLT5yZXF1ZXN0LCA0KTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gZXJy b3I7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggNTgyMjQyOS4uN2I2NTZj OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTM4Miw3ICszODIsNyBAQCBz dGF0aWMgaW50IGdlbjhfd3JpdGVfcGRwKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx LCB1bnNpZ25lZCBlbnRyeSwKIAogCUJVR19PTihlbnRyeSA+PSA0KTsKIAotCXJldCA9IGludGVs X3JpbmdfYmVnaW4ocmluZywgNik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDYpOwog CWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTg4OSw3ICs4ODksNyBAQCBzdGF0aWMgaW50 IGhzd19tbV9zd2l0Y2goc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0LAogCWlmIChyZXQpCiAJ CXJldHVybiByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOworCXJldCA9 IGludGVsX3JpbmdfYmVnaW4ocmVxLCA2KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBA IC05MjYsNyArOTI2LDcgQEAgc3RhdGljIGludCBnZW43X21tX3N3aXRjaChzdHJ1Y3QgaTkxNV9o d19wcGd0dCAqcHBndHQsCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCXJldCA9IGludGVs X3JpbmdfYmVnaW4ocmluZywgNik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDYpOwog CWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YwppbmRleCAyNzdjNzNhLi42NjVlOGNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCkBAIC05NDI2LDcgKzk0MjYsNyBAQCBzdGF0aWMgaW50IGludGVsX2dlbjJfcXVldWVfZmxp cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXUzMiBmbGlwX21hc2s7CiAJaW50IHJldDsKIAot CXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdp bihyZXEsIDYpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTk0NjEsNyArOTQ2MSw3 IEBAIHN0YXRpYyBpbnQgaW50ZWxfZ2VuM19xdWV1ZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJdTMyIGZsaXBfbWFzazsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdp bihyaW5nLCA2KTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNik7CiAJaWYgKHJldCkK IAkJcmV0dXJuIHJldDsKIApAQCAtOTQ5NCw3ICs5NDk0LDcgQEAgc3RhdGljIGludCBpbnRlbF9n ZW40X3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl1aW50MzJfdCBwZiwgcGlw ZXNyYzsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA0KTsKKwly ZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsK IApAQCAtOTUzMyw3ICs5NTMzLDcgQEAgc3RhdGljIGludCBpbnRlbF9nZW42X3F1ZXVlX2ZsaXAo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl1aW50MzJfdCBwZiwgcGlwZXNyYzsKIAlpbnQgcmV0 OwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA0KTsKKwlyZXQgPSBpbnRlbF9yaW5n X2JlZ2luKHJlcSwgNCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtOTYwOSw3ICs5 NjA5LDcgQEAgc3RhdGljIGludCBpbnRlbF9nZW43X3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0JcmV0ID0gaW50ZWxfcmluZ19i ZWdpbihyaW5nLCBsZW4pOworCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCBsZW4pOwogCWlm IChyZXQpCiAJCXJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwpp bmRleCA5ZWVhMzA4Li4yZWQ0NDIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9vdmVybGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5j CkBAIC0yNDcsNyArMjQ3LDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X29uKHN0cnVjdCBp bnRlbF9vdmVybGF5ICpvdmVybGF5KQogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlyZXQg PSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVx LCA0KTsKIAlpZiAocmV0KSB7CiAJCWk5MTVfZ2VtX3JlcXVlc3RfY2FuY2VsKHJlcSk7CiAJCXJl dHVybiByZXQ7CkBAIC0yODgsNyArMjg4LDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2Nv bnRpbnVlKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5LAogCWlmIChyZXQpCiAJCXJldHVy biByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDIpOworCXJldCA9IGludGVs X3JpbmdfYmVnaW4ocmVxLCAyKTsKIAlpZiAocmV0KSB7CiAJCWk5MTVfZ2VtX3JlcXVlc3RfY2Fu Y2VsKHJlcSk7CiAJCXJldHVybiByZXQ7CkBAIC0zNTMsNyArMzUzLDcgQEAgc3RhdGljIGludCBp bnRlbF9vdmVybGF5X29mZihzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSkKIAlpZiAocmV0 KQogCQlyZXR1cm4gcmV0OwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA2KTsKKwly ZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNik7CiAJaWYgKHJldCkgewogCQlpOTE1X2dlbV9y ZXF1ZXN0X2NhbmNlbChyZXEpOwogCQlyZXR1cm4gcmV0OwpAQCAtNDI4LDcgKzQyOCw3IEBAIHN0 YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9yZWxlYXNlX29sZF92aWQoc3RydWN0IGludGVsX292ZXJs YXkgKm92ZXJsYXkpCiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCi0JCXJldCA9IGludGVs X3JpbmdfYmVnaW4ocmluZywgMik7CisJCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCAyKTsK IAkJaWYgKHJldCkgewogCQkJaTkxNV9nZW1fcmVxdWVzdF9jYW5jZWwocmVxKTsKIAkJCXJldHVy biByZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggOWNiYzRl Zi4uNmYxOThkZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwpAQCAt MTA2LDcgKzEwNiw3IEBAIGdlbjJfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXEsCiAJaWYgKGludmFsaWRhdGVfZG9tYWlucyAmIEk5MTVfR0VNX0RPTUFJ Tl9TQU1QTEVSKQogCQljbWQgfD0gTUlfUkVBRF9GTFVTSDsKIAotCXJldCA9IGludGVsX3Jpbmdf YmVnaW4ocmluZywgMik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDIpOwogCWlmIChy ZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTE2NSw3ICsxNjUsNyBAQCBnZW40X3JlbmRlcl9yaW5n X2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCSAgICAoSVNfRzRYKGRl dikgfHwgSVNfR0VONShkZXYpKSkKIAkJY21kIHw9IE1JX0lOVkFMSURBVEVfSVNQOwogCi0JcmV0 ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCAyKTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJl cSwgMik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMjIwLDggKzIyMCw3IEBAIGlu dGVsX2VtaXRfcG9zdF9zeW5jX25vbnplcm9fZmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEpCiAJdTMyIHNjcmF0Y2hfYWRkciA9IHJpbmctPnNjcmF0Y2guZ3R0X29mZnNldCAr IDIgKiBDQUNIRUxJTkVfQllURVM7CiAJaW50IHJldDsKIAotCi0JcmV0ID0gaW50ZWxfcmluZ19i ZWdpbihyaW5nLCA2KTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNik7CiAJaWYgKHJl dCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMjM0LDcgKzIzMyw3IEBAIGludGVsX2VtaXRfcG9zdF9z eW5jX25vbnplcm9fZmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJaW50 ZWxfcmluZ19lbWl0KHJpbmcsIE1JX05PT1ApOwogCWludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsK IAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJcmV0ID0gaW50ZWxfcmluZ19i ZWdpbihyZXEsIDYpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTI4OSw3ICsyODgs NyBAQCBnZW42X3JlbmRlcl9yaW5nX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxLAogCQlmbGFncyB8PSBQSVBFX0NPTlRST0xfUVdfV1JJVEUgfCBQSVBFX0NPTlRST0xfQ1Nf U1RBTEw7CiAJfQogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA0KTsKKwlyZXQgPSBp bnRlbF9yaW5nX2JlZ2luKHJlcSwgNCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAt MzA4LDcgKzMwNyw3IEBAIGdlbjdfcmVuZGVyX3JpbmdfY3Nfc3RhbGxfd2Eoc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJl cS0+cmluZzsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA0KTsK KwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJl dDsKIApAQCAtMzcxLDcgKzM3MCw3IEBAIGdlbjdfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJCWdlbjdfcmVuZGVyX3JpbmdfY3Nfc3RhbGxfd2Eo cmVxKTsKIAl9CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCXJldCA9IGlu dGVsX3JpbmdfYmVnaW4ocmVxLCA0KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0z OTEsNyArMzkwLDcgQEAgZ2VuOF9lbWl0X3BpcGVfY29udHJvbChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5n OwogCWludCByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOworCXJldCA9 IGludGVsX3JpbmdfYmVnaW4ocmVxLCA2KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBA IC03MjYsNyArNzI1LDcgQEAgc3RhdGljIGludCBpbnRlbF9yaW5nX3dvcmthcm91bmRzX2VtaXQo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJl dDsKIAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgKHctPmNvdW50ICogMiArIDIpKTsK KwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgKHctPmNvdW50ICogMiArIDIpKTsKIAlpZiAo cmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0xMTM2LDcgKzExMzUsNyBAQCBzdGF0aWMgaW50IGdl bjhfcmNzX3NpZ25hbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnNpZ25hbGxlcl9yZXEs CiAJbnVtX2R3b3JkcyArPSAobnVtX3JpbmdzLTEpICogTUJPWF9VUERBVEVfRFdPUkRTOwogI3Vu ZGVmIE1CT1hfVVBEQVRFX0RXT1JEUwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihzaWduYWxs ZXIsIG51bV9kd29yZHMpOworCXJldCA9IGludGVsX3JpbmdfYmVnaW4oc2lnbmFsbGVyX3JlcSwg bnVtX2R3b3Jkcyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTE3Nyw3ICsxMTc2 LDcgQEAgc3RhdGljIGludCBnZW44X3hjc19zaWduYWwoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpzaWduYWxsZXJfcmVxLAogCW51bV9kd29yZHMgKz0gKG51bV9yaW5ncy0xKSAqIE1CT1hf VVBEQVRFX0RXT1JEUzsKICN1bmRlZiBNQk9YX1VQREFURV9EV09SRFMKIAotCXJldCA9IGludGVs X3JpbmdfYmVnaW4oc2lnbmFsbGVyLCBudW1fZHdvcmRzKTsKKwlyZXQgPSBpbnRlbF9yaW5nX2Jl Z2luKHNpZ25hbGxlcl9yZXEsIG51bV9kd29yZHMpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7 CiAKQEAgLTEyMTYsNyArMTIxNSw3IEBAIHN0YXRpYyBpbnQgZ2VuNl9zaWduYWwoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpzaWduYWxsZXJfcmVxLAogCW51bV9kd29yZHMgKz0gcm91bmRf dXAoKG51bV9yaW5ncy0xKSAqIE1CT1hfVVBEQVRFX0RXT1JEUywgMik7CiAjdW5kZWYgTUJPWF9V UERBVEVfRFdPUkRTCiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHNpZ25hbGxlciwgbnVtX2R3 b3Jkcyk7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihzaWduYWxsZXJfcmVxLCBudW1fZHdvcmRz KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0xMjU0LDcgKzEyNTMsNyBAQCBnZW42 X2FkZF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCWlmIChyaW5n LT5zZW1hcGhvcmUuc2lnbmFsKQogCQlyZXQgPSByaW5nLT5zZW1hcGhvcmUuc2lnbmFsKHJlcSwg NCk7CiAJZWxzZQotCQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCQlyZXQgPSBp bnRlbF9yaW5nX2JlZ2luKHJlcSwgNCk7CiAKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwpAQCAt MTI5Miw3ICsxMjkxLDcgQEAgZ2VuOF9yaW5nX3N5bmMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICp3YWl0ZXJfcmVxLAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHdh aXRlci0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaW50ZWxfcmluZ19i ZWdpbih3YWl0ZXIsIDQpOworCXJldCA9IGludGVsX3JpbmdfYmVnaW4od2FpdGVyX3JlcSwgNCk7 CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTMyOSw3ICsxMzI4LDcgQEAgZ2VuNl9y aW5nX3N5bmMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICp3YWl0ZXJfcmVxLAogCiAJV0FS Tl9PTih3YWl0X21ib3ggPT0gTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRCk7CiAKLQlyZXQgPSBp bnRlbF9yaW5nX2JlZ2luKHdhaXRlciwgNCk7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbih3YWl0 ZXJfcmVxLCA0KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0xMzc0LDcgKzEzNzMs NyBAQCBwY19yZW5kZXJfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEpCiAJICogaW5jb2hlcmVuY2UgYnkgZmx1c2hpbmcgdGhlIDYgUElQRV9OT1RJRlkgYnVmZmVy cyBvdXQgdG8KIAkgKiBtZW1vcnkgYmVmb3JlIHJlcXVlc3RpbmcgYW4gaW50ZXJydXB0LgogCSAq LwotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgMzIpOworCXJldCA9IGludGVsX3Jpbmdf YmVnaW4ocmVxLCAzMik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTU1OSw3ICsx NTU4LDcgQEAgYnNkX3JpbmdfZmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEs CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJlcS0+cmluZzsKIAlpbnQgcmV0Owog Ci0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCAyKTsKKwlyZXQgPSBpbnRlbF9yaW5nX2Jl Z2luKHJlcSwgMik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTU3NSw3ICsxNTc0 LDcgQEAgaTl4eF9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkK IAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOwogCWludCByZXQ7CiAK LQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCXJldCA9IGludGVsX3JpbmdfYmVn aW4ocmVxLCA0KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0xNzIwLDcgKzE3MTks NyBAQCBpOTY1X2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXEsCiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJlcS0+cmluZzsKIAlpbnQg cmV0OwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCAyKTsKKwlyZXQgPSBpbnRlbF9y aW5nX2JlZ2luKHJlcSwgMik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTc0OCw3 ICsxNzQ3LDcgQEAgaTgzMF9kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxLAogCXUzMiBjc19vZmZzZXQgPSByaW5nLT5zY3JhdGNoLmd0dF9vZmZzZXQ7 CiAJaW50IHJldDsKIAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJcmV0ID0g aW50ZWxfcmluZ19iZWdpbihyZXEsIDYpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAg LTE3NjUsNyArMTc2NCw3IEBAIGk4MzBfZGlzcGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJaWYgKGxlbiA+IEk4MzBfQkFUQ0hfTElNSVQpCiAJCQly ZXR1cm4gLUVOT1NQQzsKIAotCQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYgKyAyKTsK KwkJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDYgKyAyKTsKIAkJaWYgKHJldCkKIAkJCXJl dHVybiByZXQ7CiAKQEAgLTE3ODgsNyArMTc4Nyw3IEBAIGk4MzBfZGlzcGF0Y2hfZXhlY2J1ZmZl cihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJb2Zmc2V0ID0gY3Nfb2Zmc2V0 OwogCX0KIAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNCk7CisJcmV0ID0gaW50ZWxf cmluZ19iZWdpbihyZXEsIDQpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTE4MTAs NyArMTgwOSw3IEBAIGk5MTVfZGlzcGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5n OwogCWludCByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDIpOworCXJldCA9 IGludGVsX3JpbmdfYmVnaW4ocmVxLCAyKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBA IC0yMjY0LDEzICsyMjYzLDE3IEBAIHN0YXRpYyBpbnQgX19pbnRlbF9yaW5nX3ByZXBhcmUoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywgaW50IGJ5dGVzKQogCXJldHVybiAwOwogfQogCi1p bnQgaW50ZWxfcmluZ19iZWdpbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAoraW50IGlu dGVsX3JpbmdfYmVnaW4oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJCSAgICAg aW50IG51bV9kd29yZHMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7Ci0J c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0 ZTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdjsKIAlpbnQgcmV0OwogCisJV0FSTl9PTihyZXEgPT0gTlVMTCk7CisJcmlu ZyA9IHJlcS0+cmluZzsKKwlkZXZfcHJpdiA9IHJpbmctPmRldi0+ZGV2X3ByaXZhdGU7CisKIAly ZXQgPSBpOTE1X2dlbV9jaGVja193ZWRnZSgmZGV2X3ByaXYtPmdwdV9lcnJvciwKIAkJCQkgICBk ZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJsZSk7CiAJaWYgKHJldCkKQEAgLTIyODAsMTEgKzIyODMs NiBAQCBpbnQgaW50ZWxfcmluZ19iZWdpbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAog CWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQkvKiBQcmVhbGxvY2F0ZSB0aGUgb2xyIGJlZm9y ZSB0b3VjaGluZyB0aGUgcmluZyAqLwotCXJldCA9IGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2Mocmlu ZywgcmluZy0+ZGVmYXVsdF9jb250ZXh0LCAmcmVxKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0 OwotCiAJcmluZy0+YnVmZmVyLT5zcGFjZSAtPSBudW1fZHdvcmRzICogc2l6ZW9mKHVpbnQzMl90 KTsKIAlyZXR1cm4gMDsKIH0KQEAgLTIzMDAsNyArMjI5OCw3IEBAIGludCBpbnRlbF9yaW5nX2Nh Y2hlbGluZV9hbGlnbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAkJcmV0dXJu IDA7CiAKIAludW1fZHdvcmRzID0gQ0FDSEVMSU5FX0JZVEVTIC8gc2l6ZW9mKHVpbnQzMl90KSAt IG51bV9kd29yZHM7Ci0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCBudW1fZHdvcmRzKTsK KwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgbnVtX2R3b3Jkcyk7CiAJaWYgKHJldCkKIAkJ cmV0dXJuIHJldDsKIApAQCAtMjM3MCw3ICsyMzY4LDcgQEAgc3RhdGljIGludCBnZW42X2JzZF9y aW5nX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCXVpbnQzMl90IGNt ZDsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA0KTsKKwlyZXQg PSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApA QCAtMjQxNyw3ICsyNDE1LDcgQEAgZ2VuOF9yaW5nX2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJCQkhKGRpc3BhdGNoX2ZsYWdzICYgSTkxNV9E SVNQQVRDSF9TRUNVUkUpOwogCWludCByZXQ7CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJp bmcsIDQpOworCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCA0KTsKIAlpZiAocmV0KQogCQly ZXR1cm4gcmV0OwogCkBAIC0yNDM5LDcgKzI0MzcsNyBAQCBoc3dfcmluZ19kaXNwYXRjaF9leGVj YnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcgPSByZXEtPnJpbmc7CiAJaW50IHJldDsKIAotCXJldCA9IGludGVsX3Jp bmdfYmVnaW4ocmluZywgMik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIDIpOwogCWlm IChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTI0NjIsNyArMjQ2MCw3IEBAIGdlbjZfcmluZ19k aXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCXN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcgPSByZXEtPnJpbmc7CiAJaW50IHJldDsKIAotCXJl dCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgMik7CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihy ZXEsIDIpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTI0ODcsNyArMjQ4NSw3IEBA IHN0YXRpYyBpbnQgZ2VuNl9yaW5nX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxLAogCXVpbnQzMl90IGNtZDsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdp bihyaW5nLCA0KTsKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNCk7CiAJaWYgKHJldCkK IAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCmlu ZGV4IGUzNTM1MzEuLmY2YWI2YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmgKQEAgLTM5MSw3ICszOTEsNyBAQCB2b2lkIGludGVsX2NsZWFudXBfcmluZ19idWZmZXIo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7CiAKIGludCBpbnRlbF9yaW5nX2FsbG9jX3Jl cXVlc3RfZXh0cmFzKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCk7CiAKLWlu dCBfX211c3RfY2hlY2sgaW50ZWxfcmluZ19iZWdpbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nLCBpbnQgbik7CitpbnQgX19tdXN0X2NoZWNrIGludGVsX3JpbmdfYmVnaW4oc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIGludCBuKTsKIGludCBfX211c3RfY2hlY2sgaW50ZWxf cmluZ19jYWNoZWxpbmVfYWxpZ24oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpOwog c3RhdGljIGlubGluZSB2b2lkIGludGVsX3JpbmdfZW1pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLAogCQkJCSAgIHUzMiBkYXRhKQotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK