From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 1/6] drm/atomic: Prepare drm_modeset_lock infrastructure for interruptible waiting, v2. Date: Tue, 12 Sep 2017 14:41:40 +0200 Message-ID: <20170912124145.1490-2-maarten.lankhorst@linux.intel.com> References: <20170912124145.1490-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id E04586E269 for ; Tue, 12 Sep 2017 12:48:17 +0000 (UTC) In-Reply-To: <20170912124145.1490-1-maarten.lankhorst@linux.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 V2hlbiB3ZSB3YW50IHRvIG1ha2UgZHJtX2F0b21pY19jb21taXQgaW50ZXJydXB0aWJsZSwgdGhl cmUgYXJlIGEgbG90IG9mCnBsYWNlcyB0aGF0IGNhbGwgdGhlIGxvY2sgZnVuY3Rpb24sIHdoaWNo IHdlIGRvbid0IGhhdmUgY29udHJvbCBvdmVyLgoKUmF0aGVyIHRoYW4gdHJ5aW5nIHRvIGNvbnZl cnQgZXZlcnkgc2luZ2xlIG9uZSwgaXQncyBlYXNpZXIgdG8gdG9nZ2xlCmludGVycnVwdGlibGUg d2FpdGluZyBwZXIgYWNxdWlyZV9jdHguIElmIGRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdCBpcwpj YWxsZWQgd2l0aCBEUk1fTU9ERVNFVF9BQ1FVSVJFX0lOVEVSUlVQVElCTEUsIHRoZW4gd2Ugd2ls bCBwZXJmb3JtCmludGVycnVwdGlibGUgd2FpdHMgaW4gZHJtX21vZGVzZXRfbG9jayBhbmQgZHJt X21vZGVzZXRfYmFja29mZi4KCkNoYW5nZXMgc2luY2UgdjE6Ci0gRml4IGxvY2tpbmcgZXhhbXBs ZSBpbiBkcm1fbW9kZXNldF9sb2NrLmMgdG8gYmUgY29tcGF0aWJsZQogIHdpdGggaW50ZXJydXB0 aWJsZSB3YWl0aW5nICh4ZXhheG8pIGFuZCBtYWtlIGl0IGRlZmF1bHQuCiAgVW5pbnRlcnJ1cHRp YmxlIHdhaXRpbmcgc2hvdWxkbid0IGhhcHBlbiBleGNlcHQgaW4gY29ybmVyIGNhc2VzLAogIGJ1 dCB0aGUgZXhhbXBsZSB3aWxsIHN0aWxsIGFwcGx5IGlmIHRoZSBmbGFnIGlzIHJlbW92ZWQuCi0g QWRkIGRybV9tb2Rlc2V0X2xvY2tfc2luZ2xlX2ludGVycnVwdGlibGUoKSB0byBkb2N1bWVudGF0 aW9uLgotIEZpeCBkZWFkIGxpbmsgdG8gcmVtb3ZlZCBkcm1fbW9kZXNldF9sb2NrX2ludGVycnVw dGlibGUoKSBpbgogIGRybV9tb2Rlc2V0X2xvY2soKS4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4g TGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5 OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPiAjdjEKQ2M6IEVtaWwgVmVs aWtvdiA8ZW1pbC5sLnZlbGlrb3ZAZ21haWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1f ZGVidWdmc19jcmMuYyAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2xvY2su YyB8IDk2ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlL2Ry bS9kcm1fbW9kZXNldF9sb2NrLmggICAgIHwgMTIgKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTcg aW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9kZWJ1Z2ZzX2NyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kZWJ1Z2ZzX2NyYy5j CmluZGV4IGY5ZTI2ZGRhNTZkNi4uOWRkODc5NTg5YTJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2RlYnVnZnNfY3JjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kZWJ1Z2Zz X2NyYy5jCkBAIC0xNTUsNyArMTU1LDcgQEAgc3RhdGljIGludCBjcnRjX2NyY19vcGVuKHN0cnVj dCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlcCkKIAlpbnQgcmV0ID0gMDsKIAogCWlm IChkcm1fZHJ2X3VzZXNfYXRvbWljX21vZGVzZXQoY3J0Yy0+ZGV2KSkgewotCQlyZXQgPSBkcm1f bW9kZXNldF9sb2NrX2ludGVycnVwdGlibGUoJmNydGMtPm11dGV4LCBOVUxMKTsKKwkJcmV0ID0g ZHJtX21vZGVzZXRfbG9ja19zaW5nbGVfaW50ZXJydXB0aWJsZSgmY3J0Yy0+bXV0ZXgpOwogCQlp ZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9tb2Rlc2V0X2xvY2suYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXNldF9sb2NrLmMKaW5k ZXggYWY0ZTkwNmM2MzBkLi5lMTIzNDk3ZGEwY2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fbW9kZXNldF9sb2NrLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2xv Y2suYwpAQCAtMzksMjMgKzM5LDI4IEBACiAgKgogICogVGhlIGJhc2ljIHVzYWdlIHBhdHRlcm4g aXMgdG86OgogICoKLSAqICAgICBkcm1fbW9kZXNldF9hY3F1aXJlX2luaXQoJmN0eCkKKyAqICAg ICBkcm1fbW9kZXNldF9hY3F1aXJlX2luaXQoY3R4LCBEUk1fTU9ERVNFVF9BQ1FVSVJFX0lOVEVS UlVQVElCTEUpCiAgKiAgICAgcmV0cnk6CiAgKiAgICAgZm9yZWFjaCAobG9jayBpbiByYW5kb21f b3JkZXJlZF9zZXRfb2ZfbG9ja3MpIHsKLSAqICAgICAgICAgcmV0ID0gZHJtX21vZGVzZXRfbG9j ayhsb2NrLCAmY3R4KQorICogICAgICAgICByZXQgPSBkcm1fbW9kZXNldF9sb2NrKGxvY2ssIGN0 eCkKICAqICAgICAgICAgaWYgKHJldCA9PSAtRURFQURMSykgewotICogICAgICAgICAgICAgZHJt X21vZGVzZXRfYmFja29mZigmY3R4KTsKLSAqICAgICAgICAgICAgIGdvdG8gcmV0cnk7CisgKiAg ICAgICAgICAgICByZXQgPSBkcm1fbW9kZXNldF9iYWNrb2ZmKGN0eCk7CisgKiAgICAgICAgICAg ICBpZiAoIXJldCkKKyAqICAgICAgICAgICAgICAgICBnb3RvIHJldHJ5OwogICogICAgICAgICB9 CisgKiAgICAgICAgIGlmIChyZXQpCisgKiAgICAgICAgICAgICBnb3RvIG91dDsKICAqICAgICB9 CiAgKiAgICAgLi4uIGRvIHN0dWZmIC4uLgotICogICAgIGRybV9tb2Rlc2V0X2Ryb3BfbG9ja3Mo JmN0eCk7Ci0gKiAgICAgZHJtX21vZGVzZXRfYWNxdWlyZV9maW5pKCZjdHgpOworICogICAgIG91 dDoKKyAqICAgICBkcm1fbW9kZXNldF9kcm9wX2xvY2tzKGN0eCk7CisgKiAgICAgZHJtX21vZGVz ZXRfYWNxdWlyZV9maW5pKGN0eCk7CiAgKgogICogSWYgYWxsIHRoYXQgaXMgbmVlZGVkIGlzIGEg c2luZ2xlIG1vZGVzZXQgbG9jaywgdGhlbiB0aGUgJnN0cnVjdAogICogZHJtX21vZGVzZXRfYWNx dWlyZV9jdHggaXMgbm90IG5lZWRlZCBhbmQgdGhlIGxvY2tpbmcgY2FuIGJlIHNpbXBsaWZpZWQK LSAqIGJ5IHBhc3NpbmcgYSBOVUxMIGluc3RlYWQgb2YgY3R4IGluIHRoZSBkcm1fbW9kZXNldF9s b2NrKCkKLSAqIGNhbGwgYW5kLCB3aGVuIGRvbmUsIGJ5IGNhbGxpbmcgZHJtX21vZGVzZXRfdW5s b2NrKCkuCisgKiBieSBwYXNzaW5nIGEgTlVMTCBpbnN0ZWFkIG9mIGN0eCBpbiB0aGUgZHJtX21v ZGVzZXRfbG9jaygpIGNhbGwgb3IKKyAqIGNhbGxpbmcgIGRybV9tb2Rlc2V0X2xvY2tfc2luZ2xl X2ludGVycnVwdGlibGUoKS4gVG8gdW5sb2NrIGFmdGVyd2FyZHMKKyAqIGNhbGwgZHJtX21vZGVz ZXRfdW5sb2NrKCkuCiAgKgogICogT24gdG9wIG9mIHRoZXNlIHBlci1vYmplY3QgbG9ja3MgdXNp bmcgJnd3X211dGV4IHRoZXJlJ3MgYWxzbyBhbiBvdmVyYWxsCiAgKiAmZHJtX21vZGVfY29uZmln Lm11dGV4LCBmb3IgcHJvdGVjdGluZyBldmVyeXRoaW5nIGVsc2UuIE1vc3RseSB0aGlzIG1lYW5z CkBAIC0xNzgsNyArMTgzLDExIEBAIEVYUE9SVF9TWU1CT0woZHJtX3dhcm5fb25fbW9kZXNldF9u b3RfYWxsX2xvY2tlZCk7CiAvKioKICAqIGRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdCAtIGluaXRp YWxpemUgYWNxdWlyZSBjb250ZXh0CiAgKiBAY3R4OiB0aGUgYWNxdWlyZSBjb250ZXh0Ci0gKiBA ZmxhZ3M6IGZvciBmdXR1cmUKKyAqIEBmbGFnczogMCBvciAlRFJNX01PREVTRVRfQUNRVUlSRV9J TlRFUlJVUFRJQkxFCisgKgorICogV2hlbiBwYXNzaW5nICVEUk1fTU9ERVNFVF9BQ1FVSVJFX0lO VEVSUlVQVElCTEUgdG8gQGZsYWdzLAorICogYWxsIGNhbGxzIHRvIGRybV9tb2Rlc2V0X2xvY2so KSB3aWxsIHBlcmZvcm0gYW4gaW50ZXJydXB0aWJsZQorICogd2FpdC4KICAqLwogdm9pZCBkcm1f bW9kZXNldF9hY3F1aXJlX2luaXQoc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgs CiAJCXVpbnQzMl90IGZsYWdzKQpAQCAtMTg2LDYgKzE5NSw5IEBAIHZvaWQgZHJtX21vZGVzZXRf YWNxdWlyZV9pbml0KHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4LAogCW1lbXNl dChjdHgsIDAsIHNpemVvZigqY3R4KSk7CiAJd3dfYWNxdWlyZV9pbml0KCZjdHgtPnd3X2N0eCwg JmNydGNfd3dfY2xhc3MpOwogCUlOSVRfTElTVF9IRUFEKCZjdHgtPmxvY2tlZCk7CisKKwlpZiAo ZmxhZ3MgJiBEUk1fTU9ERVNFVF9BQ1FVSVJFX0lOVEVSUlVQVElCTEUpCisJCWN0eC0+aW50ZXJy dXB0aWJsZSA9IHRydWU7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9tb2Rlc2V0X2FjcXVpcmVfaW5p dCk7CiAKQEAgLTI2MSw4ICsyNzMsMTkgQEAgc3RhdGljIGlubGluZSBpbnQgbW9kZXNldF9sb2Nr KHN0cnVjdCBkcm1fbW9kZXNldF9sb2NrICpsb2NrLAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRp YyBpbnQgbW9kZXNldF9iYWNrb2ZmKHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4 LAotCQlib29sIGludGVycnVwdGlibGUpCisvKioKKyAqIGRybV9tb2Rlc2V0X2JhY2tvZmYgLSBk ZWFkbG9jayBhdm9pZGFuY2UgYmFja29mZgorICogQGN0eDogdGhlIGFjcXVpcmUgY29udGV4dAor ICoKKyAqIElmIGRlYWRsb2NrIGlzIGRldGVjdGVkIChpZS4gZHJtX21vZGVzZXRfbG9jaygpIHJl dHVybnMgLUVERUFETEspLAorICogeW91IG11c3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHRvIGRyb3Ag YWxsIGN1cnJlbnRseSBoZWxkIGxvY2tzIGFuZAorICogYmxvY2sgdW50aWwgdGhlIGNvbnRlbmRl ZCBsb2NrIGJlY29tZXMgYXZhaWxhYmxlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyAw IG9uIHN1Y2Nlc3MsIG9yIC1FUkVTVEFSVFNZUyBpZiB0aGlzIGNvbnRleHQKKyAqIGlzIGluaXRp YWxpemVkIHdpdGggJURSTV9NT0RFU0VUX0FDUVVJUkVfSU5URVJSVVBUSUJMRSBhbmQgdGhlCisg KiB3YWl0IGhhcyBiZWVuIGludGVycnVwdGVkLgorICovCitpbnQgZHJtX21vZGVzZXRfYmFja29m ZihzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCkKIHsKIAlzdHJ1Y3QgZHJtX21v ZGVzZXRfbG9jayAqY29udGVuZGVkID0gY3R4LT5jb250ZW5kZWQ7CiAKQEAgLTI3MywzNSArMjk2 LDEwIEBAIHN0YXRpYyBpbnQgbW9kZXNldF9iYWNrb2ZmKHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1 aXJlX2N0eCAqY3R4LAogCiAJZHJtX21vZGVzZXRfZHJvcF9sb2NrcyhjdHgpOwogCi0JcmV0dXJu IG1vZGVzZXRfbG9jayhjb250ZW5kZWQsIGN0eCwgaW50ZXJydXB0aWJsZSwgdHJ1ZSk7Ci19Ci0K LS8qKgotICogZHJtX21vZGVzZXRfYmFja29mZiAtIGRlYWRsb2NrIGF2b2lkYW5jZSBiYWNrb2Zm Ci0gKiBAY3R4OiB0aGUgYWNxdWlyZSBjb250ZXh0Ci0gKgotICogSWYgZGVhZGxvY2sgaXMgZGV0 ZWN0ZWQgKGllLiBkcm1fbW9kZXNldF9sb2NrKCkgcmV0dXJucyAtRURFQURMSyksCi0gKiB5b3Ug bXVzdCBjYWxsIHRoaXMgZnVuY3Rpb24gdG8gZHJvcCBhbGwgY3VycmVudGx5IGhlbGQgbG9ja3Mg YW5kCi0gKiBibG9jayB1bnRpbCB0aGUgY29udGVuZGVkIGxvY2sgYmVjb21lcyBhdmFpbGFibGUu Ci0gKi8KLXZvaWQgZHJtX21vZGVzZXRfYmFja29mZihzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWly ZV9jdHggKmN0eCkKLXsKLQltb2Rlc2V0X2JhY2tvZmYoY3R4LCBmYWxzZSk7CisJcmV0dXJuIG1v ZGVzZXRfbG9jayhjb250ZW5kZWQsIGN0eCwgY3R4LT5pbnRlcnJ1cHRpYmxlLCB0cnVlKTsKIH0K IEVYUE9SVF9TWU1CT0woZHJtX21vZGVzZXRfYmFja29mZik7CiAKLS8qKgotICogZHJtX21vZGVz ZXRfYmFja29mZl9pbnRlcnJ1cHRpYmxlIC0gZGVhZGxvY2sgYXZvaWRhbmNlIGJhY2tvZmYKLSAq IEBjdHg6IHRoZSBhY3F1aXJlIGNvbnRleHQKLSAqCi0gKiBJbnRlcnJ1cHRpYmxlIHZlcnNpb24g b2YgZHJtX21vZGVzZXRfYmFja29mZigpCi0gKi8KLWludCBkcm1fbW9kZXNldF9iYWNrb2ZmX2lu dGVycnVwdGlibGUoc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpCi17Ci0JcmV0 dXJuIG1vZGVzZXRfYmFja29mZihjdHgsIHRydWUpOwotfQotRVhQT1JUX1NZTUJPTChkcm1fbW9k ZXNldF9iYWNrb2ZmX2ludGVycnVwdGlibGUpOwotCiAvKioKICAqIGRybV9tb2Rlc2V0X2xvY2tf aW5pdCAtIGluaXRpYWxpemUgbG9jawogICogQGxvY2s6IGxvY2sgdG8gaW5pdApAQCAtMzI0LDE0 ICszMjIsMTggQEAgRVhQT1JUX1NZTUJPTChkcm1fbW9kZXNldF9sb2NrX2luaXQpOwogICogZGVh ZGxvY2sgc2NlbmFyaW8gaGFzIGJlZW4gZGV0ZWN0ZWQgYW5kIGl0IGlzIGFuIGVycm9yIHRvIGF0 dGVtcHQKICAqIHRvIHRha2UgYW55IG1vcmUgbG9ja3Mgd2l0aG91dCBmaXJzdCBjYWxsaW5nIGRy bV9tb2Rlc2V0X2JhY2tvZmYoKS4KICAqCisgKiBJZiB0aGUgQGN0eCBpcyBub3QgTlVMTCBhbmQg aW5pdGlhbGl6ZWQgd2l0aAorICogJURSTV9NT0RFU0VUX0FDUVVJUkVfSU5URVJSVVBUSUJMRSwg dGhpcyBmdW5jdGlvbiB3aWxsIGZhaWwgd2l0aAorICogLUVSRVNUQVJUU1lTIHdoZW4gaW50ZXJy dXB0ZWQuCisgKgogICogSWYgQGN0eCBpcyBOVUxMIHRoZW4gdGhlIGZ1bmN0aW9uIGNhbGwgYmVo YXZlcyBsaWtlIGEgbm9ybWFsLAotICogbm9uLW5lc3RpbmcgbXV0ZXhfbG9jaygpIGNhbGwuCisg KiB1bmludGVycnVwdGlibGUgbm9uLW5lc3RpbmcgbXV0ZXhfbG9jaygpIGNhbGwuCiAgKi8KIGlu dCBkcm1fbW9kZXNldF9sb2NrKHN0cnVjdCBkcm1fbW9kZXNldF9sb2NrICpsb2NrLAogCQlzdHJ1 Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCkKIHsKIAlpZiAoY3R4KQotCQlyZXR1cm4g bW9kZXNldF9sb2NrKGxvY2ssIGN0eCwgZmFsc2UsIGZhbHNlKTsKKwkJcmV0dXJuIG1vZGVzZXRf bG9jayhsb2NrLCBjdHgsIGN0eC0+aW50ZXJydXB0aWJsZSwgZmFsc2UpOwogCiAJd3dfbXV0ZXhf bG9jaygmbG9jay0+bXV0ZXgsIE5VTEwpOwogCXJldHVybiAwOwpAQCAtMzM5LDIxICszNDEsMTkg QEAgaW50IGRybV9tb2Rlc2V0X2xvY2soc3RydWN0IGRybV9tb2Rlc2V0X2xvY2sgKmxvY2ssCiBF WFBPUlRfU1lNQk9MKGRybV9tb2Rlc2V0X2xvY2spOwogCiAvKioKLSAqIGRybV9tb2Rlc2V0X2xv Y2tfaW50ZXJydXB0aWJsZSAtIHRha2UgbW9kZXNldCBsb2NrCisgKiBkcm1fbW9kZXNldF9sb2Nr X3NpbmdsZV9pbnRlcnJ1cHRpYmxlIC0gdGFrZSBhIHNpbmdsZSBtb2Rlc2V0IGxvY2sKICAqIEBs b2NrOiBsb2NrIHRvIHRha2UKLSAqIEBjdHg6IGFjcXVpcmUgY3R4CiAgKgotICogSW50ZXJydXB0 aWJsZSB2ZXJzaW9uIG9mIGRybV9tb2Rlc2V0X2xvY2soKQorICogVGhpcyBmdW5jdGlvbiBiZWhh dmVzIGFzIGRybV9tb2Rlc2V0X2xvY2soKSB3aXRoIGEgTlVMTCBjb250ZXh0LAorICogYnV0IHBl cmZvcm1zIGludGVycnVwdGlibGUgd2FpdHMuCisgKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5z IDAgb24gc3VjY2Vzcywgb3IgLUVSRVNUQVJUU1lTIHdoZW4gaW50ZXJydXB0ZWQuCiAgKi8KLWlu dCBkcm1fbW9kZXNldF9sb2NrX2ludGVycnVwdGlibGUoc3RydWN0IGRybV9tb2Rlc2V0X2xvY2sg KmxvY2ssCi0JCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KQoraW50IGRybV9t b2Rlc2V0X2xvY2tfc2luZ2xlX2ludGVycnVwdGlibGUoc3RydWN0IGRybV9tb2Rlc2V0X2xvY2sg KmxvY2spCiB7Ci0JaWYgKGN0eCkKLQkJcmV0dXJuIG1vZGVzZXRfbG9jayhsb2NrLCBjdHgsIHRy dWUsIGZhbHNlKTsKLQogCXJldHVybiB3d19tdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmxvY2st Pm11dGV4LCBOVUxMKTsKIH0KLUVYUE9SVF9TWU1CT0woZHJtX21vZGVzZXRfbG9ja19pbnRlcnJ1 cHRpYmxlKTsKK0VYUE9SVF9TWU1CT0woZHJtX21vZGVzZXRfbG9ja19zaW5nbGVfaW50ZXJydXB0 aWJsZSk7CiAKIC8qKgogICogZHJtX21vZGVzZXRfdW5sb2NrIC0gZHJvcCBtb2Rlc2V0IGxvY2sK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2suaCBiL2luY2x1ZGUvZHJt L2RybV9tb2Rlc2V0X2xvY2suaAppbmRleCA0YjI3YzJiYjk1NWMuLmE2ODVkMWJiMjFmMiAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGVzZXRfbG9jay5oCisrKyBiL2luY2x1ZGUvZHJt L2RybV9tb2Rlc2V0X2xvY2suaApAQCAtMzQsNiArMzQsNyBAQCBzdHJ1Y3QgZHJtX21vZGVzZXRf bG9jazsKICAqIEBjb250ZW5kZWQ6IHVzZWQgaW50ZXJuYWxseSBmb3IgLUVERUFETEsgaGFuZGxp bmcKICAqIEBsb2NrZWQ6IGxpc3Qgb2YgaGVsZCBsb2NrcwogICogQHRyeWxvY2tfb25seTogdHJ5 bG9jayBtb2RlIHVzZWQgaW4gYXRvbWljIGNvbnRleHRzL3BhbmljIG5vdGlmaWVycworICogQGlu dGVycnVwdGlibGU6IHdoZXRoZXIgaW50ZXJydXB0aWJsZSBsb2NraW5nIHNob3VsZCBiZSB1c2Vk LgogICoKICAqIEVhY2ggdGhyZWFkIGNvbXBldGluZyBmb3IgYSBzZXQgb2YgbG9ja3MgbXVzdCB1 c2Ugb25lIGFjcXVpcmUKICAqIGN0eC4gIEFuZCBpZiBhbnkgbG9jayBmeG4gcmV0dXJucyAtRURF QURMSywgaXQgbXVzdCBiYWNrb2ZmIGFuZApAQCAtNTksNiArNjAsOSBAQCBzdHJ1Y3QgZHJtX21v ZGVzZXRfYWNxdWlyZV9jdHggewogCSAqIFRyeWxvY2sgbW9kZSwgdXNlIG9ubHkgZm9yIHBhbmlj IGhhbmRsZXJzIQogCSAqLwogCWJvb2wgdHJ5bG9ja19vbmx5OworCisJLyogUGVyZm9ybSBpbnRl cnJ1cHRpYmxlIHdhaXRzIG9uIHRoaXMgY29udGV4dC4gKi8KKwlib29sIGludGVycnVwdGlibGU7 CiB9OwogCiAvKioKQEAgLTgyLDEyICs4NiwxMyBAQCBzdHJ1Y3QgZHJtX21vZGVzZXRfbG9jayB7 CiAJc3RydWN0IGxpc3RfaGVhZCBoZWFkOwogfTsKIAorI2RlZmluZSBEUk1fTU9ERVNFVF9BQ1FV SVJFX0lOVEVSUlVQVElCTEUgQklUKDApCisKIHZvaWQgZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0 KHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4LAogCQl1aW50MzJfdCBmbGFncyk7 CiB2b2lkIGRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaShzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWly ZV9jdHggKmN0eCk7CiB2b2lkIGRybV9tb2Rlc2V0X2Ryb3BfbG9ja3Moc3RydWN0IGRybV9tb2Rl c2V0X2FjcXVpcmVfY3R4ICpjdHgpOwotdm9pZCBkcm1fbW9kZXNldF9iYWNrb2ZmKHN0cnVjdCBk cm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KTsKLWludCBkcm1fbW9kZXNldF9iYWNrb2ZmX2lu dGVycnVwdGlibGUoc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpOworaW50IGRy bV9tb2Rlc2V0X2JhY2tvZmYoc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpOwog CiB2b2lkIGRybV9tb2Rlc2V0X2xvY2tfaW5pdChzdHJ1Y3QgZHJtX21vZGVzZXRfbG9jayAqbG9j ayk7CiAKQEAgLTExMSw4ICsxMTYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgZHJtX21vZGVzZXRf aXNfbG9ja2VkKHN0cnVjdCBkcm1fbW9kZXNldF9sb2NrICpsb2NrKQogCiBpbnQgZHJtX21vZGVz ZXRfbG9jayhzdHJ1Y3QgZHJtX21vZGVzZXRfbG9jayAqbG9jaywKIAkJc3RydWN0IGRybV9tb2Rl c2V0X2FjcXVpcmVfY3R4ICpjdHgpOwotaW50IGRybV9tb2Rlc2V0X2xvY2tfaW50ZXJydXB0aWJs ZShzdHJ1Y3QgZHJtX21vZGVzZXRfbG9jayAqbG9jaywKLQkJc3RydWN0IGRybV9tb2Rlc2V0X2Fj cXVpcmVfY3R4ICpjdHgpOworaW50IF9fbXVzdF9jaGVjayBkcm1fbW9kZXNldF9sb2NrX3Npbmds ZV9pbnRlcnJ1cHRpYmxlKHN0cnVjdCBkcm1fbW9kZXNldF9sb2NrICpsb2NrKTsKIHZvaWQgZHJt X21vZGVzZXRfdW5sb2NrKHN0cnVjdCBkcm1fbW9kZXNldF9sb2NrICpsb2NrKTsKIAogc3RydWN0 IGRybV9kZXZpY2U7Ci0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=