From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v3 07/14] drm/i915/scheduler: Record all dependencies upon request construction Date: Mon, 14 Nov 2016 08:56:56 +0000 Message-ID: <20161114085703.16540-7-chris@chris-wilson.co.uk> References: <20161107135950.28861-1-chris@chris-wilson.co.uk> <20161114085703.16540-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 380F66E35B for ; Mon, 14 Nov 2016 08:57:17 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id a20so13342873wme.2 for ; Mon, 14 Nov 2016 00:57:17 -0800 (PST) In-Reply-To: <20161114085703.16540-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+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDEgKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgMTEgKysrLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIHwgOTEgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0Lmgg fCAzMyArKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggYzBmMWRmYzcxMTllLi5h YjRhZDU1MjJjZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTc3OCw2ICsxNzc4LDcg QEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCXN0cnVjdCBrbWVtX2NhY2hlICpvYmplY3Rz OwogCXN0cnVjdCBrbWVtX2NhY2hlICp2bWFzOwogCXN0cnVjdCBrbWVtX2NhY2hlICpyZXF1ZXN0 czsKKwlzdHJ1Y3Qga21lbV9jYWNoZSAqZGVwZW5kZW5jaWVzOwogCiAJY29uc3Qgc3RydWN0IGlu dGVsX2RldmljZV9pbmZvIGluZm87CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGUxYWZh MTE2MDlhMC4uYjMzMWU1OTY2ZmUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTQ0MzEs MTIgKzQ0MzEsMTggQEAgaTkxNV9nZW1fbG9hZF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiAJaWYgKCFkZXZfcHJpdi0+cmVxdWVzdHMpCiAJCWdvdG8gZXJyX3ZtYXM7CiAKKwlkZXZfcHJp di0+ZGVwZW5kZW5jaWVzID0gS01FTV9DQUNIRShpOTE1X2RlcGVuZGVuY3ksCisJCQkJCSAgICBT TEFCX0hXQ0FDSEVfQUxJR04gfAorCQkJCQkgICAgU0xBQl9SRUNMQUlNX0FDQ09VTlQpOworCWlm ICghZGV2X3ByaXYtPmRlcGVuZGVuY2llcykKKwkJZ290byBlcnJfcmVxdWVzdHM7CisKIAltdXRl eF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJSU5JVF9MSVNUX0hFQUQoJmRl dl9wcml2LT5ndC50aW1lbGluZXMpOwogCWVyciA9IGk5MTVfZ2VtX3RpbWVsaW5lX2luaXRfX2ds b2JhbChkZXZfcHJpdik7CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRl eCk7CiAJaWYgKGVycikKLQkJZ290byBlcnJfcmVxdWVzdHM7CisJCWdvdG8gZXJyX2RlcGVuZGVu Y2llczsKIAogCUlOSVRfTElTVF9IRUFEKCZkZXZfcHJpdi0+Y29udGV4dF9saXN0KTsKIAlJTklU X1dPUksoJmRldl9wcml2LT5tbS5mcmVlX3dvcmssIF9faTkxNV9nZW1fZnJlZV93b3JrKTsKQEAg LTQ0NjQsNiArNDQ3MCw4IEBAIGk5MTVfZ2VtX2xvYWRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCiAJcmV0dXJuIDA7CiAKK2Vycl9kZXBlbmRlbmNpZXM6CisJa21lbV9jYWNoZV9kZXN0 cm95KGRldl9wcml2LT5kZXBlbmRlbmNpZXMpOwogZXJyX3JlcXVlc3RzOgogCWttZW1fY2FjaGVf ZGVzdHJveShkZXZfcHJpdi0+cmVxdWVzdHMpOwogZXJyX3ZtYXM6CkBAIC00NDgwLDYgKzQ0ODgs NyBAQCB2b2lkIGk5MTVfZ2VtX2xvYWRfY2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog CiAJV0FSTl9PTighbGxpc3RfZW1wdHkoJmRldl9wcml2LT5tbS5mcmVlX2xpc3QpKTsKIAorCWtt ZW1fY2FjaGVfZGVzdHJveShkZXZfcHJpdi0+ZGVwZW5kZW5jaWVzKTsKIAlrbWVtX2NhY2hlX2Rl c3Ryb3koZGV2X3ByaXYtPnJlcXVlc3RzKTsKIAlrbWVtX2NhY2hlX2Rlc3Ryb3koZGV2X3ByaXYt PnZtYXMpOwogCWttZW1fY2FjaGVfZGVzdHJveShkZXZfcHJpdi0+b2JqZWN0cyk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKaW5kZXggMTExOGNmNDhkNmYwLi43OGM4N2Q5 NGQyMDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3Qu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKQEAgLTExMyw2 ICsxMTMsNzcgQEAgaTkxNV9nZW1fcmVxdWVzdF9yZW1vdmVfZnJvbV9jbGllbnQoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQogCXNwaW5fdW5sb2NrKCZmaWxlX3ByaXYtPm1t LmxvY2spOwogfQogCitzdGF0aWMgc3RydWN0IGk5MTVfZGVwZW5kZW5jeSAqCitpOTE1X2RlcGVu ZGVuY3lfYWxsb2Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJcmV0dXJuIGtt ZW1fY2FjaGVfYWxsb2MoaTkxNS0+ZGVwZW5kZW5jaWVzLCBHRlBfS0VSTkVMKTsKK30KKworc3Rh dGljIHZvaWQKK2k5MTVfZGVwZW5kZW5jeV9mcmVlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1LAorCQkgICAgIHN0cnVjdCBpOTE1X2RlcGVuZGVuY3kgKmRlcCkKK3sKKwlrbWVtX2NhY2hl X2ZyZWUoaTkxNS0+ZGVwZW5kZW5jaWVzLCBkZXApOworfQorCitzdGF0aWMgdm9pZAorX19pOTE1 X3ByaW90cmVlX2FkZF9kZXBlbmRlbmN5KHN0cnVjdCBpOTE1X3ByaW90cmVlICpwdCwKKwkJCSAg ICAgICBzdHJ1Y3QgaTkxNV9wcmlvdHJlZSAqc2lnbmFsLAorCQkJICAgICAgIHN0cnVjdCBpOTE1 X2RlcGVuZGVuY3kgKmRlcCwKKwkJCSAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCWxp c3RfYWRkKCZkZXAtPndhaXRfbGluaywgJnNpZ25hbC0+d2FpdGVyc19saXN0KTsKKwlsaXN0X2Fk ZCgmZGVwLT5zaWduYWxfbGluaywgJnB0LT5zaWduYWxlcnNfbGlzdCk7CisJZGVwLT5zaWduYWxl ciA9IHNpZ25hbDsKKwlkZXAtPmZsYWdzID0gZmxhZ3M7Cit9CisKK3N0YXRpYyBpbnQKK2k5MTVf cHJpb3RyZWVfYWRkX2RlcGVuZGVuY3koc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJ CQkgICAgIHN0cnVjdCBpOTE1X3ByaW90cmVlICpwdCwKKwkJCSAgICAgc3RydWN0IGk5MTVfcHJp b3RyZWUgKnNpZ25hbCkKK3sKKwlzdHJ1Y3QgaTkxNV9kZXBlbmRlbmN5ICpkZXA7CisKKwlkZXAg PSBpOTE1X2RlcGVuZGVuY3lfYWxsb2MoaTkxNSk7CisJaWYgKCFkZXApCisJCXJldHVybiAtRU5P TUVNOworCisJX19pOTE1X3ByaW90cmVlX2FkZF9kZXBlbmRlbmN5KHB0LCBzaWduYWwsIGRlcCwg STkxNV9ERVBFTkRFTkNZX0FMTE9DKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK2k5 MTVfcHJpb3RyZWVfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3RydWN0IGk5 MTVfcHJpb3RyZWUgKnB0KQoreworCXN0cnVjdCBpOTE1X2RlcGVuZGVuY3kgKmRlcCwgKm5leHQ7 CisKKwkvKiBFdmVyeW9uZSB3ZSBkZXBlbmRlZCB1cG9uICh0aGUgZmVuY2VzIHdlIHdhaXQgdG8g YmUgc2lnbmFsZWQpCisJICogc2hvdWxkIHJldGlyZSBiZWZvcmUgdXMgYW5kIHJlbW92ZSB0aGVt c2VsdmVzIGZyb20gb3VyIGxpc3QuCisJICogSG93ZXZlciwgcmV0aXJlbWVudCBpcyBydW4gaW5k ZXBlbmRlbnRseSBvbiBlYWNoIHRpbWVsaW5lIGFuZAorCSAqIHNvIHdlIG1heSBiZSBjYWxsZWQg b3V0LW9mLW9yZGVyLgorCSAqLworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShkZXAsIG5leHQs ICZwdC0+c2lnbmFsZXJzX2xpc3QsIHNpZ25hbF9saW5rKSB7CisJCWxpc3RfZGVsKCZkZXAtPndh aXRfbGluayk7CisJCWlmIChkZXAtPmZsYWdzICYgSTkxNV9ERVBFTkRFTkNZX0FMTE9DKQorCQkJ aTkxNV9kZXBlbmRlbmN5X2ZyZWUoaTkxNSwgZGVwKTsKKwl9CisKKwkvKiBSZW1vdmUgb3Vyc2Vs dmVzIGZyb20gZXZlcnlvbmUgd2hvIGRlcGVuZHMgdXBvbiB1cyAqLworCWxpc3RfZm9yX2VhY2hf ZW50cnlfc2FmZShkZXAsIG5leHQsICZwdC0+d2FpdGVyc19saXN0LCB3YWl0X2xpbmspIHsKKwkJ bGlzdF9kZWwoJmRlcC0+c2lnbmFsX2xpbmspOworCQlpZiAoZGVwLT5mbGFncyAmIEk5MTVfREVQ RU5ERU5DWV9BTExPQykKKwkJCWk5MTVfZGVwZW5kZW5jeV9mcmVlKGk5MTUsIGRlcCk7CisJfQor fQorCitzdGF0aWMgdm9pZAoraTkxNV9wcmlvdHJlZV9pbml0KHN0cnVjdCBpOTE1X3ByaW90cmVl ICpwdCkKK3sKKwlJTklUX0xJU1RfSEVBRCgmcHQtPnNpZ25hbGVyc19saXN0KTsKKwlJTklUX0xJ U1RfSEVBRCgmcHQtPndhaXRlcnNfbGlzdCk7Cit9CisKIHZvaWQgaTkxNV9nZW1fcmV0aXJlX25v b3Aoc3RydWN0IGk5MTVfZ2VtX2FjdGl2ZSAqYWN0aXZlLAogCQkJICBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcXVlc3QpCiB7CkBAIC0xODIsNiArMjUzLDggQEAgc3RhdGljIHZvaWQg aTkxNV9nZW1fcmVxdWVzdF9yZXRpcmUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1 ZXN0KQogCWk5MTVfZ2VtX2NvbnRleHRfcHV0KHJlcXVlc3QtPmN0eCk7CiAKIAlkbWFfZmVuY2Vf c2lnbmFsKCZyZXF1ZXN0LT5mZW5jZSk7CisKKwlpOTE1X3ByaW90cmVlX2ZpbmkocmVxdWVzdC0+ aTkxNSwgJnJlcXVlc3QtPnByaW90cmVlKTsKIAlpOTE1X2dlbV9yZXF1ZXN0X3B1dChyZXF1ZXN0 KTsKIH0KIApAQCAtNDY3LDYgKzU0MCw4IEBAIGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2Moc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCSAqLwogCWk5MTVfc3dfZmVuY2VfYXdhaXRfc3df ZmVuY2UoJnJlcS0+ZXhlY3V0ZSwgJnJlcS0+c3VibWl0LCAmcmVxLT5leGVjcSk7CiAKKwlpOTE1 X3ByaW90cmVlX2luaXQoJnJlcS0+cHJpb3RyZWUpOworCiAJSU5JVF9MSVNUX0hFQUQoJnJlcS0+ YWN0aXZlX2xpc3QpOwogCXJlcS0+aTkxNSA9IGRldl9wcml2OwogCXJlcS0+ZW5naW5lID0gZW5n aW5lOwpAQCAtNTIwLDYgKzU5NSwxNCBAQCBpOTE1X2dlbV9yZXF1ZXN0X2F3YWl0X3JlcXVlc3Qo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICp0bywKIAogCUdFTV9CVUdfT04odG8gPT0gZnJv bSk7CiAKKwlpZiAodG8tPmVuZ2luZS0+c2NoZWR1bGUpIHsKKwkJcmV0ID0gaTkxNV9wcmlvdHJl ZV9hZGRfZGVwZW5kZW5jeSh0by0+aTkxNSwKKwkJCQkJCSAgICZ0by0+cHJpb3RyZWUsCisJCQkJ CQkgICAmZnJvbS0+cHJpb3RyZWUpOworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVybiByZXQ7CisJ fQorCiAJaWYgKHRvLT50aW1lbGluZSA9PSBmcm9tLT50aW1lbGluZSkKIAkJcmV0dXJuIDA7CiAK QEAgLTc0Myw5ICs4MjYsMTUgQEAgdm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LCBib29sIGZsdXNoX2NhY2hlcykKIAogCXByZXYgPSBp OTE1X2dlbV9hY3RpdmVfcmF3KCZ0aW1lbGluZS0+bGFzdF9yZXF1ZXN0LAogCQkJCSAgICZyZXF1 ZXN0LT5pOTE1LT5kcm0uc3RydWN0X211dGV4KTsKLQlpZiAocHJldikKKwlpZiAocHJldikgewog CQlpOTE1X3N3X2ZlbmNlX2F3YWl0X3N3X2ZlbmNlKCZyZXF1ZXN0LT5zdWJtaXQsICZwcmV2LT5z dWJtaXQsCiAJCQkJCSAgICAgJnJlcXVlc3QtPnN1Ym1pdHEpOworCQlpZiAoZW5naW5lLT5zY2hl ZHVsZSkKKwkJCV9faTkxNV9wcmlvdHJlZV9hZGRfZGVwZW5kZW5jeSgmcmVxdWVzdC0+cHJpb3Ry ZWUsCisJCQkJCQkgICAgICAgJnByZXYtPnByaW90cmVlLAorCQkJCQkJICAgICAgICZyZXF1ZXN0 LT5kZXAsCisJCQkJCQkgICAgICAgMCk7CisJfQogCiAJc3Bpbl9sb2NrX2lycSgmdGltZWxpbmUt PmxvY2spOwogCWxpc3RfYWRkX3RhaWwoJnJlcXVlc3QtPmxpbmssICZ0aW1lbGluZS0+cmVxdWVz dHMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oCmluZGV4IDRkMjc4NDYz M2Q5Zi4uOTQzYzM5ZDJhNjJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9yZXF1ZXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVz dC5oCkBAIC00NCw2ICs0NCwyOCBAQCBzdHJ1Y3QgaW50ZWxfc2lnbmFsX25vZGUgewogCXN0cnVj dCBpbnRlbF93YWl0IHdhaXQ7CiB9OwogCitzdHJ1Y3QgaTkxNV9kZXBlbmRlbmN5IHsKKwlzdHJ1 Y3QgaTkxNV9wcmlvdHJlZSAqc2lnbmFsZXI7CisJc3RydWN0IGxpc3RfaGVhZCBzaWduYWxfbGlu azsKKwlzdHJ1Y3QgbGlzdF9oZWFkIHdhaXRfbGluazsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwor I2RlZmluZSBJOTE1X0RFUEVOREVOQ1lfQUxMT0MgQklUKDApCit9OworCisvKiBSZXF1ZXN0cyBl eGlzdCBpbiBhIGNvbXBsZXggd2ViIG9mIGludGVyZGVwZW5kZW5jaWVzLiBFYWNoIHJlcXVlc3QK KyAqIGhhcyB0byB3YWl0IGZvciBzb21lIG90aGVyIHJlcXVlc3QgdG8gY29tcGxldGUgYmVmb3Jl IGl0IGlzIHJlYWR5IHRvIGJlIHJ1bgorICogKGUuZy4gd2UgaGF2ZSB0byB3YWl0IHVudGlsIHRo ZSBwaXhlbHMgaGF2ZSBiZWVuIHJlbmRlcmluZyBpbnRvIGEgdGV4dHVyZQorICogYmVmb3JlIHdl IGNhbiBjb3B5IGZyb20gaXQpLiBXZSB0cmFjayB0aGUgcmVhZGluZXNzIG9mIGEgcmVxdWVzdCBp biB0ZXJtcworICogb2YgZmVuY2VzLCBidXQgd2UgYWxzbyBuZWVkIHRvIGtlZXAgdGhlIGRlcGVu ZGVuY3kgdHJlZSBmb3IgdGhlIGxpZmV0aW1lCisgKiBvZiB0aGUgcmVxdWVzdCAoYmV5b25kIHRo ZSBsaWZlIG9mIGFuIGluZGl2aWR1YWwgZmVuY2UpLiBXZSB1c2UgdGhlIHRyZWUKKyAqIGF0IHZh cmlvdXMgcG9pbnRzIHRvIHJlb3JkZXIgdGhlIHJlcXVlc3RzIHdoaWxzdCBrZWVwaW5nIHRoZSBy ZXF1ZXN0cworICogaW4gb3JkZXIgd2l0aCByZXNwZWN0IHRvIHRoZWlyIHZhcmlvdXMgZGVwZW5k ZW5jaWVzLgorICovCitzdHJ1Y3QgaTkxNV9wcmlvdHJlZSB7CisJc3RydWN0IGxpc3RfaGVhZCBz aWduYWxlcnNfbGlzdDsgLyogdGhvc2UgYmVmb3JlIHVzLCB3ZSBkZXBlbmQgdXBvbiAqLworCXN0 cnVjdCBsaXN0X2hlYWQgd2FpdGVyc19saXN0OyAvKiB0aG9zZSBhZnRlciB1cywgdGhleSBkZXBl bmQgdXBvbiB1cyAqLworfTsKKwogLyoqCiAgKiBSZXF1ZXN0IHF1ZXVlIHN0cnVjdHVyZS4KICAq CkBAIC0xMDUsNiArMTI3LDE3IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7CiAJd2Fp dF9xdWV1ZV90IHN1Ym1pdHE7CiAJd2FpdF9xdWV1ZV90IGV4ZWNxOwogCisJLyogQSBsaXN0IG9m IGV2ZXJ5b25lIHdlIHdhaXQgdXBvbiwgYW5kIGV2ZXJ5b25lIHdobyB3YWl0cyB1cG9uIHVzLgor CSAqIEV2ZW4gdGhvdWdoIHdlIHdpbGwgbm90IGJlIHN1Ym1pdHRlZCB0byB0aGUgaGFyZHdhcmUg YmVmb3JlIHRoZQorCSAqIHN1Ym1pdCBmZW5jZSBpcyBzaWduYWxlZCAoaXQgd2FpdHMgZm9yIGFs bCBleHRlcm5hbCBldmVudHMgYXMgd2VsbAorCSAqIGFzIG91ciBvd24gcmVxdWVzdHMpLCB0aGUg c2NoZWR1bGVyIHN0aWxsIG5lZWRzIHRvIGtub3cgdGhlCisJICogZGVwZW5kZW5jeSB0cmVlIGZv ciB0aGUgbGlmZXRpbWUgb2YgdGhlIHJlcXVlc3QgKGZyb20gZXhlY2J1ZgorCSAqIHRvIHJldGly ZW1lbnQpLCBpLmUuIGJpZGlyZWN0aW9uYWwgZGVwZW5kZW5jeSBpbmZvcm1hdGlvbiBmb3IgdGhl CisJICogcmVxdWVzdCBub3QgdGllZCB0byBpbmRpdmlkdWFsIGZlbmNlcy4KKwkgKi8KKwlzdHJ1 Y3QgaTkxNV9wcmlvdHJlZSBwcmlvdHJlZTsKKwlzdHJ1Y3QgaTkxNV9kZXBlbmRlbmN5IGRlcDsK KwogCXUzMiBnbG9iYWxfc2Vxbm87CiAKIAkvKiogR0VNIHNlcXVlbmNlIG51bWJlciBhc3NvY2lh dGVkIHdpdGggdGhlIHByZXZpb3VzIHJlcXVlc3QsCi0tIAoyLjEwLjIKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=