From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 09/43] drm/i915: Track active engines within a context Date: Wed, 6 Mar 2019 14:24:43 +0000 Message-ID: <20190306142517.22558-10-chris@chris-wilson.co.uk> References: <20190306142517.22558-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 910606E0E4 for ; Wed, 6 Mar 2019 14:27:21 +0000 (UTC) In-Reply-To: <20190306142517.22558-1-chris@chris-wilson.co.uk> 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 Cc: matthew.auld@intel.com List-Id: intel-gfx@lists.freedesktop.org Rm9yIHVzZSBpbiB0aGUgbmV4dCBwYXRjaCwgaWYgd2UgdHJhY2sgd2hpY2ggZW5naW5lcyBoYXZl IGJlZW4gdXNlZCBieQp0aGUgSFcsIHdlIGNhbiByZWR1Y2UgdGhlIHdvcmsgcmVxdWlyZWQgdG8g Zmx1c2ggb3VyIHN0YXRlIG9mZiB0aGUgSFcgdG8KdGhvc2UgZW5naW5lcy4KClNpZ25lZC1vZmYt Ynk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZpZXdlZC1ieTog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgICAgICAgfCAxOCArKysrKy0tLS0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAgICAgICB8ICA1ICsrKysr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmggICAgICAgfCAgNSArKysr KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgICAgIHwgMjIgKysr KysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5j ICAgICAgIHwgMTQgKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv bW9ja19jb250ZXh0LmMgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21v Y2tfZW5naW5lLmMgIHwgIDYgKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygr KSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCAw YTYzNDhhZDdjOTguLjZhOTA1NThkZTIxMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMKQEAgLTM4OCwxMiArMzg4LDkgQEAgc3RhdGljIHZvaWQgcHJpbnRfY29udGV4dF9zdGF0cyhz dHJ1Y3Qgc2VxX2ZpbGUgKm0sCiAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKIAogCWxp c3RfZm9yX2VhY2hfZW50cnkoY3R4LCAmaTkxNS0+Y29udGV4dHMubGlzdCwgbGluaykgewotCQlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Ci0JCWVudW0gaW50ZWxfZW5naW5lX2lkIGlk OwotCi0JCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5MTUsIGlkKSB7Ci0JCQlzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY2UgPSB0b19pbnRlbF9jb250ZXh0KGN0eCwgZW5naW5lKTsKKwkJc3RydWN0 IGludGVsX2NvbnRleHQgKmNlOwogCisJCWxpc3RfZm9yX2VhY2hfZW50cnkoY2UsICZjdHgtPmFj dGl2ZV9lbmdpbmVzLCBhY3RpdmVfbGluaykgewogCQkJaWYgKGNlLT5zdGF0ZSkKIAkJCQlwZXJf ZmlsZV9zdGF0cygwLCBjZS0+c3RhdGUtPm9iaiwgJmtzdGF0cyk7CiAJCQlpZiAoY2UtPnJpbmcp CkBAIC0xODgwLDkgKzE4NzcsNyBAQCBzdGF0aWMgaW50IGk5MTVfY29udGV4dF9zdGF0dXMoc3Ry dWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gbm9kZV90b19pOTE1KG0tPnByaXZhdGUpOwogCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSAmZGV2X3ByaXYtPmRybTsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmU7CiAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKLQllbnVtIGludGVsX2VuZ2luZV9p ZCBpZDsKIAlpbnQgcmV0OwogCiAJcmV0ID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZkZXYt PnN0cnVjdF9tdXRleCk7CkBAIC0xODkwLDYgKzE4ODUsOCBAQCBzdGF0aWMgaW50IGk5MTVfY29u dGV4dF9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiAJCXJldHVybiBy ZXQ7CiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGN0eCwgJmRldl9wcml2LT5jb250ZXh0cy5saXN0 LCBsaW5rKSB7CisJCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZTsKKwogCQlzZXFfcHV0cyhtLCAi SFcgY29udGV4dCAiKTsKIAkJaWYgKCFsaXN0X2VtcHR5KCZjdHgtPmh3X2lkX2xpbmspKQogCQkJ c2VxX3ByaW50ZihtLCAiJXggW3BpbiAldV0iLCBjdHgtPmh3X2lkLApAQCAtMTkxMiwxMSArMTkw OSw4IEBAIHN0YXRpYyBpbnQgaTkxNV9jb250ZXh0X3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0s IHZvaWQgKnVudXNlZCkKIAkJc2VxX3B1dGMobSwgY3R4LT5yZW1hcF9zbGljZSA/ICdSJyA6ICdy Jyk7CiAJCXNlcV9wdXRjKG0sICdcbicpOwogCi0JCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRl dl9wcml2LCBpZCkgewotCQkJc3RydWN0IGludGVsX2NvbnRleHQgKmNlID0KLQkJCQl0b19pbnRl bF9jb250ZXh0KGN0eCwgZW5naW5lKTsKLQotCQkJc2VxX3ByaW50ZihtLCAiJXM6ICIsIGVuZ2lu ZS0+bmFtZSk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkoY2UsICZjdHgtPmFjdGl2ZV9lbmdpbmVz LCBhY3RpdmVfbGluaykgeworCQkJc2VxX3ByaW50ZihtLCAiJXM6ICIsIGNlLT5lbmdpbmUtPm5h bWUpOwogCQkJaWYgKGNlLT5zdGF0ZSkKIAkJCQlkZXNjcmliZV9vYmoobSwgY2UtPnN0YXRlLT5v YmopOwogCQkJaWYgKGNlLT5yaW5nKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jCmluZGV4IDQ4NjIwM2U5ZDIwNS4uZDk5NzY5NWE0Zjc3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fY29udGV4dC5jCkBAIC0yMjYsNiArMjI2LDcgQEAgc3RhdGljIHZvaWQgaTkx NV9nZW1fY29udGV4dF9mcmVlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCiAKIAlsb2Nr ZGVwX2Fzc2VydF9oZWxkKCZjdHgtPmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCUdFTV9CVUdf T04oIWk5MTVfZ2VtX2NvbnRleHRfaXNfY2xvc2VkKGN0eCkpOworCUdFTV9CVUdfT04oIWxpc3Rf ZW1wdHkoJmN0eC0+YWN0aXZlX2VuZ2luZXMpKTsKIAogCXJlbGVhc2VfaHdfaWQoY3R4KTsKIAlp OTE1X3BwZ3R0X3B1dChjdHgtPnBwZ3R0KTsKQEAgLTI0MSw2ICsyNDIsNyBAQCBzdGF0aWMgdm9p ZCBpOTE1X2dlbV9jb250ZXh0X2ZyZWUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKIAlw dXRfcGlkKGN0eC0+cGlkKTsKIAogCWxpc3RfZGVsKCZjdHgtPmxpbmspOworCW11dGV4X2Rlc3Ry b3koJmN0eC0+bXV0ZXgpOwogCiAJa2ZyZWVfcmN1KGN0eCwgcmN1KTsKIH0KQEAgLTM1Myw2ICsz NTUsNyBAQCBpbnRlbF9jb250ZXh0X2luaXQoc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAogCQkg ICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJY2UtPmdlbV9jb250ZXh0ID0g Y3R4OworCWNlLT5lbmdpbmUgPSBlbmdpbmU7CiAKIAlJTklUX0xJU1RfSEVBRCgmY2UtPnNpZ25h bF9saW5rKTsKIAlJTklUX0xJU1RfSEVBRCgmY2UtPnNpZ25hbHMpOwpAQCAtMzgxLDYgKzM4NCw4 IEBAIF9fY3JlYXRlX2h3X2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCWxpc3RfYWRkX3RhaWwoJmN0eC0+bGluaywgJmRldl9wcml2LT5jb250ZXh0cy5saXN0KTsK IAljdHgtPmk5MTUgPSBkZXZfcHJpdjsKIAljdHgtPnNjaGVkLnByaW9yaXR5ID0gSTkxNV9VU0VS X1BSSU9SSVRZKEk5MTVfUFJJT1JJVFlfTk9STUFMKTsKKwlJTklUX0xJU1RfSEVBRCgmY3R4LT5h Y3RpdmVfZW5naW5lcyk7CisJbXV0ZXhfaW5pdCgmY3R4LT5tdXRleCk7CiAKIAlmb3IgKG4gPSAw OyBuIDwgQVJSQVlfU0laRShjdHgtPl9fZW5naW5lKTsgbisrKQogCQlpbnRlbF9jb250ZXh0X2lu aXQoJmN0eC0+X19lbmdpbmVbbl0sIGN0eCwgZGV2X3ByaXYtPmVuZ2luZVtuXSk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmgKaW5kZXggZTExODhkNzdhMjNkLi4xMjRjMmEw ODJiOTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmgKQEAgLTE2Myw2 ICsxNjMsOSBAQCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCB7CiAJYXRvbWljX3QgaHdfaWRfcGlu X2NvdW50OwogCXN0cnVjdCBsaXN0X2hlYWQgaHdfaWRfbGluazsKIAorCXN0cnVjdCBsaXN0X2hl YWQgYWN0aXZlX2VuZ2luZXM7CisJc3RydWN0IG11dGV4IG11dGV4OworCiAJLyoqCiAJICogQHVz ZXJfaGFuZGxlOiB1c2Vyc3BhY2UgaWRlbnRpZmllcgogCSAqCkBAIC0xNzYsNyArMTc5LDkgQEAg c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgewogCS8qKiBlbmdpbmU6IHBlci1lbmdpbmUgbG9naWNh bCBIVyBzdGF0ZSAqLwogCXN0cnVjdCBpbnRlbF9jb250ZXh0IHsKIAkJc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmdlbV9jb250ZXh0OworCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7 CiAJCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmFjdGl2ZTsKKwkJc3RydWN0IGxpc3RfaGVhZCBh Y3RpdmVfbGluazsKIAkJc3RydWN0IGxpc3RfaGVhZCBzaWduYWxfbGluazsKIAkJc3RydWN0IGxp c3RfaGVhZCBzaWduYWxzOwogCQlzdHJ1Y3QgaTkxNV92bWEgKnN0YXRlOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYwppbmRleCBmMGJhMjBmMmI0MWQuLmE5YTQ3ZGJlYWM4OCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKQEAgLTEyODIsNiArMTI4Miw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0 c19jb250ZXh0X3VucGluKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKIAlpOTE1X2dlbV9vYmpl Y3RfdW5waW5fbWFwKGNlLT5zdGF0ZS0+b2JqKTsKIAlpOTE1X3ZtYV91bnBpbihjZS0+c3RhdGUp OwogCisJbGlzdF9kZWwoJmNlLT5hY3RpdmVfbGluayk7CiAJaTkxNV9nZW1fY29udGV4dF9wdXQo Y2UtPmdlbV9jb250ZXh0KTsKIH0KIApAQCAtMTM2Niw2ICsxMzY3LDExIEBAIF9fZXhlY2xpc3Rz X2NvbnRleHRfcGluKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAlfX2V4ZWNsaXN0 c191cGRhdGVfcmVnX3N0YXRlKGVuZ2luZSwgY2UpOwogCiAJY2UtPnN0YXRlLT5vYmotPnBpbl9n bG9iYWwrKzsKKworCW11dGV4X2xvY2soJmN0eC0+bXV0ZXgpOworCWxpc3RfYWRkKCZjZS0+YWN0 aXZlX2xpbmssICZjdHgtPmFjdGl2ZV9lbmdpbmVzKTsKKwltdXRleF91bmxvY2soJmN0eC0+bXV0 ZXgpOworCiAJaTkxNV9nZW1fY29udGV4dF9nZXQoY3R4KTsKIAlyZXR1cm4gY2U7CiAKQEAgLTI4 ODcsOSArMjg5Myw4IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxs b2Moc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKIAogdm9pZCBpbnRlbF9scl9jb250ZXh0 X3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmU7CiAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKLQllbnVt IGludGVsX2VuZ2luZV9pZCBpZDsKKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2U7CiAKIAkvKgog CSAqIEJlY2F1c2Ugd2UgZW1pdCBXQV9UQUlMX0RXT1JEUyB0aGVyZSBtYXkgYmUgYSBkaXNwYXJp dHkKQEAgLTI5MDMsMTcgKzI5MDgsMTAgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc3VtZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkgKiBzaW1wbGljaXR5LCB3ZSBqdXN0IHpl cm8gZXZlcnl0aGluZyBvdXQuCiAJICovCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjdHgsICZpOTE1 LT5jb250ZXh0cy5saXN0LCBsaW5rKSB7Ci0JCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5MTUs IGlkKSB7Ci0JCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UgPQotCQkJCXRvX2ludGVsX2NvbnRl eHQoY3R4LCBlbmdpbmUpOwotCi0JCQlpZiAoIWNlLT5zdGF0ZSkKLQkJCQljb250aW51ZTsKLQor CQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNlLCAmY3R4LT5hY3RpdmVfZW5naW5lcywgYWN0aXZlX2xp bmspIHsKKwkJCUdFTV9CVUdfT04oIWNlLT5yaW5nKTsKIAkJCWludGVsX3JpbmdfcmVzZXQoY2Ut PnJpbmcsIDApOwotCi0JCQlpZiAoY2UtPnBpbl9jb3VudCkgLyogb3RoZXJ3aXNlIGRvbmUgaW4g Y29udGV4dF9waW4gKi8KLQkJCQlfX2V4ZWNsaXN0c191cGRhdGVfcmVnX3N0YXRlKGVuZ2luZSwg Y2UpOworCQkJX19leGVjbGlzdHNfdXBkYXRlX3JlZ19zdGF0ZShjZS0+ZW5naW5lLCBjZSk7CiAJ CX0KIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggMWRk MGM5OWI4OTNmLi44MmYzM2ZmOTRkYzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmMKQEAgLTE0MzEsNiArMTQzMSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3JpbmdfY29u dGV4dF91bnBpbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAJX19jb250ZXh0X3VucGluX3Bw Z3R0KGNlLT5nZW1fY29udGV4dCk7CiAJX19jb250ZXh0X3VucGluKGNlKTsKIAorCWxpc3RfZGVs KCZjZS0+YWN0aXZlX2xpbmspOwogCWk5MTVfZ2VtX2NvbnRleHRfcHV0KGNlLT5nZW1fY29udGV4 dCk7CiB9CiAKQEAgLTE1MTAsNiArMTUxMSwxMCBAQCBfX3JpbmdfY29udGV4dF9waW4oc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogewogCWludCBlcnI7CiAKKwkvKiBPbmUgcmluZ2J1 ZmZlciB0byBydWxlIHRoZW0gYWxsICovCisJR0VNX0JVR19PTighZW5naW5lLT5idWZmZXIpOwor CWNlLT5yaW5nID0gZW5naW5lLT5idWZmZXI7CisKIAlpZiAoIWNlLT5zdGF0ZSAmJiBlbmdpbmUt PmNvbnRleHRfc2l6ZSkgewogCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIApAQCAtMTUzMCwxMiAr MTUzNSwxMSBAQCBfX3JpbmdfY29udGV4dF9waW4oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lLAogCWlmIChlcnIpCiAJCWdvdG8gZXJyX3VucGluOwogCi0JaTkxNV9nZW1fY29udGV4dF9n ZXQoY3R4KTsKLQotCS8qIE9uZSByaW5nYnVmZmVyIHRvIHJ1bGUgdGhlbSBhbGwgKi8KLQlHRU1f QlVHX09OKCFlbmdpbmUtPmJ1ZmZlcik7Ci0JY2UtPnJpbmcgPSBlbmdpbmUtPmJ1ZmZlcjsKKwlt dXRleF9sb2NrKCZjdHgtPm11dGV4KTsKKwlsaXN0X2FkZCgmY2UtPmFjdGl2ZV9saW5rLCAmY3R4 LT5hY3RpdmVfZW5naW5lcyk7CisJbXV0ZXhfdW5sb2NrKCZjdHgtPm11dGV4KTsKIAorCWk5MTVf Z2VtX2NvbnRleHRfZ2V0KGN0eCk7CiAJcmV0dXJuIGNlOwogCiBlcnJfdW5waW46CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19jb250ZXh0LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19jb250ZXh0LmMKaW5kZXggYjY0NmNkY2Rk NjAyLi4zNTNiMzdiOWY3OGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9tb2NrX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv bW9ja19jb250ZXh0LmMKQEAgLTQ0LDYgKzQ0LDggQEAgbW9ja19jb250ZXh0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1LAogCUlOSVRfUkFESVhfVFJFRSgmY3R4LT5oYW5kbGVzX3ZtYSwg R0ZQX0tFUk5FTCk7CiAJSU5JVF9MSVNUX0hFQUQoJmN0eC0+aGFuZGxlc19saXN0KTsKIAlJTklU X0xJU1RfSEVBRCgmY3R4LT5od19pZF9saW5rKTsKKwlJTklUX0xJU1RfSEVBRCgmY3R4LT5hY3Rp dmVfZW5naW5lcyk7CisJbXV0ZXhfaW5pdCgmY3R4LT5tdXRleCk7CiAKIAlmb3IgKG4gPSAwOyBu IDwgQVJSQVlfU0laRShjdHgtPl9fZW5naW5lKTsgbisrKQogCQlpbnRlbF9jb250ZXh0X2luaXQo JmN0eC0+X19lbmdpbmVbbl0sIGN0eCwgaTkxNS0+ZW5naW5lW25dKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2VuZ2luZS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZW5naW5lLmMKaW5kZXggYzJjOTU0ZjY0MjI2Li44MDMy YThhOTU0MmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2Nr X2VuZ2luZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2VuZ2lu ZS5jCkBAIC0xMjUsNiArMTI1LDcgQEAgc3RhdGljIHZvaWQgaHdfZGVsYXlfY29tcGxldGUoc3Ry dWN0IHRpbWVyX2xpc3QgKnQpCiBzdGF0aWMgdm9pZCBtb2NrX2NvbnRleHRfdW5waW4oc3RydWN0 IGludGVsX2NvbnRleHQgKmNlKQogewogCW1vY2tfdGltZWxpbmVfdW5waW4oY2UtPnJpbmctPnRp bWVsaW5lKTsKKwlsaXN0X2RlbCgmY2UtPmFjdGl2ZV9saW5rKTsKIAlpOTE1X2dlbV9jb250ZXh0 X3B1dChjZS0+Z2VtX2NvbnRleHQpOwogfQogCkBAIC0xNjAsNiArMTYxLDExIEBAIG1vY2tfY29u dGV4dF9waW4oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCW1vY2tfdGltZWxpbmVf cGluKGNlLT5yaW5nLT50aW1lbGluZSk7CiAKIAljZS0+b3BzID0gJm1vY2tfY29udGV4dF9vcHM7 CisKKwltdXRleF9sb2NrKCZjdHgtPm11dGV4KTsKKwlsaXN0X2FkZCgmY2UtPmFjdGl2ZV9saW5r LCAmY3R4LT5hY3RpdmVfZW5naW5lcyk7CisJbXV0ZXhfdW5sb2NrKCZjdHgtPm11dGV4KTsKKwog CWk5MTVfZ2VtX2NvbnRleHRfZ2V0KGN0eCk7CiAJcmV0dXJuIGNlOwogCi0tIAoyLjIwLjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==