From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 29/31] drm/i915: Make timelines gt centric Date: Fri, 14 Jun 2019 16:17:29 +0100 Message-ID: <20190614151731.17608-30-tvrtko.ursulin@linux.intel.com> References: <20190614151731.17608-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id CCAC889AB3 for ; Fri, 14 Jun 2019 15:18:26 +0000 (UTC) In-Reply-To: <20190614151731.17608-1-tvrtko.ursulin@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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCk91ciB0aW1l bGluZXMgYXJlIHN0b3JlZCBpbnNpZGUgaW50ZWxfZ3Qgc28gd2UgY2FuIGNvbnZlcnQgdGhlIGlu dGVyZmFjZQp0byB0YWtlIGV4YWN0bHkgdGhhdCBhbmQgbm90IGk5MTUuCgpBdCB0aGUgc2FtZSB0 aW1lIHJlLW9yZGVyIHRoZSBwYXJhbXMgdG8gb3VyIG1vcmUgdHlwaWNhbCBsYXlvdXQgYW5kCnJl cGxhY2UgdGhlIGJhY2twb2ludGVyIHRvIHRoZSBuZXcgY29udGFpbmluZyBzdHJ1Y3R1cmUuCgpT aWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMgICB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyAgICAgfCAgOCArKy0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyAgICAgICAgICAgfCAgOSArKy0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgICAgfCAgMiArLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19lbmdpbmUuYyAgICAgICAgIHwgIDQgKy0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuYyAgICAgICAgICB8IDQzICsrKysrKysr Ky0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaCAgICAgICAg ICB8ICA3ICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZV90eXBlcy5oICAg IHwgIDIgKy0KIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdGltZWxpbmUuYyAgICB8 ICA4ICsrLS0KIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUuYyAgICB8 ICAyICstCiAxMCBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4 dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCBj ODZjYTlmMjE1MzIuLmM1Mjg2OWU1OGNiNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fY29udGV4dC5jCkBAIC01MzAsNyArNTMwLDcgQEAgaTkxNV9nZW1fY3JlYXRlX2Nv bnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1bnNpZ25lZCBpbnQgZmxh Z3MpCiAJaWYgKGZsYWdzICYgSTkxNV9DT05URVhUX0NSRUFURV9GTEFHU19TSU5HTEVfVElNRUxJ TkUpIHsKIAkJc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lOwogCi0JCXRpbWVsaW5lID0g aTkxNV90aW1lbGluZV9jcmVhdGUoZGV2X3ByaXYsIE5VTEwpOworCQl0aW1lbGluZSA9IGk5MTVf dGltZWxpbmVfY3JlYXRlKCZkZXZfcHJpdi0+Z3QsIE5VTEwpOwogCQlpZiAoSVNfRVJSKHRpbWVs aW5lKSkgewogCQkJY29udGV4dF9jbG9zZShjdHgpOwogCQkJcmV0dXJuIEVSUl9DQVNUKHRpbWVs aW5lKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9j cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggYWI5 YzUxNDFlZTBjLi4zYWVjMDA5YmVlMjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2VuZ2luZV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2VuZ2luZV9jcy5jCkBAIC02MTgsOCArNjE4LDggQEAgc3RhdGljIGludCBpbnRlbF9lbmdpbmVf c2V0dXBfY29tbW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlpZiAoZXJyKQog CQlyZXR1cm4gZXJyOwogCi0JZXJyID0gaTkxNV90aW1lbGluZV9pbml0KGVuZ2luZS0+aTkxNSwK LQkJCQkgJmVuZ2luZS0+dGltZWxpbmUsCisJZXJyID0gaTkxNV90aW1lbGluZV9pbml0KCZlbmdp bmUtPnRpbWVsaW5lLAorCQkJCSBlbmdpbmUtPmd0LAogCQkJCSBlbmdpbmUtPnN0YXR1c19wYWdl LnZtYSk7CiAJaWYgKGVycikKIAkJZ290byBlcnJfaHdzcDsKQEAgLTc0NSw4ICs3NDUsOCBAQCBz dGF0aWMgaW50IG1lYXN1cmVfYnJlYWRjcnVtYl9kdyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpCiAJaWYgKCFmcmFtZSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlpZiAoaTkxNV90aW1l bGluZV9pbml0KGVuZ2luZS0+aTkxNSwKLQkJCSAgICAgICAmZnJhbWUtPnRpbWVsaW5lLAorCWlm IChpOTE1X3RpbWVsaW5lX2luaXQoJmZyYW1lLT50aW1lbGluZSwKKwkJCSAgICAgICBlbmdpbmUt Pmd0LAogCQkJICAgICAgIGVuZ2luZS0+c3RhdHVzX3BhZ2Uudm1hKSkKIAkJZ290byBvdXRfZnJh bWU7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMKaW5kZXggNjhjNmYxMWEwM2M1Li4w YTQ5OTQ5YzA1OTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xy Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCkBAIC0yOTg0LDEy ICsyOTg0LDEzIEBAIHBvcHVsYXRlX2xyX2NvbnRleHQoc3RydWN0IGludGVsX2NvbnRleHQgKmNl LAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgaTkxNV90aW1lbGluZSAqZ2V0X3Rp bWVsaW5lKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCitzdGF0aWMgc3RydWN0IGk5MTVf dGltZWxpbmUgKgorZ2V0X3RpbWVsaW5lKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsIHN0 cnVjdCBpbnRlbF9ndCAqZ3QpCiB7CiAJaWYgKGN0eC0+dGltZWxpbmUpCiAJCXJldHVybiBpOTE1 X3RpbWVsaW5lX2dldChjdHgtPnRpbWVsaW5lKTsKIAllbHNlCi0JCXJldHVybiBpOTE1X3RpbWVs aW5lX2NyZWF0ZShjdHgtPmk5MTUsIE5VTEwpOworCQlyZXR1cm4gaTkxNV90aW1lbGluZV9jcmVh dGUoZ3QsIE5VTEwpOwogfQogCiBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X2RlZmVycmVk X2FsbG9jKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKQEAgLTMwMjMsNyArMzAyNCw3IEBAIHN0 YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVsX2Nv bnRleHQgKmNlLAogCQlnb3RvIGVycm9yX2RlcmVmX29iajsKIAl9CiAKLQl0aW1lbGluZSA9IGdl dF90aW1lbGluZShjZS0+Z2VtX2NvbnRleHQpOworCXRpbWVsaW5lID0gZ2V0X3RpbWVsaW5lKGNl LT5nZW1fY29udGV4dCwgZW5naW5lLT5ndCk7CiAJaWYgKElTX0VSUih0aW1lbGluZSkpIHsKIAkJ cmV0ID0gUFRSX0VSUih0aW1lbGluZSk7CiAJCWdvdG8gZXJyb3JfZGVyZWZfb2JqOwpAQCAtMzM0 Myw3ICszMzQ0LDcgQEAgaW50ZWxfZXhlY2xpc3RzX2NyZWF0ZV92aXJ0dWFsKHN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0ICpjdHgsCiAKIAlzbnByaW50Zih2ZS0+YmFzZS5uYW1lLCBzaXplb2YodmUt PmJhc2UubmFtZSksICJ2aXJ0dWFsIik7CiAKLQllcnIgPSBpOTE1X3RpbWVsaW5lX2luaXQoY3R4 LT5pOTE1LCAmdmUtPmJhc2UudGltZWxpbmUsIE5VTEwpOworCWVyciA9IGk5MTVfdGltZWxpbmVf aW5pdCgmdmUtPmJhc2UudGltZWxpbmUsIHNpYmxpbmdzWzBdLT5ndCwgTlVMTCk7CiAJaWYgKGVy cikKIAkJZ290byBlcnJfcHV0OwogCWk5MTVfdGltZWxpbmVfc2V0X3N1YmNsYXNzKCZ2ZS0+YmFz ZS50aW1lbGluZSwgVElNRUxJTkVfVklSVFVBTCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggZjc0ODcyY2NhNjg2Li5kMjQ0YWQ2OGRhN2UgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTIzMDIsNyArMjMw Miw3IEBAIGludCBpbnRlbF9yaW5nX3N1Ym1pc3Npb25faW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCiAJc3RydWN0IGludGVsX3JpbmcgKnJpbmc7CiAJaW50IGVycjsKIAotCXRp bWVsaW5lID0gaTkxNV90aW1lbGluZV9jcmVhdGUoZW5naW5lLT5pOTE1LCBlbmdpbmUtPnN0YXR1 c19wYWdlLnZtYSk7CisJdGltZWxpbmUgPSBpOTE1X3RpbWVsaW5lX2NyZWF0ZShlbmdpbmUtPmd0 LCBlbmdpbmUtPnN0YXR1c19wYWdlLnZtYSk7CiAJaWYgKElTX0VSUih0aW1lbGluZSkpIHsKIAkJ ZXJyID0gUFRSX0VSUih0aW1lbGluZSk7CiAJCWdvdG8gZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19lbmdpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L21vY2tfZW5naW5lLmMKaW5kZXggNmQ3NTYyNzY5ZWIyLi4wZWJlNzhhZGEwNWIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L21vY2tfZW5naW5lLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvbW9ja19lbmdpbmUuYwpAQCAtNTYsNyArNTYsNyBAQCBzdGF0aWMgc3Ry dWN0IGludGVsX3JpbmcgKm1vY2tfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CiAJaWYgKCFyaW5nKQogCQlyZXR1cm4gTlVMTDsKIAotCWlmIChpOTE1X3RpbWVsaW5lX2luaXQo ZW5naW5lLT5pOTE1LCAmcmluZy0+dGltZWxpbmUsIE5VTEwpKSB7CisJaWYgKGk5MTVfdGltZWxp bmVfaW5pdCgmcmluZy0+dGltZWxpbmUsIGVuZ2luZS0+Z3QsIE5VTEwpKSB7CiAJCWtmcmVlKHJp bmcpOwogCQlyZXR1cm4gTlVMTDsKIAl9CkBAIC0yODMsNyArMjgzLDcgQEAgaW50IG1vY2tfZW5n aW5lX2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWludGVsX2VuZ2luZV9p bml0X2V4ZWNsaXN0cyhlbmdpbmUpOwogCWludGVsX2VuZ2luZV9pbml0X19wbShlbmdpbmUpOwog Ci0JaWYgKGk5MTVfdGltZWxpbmVfaW5pdChpOTE1LCAmZW5naW5lLT50aW1lbGluZSwgTlVMTCkp CisJaWYgKGk5MTVfdGltZWxpbmVfaW5pdCgmZW5naW5lLT50aW1lbGluZSwgZW5naW5lLT5ndCwg TlVMTCkpCiAJCWdvdG8gZXJyX2JyZWFkY3J1bWJzOwogCWk5MTVfdGltZWxpbmVfc2V0X3N1YmNs YXNzKCZlbmdpbmUtPnRpbWVsaW5lLCBUSU1FTElORV9FTkdJTkUpOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3RpbWVsaW5lLmMKaW5kZXggNGYxYjY5NmJlNDJhLi45YjYyZjE0Y2NjMDcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmMKQEAgLTQsNiArNCw4IEBACiAgKiBDb3B5cmln aHQgwqkgMjAxNi0yMDE4IEludGVsIENvcnBvcmF0aW9uCiAgKi8KIAorI2luY2x1ZGUgImd0L2lu dGVsX2d0X3R5cGVzLmgiCisKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogCiAjaW5jbHVkZSAiaTkx NV9hY3RpdmUuaCIKQEAgLTE0LDcgKzE2LDggQEAKICNkZWZpbmUgcHRyX3Rlc3RfYml0KHB0ciwg Yml0KSAoKHVuc2lnbmVkIGxvbmcpKHB0cikgJiBCSVQoYml0KSkKIAogc3RydWN0IGk5MTVfdGlt ZWxpbmVfaHdzcCB7Ci0Jc3RydWN0IGk5MTVfZ3RfdGltZWxpbmVzICpndDsKKwlzdHJ1Y3QgaW50 ZWxfZ3QgKmd0OworCXN0cnVjdCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3RfdGltZWxpbmVzOwogCXN0 cnVjdCBsaXN0X2hlYWQgZnJlZV9saW5rOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCXU2NCBm cmVlX2JpdG1hcDsKQEAgLTI4LDE0ICszMSw5IEBAIHN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hl bGluZSB7CiAjZGVmaW5lIENBQ0hFTElORV9GUkVFIENBQ0hFTElORV9CSVRTCiB9OwogCi1zdGF0 aWMgaW5saW5lIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICoKLWh3c3BfdG9faTkxNShzdHJ1Y3Qg aTkxNV90aW1lbGluZV9od3NwICpod3NwKQotewotCXJldHVybiBjb250YWluZXJfb2YoaHdzcC0+ Z3QsIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBndC50aW1lbGluZXMpOwotfQotCi1zdGF0aWMg c3RydWN0IGk5MTVfdm1hICpfX2h3c3BfYWxsb2Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCitzdGF0aWMgc3RydWN0IGk5MTVfdm1hICpfX2h3c3BfYWxsb2Moc3RydWN0IGludGVsX2d0 ICpndCkKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGd0LT5pOTE1OwogCXN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAK QEAgLTQ1LDcgKzQzLDcgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3ZtYSAqX19od3NwX2FsbG9jKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCiAJaTkxNV9nZW1fb2JqZWN0X3NldF9jYWNo ZV9jb2hlcmVuY3kob2JqLCBJOTE1X0NBQ0hFX0xMQyk7CiAKLQl2bWEgPSBpOTE1X3ZtYV9pbnN0 YW5jZShvYmosICZpOTE1LT5nZ3R0LnZtLCBOVUxMKTsKKwl2bWEgPSBpOTE1X3ZtYV9pbnN0YW5j ZShvYmosICZndC0+Z2d0dC0+dm0sIE5VTEwpOwogCWlmIChJU19FUlIodm1hKSkKIAkJaTkxNV9n ZW1fb2JqZWN0X3B1dChvYmopOwogCkBAIC01NSw4ICs1Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgaTkx NV92bWEgKl9faHdzcF9hbGxvYyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHN0YXRp YyBzdHJ1Y3QgaTkxNV92bWEgKgogaHdzcF9hbGxvYyhzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGlt ZWxpbmUsIHVuc2lnbmVkIGludCAqY2FjaGVsaW5lKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0gdGltZWxpbmUtPmk5MTU7Ci0Jc3RydWN0IGk5MTVfZ3RfdGltZWxpbmVzICpn dCA9ICZpOTE1LT5ndC50aW1lbGluZXM7CisJc3RydWN0IGk5MTVfZ3RfdGltZWxpbmVzICpndCA9 ICZ0aW1lbGluZS0+Z3QtPnRpbWVsaW5lczsKIAlzdHJ1Y3QgaTkxNV90aW1lbGluZV9od3NwICpo d3NwOwogCiAJQlVJTERfQlVHX09OKEJJVFNfUEVSX1RZUEUodTY0KSAqIENBQ0hFTElORV9CWVRF UyA+IFBBR0VfU0laRSk7CkBAIC03NSwxNiArNzIsMTcgQEAgaHdzcF9hbGxvYyhzdHJ1Y3QgaTkx NV90aW1lbGluZSAqdGltZWxpbmUsIHVuc2lnbmVkIGludCAqY2FjaGVsaW5lKQogCQlpZiAoIWh3 c3ApCiAJCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAotCQl2bWEgPSBfX2h3c3BfYWxsb2Mo aTkxNSk7CisJCXZtYSA9IF9faHdzcF9hbGxvYyh0aW1lbGluZS0+Z3QpOwogCQlpZiAoSVNfRVJS KHZtYSkpIHsKIAkJCWtmcmVlKGh3c3ApOwogCQkJcmV0dXJuIHZtYTsKIAkJfQogCiAJCXZtYS0+ cHJpdmF0ZSA9IGh3c3A7CisJCWh3c3AtPmd0ID0gdGltZWxpbmUtPmd0OwogCQlod3NwLT52bWEg PSB2bWE7CiAJCWh3c3AtPmZyZWVfYml0bWFwID0gfjB1bGw7Ci0JCWh3c3AtPmd0ID0gZ3Q7CisJ CWh3c3AtPmd0X3RpbWVsaW5lcyA9IGd0OwogCiAJCXNwaW5fbG9ja19pcnEoJmd0LT5od3NwX2xv Y2spOwogCQlsaXN0X2FkZCgmaHdzcC0+ZnJlZV9saW5rLCAmZ3QtPmh3c3BfZnJlZV9saXN0KTsK QEAgLTEwNCw3ICsxMDIsNyBAQCBod3NwX2FsbG9jKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1l bGluZSwgdW5zaWduZWQgaW50ICpjYWNoZWxpbmUpCiAKIHN0YXRpYyB2b2lkIF9faWRsZV9od3Nw X2ZyZWUoc3RydWN0IGk5MTVfdGltZWxpbmVfaHdzcCAqaHdzcCwgaW50IGNhY2hlbGluZSkKIHsK LQlzdHJ1Y3QgaTkxNV9ndF90aW1lbGluZXMgKmd0ID0gaHdzcC0+Z3Q7CisJc3RydWN0IGk5MTVf Z3RfdGltZWxpbmVzICpndCA9IGh3c3AtPmd0X3RpbWVsaW5lczsKIAl1bnNpZ25lZCBsb25nIGZs YWdzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmd0LT5od3NwX2xvY2ssIGZsYWdzKTsKQEAgLTE3 MCw3ICsxNjgsNyBAQCBjYWNoZWxpbmVfYWxsb2Moc3RydWN0IGk5MTVfdGltZWxpbmVfaHdzcCAq aHdzcCwgdW5zaWduZWQgaW50IGNhY2hlbGluZSkKIAljbC0+aHdzcCA9IGh3c3A7CiAJY2wtPnZh ZGRyID0gcGFnZV9wYWNrX2JpdHModmFkZHIsIGNhY2hlbGluZSk7CiAKLQlpOTE1X2FjdGl2ZV9p bml0KGh3c3BfdG9faTkxNShod3NwKSwgJmNsLT5hY3RpdmUsIF9fY2FjaGVsaW5lX3JldGlyZSk7 CisJaTkxNV9hY3RpdmVfaW5pdChod3NwLT5ndC0+aTkxNSwgJmNsLT5hY3RpdmUsIF9fY2FjaGVs aW5lX3JldGlyZSk7CiAKIAlyZXR1cm4gY2w7CiB9CkBAIC0xOTYsOCArMTk0LDggQEAgc3RhdGlj IHZvaWQgY2FjaGVsaW5lX2ZyZWUoc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkK IAkJX19pZGxlX2NhY2hlbGluZV9mcmVlKGNsKTsKIH0KIAotaW50IGk5MTVfdGltZWxpbmVfaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKLQkJICAgICAgIHN0cnVjdCBpOTE1X3Rp bWVsaW5lICp0aW1lbGluZSwKK2ludCBpOTE1X3RpbWVsaW5lX2luaXQoc3RydWN0IGk5MTVfdGlt ZWxpbmUgKnRpbWVsaW5lLAorCQkgICAgICAgc3RydWN0IGludGVsX2d0ICpndCwKIAkJICAgICAg IHN0cnVjdCBpOTE1X3ZtYSAqaHdzcCkKIHsKIAl2b2lkICp2YWRkcjsKQEAgLTIxMiw3ICsyMTAs NyBAQCBpbnQgaTkxNV90aW1lbGluZV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 LAogCSAqLwogCUJVSUxEX0JVR19PTihLU1lOQ01BUCA8IEk5MTVfTlVNX0VOR0lORVMpOwogCi0J dGltZWxpbmUtPmk5MTUgPSBpOTE1OworCXRpbWVsaW5lLT5ndCA9IGd0OwogCXRpbWVsaW5lLT5w aW5fY291bnQgPSAwOwogCXRpbWVsaW5lLT5oYXNfaW5pdGlhbF9icmVhZGNydW1iID0gIWh3c3A7 CiAJdGltZWxpbmUtPmh3c3BfY2FjaGVsaW5lID0gTlVMTDsKQEAgLTI4Myw3ICsyODEsNyBAQCB2 b2lkIGk5MTVfdGltZWxpbmVzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAK IHN0YXRpYyB2b2lkIHRpbWVsaW5lX2FkZF90b19hY3RpdmUoc3RydWN0IGk5MTVfdGltZWxpbmUg KnRsKQogewotCXN0cnVjdCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3QgPSAmdGwtPmk5MTUtPmd0LnRp bWVsaW5lczsKKwlzdHJ1Y3QgaTkxNV9ndF90aW1lbGluZXMgKmd0ID0gJnRsLT5ndC0+dGltZWxp bmVzOwogCiAJbXV0ZXhfbG9jaygmZ3QtPm11dGV4KTsKIAlsaXN0X2FkZCgmdGwtPmxpbmssICZn dC0+YWN0aXZlX2xpc3QpOwpAQCAtMjkyLDcgKzI5MCw3IEBAIHN0YXRpYyB2b2lkIHRpbWVsaW5l X2FkZF90b19hY3RpdmUoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQogCiBzdGF0aWMgdm9pZCB0 aW1lbGluZV9yZW1vdmVfZnJvbV9hY3RpdmUoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQogewot CXN0cnVjdCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3QgPSAmdGwtPmk5MTUtPmd0LnRpbWVsaW5lczsK KwlzdHJ1Y3QgaTkxNV9ndF90aW1lbGluZXMgKmd0ID0gJnRsLT5ndC0+dGltZWxpbmVzOwogCiAJ bXV0ZXhfbG9jaygmZ3QtPm11dGV4KTsKIAlsaXN0X2RlbCgmdGwtPmxpbmspOwpAQCAtMzQ4LDgg KzM0Niw3IEBAIHZvaWQgaTkxNV90aW1lbGluZV9maW5pKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0 aW1lbGluZSkKIH0KIAogc3RydWN0IGk5MTVfdGltZWxpbmUgKgotaTkxNV90aW1lbGluZV9jcmVh dGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCi0JCSAgICAgc3RydWN0IGk5MTVfdm1h ICpnbG9iYWxfaHdzcCkKK2k5MTVfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndCAqZ3Qs IHN0cnVjdCBpOTE1X3ZtYSAqZ2xvYmFsX2h3c3ApCiB7CiAJc3RydWN0IGk5MTVfdGltZWxpbmUg KnRpbWVsaW5lOwogCWludCBlcnI7CkBAIC0zNTgsNyArMzU1LDcgQEAgaTkxNV90aW1lbGluZV9j cmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJaWYgKCF0aW1lbGluZSkKIAkJ cmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKLQllcnIgPSBpOTE1X3RpbWVsaW5lX2luaXQoaTkx NSwgdGltZWxpbmUsIGdsb2JhbF9od3NwKTsKKwllcnIgPSBpOTE1X3RpbWVsaW5lX2luaXQodGlt ZWxpbmUsIGd0LCBnbG9iYWxfaHdzcCk7CiAJaWYgKGVycikgewogCQlrZnJlZSh0aW1lbGluZSk7 CiAJCXJldHVybiBFUlJfUFRSKGVycik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3RpbWVsaW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmgK aW5kZXggMjc2NjhhMWE2OWEzLi44Mzk5ZTExZTY4YjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3RpbWVsaW5lLmgKQEAgLTMxLDggKzMxLDggQEAKICNpbmNsdWRlICJpOTE1X3N5bmNtYXAuaCIK ICNpbmNsdWRlICJpOTE1X3RpbWVsaW5lX3R5cGVzLmgiCiAKLWludCBpOTE1X3RpbWVsaW5lX2lu aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCi0JCSAgICAgICBzdHJ1Y3QgaTkxNV90 aW1lbGluZSAqdGwsCitpbnQgaTkxNV90aW1lbGluZV9pbml0KHN0cnVjdCBpOTE1X3RpbWVsaW5l ICp0bCwKKwkJICAgICAgIHN0cnVjdCBpbnRlbF9ndCAqZ3QsCiAJCSAgICAgICBzdHJ1Y3QgaTkx NV92bWEgKmh3c3ApOwogdm9pZCBpOTE1X3RpbWVsaW5lX2Zpbmkoc3RydWN0IGk5MTVfdGltZWxp bmUgKnRsKTsKIApAQCAtNTYsOCArNTYsNyBAQCBpOTE1X3RpbWVsaW5lX3NldF9zdWJjbGFzcyhz dHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUsCiB9CiAKIHN0cnVjdCBpOTE1X3RpbWVsaW5l ICoKLWk5MTVfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAot CQkgICAgIHN0cnVjdCBpOTE1X3ZtYSAqZ2xvYmFsX2h3c3ApOworaTkxNV90aW1lbGluZV9jcmVh dGUoc3RydWN0IGludGVsX2d0ICpndCwgc3RydWN0IGk5MTVfdm1hICpnbG9iYWxfaHdzcCk7CiAK IHN0YXRpYyBpbmxpbmUgc3RydWN0IGk5MTVfdGltZWxpbmUgKgogaTkxNV90aW1lbGluZV9nZXQo c3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV90aW1lbGluZV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV90aW1lbGluZV90eXBlcy5oCmluZGV4IDE2ODg3MDVmNGEyYi4uMDQxNzA5MDg3NTA4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lX3R5cGVzLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZV90eXBlcy5oCkBAIC02Myw3ICs2Myw3 IEBAIHN0cnVjdCBpOTE1X3RpbWVsaW5lIHsKIAlzdHJ1Y3QgaTkxNV9zeW5jbWFwICpzeW5jOwog CiAJc3RydWN0IGxpc3RfaGVhZCBsaW5rOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 OworCXN0cnVjdCBpbnRlbF9ndCAqZ3Q7CiAKIAlzdHJ1Y3Qga3JlZiBrcmVmOwogfTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3RpbWVsaW5lLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV90aW1lbGluZS5jCmluZGV4IGFjYjJj YzUxMzZiNy4uNTc4MzUxMjc1NjNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaTkxNV90aW1lbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9pOTE1X3RpbWVsaW5lLmMKQEAgLTY2LDcgKzY2LDcgQEAgc3RhdGljIGludCBfX21vY2tf aHdzcF90aW1lbGluZShzdHJ1Y3QgbW9ja19od3NwX2ZyZWVsaXN0ICpzdGF0ZSwKIAkJdW5zaWdu ZWQgbG9uZyBjYWNoZWxpbmU7CiAJCWludCBlcnI7CiAKLQkJdGwgPSBpOTE1X3RpbWVsaW5lX2Ny ZWF0ZShzdGF0ZS0+aTkxNSwgTlVMTCk7CisJCXRsID0gaTkxNV90aW1lbGluZV9jcmVhdGUoJnN0 YXRlLT5pOTE1LT5ndCwgTlVMTCk7CiAJCWlmIChJU19FUlIodGwpKQogCQkJcmV0dXJuIFBUUl9F UlIodGwpOwogCkBAIC00NDgsNyArNDQ4LDcgQEAgdGxfd3JpdGUoc3RydWN0IGk5MTVfdGltZWxp bmUgKnRsLCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiB2YWx1ZSkKIAlzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAlpbnQgZXJyOwogCi0JbG9ja2RlcF9hc3NlcnRfaGVsZCgm dGwtPmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOyAvKiBsYXp5IHJxIHJlZnMgKi8KKwlsb2NrZGVw X2Fzc2VydF9oZWxkKCZ0bC0+Z3QtPmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOyAvKiBsYXp5IHJx IHJlZnMgKi8KIAogCWVyciA9IGk5MTVfdGltZWxpbmVfcGluKHRsKTsKIAlpZiAoZXJyKSB7CkBA IC00NzgsNyArNDc4LDcgQEAgY2hlY2tlZF9pOTE1X3RpbWVsaW5lX2NyZWF0ZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKIAlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGw7CiAKLQl0 bCA9IGk5MTVfdGltZWxpbmVfY3JlYXRlKGk5MTUsIE5VTEwpOworCXRsID0gaTkxNV90aW1lbGlu ZV9jcmVhdGUoJmk5MTUtPmd0LCBOVUxMKTsKIAlpZiAoSVNfRVJSKHRsKSkKIAkJcmV0dXJuIHRs OwogCkBAIC02NjAsNyArNjYwLDcgQEAgc3RhdGljIGludCBsaXZlX2h3c3Bfd3JhcCh2b2lkICph cmcpCiAJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJd2FrZXJlZiA9IGlu dGVsX3J1bnRpbWVfcG1fZ2V0KGk5MTUpOwogCi0JdGwgPSBpOTE1X3RpbWVsaW5lX2NyZWF0ZShp OTE1LCBOVUxMKTsKKwl0bCA9IGk5MTVfdGltZWxpbmVfY3JlYXRlKCZpOTE1LT5ndCwgTlVMTCk7 CiAJaWYgKElTX0VSUih0bCkpIHsKIAkJZXJyID0gUFRSX0VSUih0bCk7CiAJCWdvdG8gb3V0X3Jw bTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVs aW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCmlu ZGV4IGUwODQ0NzY0NjllZi4uZTFhMjU2NzYxZDJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKQEAgLTEwLDcgKzEwLDcgQEAKIAogdm9pZCBt b2NrX3RpbWVsaW5lX2luaXQoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lLCB1NjQgY29u dGV4dCkKIHsKLQl0aW1lbGluZS0+aTkxNSA9IE5VTEw7CisJdGltZWxpbmUtPmd0ID0gTlVMTDsK IAl0aW1lbGluZS0+ZmVuY2VfY29udGV4dCA9IGNvbnRleHQ7CiAKIAlzcGluX2xvY2tfaW5pdCgm dGltZWxpbmUtPmxvY2spOwotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZng=