From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Ekstrand Subject: [PATCH 3/9] i915: Add support for drm syncobjs Date: Fri, 11 Aug 2017 15:39:28 -0700 Message-ID: <1502491174-10913-4-git-send-email-jason.ekstrand@intel.com> References: <1502232369-19753-1-git-send-email-jason.ekstrand@intel.com> <1502491174-10913-1-git-send-email-jason.ekstrand@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf0-x243.google.com (mail-pf0-x243.google.com [IPv6:2607:f8b0:400e:c00::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3CDDE6E763 for ; Fri, 11 Aug 2017 22:39:48 +0000 (UTC) Received: by mail-pf0-x243.google.com with SMTP id t86so4527276pfe.1 for ; Fri, 11 Aug 2017 15:39:48 -0700 (PDT) In-Reply-To: <1502491174-10913-1-git-send-email-jason.ekstrand@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Jason Ekstrand , Jason Ekstrand List-Id: dri-devel@lists.freedesktop.org VGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IGZvciB3YWl0aW5nIG9uIG9yIHNpZ25hbGluZyBEUk0g c3luY29ianMgYXMKcGFydCBvZiBleGVjYnVmLiAgSXQgZG9lcyBzbyBieSBoaWphY2tpbmcgdGhl IGN1cnJlbnRseSB1bnVzZWQgY2xpcHJlY3RzCnBvaW50ZXIgdG8gaW5zdGVhZCBwb2ludCB0byBh biBhcnJheSBvZiBpOTE1X2dlbV9leGVjX2ZlbmNlIHN0cnVjdHMKd2hpY2ggY29udGFpbmUgYSBE Uk0gc3luY29iaiBhbmQgYSBmbGFncyBwYXJhbWV0ZXIgd2hpY2ggc3BlY2lmaWVzCndoZXRoZXIg dG8gd2FpdCBvbiBpdCBvciB0byBzaWduYWwgaXQuICBUaGlzIGltcGxlbWVudGF0aW9uCnRoZW9y ZXRpY2FsbHkgYWxsb3dzIGZvciBib3RoIGZsYWdzIHRvIGJlIHNldCBpbiB3aGljaCBjYXNlIGl0 IHdhaXRzIG9uCnRoZSBkbWFfZmVuY2UgdGhhdCB3YXMgaW4gdGhlIHN5bmNvYmogYW5kIHRoZW4g aW1tZWRpYXRlbHkgcmVwbGFjZXMgaXQKd2l0aCB0aGUgZG1hX2ZlbmNlIGZyb20gdGhlIGN1cnJl bnQgZXhlY2J1Zi4KCnYyOgogLSBSZWJhc2Ugb24gbmV3IHN5bmNvYmogQVBJCnYzOgogLSBQdWxs IGV2ZXJ5dGhpbmcgb3V0IGludG8gaGVscGVycwogLSBEbyBhbGwgYWxsb2NhdGlvbiBpbiBnZW1f ZXhlY2J1ZmZlcjIKIC0gUGFjayB0aGUgZmxhZ3MgaW4gdGhlIGJvdHRvbSAyIGJpdHMgb2YgdGhl IGRybV9zeW5jb2JqKgp2NDoKIC0gUHJldmVudCBhIHBvdGVudGlhbCByYWNlIG9uIHN5bmNvYmot PmZlbmNlCgpUZXN0Y2FzZTogaWd0L2dlbV9leGVjX2ZlbmNlL3N5bmNvYmoqClNpZ25lZC1vZmYt Ynk6IEphc29uIEVrc3RyYW5kIDxqYXNvbkBqbGVrc3RyYW5kLm5ldD4KUmV2aWV3ZWQtYnk6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jICAgICAgICAgICAgfCAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8IDE0NiArKysrKysrKysrKysrKysrKysrKysrKysrKysr LQogaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oICAgICAgICAgICAgICAgIHwgIDMwICsrKysr LQogMyBmaWxlcyBjaGFuZ2VkLCAxNzEgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCA0Yzk2YTcyLi41MGRiNDkwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmMKQEAgLTM4OCw2ICszODgsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2V0cGFyYW0o c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAljYXNlIEk5MTVfUEFSQU1fSEFT X0VYRUNfRkVOQ0U6CiAJY2FzZSBJOTE1X1BBUkFNX0hBU19FWEVDX0NBUFRVUkU6CiAJY2FzZSBJ OTE1X1BBUkFNX0hBU19FWEVDX0JBVENIX0ZJUlNUOgorCWNhc2UgSTkxNV9QQVJBTV9IQVNfRVhF Q19GRU5DRV9BUlJBWToKIAkJLyogRm9yIHRoZSB0aW1lIGJlaW5nIGFsbCBvZiB0aGVzZSBhcmUg YWx3YXlzIHRydWU7CiAJCSAqIGlmIHNvbWUgc3VwcG9ydGVkIGhhcmR3YXJlIGRvZXMgbm90IGhh dmUgb25lIG9mIHRoZXNlCiAJCSAqIGZlYXR1cmVzIHRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgcHJv dmlkZWQgZnJvbQpAQCAtMjczOCw3ICsyNzM5LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVy IGRyaXZlciA9IHsKIAkgKi8KIAkuZHJpdmVyX2ZlYXR1cmVzID0KIAkgICAgRFJJVkVSX0hBVkVf SVJRIHwgRFJJVkVSX0lSUV9TSEFSRUQgfCBEUklWRVJfR0VNIHwgRFJJVkVSX1BSSU1FIHwKLQkg ICAgRFJJVkVSX1JFTkRFUiB8IERSSVZFUl9NT0RFU0VUIHwgRFJJVkVSX0FUT01JQywKKwkgICAg RFJJVkVSX1JFTkRFUiB8IERSSVZFUl9NT0RFU0VUIHwgRFJJVkVSX0FUT01JQyB8IERSSVZFUl9T WU5DT0JKLAogCS5yZWxlYXNlID0gaTkxNV9kcml2ZXJfcmVsZWFzZSwKIAkub3BlbiA9IGk5MTVf ZHJpdmVyX29wZW4sCiAJLmxhc3RjbG9zZSA9IGk5MTVfZHJpdmVyX2xhc3RjbG9zZSwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCA5MjlmMjc1Li44ZGY4 NDViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVy LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0z Myw2ICszMyw3IEBACiAKICNpbmNsdWRlIDxkcm0vZHJtUC5oPgogI2luY2x1ZGUgPGRybS9pOTE1 X2RybS5oPgorI2luY2x1ZGUgPGRybS9kcm1fc3luY29iai5oPgogCiAjaW5jbHVkZSAiaTkxNV9k cnYuaCIKICNpbmNsdWRlICJpOTE1X2dlbV9jbGZsdXNoLmgiCkBAIC0xODgyLDggKzE4ODMsMTAg QEAgc3RhdGljIGJvb2wgaTkxNV9nZW1fY2hlY2tfZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVf Z2VtX2V4ZWNidWZmZXIyICpleGVjKQogCQlyZXR1cm4gZmFsc2U7CiAKIAkvKiBLZXJuZWwgY2xp cHBpbmcgd2FzIGEgRFJJMSBtaXNmZWF0dXJlICovCi0JaWYgKGV4ZWMtPm51bV9jbGlwcmVjdHMg fHwgZXhlYy0+Y2xpcHJlY3RzX3B0cikKLQkJcmV0dXJuIGZhbHNlOworCWlmICghKGV4ZWMtPmZs YWdzICYgSTkxNV9FWEVDX0ZFTkNFX0FSUkFZKSkgeworCQlpZiAoZXhlYy0+bnVtX2NsaXByZWN0 cyB8fCBleGVjLT5jbGlwcmVjdHNfcHRyKQorCQkJcmV0dXJuIGZhbHNlOworCX0KIAogCWlmIChl eGVjLT5EUjQgPT0gMHhmZmZmZmZmZikgewogCQlEUk1fREVCVUcoIlVYQSBzdWJtaXR0aW5nIGdh cmJhZ2UgRFI0LCBmaXhpbmcgdXBcbiIpOwpAQCAtMjExNCwxMSArMjExNywxMjUgQEAgZWJfc2Vs ZWN0X2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJcmV0dXJuIGVu Z2luZTsKIH0KIAorc3RhdGljIHZvaWQgX19mcmVlX2ZlbmNlX2FycmF5KHN0cnVjdCBkcm1fc3lu Y29iaiAqKmZlbmNlcywgdW5zaWduZWQgaW50IG4pCit7CisJd2hpbGUgKG4tLSkKKwkJZHJtX3N5 bmNvYmpfcHV0KHB0cl9tYXNrX2JpdHMoZmVuY2VzW25dLCAyKSk7CisJa3ZmcmVlKGZlbmNlcyk7 Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZHJtX3N5bmNvYmogKipnZXRfZmVuY2VfYXJyYXkoc3RydWN0 IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiAqYXJncywKKwkJCQkJICAgIHN0cnVjdCBkcm1fZmls ZSAqZmlsZSkKK3sKKwljb25zdCB1bnNpZ25lZCBpbnQgbmZlbmNlcyA9IGFyZ3MtPm51bV9jbGlw cmVjdHM7CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX2ZlbmNlIF9fdXNlciAqdXNlcjsKKwlz dHJ1Y3QgZHJtX3N5bmNvYmogKipmZW5jZXM7CisJdW5zaWduZWQgaW50IG47CisJaW50IGVycjsK KworCWlmICghKGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX0ZFTkNFX0FSUkFZKSkKKwkJcmV0dXJu IE5VTEw7CisKKwlpZiAobmZlbmNlcyA+IFNJWkVfTUFYIC8gc2l6ZW9mKCpmZW5jZXMpKQorCQly ZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKKworCXVzZXIgPSB1NjRfdG9fdXNlcl9wdHIoYXJncy0+ Y2xpcHJlY3RzX3B0cik7CisJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIHVzZXIsIG5mZW5j ZXMgKiAyICogc2l6ZW9mKHUzMikpKQorCQlyZXR1cm4gRVJSX1BUUigtRUZBVUxUKTsKKworCWZl bmNlcyA9IGt2bWFsbG9jX2FycmF5KGFyZ3MtPm51bV9jbGlwcmVjdHMsIHNpemVvZigqZmVuY2Vz KSwKKwkJCQlfX0dGUF9OT1dBUk4gfCBHRlBfVEVNUE9SQVJZKTsKKwlpZiAoIWZlbmNlcykKKwkJ cmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwlmb3IgKG4gPSAwOyBuIDwgbmZlbmNlczsgbisr KSB7CisJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19mZW5jZSBmZW5jZTsKKwkJc3RydWN0IGRy bV9zeW5jb2JqICpzeW5jb2JqOworCisJCWlmIChfX2NvcHlfZnJvbV91c2VyKCZmZW5jZSwgdXNl cisrLCBzaXplb2YoZmVuY2UpKSkgeworCQkJZXJyID0gLUVGQVVMVDsKKwkJCWdvdG8gZXJyOwor CQl9CisKKwkJc3luY29iaiA9IGRybV9zeW5jb2JqX2ZpbmQoZmlsZSwgZmVuY2UuaGFuZGxlKTsK KwkJaWYgKCFzeW5jb2JqKSB7CisJCQlEUk1fREVCVUcoIkludmFsaWQgc3luY29iaiBoYW5kbGUg cHJvdmlkZWRcbiIpOworCQkJZXJyID0gLUVJTlZBTDsKKwkJCWdvdG8gZXJyOworCQl9CisKKwkJ ZmVuY2VzW25dID0gcHRyX3BhY2tfYml0cyhzeW5jb2JqLCBmZW5jZS5mbGFncywgMik7CisJfQor CisJcmV0dXJuIGZlbmNlczsKKworZXJyOgorCV9fZnJlZV9mZW5jZV9hcnJheShmZW5jZXMsIG4p OworCXJldHVybiBFUlJfUFRSKGVycik7Cit9CisKK3N0YXRpYyB2b2lkIHB1dF9mZW5jZV9hcnJh eShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyICphcmdzLAorCQkJICAgIHN0cnVjdCBk cm1fc3luY29iaiAqKmZlbmNlcykKK3sKKwlpZiAoIWZlbmNlcykKKwkJcmV0dXJuOworCV9fZnJl ZV9mZW5jZV9hcnJheShmZW5jZXMsIGFyZ3MtPm51bV9jbGlwcmVjdHMpOworfQorCitzdGF0aWMg aW50IGF3YWl0X2ZlbmNlX2FycmF5KHN0cnVjdCBpOTE1X2V4ZWNidWZmZXIgKmViLAorCQkJICAg ICBzdHJ1Y3QgZHJtX3N5bmNvYmogKipmZW5jZXMpCit7CisJY29uc3QgdW5zaWduZWQgaW50IG5m ZW5jZXMgPSBlYi0+YXJncy0+bnVtX2NsaXByZWN0czsKKwl1bnNpZ25lZCBpbnQgbjsKKwlpbnQg ZXJyOworCisJZm9yIChuID0gMDsgbiA8IG5mZW5jZXM7IG4rKykgeworCQlzdHJ1Y3QgZHJtX3N5 bmNvYmogKnN5bmNvYmo7CisJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOworCQl1bnNpZ25lZCBp bnQgZmxhZ3M7CisKKwkJc3luY29iaiA9IHB0cl91bnBhY2tfYml0cyhmZW5jZXNbbl0sICZmbGFn cywgMik7CisJCWlmICghKGZsYWdzICYgSTkxNV9FWEVDX0ZFTkNFX1dBSVQpKQorCQkJY29udGlu dWU7CisKKwkJZmVuY2UgPSBkcm1fc3luY29ial9mZW5jZV9nZXQoc3luY29iaik7CisJCWlmICgh ZmVuY2UpCisJCSAgICByZXR1cm4gLUVJTlZBTDsKKworCQllcnIgPSBpOTE1X2dlbV9yZXF1ZXN0 X2F3YWl0X2RtYV9mZW5jZShlYi0+cmVxdWVzdCwgZmVuY2UpOworCQlkbWFfZmVuY2VfcHV0KGZl bmNlKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KKworCXJldHVybiAwOwor fQorCitzdGF0aWMgdm9pZCBzaWduYWxfZmVuY2VfYXJyYXkoc3RydWN0IGk5MTVfZXhlY2J1ZmZl ciAqZWIsCisJCQkgICAgICAgc3RydWN0IGRybV9zeW5jb2JqICoqZmVuY2VzKQoreworCWNvbnN0 IHVuc2lnbmVkIGludCBuZmVuY2VzID0gZWItPmFyZ3MtPm51bV9jbGlwcmVjdHM7CisJc3RydWN0 IGRtYV9mZW5jZSAqIGNvbnN0IGZlbmNlID0gJmViLT5yZXF1ZXN0LT5mZW5jZTsKKwl1bnNpZ25l ZCBpbnQgbjsKKworCWZvciAobiA9IDA7IG4gPCBuZmVuY2VzOyBuKyspIHsKKwkJc3RydWN0IGRy bV9zeW5jb2JqICpzeW5jb2JqOworCQl1bnNpZ25lZCBpbnQgZmxhZ3M7CisKKwkJc3luY29iaiA9 IHB0cl91bnBhY2tfYml0cyhmZW5jZXNbbl0sICZmbGFncywgMik7CisJCWlmICghKGZsYWdzICYg STkxNV9FWEVDX0ZFTkNFX1NJR05BTCkpCisJCQljb250aW51ZTsKKworCQlkcm1fc3luY29ial9y ZXBsYWNlX2ZlbmNlKHN5bmNvYmosIGZlbmNlKTsKKwl9Cit9CisKIHN0YXRpYyBpbnQKIGk5MTVf Z2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJICAgICAgIHN0cnVj dCBkcm1fZmlsZSAqZmlsZSwKIAkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZl cjIgKmFyZ3MsCi0JCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqZXhl YykKKwkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyICpleGVjLAorCQkg ICAgICAgc3RydWN0IGRybV9zeW5jb2JqICoqZmVuY2VzKQogewogCXN0cnVjdCBpOTE1X2V4ZWNi dWZmZXIgZWI7CiAJc3RydWN0IGRtYV9mZW5jZSAqaW5fZmVuY2UgPSBOVUxMOwpAQCAtMjMwNCw2 ICsyNDIxLDEyIEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAkJCWdvdG8gZXJyX3JlcXVlc3Q7CiAJfQogCisJaWYgKGZlbmNlcykgeworCQllcnIgPSBh d2FpdF9mZW5jZV9hcnJheSgmZWIsIGZlbmNlcyk7CisJCWlmIChlcnIgPCAwKQorCQkJZ290byBl cnJfcmVxdWVzdDsKKwl9CisKIAlpZiAob3V0X2ZlbmNlX2ZkICE9IC0xKSB7CiAJCW91dF9mZW5j ZSA9IHN5bmNfZmlsZV9jcmVhdGUoJmViLnJlcXVlc3QtPmZlbmNlKTsKIAkJaWYgKCFvdXRfZmVu Y2UpIHsKQEAgLTIzMjcsNiArMjQ1MCw5IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAlfX2k5MTVfYWRkX3JlcXVlc3QoZWIucmVxdWVzdCwgZXJyID09 IDApOwogCWFkZF90b19jbGllbnQoZWIucmVxdWVzdCwgZmlsZSk7CiAKKwlpZiAoZmVuY2VzKQor CQlzaWduYWxfZmVuY2VfYXJyYXkoJmViLCBmZW5jZXMpOworCiAJaWYgKG91dF9mZW5jZSkgewog CQlpZiAoZXJyID09IDApIHsKIAkJCWZkX2luc3RhbGwob3V0X2ZlbmNlX2ZkLCBvdXRfZmVuY2Ut PmZpbGUpOwpAQCAtMjQyOCw3ICsyNTU0LDcgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJZXhlYzJfbGlzdFtpXS5mbGFncyA9IDA7 CiAJfQogCi0JZXJyID0gaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihkZXYsIGZpbGUsICZleGVjMiwg ZXhlYzJfbGlzdCk7CisJZXJyID0gaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihkZXYsIGZpbGUsICZl eGVjMiwgZXhlYzJfbGlzdCwgTlVMTCk7CiAJaWYgKGV4ZWMyLmZsYWdzICYgX19FWEVDX0hBU19S RUxPQykgewogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0IF9fdXNlciAqdXNlcl9l eGVjX2xpc3QgPQogCQkJdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPmJ1ZmZlcnNfcHRyKTsKQEAgLTI0 NjAsNiArMjU4Niw3IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXIyKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsCiAJY29uc3Qgc2l6ZV90IHN6ID0gc2l6ZW9mKHN0cnVjdCBkcm1faTkx NV9nZW1fZXhlY19vYmplY3QyKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyICph cmdzID0gZGF0YTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqZXhlYzJfbGlz dDsKKwlzdHJ1Y3QgZHJtX3N5bmNvYmogKipmZW5jZXMgPSBOVUxMOwogCWludCBlcnI7CiAKIAlp ZiAoYXJncy0+YnVmZmVyX2NvdW50IDwgMSB8fCBhcmdzLT5idWZmZXJfY291bnQgPiBTSVpFX01B WCAvIHN6IC0gMSkgewpAQCAtMjQ4Niw3ICsyNjEzLDE1IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXIy KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCXJldHVybiAtRUZBVUxUOwog CX0KIAotCWVyciA9IGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoZGV2LCBmaWxlLCBhcmdzLCBleGVj Ml9saXN0KTsKKwlpZiAoYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfRkVOQ0VfQVJSQVkpIHsKKwkJ ZmVuY2VzID0gZ2V0X2ZlbmNlX2FycmF5KGFyZ3MsIGZpbGUpOworCQlpZiAoSVNfRVJSKGZlbmNl cykpIHsKKwkJCWt2ZnJlZShleGVjMl9saXN0KTsKKwkJCXJldHVybiBQVFJfRVJSKGZlbmNlcyk7 CisJCX0KKwl9CisKKwllcnIgPSBpOTE1X2dlbV9kb19leGVjYnVmZmVyKGRldiwgZmlsZSwgYXJn cywgZXhlYzJfbGlzdCwgZmVuY2VzKTsKIAogCS8qCiAJICogTm93IHRoYXQgd2UgaGF2ZSBiZWd1 biBleGVjdXRpb24gb2YgdGhlIGJhdGNoYnVmZmVyLCB3ZSBpZ25vcmUKQEAgLTI1MTcsNSArMjY1 Miw2IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXIyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCiAKIAlhcmdzLT5mbGFncyAmPSB+X19JOTE1X0VYRUNfVU5LTk9XTl9GTEFHUzsKIAlr dmZyZWUoZXhlYzJfbGlzdCk7CisJcHV0X2ZlbmNlX2FycmF5KGFyZ3MsIGZlbmNlcyk7CiAJcmV0 dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2lu Y2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAppbmRleCA3Y2NiZDZhLi5iYjNmYjQ5IDEwMDY0NAot LS0gYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9p OTE1X2RybS5oCkBAIC00MzEsNiArNDMxLDExIEBAIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X2ly cV93YWl0IHsKICAqLwogI2RlZmluZSBJOTE1X1BBUkFNX0hBU19FWEVDX0JBVENIX0ZJUlNUCSA0 OAogCisvKiBRdWVyeSB3aGV0aGVyIERSTV9JOTE1X0dFTV9FWEVDQlVGRkVSMiBzdXBwb3J0cyBz dXBwbHlpbmcgYW4gYXJyYXkgb2YKKyAqIGRybV9pOTE1X2dlbV9leGVjX2ZlbmNlIHN0cnVjdHVy ZXMuICBTZWUgSTkxNV9FWEVDX0ZFTkNFX0FSUkFZLgorICovCisjZGVmaW5lIEk5MTVfUEFSQU1f SEFTX0VYRUNfRkVOQ0VfQVJSQVkgIDQ5CisKIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X2dldHBh cmFtIHsKIAlfX3MzMiBwYXJhbTsKIAkvKgpAQCAtODEyLDYgKzgxNywxNyBAQCBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiB7CiAJX191NjQgcnN2ZDI7CiB9OwogCitzdHJ1Y3QgZHJt X2k5MTVfZ2VtX2V4ZWNfZmVuY2UgeworCS8qKgorCSAqIFVzZXIncyBoYW5kbGUgZm9yIGEgZG1h LWZlbmNlIHRvIHdhaXQgb24gb3Igc2lnbmFsLgorCSAqLworCV9fdTMyIGhhbmRsZTsKKworI2Rl ZmluZSBJOTE1X0VYRUNfRkVOQ0VfV0FJVCAgICAgICAgICAgICgxPDwwKQorI2RlZmluZSBJOTE1 X0VYRUNfRkVOQ0VfU0lHTkFMICAgICAgICAgICgxPDwxKQorCV9fdTMyIGZsYWdzOworfTsKKwog c3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiB7CiAJLyoqCiAJICogTGlzdCBvZiBnZW1f ZXhlY19vYmplY3QyIHN0cnVjdHMKQEAgLTgyNiw3ICs4NDIsMTAgQEAgc3RydWN0IGRybV9pOTE1 X2dlbV9leGVjYnVmZmVyMiB7CiAJX191MzIgRFIxOwogCV9fdTMyIERSNDsKIAlfX3UzMiBudW1f Y2xpcHJlY3RzOwotCS8qKiBUaGlzIGlzIGEgc3RydWN0IGRybV9jbGlwX3JlY3QgKmNsaXByZWN0 cyAqLworCS8qKiBUaGlzIGlzIGEgc3RydWN0IGRybV9jbGlwX3JlY3QgKmNsaXByZWN0cyBpZiBJ OTE1X0VYRUNfRkVOQ0VfQVJSQVkKKwkgKiBpcyBub3Qgc2V0LiAgSWYgSTkxNV9FWEVDX0ZFTkNF X0FSUkFZIGlzIHNldCwgdGhlbiB0aGlzIGlzIGEKKwkgKiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4 ZWNfZmVuY2UgKmZlbmNlcy4KKwkgKi8KIAlfX3U2NCBjbGlwcmVjdHNfcHRyOwogI2RlZmluZSBJ OTE1X0VYRUNfUklOR19NQVNLICAgICAgICAgICAgICAoNzw8MCkKICNkZWZpbmUgSTkxNV9FWEVD X0RFRkFVTFQgICAgICAgICAgICAgICAgKDA8PDApCkBAIC05MjcsNyArOTQ2LDE0IEBAIHN0cnVj dCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgewogICogZWxlbWVudCkuCiAgKi8KICNkZWZpbmUg STkxNV9FWEVDX0JBVENIX0ZJUlNUCQkoMTw8MTgpCi0jZGVmaW5lIF9fSTkxNV9FWEVDX1VOS05P V05fRkxBR1MgKC0oSTkxNV9FWEVDX0JBVENIX0ZJUlNUPDwxKSkKKworLyogU2V0dGluZyBJOTE1 X0ZFTkNFX0FSUkFZIGltcGxpZXMgdGhhdCBudW1fY2xpcHJlY3RzIGFuZCBjbGlwcmVjdHNfcHRy CisgKiBkZWZpbmUgYW4gYXJyYXkgb2YgaTkxNV9nZW1fZXhlY19mZW5jZSBzdHJ1Y3R1cmVzIHdo aWNoIHNwZWNpZnkgYSBzZXQgb2YKKyAqIGRtYSBmZW5jZXMgdG8gd2FpdCB1cG9uIG9yIHNpZ25h bC4KKyAqLworI2RlZmluZSBJOTE1X0VYRUNfRkVOQ0VfQVJSQVkgICAoMTw8MTkpCisKKyNkZWZp bmUgX19JOTE1X0VYRUNfVU5LTk9XTl9GTEFHUyAoLShJOTE1X0VYRUNfRkVOQ0VfQVJSQVk8PDEp KQogCiAjZGVmaW5lIEk5MTVfRVhFQ19DT05URVhUX0lEX01BU0sJKDB4ZmZmZmZmZmYpCiAjZGVm aW5lIGk5MTVfZXhlY2J1ZmZlcjJfc2V0X2NvbnRleHRfaWQoZWIyLCBjb250ZXh0KSBcCi0tIAoy LjUuMC40MDAuZ2ZmODZmYWYKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=