From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI 17/20] drm/i915: Convert trace-irq to the breadcrumb waiter Date: Thu, 19 May 2016 12:32:53 +0100 Message-ID: <1463657576-32063-17-git-send-email-chris@chris-wilson.co.uk> References: <1463657576-32063-1-git-send-email-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-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 527246E965 for ; Thu, 19 May 2016 11:33:23 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id w143so20123264wmw.3 for ; Thu, 19 May 2016 04:33:23 -0700 (PDT) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id q76sm9429419wmd.6.2016.05.19.04.33.20 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 May 2016 04:33:20 -0700 (PDT) In-Reply-To: <1463657576-32063-1-git-send-email-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 SWYgd2UgY29udmVydCB0aGUgdHJhY2luZyBvdmVyIGZyb20gZGlyZWN0IHVzZSBvZiByaW5nLT5p cnFfZ2V0KCkgYW5kCm92ZXIgdG8gdGhlIGJyZWFkY3J1bWIgaW5mcmFzdHJ1Y3R1cmUsIHdlIG9u bHkgaGF2ZSBhIHNpbmdsZSB1c2VyIG9mIHRoZQpyaW5nLT5pcnFfZ2V0IGFuZCBzbyB3ZSB3aWxs IGJlIGFibGUgdG8gc2ltcGxpZnkgdGhlIGRyaXZlciByb3V0aW5lcwooZWxpbWluYXRpbmcgdGhl IHJlZHVuZGFudCB2YWxpZGF0aW9uIGFuZCBpcnEgcmVmY291bnRpbmcpLgoKdjI6IE1vdmUgdG8g YSBzaWduYWxpbmcgZnJhbWV3b3JrIGJhc2VkIHVwb24gdGhlIHdhaXRlci4KdjM6IFRyYWNrIHRo ZSBmaXJzdC1zaWduYWwgdG8gYXZvaWQgaGF2aW5nIHRvIHdhbGsgdGhlIHJidHJlZSBldmVyeXRp bWUuCnY0OiBNYXJrIHRoZSBzaWduYWxlciB0aHJlYWQgYXMgUlQgcHJpb3JpdHkgdG8gcmVkdWNl IGxhdGVuY3kgaW4gdGhlCmluZGlyZWN0IHdha2V1cHMuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBX aWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oICAgICAgICAgIHwgICA4IC0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jICAgICAgICAgIHwgICA2IC0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNl LmggICAgICAgIHwgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9icmVhZGNydW1i cy5jIHwgMTc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCAgfCAgIDcgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMTgz IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmlu ZGV4IGNlNjg1YTgzYmIwMy4uNDQ2OGZmZjM0OWQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK QEAgLTM4MDcsMTQgKzM4MDcsNiBAQCB3YWl0X3JlbWFpbmluZ19tc19mcm9tX2ppZmZpZXModW5z aWduZWQgbG9uZyB0aW1lc3RhbXBfamlmZmllcywgaW50IHRvX3dhaXRfbXMpCiAJCQkgICAgc2No ZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUocmVtYWluaW5nX2ppZmZpZXMpOwogCX0KIH0K LQotc3RhdGljIGlubGluZSB2b2lkIGk5MTVfdHJhY2VfaXJxX2dldChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUsCi0JCQkJICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEpCi17Ci0JaWYgKGVuZ2luZS0+dHJhY2VfaXJxX3JlcSA9PSBOVUxMICYmIGVuZ2luZS0+aXJx X2dldChlbmdpbmUpKQotCQlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmZW5naW5lLT50cmFjZV9p cnFfcmVxLCByZXEpOwotfQotCiBzdGF0aWMgaW5saW5lIGJvb2wgX19pOTE1X3JlcXVlc3RfaXJx X2NvbXBsZXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogewogCXN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMKaW5kZXggMmMyNTRjZjQ5YzE1Li4wZWM5ZWU4ZmQ5NDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwpAQCAtMjkzNSwxMiArMjkzNSw2IEBAIGk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0c19yaW5n KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJaTkxNV9nZW1fb2JqZWN0X3JldGly ZV9fcmVhZChvYmosIGVuZ2luZS0+aWQpOwogCX0KIAotCWlmICh1bmxpa2VseShlbmdpbmUtPnRy YWNlX2lycV9yZXEgJiYKLQkJICAgICBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChlbmdpbmUt PnRyYWNlX2lycV9yZXEpKSkgewotCQllbmdpbmUtPmlycV9wdXQoZW5naW5lKTsKLQkJaTkxNV9n ZW1fcmVxdWVzdF9hc3NpZ24oJmVuZ2luZS0+dHJhY2VfaXJxX3JlcSwgTlVMTCk7Ci0JfQotCiAJ V0FSTl9PTihpOTE1X3ZlcmlmeV9saXN0cyhlbmdpbmUtPmRldikpOwogfQogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3RyYWNlLmgKaW5kZXggMDliYmI3MWU5ZWM1Li5mNDBjYTk3NzMyMWMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3RyYWNlLmgKQEAgLTQ5MCw3ICs0OTAsNyBAQCBUUkFDRV9FVkVOVChpOTE1 X2dlbV9yaW5nX2Rpc3BhdGNoLAogCQkJICAgX19lbnRyeS0+cmluZyA9IHJlcS0+ZW5naW5lLT5p ZDsKIAkJCSAgIF9fZW50cnktPnNlcW5vID0gcmVxLT5zZXFubzsKIAkJCSAgIF9fZW50cnktPmZs YWdzID0gZmxhZ3M7Ci0JCQkgICBpOTE1X3RyYWNlX2lycV9nZXQocmVxLT5lbmdpbmUsIHJlcSk7 CisJCQkgICBpbnRlbF9lbmdpbmVfZW5hYmxlX3NpZ25hbGluZyhyZXEpOwogCQkJICAgKSwKIAog CSAgICBUUF9wcmludGsoImRldj0ldSwgcmluZz0ldSwgc2Vxbm89JXUsIGZsYWdzPSV4IiwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2JyZWFkY3J1bWJzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9icmVhZGNydW1icy5jCmluZGV4IDU3OGRlNDNjYjA3ZS4u MTRmYjlmZGNkZTNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9icmVh ZGNydW1icy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2JyZWFkY3J1bWJzLmMK QEAgLTIyLDYgKzIyLDggQEAKICAqCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4K KwogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAKIHN0YXRpYyB2b2lkIGludGVsX2JyZWFkY3J1bWJz X2Zha2VfaXJxKHVuc2lnbmVkIGxvbmcgZGF0YSkKQEAgLTMxNSwxMCArMzE3LDE4NCBAQCB2b2lk IGludGVsX2VuZ2luZV9pbml0X2JyZWFkY3J1bWJzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKIAkJICAgICh1bnNpZ25lZCBsb25nKWVuZ2luZSk7CiB9CiAKK3N0cnVjdCBzaWduYWwg eworCXN0cnVjdCByYl9ub2RlIG5vZGU7CisJc3RydWN0IGludGVsX3dhaXQgd2FpdDsKKwlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3Q7Cit9OworCitzdGF0aWMgYm9vbCBzaWdu YWxfY29tcGxldGUoc3RydWN0IHNpZ25hbCAqc2lnbmFsKQoreworCWlmIChzaWduYWwgPT0gTlVM TCkKKwkJcmV0dXJuIGZhbHNlOworCisJLyogSWYgYW5vdGhlciBwcm9jZXNzIHNlcnZlZCBhcyB0 aGUgYm90dG9tLWhhbGYgaXQgbWF5IGhhdmUgYWxyZWFkeQorCSAqIHNpZ25hbGxlZCB0aGF0IHRo aXMgd2FpdCBpcyBhbHJlYWR5IGNvbXBsZXRlZC4KKwkgKi8KKwlpZiAoaW50ZWxfd2FpdF9jb21w bGV0ZSgmc2lnbmFsLT53YWl0KSkKKwkJcmV0dXJuIHRydWU7CisKKwkvKiBDYXJlZnVsbHkgY2hl Y2sgaWYgdGhlIHJlcXVlc3QgaXMgY29tcGxldGUsIGdpdmluZyB0aW1lIGZvciB0aGUKKwkgKiBz ZXFubyB0byBiZSB2aXNpYmxlIG9yIGlmIHRoZSBHUFUgaHVuZy4KKwkgKi8KKwlpZiAoX19pOTE1 X3JlcXVlc3RfaXJxX2NvbXBsZXRlKHNpZ25hbC0+cmVxdWVzdCkpCisJCXJldHVybiB0cnVlOwor CisJcmV0dXJuIGZhbHNlOworfQorCitzdGF0aWMgc3RydWN0IHNpZ25hbCAqdG9fc2lnbmFsKHN0 cnVjdCByYl9ub2RlICpyYikKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKHJiLCBzdHJ1Y3Qgc2ln bmFsLCBub2RlKTsKK30KKworc3RhdGljIHZvaWQgc2lnbmFsZXJfc2V0X3J0cHJpb3JpdHkodm9p ZCkKK3sKKwkgc3RydWN0IHNjaGVkX3BhcmFtIHBhcmFtID0geyAuc2NoZWRfcHJpb3JpdHkgPSAx IH07CisJIHNjaGVkX3NldHNjaGVkdWxlcl9ub2NoZWNrKGN1cnJlbnQsIFNDSEVEX0ZJRk8sICZw YXJhbSk7Cit9CisKK3N0YXRpYyBpbnQgaW50ZWxfYnJlYWRjcnVtYnNfc2lnbmFsZXIodm9pZCAq YXJnKQoreworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IGFyZzsKKwlzdHJ1Y3Qg aW50ZWxfYnJlYWRjcnVtYnMgKmIgPSAmZW5naW5lLT5icmVhZGNydW1iczsKKwlzdHJ1Y3Qgc2ln bmFsICpzaWduYWw7CisKKwkvKiBJbnN0YWxsIG91cnNlbHZlcyB3aXRoIGhpZ2ggcHJpb3JpdHkg dG8gcmVkdWNlIHNpZ25hbGxpbmcgbGF0ZW5jeSAqLworCXNpZ25hbGVyX3NldF9ydHByaW9yaXR5 KCk7CisKKwlkbyB7CisJCXNldF9jdXJyZW50X3N0YXRlKFRBU0tfSU5URVJSVVBUSUJMRSk7CisK KwkJLyogV2UgYXJlIGVpdGhlciB3b2tlbiB1cCBieSB0aGUgaW50ZXJydXB0IGJvdHRvbS1oYWxm LAorCQkgKiBvciBieSBhIGNsaWVudCBhZGRpbmcgYSBuZXcgc2lnbmFsbGVyLiBJbiBib3RoIGNh c2VzLAorCQkgKiB0aGUgR1BVIHNlcW5vIG1heSBoYXZlIGFkdmFuY2VkIGJleW9uZCBvdXIgb2xk ZXN0IHNpZ25hbC4KKwkJICogSWYgaXQgaGFzLCBwcm9wYWdhdGUgdGhlIHNpZ25hbCwgcmVtb3Zl IHRoZSB3YWl0ZXIgYW5kCisJCSAqIGNoZWNrIGFnYWluIHdpdGggdGhlIG5leHQgb2xkZXN0IHNp Z25hbC4gT3RoZXJ3aXNlIHdlCisJCSAqIG5lZWQgdG8gd2FpdCBmb3IgYSBuZXcgaW50ZXJydXB0 IGZyb20gdGhlIEdQVSBvciBmb3IKKwkJICogYSBuZXcgY2xpZW50LgorCQkgKi8KKwkJc2lnbmFs ID0gUkVBRF9PTkNFKGItPmZpcnN0X3NpZ25hbCk7CisJCWlmIChzaWduYWxfY29tcGxldGUoc2ln bmFsKSkgeworCQkJLyogV2FrZSB1cCBhbGwgb3RoZXIgY29tcGxldGVkIHdhaXRlcnMgYW5kIHNl bGVjdCB0aGUKKwkJCSAqIG5leHQgYm90dG9tLWhhbGYgZm9yIHRoZSBuZXh0IHVzZXIgaW50ZXJy dXB0LgorCQkJICovCisJCQlpbnRlbF9lbmdpbmVfcmVtb3ZlX3dhaXQoZW5naW5lLCAmc2lnbmFs LT53YWl0KTsKKworCQkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShzaWduYWwtPnJlcXVl c3QpOworCisJCQkvKiBGaW5kIHRoZSBuZXh0IG9sZGVzdCBzaWduYWwuIE5vdGUgdGhhdCBhcyB3 ZSBoYXZlCisJCQkgKiBub3QgYmVlbiBob2xkaW5nIHRoZSBsb2NrLCBhbm90aGVyIGNsaWVudCBt YXkKKwkJCSAqIGhhdmUgaW5zdGFsbGVkIGFuIGV2ZW4gb2xkZXIgc2lnbmFsIHRoYW4gdGhlIG9u ZQorCQkJICogd2UganVzdCBjb21wbGV0ZWQgLSBzbyBkb3VibGUgY2hlY2sgd2UgYXJlIHN0aWxs CisJCQkgKiB0aGUgb2xkZXN0IGJlZm9yZSBwaWNraW5nIHRoZSBuZXh0IG9uZS4KKwkJCSAqLwor CQkJc3Bpbl9sb2NrKCZiLT5sb2NrKTsKKwkJCWlmIChzaWduYWwgPT0gYi0+Zmlyc3Rfc2lnbmFs KQorCQkJCWItPmZpcnN0X3NpZ25hbCA9IHJiX25leHQoJnNpZ25hbC0+bm9kZSk7CisJCQlyYl9l cmFzZSgmc2lnbmFsLT5ub2RlLCAmYi0+c2lnbmFscyk7CisJCQlzcGluX3VubG9jaygmYi0+bG9j ayk7CisKKwkJCWtmcmVlKHNpZ25hbCk7CisJCX0gZWxzZSB7CisJCQlpZiAoa3RocmVhZF9zaG91 bGRfc3RvcCgpKQorCQkJCWJyZWFrOworCisJCQlzY2hlZHVsZSgpOworCQl9CisJfSB3aGlsZSAo MSk7CisKKwlyZXR1cm4gMDsKK30KKworaW50IGludGVsX2VuZ2luZV9lbmFibGVfc2lnbmFsaW5n KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKK3sKKwlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUgPSByZXF1ZXN0LT5lbmdpbmU7CisJc3RydWN0IGludGVsX2JyZWFk Y3J1bWJzICpiID0gJmVuZ2luZS0+YnJlYWRjcnVtYnM7CisJc3RydWN0IHJiX25vZGUgKnBhcmVu dCwgKipwOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKKwlzdHJ1Y3Qgc2lnbmFsICpzaWdu YWw7CisJYm9vbCBmaXJzdDsKKworCXNpZ25hbCA9IGttYWxsb2Moc2l6ZW9mKCpzaWduYWwpLCBH RlBfQVRPTUlDKTsKKwlpZiAodW5saWtlbHkoc2lnbmFsID09IE5VTEwpKQorCQlyZXR1cm4gLUVO T01FTTsKKworCS8qIFNwYXduIGEgdGhyZWFkIHRvIHByb3ZpZGUgYSBjb21tb24gYm90dG9tLWhh bGYgZm9yIGFsbCBzaWduYWxzLgorCSAqIEFzIHRoaXMgaXMgYW4gYXN5bmNocm9ub3VzIGludGVy ZmFjZSB3ZSBjYW5ub3Qgc3RlYWwgdGhlIGN1cnJlbnQKKwkgKiB0YXNrIGZvciBoYW5kbGluZyB0 aGUgYm90dG9tLWhhbGYgdG8gdGhlIHVzZXIgaW50ZXJydXB0LCB0aGVyZWZvcmUKKwkgKiB3ZSBj cmVhdGUgYSB0aHJlYWQgdG8gZG8gdGhlIGNvaGVyZW50IHNlcW5vIGRhbmNlIGFmdGVyIHRoZQor CSAqIGludGVycnVwdCBhbmQgdGhlbiBzaWduYWwgdGhlIHdhaXRxdWV1ZSAodmlhIHRoZSBkbWEt YnVmL2ZlbmNlKS4KKwkgKi8KKwl0YXNrID0gUkVBRF9PTkNFKGItPnNpZ25hbGVyKTsKKwlpZiAo dW5saWtlbHkodGFzayA9PSBOVUxMKSkgeworCQlzcGluX2xvY2soJmItPmxvY2spOworCQl0YXNr ID0gYi0+c2lnbmFsZXI7CisJCWlmICh0YXNrID09IE5VTEwpIHsKKwkJCXRhc2sgPSBrdGhyZWFk X2NyZWF0ZShpbnRlbF9icmVhZGNydW1ic19zaWduYWxlciwKKwkJCQkJICAgICAgZW5naW5lLAor CQkJCQkgICAgICAiaXJxL2k5MTU6JWQiLAorCQkJCQkgICAgICBlbmdpbmUtPmlkKTsKKwkJCWlm ICghSVNfRVJSKHRhc2spKQorCQkJCWItPnNpZ25hbGVyID0gdGFzazsKKwkJfQorCQlzcGluX3Vu bG9jaygmYi0+bG9jayk7CisKKwkJaWYgKElTX0VSUih0YXNrKSkgeworCQkJa2ZyZWUoc2lnbmFs KTsKKwkJCXJldHVybiBQVFJfRVJSKHRhc2spOworCQl9CisJfQorCisJc2lnbmFsLT53YWl0LnRh c2sgPSB0YXNrOworCXNpZ25hbC0+d2FpdC5zZXFubyA9IHJlcXVlc3QtPnNlcW5vOworCisJc2ln bmFsLT5yZXF1ZXN0ID0gaTkxNV9nZW1fcmVxdWVzdF9yZWZlcmVuY2UocmVxdWVzdCk7CisKKwkv KiBJbnNlcnQgb3Vyc2VsdmVzIGludG8gdGhlIHJldGlyZW1lbnQgb3JkZXJlZCBsaXN0IG9mIHNp Z25hbHMKKwkgKiBvbiB0aGlzIGVuZ2luZS4gV2UgdHJhY2sgdGhlIG9sZGVzdCBzZXFubyBhcyB0 aGF0IHdpbGwgYmUgdGhlCisJICogZmlyc3Qgc2lnbmFsIHRvIGNvbXBsZXRlLgorCSAqLworCXNw aW5fbG9jaygmYi0+bG9jayk7CisJcGFyZW50ID0gTlVMTDsKKwlmaXJzdCA9IHRydWU7CisJcCA9 ICZiLT5zaWduYWxzLnJiX25vZGU7CisJd2hpbGUgKCpwKSB7CisJCXBhcmVudCA9ICpwOworCQlp ZiAoaTkxNV9zZXFub19wYXNzZWQoc2lnbmFsLT53YWl0LnNlcW5vLAorCQkJCSAgICAgIHRvX3Np Z25hbChwYXJlbnQpLT53YWl0LnNlcW5vKSkgeworCQkJcCA9ICZwYXJlbnQtPnJiX3JpZ2h0Owor CQkJZmlyc3QgPSBmYWxzZTsKKwkJfSBlbHNlCisJCQlwID0gJnBhcmVudC0+cmJfbGVmdDsKKwl9 CisJcmJfbGlua19ub2RlKCZzaWduYWwtPm5vZGUsIHBhcmVudCwgcCk7CisJcmJfaW5zZXJ0X2Nv bG9yKCZzaWduYWwtPm5vZGUsICZiLT5zaWduYWxzKTsKKwlpZiAoZmlyc3QpCisJCXNtcF9zdG9y ZV9tYihiLT5maXJzdF9zaWduYWwsIHNpZ25hbCk7CisJc3Bpbl91bmxvY2soJmItPmxvY2spOwor CisJLyogTm93IGFkZCBvdXJzZWx2ZXMgaW50byB0aGUgbGlzdCBvZiB3YWl0ZXJzLCBidXQgcmVn aXN0ZXIgb3VyCisJICogYm90dG9tLWhhbGYgYXMgdGhlIHNpZ25hbGxlciB0aHJlYWQuIEFzIHBl ciB1c3VhbCwgb25seSB0aGUgb2xkZXN0CisJICogd2FpdGVyIChub3QganVzdCBzaWduYWxsZXIp IGlzIHRhc2tlZCBhcyB0aGUgYm90dG9tLWhhbGYgd2FraW5nCisJICogdXAgYWxsIGNvbXBsZXRl ZCB3YWl0ZXJzIGFmdGVyIHRoZSB1c2VyIGludGVycnVwdC4KKwkgKgorCSAqIElmIHdlIGFyZSB0 aGUgb2xkZXN0IHdhaXRlciwgZW5hYmxlIHRoZSBpcnEgKGFmdGVyIHdoaWNoIHdlCisJICogbXVz dCBkb3VibGUgY2hlY2sgdGhhdCB0aGUgc2Vxbm8gZGlkIG5vdCBjb21wbGV0ZSkuCisJICovCisJ aWYgKGludGVsX2VuZ2luZV9hZGRfd2FpdChlbmdpbmUsICZzaWduYWwtPndhaXQpKQorCQl3YWtl X3VwX3Byb2Nlc3ModGFzayk7CisKKwlyZXR1cm4gMDsKK30KKwogdm9pZCBpbnRlbF9lbmdpbmVf ZmluaV9icmVhZGNydW1icyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3Ry dWN0IGludGVsX2JyZWFkY3J1bWJzICpiID0gJmVuZ2luZS0+YnJlYWRjcnVtYnM7CiAKKwlpZiAo Yi0+c2lnbmFsZXIpCisJCWt0aHJlYWRfc3RvcChiLT5zaWduYWxlcik7CisKIAlkZWxfdGltZXJf c3luYygmYi0+ZmFrZV9pcnEpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmgKaW5kZXggYTJlOTg4MDY4Y2I0Li5jYTYxMWZlNjk5N2UgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTE0MSw2ICsxNDEsOCBAQCBzdHJ1Y3QgIGk5MTVf Y3R4X3dvcmthcm91bmRzIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogfTsK IAorc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0OworCiBzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz IHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNTsKIAljb25zdCBjaGFyCSpuYW1lOwpA QCAtMTc5LDcgKzE4MSwxMCBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKIAlzdHJ1Y3QgaW50 ZWxfYnJlYWRjcnVtYnMgewogCQlzcGlubG9ja190IGxvY2s7IC8qIHByb3RlY3RzIHRoZSBsaXN0 cyBvZiByZXF1ZXN0cyAqLwogCQlzdHJ1Y3QgcmJfcm9vdCB3YWl0ZXJzOyAvKiBzb3J0ZWQgYnkg cmV0aXJlbWVudCwgcHJpb3JpdHkgKi8KKwkJc3RydWN0IHJiX3Jvb3Qgc2lnbmFsczsgLyogc29y dGVkIGJ5IHJldGlyZW1lbnQgKi8KIAkJc3RydWN0IHRhc2tfc3RydWN0ICpmaXJzdF93YWl0ZXI7 IC8qIGJoIGZvciB1c2VyIGludGVycnVwdHMgKi8KKwkJc3RydWN0IHRhc2tfc3RydWN0ICpzaWdu YWxlcjsgLyogdXNlZCBmb3IgZmVuY2Ugc2lnbmFsbGluZyAqLworCQl2b2lkICpmaXJzdF9zaWdu YWw7CiAJCXN0cnVjdCB0aW1lcl9saXN0IGZha2VfaXJxOyAvKiB1c2VkIGFmdGVyIGEgbWlzc2Vk IGludGVycnVwdCAqLwogCQlib29sIGlycV9lbmFibGVkOwogCQlib29sIHJwbV93YWtlbG9jazsK QEAgLTE5OCw3ICsyMDMsNiBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKIAl1bnNpZ25lZCBp cnFfcmVmY291bnQ7IC8qIHByb3RlY3RlZCBieSBkZXZfcHJpdi0+aXJxX2xvY2sgKi8KIAlib29s CQlpcnFfcG9zdGVkOwogCXUzMgkJaXJxX2VuYWJsZV9tYXNrOwkvKiBiaXRtYXNrIHRvIGVuYWJs ZSByaW5nIGludGVycnVwdCAqLwotCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqdHJhY2Vf aXJxX3JlcTsKIAlib29sIF9fbXVzdF9jaGVjayAoKmlycV9nZXQpKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpOwogCXZvaWQJCSgqaXJxX3B1dCkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZyk7CiAKQEAgLTUzOSw2ICs1NDMsNyBAQCBib29sIGludGVsX2VuZ2luZV9hZGRfd2FpdChz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJCQkgICBzdHJ1Y3QgaW50ZWxfd2FpdCAq d2FpdCk7CiB2b2lkIGludGVsX2VuZ2luZV9yZW1vdmVfd2FpdChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUsCiAJCQkgICAgICBzdHJ1Y3QgaW50ZWxfd2FpdCAqd2FpdCk7CitpbnQgaW50 ZWxfZW5naW5lX2VuYWJsZV9zaWduYWxpbmcoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXF1ZXN0KTsKIHN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9lbmdpbmVfaGFzX3dhaXRlcihzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJcmV0dXJuIFJFQURfT05DRShlbmdpbmUt PmJyZWFkY3J1bWJzLmZpcnN0X3dhaXRlcik7Ci0tIAoyLjguMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==