From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI 07/10] drm/i915/scheduler: Record all dependencies upon request construction Date: Mon, 14 Nov 2016 20:41:02 +0000 Message-ID: <20161114204105.29171-7-chris@chris-wilson.co.uk> References: <20161114204105.29171-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 mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 52B916E50A for ; Mon, 14 Nov 2016 20:41:15 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id m203so18805664wma.3 for ; Mon, 14 Nov 2016 12:41:15 -0800 (PST) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id j6sm30628364wjk.25.2016.11.14.12.41.12 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 14 Nov 2016 12:41:12 -0800 (PST) In-Reply-To: <20161114204105.29171-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 List-Id: intel-gfx@lists.freedesktop.org VGhlIHNjaGVkdWxlciBuZWVkcyB0byBrbm93IHRoZSBkZXBlbmRlbmNpZXMgb2YgZWFjaCByZXF1 ZXN0IGZvciB0aGUKbGlmZXRpbWUgb2YgdGhlIHJlcXVlc3QsIGFzIGl0IG1heSBjaG9vc2UgdG8g cmVzY2hlZHVsZSB0aGUgcmVxdWVzdHMgYXQKYW55IHRpbWUgYW5kIG11c3QgZW5zdXJlIHRoZSBk ZXBlbmRlbmN5IHRyZWUgaXMgbm90IGJyb2tlbi4gVGhpcyBpcyBpbgphZGRpdGlvbmFsIHRvIHVz aW5nIHRoZSBmZW5jZSB0byBvbmx5IGFsbG93IGV4ZWN1dGlvbiBhZnRlciBhbGwKZGVwZW5kZW5j aWVzIGhhdmUgYmVlbiBjb21wbGV0ZWQuCgpPbmUgb3B0aW9uIHdhcyB0byBleHRlbmQgdGhlIGZl bmNlIHRvIHN1cHBvcnQgdGhlIGJpZGlyZWN0aW9uYWwKZGVwZW5kZW5jeSB0cmFja2luZyByZXF1 aXJlZCBieSB0aGUgc2NoZWR1bGVyLiBIb3dldmVyIHRoZSBtaXNtYXRjaCBpbgpsaWZldGltZXMg YmV0d2VlbiB0aGUgc3VibWl0IGZlbmNlIGFuZCB0aGUgcmVxdWVzdCBlc3NlbnRpYWxseSBtZWFu dAp0aGF0IHdlIGhhZCB0byBidWlsZCBhIGNvbXBsZXRlbHkgc2VwYXJhdGUgc3RydWN0IChhbmQg d2UgY291bGQgbm90CnNpbXBseSByZXVzZSB0aGUgZXhpc3Rpbmcgd2FpdHF1ZXVlIGluIHRoZSBm ZW5jZSBmb3Igb25lIGhhbGYgb2YgdGhlCmRlcGVuZGVuY3kgdHJhY2tpbmcpLiBUaGUgZXh0cmEg ZGVwZW5kZW5jeSB0cmFja2luZyBzaW1wbHkgZGlkIG5vdCBtZXNoCndlbGwgd2l0aCB0aGUgZmVu Y2UsIGFuZCBrZWVwaW5nIGl0IHNlcGFyYXRlIGJvdGgga2VlcHMgdGhlIGZlbmNlCmltcGxlbWVu dGF0aW9uIHNpbXBsZXIgYW5kIGFsbG93cyB1cyB0byBleHRlbmQgdGhlIGRlcGVuZGVuY3kgdHJh Y2tpbmcKaW50byBhIHByaW9yaXR5IHRyZWUgKHdoaWxzdCBtYWludGFpbmluZyBzdXBwb3J0IGZv ciByZW9yZGVyaW5nIHRoZQp0cmVlKS4KClRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIGFsbG9jYXRp b25zIGFuZCBsaXN0IG1hbmlwdWxhdGlvbnMsIHRoZSB1c2Ugb2YKdGhlIHByaW90cmVlIGlzIGRp c2FibGVkIHdoZW4gdGhlcmUgYXJlIG5vIHNjaGVkdWxlcnMgdG8gdXNlIGl0LgoKdjI6IENyZWF0 ZSBhIGRlZGljYXRlZCBzbGFiIGZvciBpOTE1X2RlcGVuZGVuY3kuCiAgICBSZW5hbWUgdGhlIGxp c3RzLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+ClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICAxICsKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8IDExICsrKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyB8IDkxICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oIHwg MzMgKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDEzNCBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGM0YTE0ZGU5MjQ0MC4uNmFh ZDY5ZmU4Y2NmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE3NzgsNiArMTc3OCw3IEBA IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlzdHJ1Y3Qga21lbV9jYWNoZSAqb2JqZWN0czsK IAlzdHJ1Y3Qga21lbV9jYWNoZSAqdm1hczsKIAlzdHJ1Y3Qga21lbV9jYWNoZSAqcmVxdWVzdHM7 CisJc3RydWN0IGttZW1fY2FjaGUgKmRlcGVuZGVuY2llczsKIAogCWNvbnN0IHN0cnVjdCBpbnRl bF9kZXZpY2VfaW5mbyBpbmZvOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCA5NzQxZjFh MTk2NDkuLmZhZWNjZTNjNGQyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC00NDM0LDEy ICs0NDM0LDE4IEBAIGk5MTVfZ2VtX2xvYWRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog CWlmICghZGV2X3ByaXYtPnJlcXVlc3RzKQogCQlnb3RvIGVycl92bWFzOwogCisJZGV2X3ByaXYt PmRlcGVuZGVuY2llcyA9IEtNRU1fQ0FDSEUoaTkxNV9kZXBlbmRlbmN5LAorCQkJCQkgICAgU0xB Ql9IV0NBQ0hFX0FMSUdOIHwKKwkJCQkJICAgIFNMQUJfUkVDTEFJTV9BQ0NPVU5UKTsKKwlpZiAo IWRldl9wcml2LT5kZXBlbmRlbmNpZXMpCisJCWdvdG8gZXJyX3JlcXVlc3RzOworCiAJbXV0ZXhf bG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCUlOSVRfTElTVF9IRUFEKCZkZXZf cHJpdi0+Z3QudGltZWxpbmVzKTsKIAllcnIgPSBpOTE1X2dlbV90aW1lbGluZV9pbml0X19nbG9i YWwoZGV2X3ByaXYpOwogCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgp OwogCWlmIChlcnIpCi0JCWdvdG8gZXJyX3JlcXVlc3RzOworCQlnb3RvIGVycl9kZXBlbmRlbmNp ZXM7CiAKIAlJTklUX0xJU1RfSEVBRCgmZGV2X3ByaXYtPmNvbnRleHRfbGlzdCk7CiAJSU5JVF9X T1JLKCZkZXZfcHJpdi0+bW0uZnJlZV93b3JrLCBfX2k5MTVfZ2VtX2ZyZWVfd29yayk7CkBAIC00 NDY3LDYgKzQ0NzMsOCBAQCBpOTE1X2dlbV9sb2FkX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIAogCXJldHVybiAwOwogCitlcnJfZGVwZW5kZW5jaWVzOgorCWttZW1fY2FjaGVfZGVzdHJv eShkZXZfcHJpdi0+ZGVwZW5kZW5jaWVzKTsKIGVycl9yZXF1ZXN0czoKIAlrbWVtX2NhY2hlX2Rl c3Ryb3koZGV2X3ByaXYtPnJlcXVlc3RzKTsKIGVycl92bWFzOgpAQCAtNDQ4Myw2ICs0NDkxLDcg QEAgdm9pZCBpOTE1X2dlbV9sb2FkX2NsZWFudXAoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAog CVdBUk5fT04oIWxsaXN0X2VtcHR5KCZkZXZfcHJpdi0+bW0uZnJlZV9saXN0KSk7CiAKKwlrbWVt X2NhY2hlX2Rlc3Ryb3koZGV2X3ByaXYtPmRlcGVuZGVuY2llcyk7CiAJa21lbV9jYWNoZV9kZXN0 cm95KGRldl9wcml2LT5yZXF1ZXN0cyk7CiAJa21lbV9jYWNoZV9kZXN0cm95KGRldl9wcml2LT52 bWFzKTsKIAlrbWVtX2NhY2hlX2Rlc3Ryb3koZGV2X3ByaXYtPm9iamVjdHMpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IDExMThjZjQ4ZDZmMC4uNzhjODdkOTRk MjA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCkBAIC0xMTMsNiAr MTEzLDc3IEBAIGk5MTVfZ2VtX3JlcXVlc3RfcmVtb3ZlX2Zyb21fY2xpZW50KHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlzcGluX3VubG9jaygmZmlsZV9wcml2LT5tbS5s b2NrKTsKIH0KIAorc3RhdGljIHN0cnVjdCBpOTE1X2RlcGVuZGVuY3kgKgoraTkxNV9kZXBlbmRl bmN5X2FsbG9jKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCXJldHVybiBrbWVt X2NhY2hlX2FsbG9jKGk5MTUtPmRlcGVuZGVuY2llcywgR0ZQX0tFUk5FTCk7Cit9CisKK3N0YXRp YyB2b2lkCitpOTE1X2RlcGVuZGVuY3lfZnJlZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSwKKwkJICAgICBzdHJ1Y3QgaTkxNV9kZXBlbmRlbmN5ICpkZXApCit7CisJa21lbV9jYWNoZV9m cmVlKGk5MTUtPmRlcGVuZGVuY2llcywgZGVwKTsKK30KKworc3RhdGljIHZvaWQKK19faTkxNV9w cmlvdHJlZV9hZGRfZGVwZW5kZW5jeShzdHJ1Y3QgaTkxNV9wcmlvdHJlZSAqcHQsCisJCQkgICAg ICAgc3RydWN0IGk5MTVfcHJpb3RyZWUgKnNpZ25hbCwKKwkJCSAgICAgICBzdHJ1Y3QgaTkxNV9k ZXBlbmRlbmN5ICpkZXAsCisJCQkgICAgICAgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlsaXN0 X2FkZCgmZGVwLT53YWl0X2xpbmssICZzaWduYWwtPndhaXRlcnNfbGlzdCk7CisJbGlzdF9hZGQo JmRlcC0+c2lnbmFsX2xpbmssICZwdC0+c2lnbmFsZXJzX2xpc3QpOworCWRlcC0+c2lnbmFsZXIg PSBzaWduYWw7CisJZGVwLT5mbGFncyA9IGZsYWdzOworfQorCitzdGF0aWMgaW50CitpOTE1X3By aW90cmVlX2FkZF9kZXBlbmRlbmN5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorCQkJ ICAgICBzdHJ1Y3QgaTkxNV9wcmlvdHJlZSAqcHQsCisJCQkgICAgIHN0cnVjdCBpOTE1X3ByaW90 cmVlICpzaWduYWwpCit7CisJc3RydWN0IGk5MTVfZGVwZW5kZW5jeSAqZGVwOworCisJZGVwID0g aTkxNV9kZXBlbmRlbmN5X2FsbG9jKGk5MTUpOworCWlmICghZGVwKQorCQlyZXR1cm4gLUVOT01F TTsKKworCV9faTkxNV9wcmlvdHJlZV9hZGRfZGVwZW5kZW5jeShwdCwgc2lnbmFsLCBkZXAsIEk5 MTVfREVQRU5ERU5DWV9BTExPQyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCitpOTE1 X3ByaW90cmVlX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHN0cnVjdCBpOTE1 X3ByaW90cmVlICpwdCkKK3sKKwlzdHJ1Y3QgaTkxNV9kZXBlbmRlbmN5ICpkZXAsICpuZXh0Owor CisJLyogRXZlcnlvbmUgd2UgZGVwZW5kZWQgdXBvbiAodGhlIGZlbmNlcyB3ZSB3YWl0IHRvIGJl IHNpZ25hbGVkKQorCSAqIHNob3VsZCByZXRpcmUgYmVmb3JlIHVzIGFuZCByZW1vdmUgdGhlbXNl bHZlcyBmcm9tIG91ciBsaXN0LgorCSAqIEhvd2V2ZXIsIHJldGlyZW1lbnQgaXMgcnVuIGluZGVw ZW5kZW50bHkgb24gZWFjaCB0aW1lbGluZSBhbmQKKwkgKiBzbyB3ZSBtYXkgYmUgY2FsbGVkIG91 dC1vZi1vcmRlci4KKwkgKi8KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZGVwLCBuZXh0LCAm cHQtPnNpZ25hbGVyc19saXN0LCBzaWduYWxfbGluaykgeworCQlsaXN0X2RlbCgmZGVwLT53YWl0 X2xpbmspOworCQlpZiAoZGVwLT5mbGFncyAmIEk5MTVfREVQRU5ERU5DWV9BTExPQykKKwkJCWk5 MTVfZGVwZW5kZW5jeV9mcmVlKGk5MTUsIGRlcCk7CisJfQorCisJLyogUmVtb3ZlIG91cnNlbHZl cyBmcm9tIGV2ZXJ5b25lIHdobyBkZXBlbmRzIHVwb24gdXMgKi8KKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5X3NhZmUoZGVwLCBuZXh0LCAmcHQtPndhaXRlcnNfbGlzdCwgd2FpdF9saW5rKSB7CisJCWxp c3RfZGVsKCZkZXAtPnNpZ25hbF9saW5rKTsKKwkJaWYgKGRlcC0+ZmxhZ3MgJiBJOTE1X0RFUEVO REVOQ1lfQUxMT0MpCisJCQlpOTE1X2RlcGVuZGVuY3lfZnJlZShpOTE1LCBkZXApOworCX0KK30K Kworc3RhdGljIHZvaWQKK2k5MTVfcHJpb3RyZWVfaW5pdChzdHJ1Y3QgaTkxNV9wcmlvdHJlZSAq cHQpCit7CisJSU5JVF9MSVNUX0hFQUQoJnB0LT5zaWduYWxlcnNfbGlzdCk7CisJSU5JVF9MSVNU X0hFQUQoJnB0LT53YWl0ZXJzX2xpc3QpOworfQorCiB2b2lkIGk5MTVfZ2VtX3JldGlyZV9ub29w KHN0cnVjdCBpOTE1X2dlbV9hY3RpdmUgKmFjdGl2ZSwKIAkJCSAgc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXF1ZXN0KQogewpAQCAtMTgyLDYgKzI1Myw4IEBAIHN0YXRpYyB2b2lkIGk5 MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVz dCkKIAlpOTE1X2dlbV9jb250ZXh0X3B1dChyZXF1ZXN0LT5jdHgpOwogCiAJZG1hX2ZlbmNlX3Np Z25hbCgmcmVxdWVzdC0+ZmVuY2UpOworCisJaTkxNV9wcmlvdHJlZV9maW5pKHJlcXVlc3QtPmk5 MTUsICZyZXF1ZXN0LT5wcmlvdHJlZSk7CiAJaTkxNV9nZW1fcmVxdWVzdF9wdXQocmVxdWVzdCk7 CiB9CiAKQEAgLTQ2Nyw2ICs1NDAsOCBAQCBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkgKi8KIAlpOTE1X3N3X2ZlbmNlX2F3YWl0X3N3X2Zl bmNlKCZyZXEtPmV4ZWN1dGUsICZyZXEtPnN1Ym1pdCwgJnJlcS0+ZXhlY3EpOwogCisJaTkxNV9w cmlvdHJlZV9pbml0KCZyZXEtPnByaW90cmVlKTsKKwogCUlOSVRfTElTVF9IRUFEKCZyZXEtPmFj dGl2ZV9saXN0KTsKIAlyZXEtPmk5MTUgPSBkZXZfcHJpdjsKIAlyZXEtPmVuZ2luZSA9IGVuZ2lu ZTsKQEAgLTUyMCw2ICs1OTUsMTQgQEAgaTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9yZXF1ZXN0KHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqdG8sCiAKIAlHRU1fQlVHX09OKHRvID09IGZyb20p OwogCisJaWYgKHRvLT5lbmdpbmUtPnNjaGVkdWxlKSB7CisJCXJldCA9IGk5MTVfcHJpb3RyZWVf YWRkX2RlcGVuZGVuY3kodG8tPmk5MTUsCisJCQkJCQkgICAmdG8tPnByaW90cmVlLAorCQkJCQkJ ICAgJmZyb20tPnByaW90cmVlKTsKKwkJaWYgKHJldCA8IDApCisJCQlyZXR1cm4gcmV0OworCX0K KwogCWlmICh0by0+dGltZWxpbmUgPT0gZnJvbS0+dGltZWxpbmUpCiAJCXJldHVybiAwOwogCkBA IC03NDMsOSArODI2LDE1IEBAIHZvaWQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxdWVzdCwgYm9vbCBmbHVzaF9jYWNoZXMpCiAKIAlwcmV2ID0gaTkx NV9nZW1fYWN0aXZlX3JhdygmdGltZWxpbmUtPmxhc3RfcmVxdWVzdCwKIAkJCQkgICAmcmVxdWVz dC0+aTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Ci0JaWYgKHByZXYpCisJaWYgKHByZXYpIHsKIAkJ aTkxNV9zd19mZW5jZV9hd2FpdF9zd19mZW5jZSgmcmVxdWVzdC0+c3VibWl0LCAmcHJldi0+c3Vi bWl0LAogCQkJCQkgICAgICZyZXF1ZXN0LT5zdWJtaXRxKTsKKwkJaWYgKGVuZ2luZS0+c2NoZWR1 bGUpCisJCQlfX2k5MTVfcHJpb3RyZWVfYWRkX2RlcGVuZGVuY3koJnJlcXVlc3QtPnByaW90cmVl LAorCQkJCQkJICAgICAgICZwcmV2LT5wcmlvdHJlZSwKKwkJCQkJCSAgICAgICAmcmVxdWVzdC0+ ZGVwLAorCQkJCQkJICAgICAgIDApOworCX0KIAogCXNwaW5fbG9ja19pcnEoJnRpbWVsaW5lLT5s b2NrKTsKIAlsaXN0X2FkZF90YWlsKCZyZXF1ZXN0LT5saW5rLCAmdGltZWxpbmUtPnJlcXVlc3Rz KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaAppbmRleCA0ZDI3ODQ2MzNk OWYuLjk0M2MzOWQyYTYyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fcmVxdWVzdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3Qu aApAQCAtNDQsNiArNDQsMjggQEAgc3RydWN0IGludGVsX3NpZ25hbF9ub2RlIHsKIAlzdHJ1Y3Qg aW50ZWxfd2FpdCB3YWl0OwogfTsKIAorc3RydWN0IGk5MTVfZGVwZW5kZW5jeSB7CisJc3RydWN0 IGk5MTVfcHJpb3RyZWUgKnNpZ25hbGVyOworCXN0cnVjdCBsaXN0X2hlYWQgc2lnbmFsX2xpbms7 CisJc3RydWN0IGxpc3RfaGVhZCB3YWl0X2xpbms7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKyNk ZWZpbmUgSTkxNV9ERVBFTkRFTkNZX0FMTE9DIEJJVCgwKQorfTsKKworLyogUmVxdWVzdHMgZXhp c3QgaW4gYSBjb21wbGV4IHdlYiBvZiBpbnRlcmRlcGVuZGVuY2llcy4gRWFjaCByZXF1ZXN0Cisg KiBoYXMgdG8gd2FpdCBmb3Igc29tZSBvdGhlciByZXF1ZXN0IHRvIGNvbXBsZXRlIGJlZm9yZSBp dCBpcyByZWFkeSB0byBiZSBydW4KKyAqIChlLmcuIHdlIGhhdmUgdG8gd2FpdCB1bnRpbCB0aGUg cGl4ZWxzIGhhdmUgYmVlbiByZW5kZXJpbmcgaW50byBhIHRleHR1cmUKKyAqIGJlZm9yZSB3ZSBj YW4gY29weSBmcm9tIGl0KS4gV2UgdHJhY2sgdGhlIHJlYWRpbmVzcyBvZiBhIHJlcXVlc3QgaW4g dGVybXMKKyAqIG9mIGZlbmNlcywgYnV0IHdlIGFsc28gbmVlZCB0byBrZWVwIHRoZSBkZXBlbmRl bmN5IHRyZWUgZm9yIHRoZSBsaWZldGltZQorICogb2YgdGhlIHJlcXVlc3QgKGJleW9uZCB0aGUg bGlmZSBvZiBhbiBpbmRpdmlkdWFsIGZlbmNlKS4gV2UgdXNlIHRoZSB0cmVlCisgKiBhdCB2YXJp b3VzIHBvaW50cyB0byByZW9yZGVyIHRoZSByZXF1ZXN0cyB3aGlsc3Qga2VlcGluZyB0aGUgcmVx dWVzdHMKKyAqIGluIG9yZGVyIHdpdGggcmVzcGVjdCB0byB0aGVpciB2YXJpb3VzIGRlcGVuZGVu Y2llcy4KKyAqLworc3RydWN0IGk5MTVfcHJpb3RyZWUgeworCXN0cnVjdCBsaXN0X2hlYWQgc2ln bmFsZXJzX2xpc3Q7IC8qIHRob3NlIGJlZm9yZSB1cywgd2UgZGVwZW5kIHVwb24gKi8KKwlzdHJ1 Y3QgbGlzdF9oZWFkIHdhaXRlcnNfbGlzdDsgLyogdGhvc2UgYWZ0ZXIgdXMsIHRoZXkgZGVwZW5k IHVwb24gdXMgKi8KK307CisKIC8qKgogICogUmVxdWVzdCBxdWV1ZSBzdHJ1Y3R1cmUuCiAgKgpA QCAtMTA1LDYgKzEyNywxNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgewogCXdhaXRf cXVldWVfdCBzdWJtaXRxOwogCXdhaXRfcXVldWVfdCBleGVjcTsKIAorCS8qIEEgbGlzdCBvZiBl dmVyeW9uZSB3ZSB3YWl0IHVwb24sIGFuZCBldmVyeW9uZSB3aG8gd2FpdHMgdXBvbiB1cy4KKwkg KiBFdmVuIHRob3VnaCB3ZSB3aWxsIG5vdCBiZSBzdWJtaXR0ZWQgdG8gdGhlIGhhcmR3YXJlIGJl Zm9yZSB0aGUKKwkgKiBzdWJtaXQgZmVuY2UgaXMgc2lnbmFsZWQgKGl0IHdhaXRzIGZvciBhbGwg ZXh0ZXJuYWwgZXZlbnRzIGFzIHdlbGwKKwkgKiBhcyBvdXIgb3duIHJlcXVlc3RzKSwgdGhlIHNj aGVkdWxlciBzdGlsbCBuZWVkcyB0byBrbm93IHRoZQorCSAqIGRlcGVuZGVuY3kgdHJlZSBmb3Ig dGhlIGxpZmV0aW1lIG9mIHRoZSByZXF1ZXN0IChmcm9tIGV4ZWNidWYKKwkgKiB0byByZXRpcmVt ZW50KSwgaS5lLiBiaWRpcmVjdGlvbmFsIGRlcGVuZGVuY3kgaW5mb3JtYXRpb24gZm9yIHRoZQor CSAqIHJlcXVlc3Qgbm90IHRpZWQgdG8gaW5kaXZpZHVhbCBmZW5jZXMuCisJICovCisJc3RydWN0 IGk5MTVfcHJpb3RyZWUgcHJpb3RyZWU7CisJc3RydWN0IGk5MTVfZGVwZW5kZW5jeSBkZXA7CisK IAl1MzIgZ2xvYmFsX3NlcW5vOwogCiAJLyoqIEdFTSBzZXF1ZW5jZSBudW1iZXIgYXNzb2NpYXRl ZCB3aXRoIHRoZSBwcmV2aW91cyByZXF1ZXN0LAotLSAKMi4xMC4yCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK