From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [RFCv2 08/12] drm/i915: Debugfs interface for per-engine hang recovery. Date: Tue, 21 Jul 2015 14:58:51 +0100 Message-ID: <1437487135-32520-9-git-send-email-tomas.elf@intel.com> References: <1437487135-32520-1-git-send-email-tomas.elf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 100A36E939 for ; Tue, 21 Jul 2015 07:00:41 -0700 (PDT) In-Reply-To: <1437487135-32520-1-git-send-email-tomas.elf@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 Cc: Ian Lister List-Id: intel-gfx@lists.freedesktop.org MS4gVGhlIGk5MTVfd2VkZ2VkX3NldCgpIGZ1bmN0aW9uIGFsbG93cyB1cyB0byBzY2hlZHVsZSB0 aHJlZSBmb3JtcyBvZiBoYW5nIHJlY292ZXJ5OgoKCWEpIExlZ2FjeSBoYW5nIHJlY292ZXJ5OiBC eSBwYXNzaW5nIGUuZy4gLTEgd2UgdHJpZ2dlciB0aGUgbGVnYWN5IGZ1bGwKCUdQVSByZXNldCBy ZWNvdmVyeSBwYXRoLgoKCWIpIFNpbmdsZSBlbmdpbmUgaGFuZyByZWNvdmVyeTogQnkgcGFzc2lu ZyBhbiBlbmdpbmUgSUQgaW4gdGhlIGludGVydmFsCglvZiBbMCwgSTkxNV9OVU1fUklOR1MpIHdl IGNhbiBzY2hlZHVsZSBoYW5nIHJlY292ZXJ5IG9mIGFueSBzaW5nbGUKCWVuZ2luZSBhc3N1bWlu ZyB0aGF0IHRoZSBjb250ZXh0IHN1Ym1pc3Npb24gY29uc2lzdGVuY3kgcmVxdWlyZW1lbnRzCglh cmUgbWV0IChvdGhlcndpc2UgdGhlIGhhbmcgcmVjb3ZlcnkgcGF0aCB3aWxsIHNpbXBseSBleGl0 IGVhcmx5IGFuZAoJd2FpdCBmb3IgYW5vdGhlciBoYW5nIGRldGVjdGlvbikuIFRoZSB2YWx1ZXMg YXJlIGFzc3VtZWQgdG8gdXNlIHVwIGJpdHMKCTM6MCBvbmx5IHNpbmNlIHdlIGNlcnRhaW5seSBk byBub3Qgc3VwcG9ydCBhcyBtYW55IGFzIDE2IGVuZ2luZXMuCgoJVGhpcyBtb2RlIGlzIHN1cHBv cnRlZCBzaW5jZSB0aGVyZSBhcmUgc2V2ZXJhbCBsZWdhY3kgdGVzdCBhcHBsaWNhdGlvbnMKCXRo YXQgcmVseSBvbiB0aGlzIGludGVyZmFjZS4KCgljKSBNdWx0aXBsZSBlbmdpbmUgaGFuZyByZWNv dmVyeTogQnkgcGFzc2luZyBpbiBhbiBlbmdpbmUgZmxhZyBtYXNrIGluCgliaXRzIDMxOjggKGJp dCA4IGNvcnJlc3BvbmRzIHRvIGVuZ2luZSAwID0gUkNTLCBiaXQgOSBjb3JyZXNwb25kcyB0bwoJ ZW5naW5lIDEgPSBWQ1MgZXRjKSB3ZSBjYW4gc2NoZWR1bGUgYW55IGNvbWJpbmF0aW9uIG9mIGVu Z2luZSBoYW5nCglyZWNvdmVyaWVzIGFzIHdlIHBsZWFzZS4gRm9yIGV4YW1wbGUsIGJ5IHBhc3Np bmcgaW4gdGhlIHZhbHVlIDB4MyA8PCA4Cgl3ZSB3b3VsZCBzY2hlZHVsZSBoYW5nIHJlY292ZXJ5 IGZvciBlbmdpbmVzIDAgYW5kIDEgKFJDUyBhbmQgVkNTKSBhdAoJdGhlIHNhbWUgdGltZS4KCglJ ZiBiaXRzIGluIGZpZWxkcyAzOjAgYW5kIDMxOjggYXJlIGJvdGggdXNlZCB0aGVuIHNpbmdsZSBl bmdpbmUgaGFuZwoJcmVjb3ZlcnkgbW9kZSB0YWtlcyBwcmVzaWRlbmNlIGFuZCBiaXRzIDMxOjgg YXJlIGlnbm9yZWQuCgoyLiBUaGUgaTkxNV9oYW5nY2hlY2tfcmVhZCgpIGZ1bmN0aW9uIHByb2R1 Y2VzIGEgc2V0IG9mIHN0YXRpc3RpY3MgcmVsYXRlZCB0bzoKCglhKSBOdW1iZXIgb2YgZW5naW5l IGhhbmdzIGRldGVjdGVkIGJ5IHBlcmlvZGljIGhhbmcgY2hlY2tlci4KCWIpIE51bWJlciBvZiB3 YXRjaGRvZyB0aW1lb3V0IGhhbmdzIGRldGVjdGVkLgoJYykgTnVtYmVyIG9mIGZ1bGwgR1BVIHJl c2V0cyBjYXJyaWVkIG91dC4KCWQpIE51bWJlciBvZiBlbmdpbmUgcmVzZXRzIGNhcnJpZWQgb3V0 LgoKCVRoZXNlIHN0YXRpc3RpY3MgYXJlIHByZXNlbnRlZCBpbiBhIHZlcnkgcGFyc2VyLWZyaWVu ZGx5IHdheSBhbmQgYXJlCgl1c2VkIGJ5IHRoZSBURFIgVUxUIHRvIHBvbGwgc3lzdGVtIGJlaGF2 aW91ciB0byB2YWxpZGF0ZSB0ZXN0IG91dGNvbWVzLgoKKiB2MjogKENocmlzIFdpbHNvbikKLSBB ZnRlciByZXZpZXcgY29tbWVudHMgYnkgQ2hyaXMgV2lsc29uIHdlJ3JlIGRyb3BwaW5nIHRoZSBk dWFsLW1vZGUgcGFyYW1ldGVyCiAgdmFsdWUgaW50ZXJwcmV0YXRpb24gaW4gaTkxNV93ZWRnZWRf c2V0KCkuIEluIHRoaXMgdmVyc2lvbiB3ZSBvbmx5IGFjY2VwdAogIGVuZ2luZSBpZCBmbGFnIG1h c2tzIHRoYXQgY29udGFpbiB0aGUgZW5naW5lIGlkIGZsYWdzIG9mIGFsbCBjdXJyZW50bHkgaHVu ZwogIGVuZ2luZXMuIEZ1bGwgR1BVIHJlc2V0IGlzIG1vc3QgZWFzaWx5IHJlcXVlc3RlZCBieSBw YXNzaW5nIGFuIGFsbCB6ZXJvCiAgZW5naW5lIGlkIGZsYWcgbWFzay4KCi0gTW92ZWQgVERSLXNw ZWNpZmljIGVuZ2luZSBtZXRyaWNzIGxpa2UgbnVtYmVyIG9mIGRldGVjdGVkIGVuZ2luZSBoYW5n cyBhbmQKICBudW1iZXIgb2YgcGVyLWVuZ2luZSByZXNldHMgaW50byBpOTE1X2hhbmdjaGVja19p bmZvKCkgZnJvbQogIGk5MTVfaGFuZ2NoZWNrX3JlYWQoKS4KClNpZ25lZC1vZmYtYnk6IFRvbWFz IEVsZiA8dG9tYXMuZWxmQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQXJ1biBTaWx1dmVyeSA8 YXJ1bi5zaWx1dmVyeUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IElhbiBMaXN0ZXIgPGlhbi5s aXN0ZXJAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+CkNjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxpbnV4LmludGVsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyB8IDc2ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCsp LCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggYTg5 ZGE0OC4uZDk5YzE1MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTEzMDIs NiArMTMwMiw4IEBAIHN0YXRpYyBpbnQgaTkxNV9oYW5nY2hlY2tfaW5mbyhzdHJ1Y3Qgc2VxX2Zp bGUgKm0sIHZvaWQgKnVudXNlZCkKIAl9IGVsc2UKIAkJc2VxX3ByaW50ZihtLCAiSGFuZ2NoZWNr IGluYWN0aXZlXG4iKTsKIAorCXNlcV9wcmludGYobSwgIkZ1bGwgR1BVIHJlc2V0cyA9ICV1XG4i LCBpOTE1X3Jlc2V0X2NvdW50KCZkZXZfcHJpdi0+Z3B1X2Vycm9yKSk7CisKIAlmb3JfZWFjaF9y aW5nKHJpbmcsIGRldl9wcml2LCBpKSB7CiAJCXNlcV9wcmludGYobSwgIiVzOlxuIiwgcmluZy0+ bmFtZSk7CiAJCXNlcV9wcmludGYobSwgIlx0c2Vxbm8gPSAleCBbY3VycmVudCAleF1cbiIsCkBA IC0xMzEzLDYgKzEzMTUsMTIgQEAgc3RhdGljIGludCBpOTE1X2hhbmdjaGVja19pbmZvKHN0cnVj dCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogCQkJICAgKGxvbmcgbG9uZylyaW5nLT5oYW5n Y2hlY2subWF4X2FjdGhkKTsKIAkJc2VxX3ByaW50ZihtLCAiXHRzY29yZSA9ICVkXG4iLCByaW5n LT5oYW5nY2hlY2suc2NvcmUpOwogCQlzZXFfcHJpbnRmKG0sICJcdGFjdGlvbiA9ICVkXG4iLCBy aW5nLT5oYW5nY2hlY2suYWN0aW9uKTsKKwkJc2VxX3ByaW50ZihtLCAiXHRlbmdpbmUgcmVzZXRz ID0gJXVcbiIsCisJCQlyaW5nLT5oYW5nY2hlY2sucmVzZXRfY291bnQpOworCQlzZXFfcHJpbnRm KG0sICJcdGVuZ2luZSBoYW5nIGRldGVjdGlvbnMgPSAldVxuIiwKKwkJCXJpbmctPmhhbmdjaGVj ay50ZHJfY291bnQpOworCQlzZXFfcHJpbnRmKG0sICJcdGVuZ2luZSB3YXRjaGRvZyB0aW1lb3V0 IGRldGVjdGlvbnMgPSAldVxuIiwKKwkJCXJpbmctPmhhbmdjaGVjay53YXRjaGRvZ19jb3VudCk7 CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0yMDMwLDcgKzIwMzgsNyBAQCBzdGF0aWMgaW50IGk5MTVf ZXhlY2xpc3RzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAkJc2VxX3ByaW50Ziht LCAiJXNcbiIsIHJpbmctPm5hbWUpOwogCiAJCXN0YXR1cyA9IEk5MTVfUkVBRChSSU5HX0VYRUNM SVNUX1NUQVRVUyhyaW5nKSk7Ci0JCWN0eF9pZCA9IEk5MTVfUkVBRChSSU5HX0VYRUNMSVNUX1NU QVRVUyhyaW5nKSArIDQpOworCQljdHhfaWQgPSBJOTE1X1JFQUQoUklOR19FWEVDTElTVF9TVEFU VVNfQ1RYX0lEKHJpbmcpKTsKIAkJc2VxX3ByaW50ZihtLCAiXHRFeGVjbGlzdCBzdGF0dXM6IDB4 JTA4WCwgY29udGV4dDogJXVcbiIsCiAJCQkgICBzdGF0dXMsIGN0eF9pZCk7CiAKQEAgLTQxNjQs MTEgKzQxNzIsNDcgQEAgaTkxNV93ZWRnZWRfZ2V0KHZvaWQgKmRhdGEsIHU2NCAqdmFsKQogCXJl dHVybiAwOwogfQogCitzdGF0aWMgY29uc3QgY2hhciAqcmluZ2lkX3RvX3N0cihlbnVtIGludGVs X3JpbmdfaWQgcmluZ19pZCkKK3sKKwlzd2l0Y2ggKHJpbmdfaWQpIHsKKwljYXNlIFJDUzoKKwkJ cmV0dXJuICJSQ1MiOworCWNhc2UgVkNTOgorCQlyZXR1cm4gIlZDUyI7CisJY2FzZSBCQ1M6CisJ CXJldHVybiAiQkNTIjsKKwljYXNlIFZFQ1M6CisJCXJldHVybiAiVkVDUyI7CisJY2FzZSBWQ1My OgorCQlyZXR1cm4gIlZDUzIiOworCX0KKworCXJldHVybiAidW5rbm93biI7Cit9CisKIHN0YXRp YyBpbnQKIGk5MTVfd2VkZ2VkX3NldCh2b2lkICpkYXRhLCB1NjQgdmFsKQogewogCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBkYXRhOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwor CXUzMiBpOworI2RlZmluZSBFTkdJTkVfTVNHTEVOIDY0CisJY2hhciBtc2dbRU5HSU5FX01TR0xF Tl07CisKKwkvKgorCSAqIFZhbCBjb250YWlucyB0aGUgZW5naW5lIGZsYWcgbWFzayBvZiBlbmdp bmVzIHRvIGJlIHJlc2V0LgorCSAqCisJICogRnVsbCBHUFUgcmVzZXQgaXMgaW1wbGllZCBpbiB0 aGUgZm9sbG93aW5nIHR3byBjYXNlczoKKwkgKiAxLiB2YWwgPT0gMHgwCisJICogMi4gdmFsID49 ICgxIDw8IEk5MTVfTlVNX1JJTkdTKQorCSAqCisJICogQml0IDA6IFJDUyBlbmdpbmUKKwkgKiBC aXQgMTogVkNTIGVuZ2luZQorCSAqIEJpdCAyOiBCQ1MgZW5naW5lCisJICogQml0IDM6IFZFQ1Mg ZW5naW5lCisJICogQml0IDQ6IFZDUzIgZW5naW5lIChpZiBhdmFpbGFibGUpCisJICovCiAKIAkv KgogCSAqIFRoZXJlIGlzIG5vIHNhZmVndWFyZCBhZ2FpbnN0IHRoaXMgZGVidWdmcyBlbnRyeSBj b2xsaWRpbmcKQEAgLTQxNzcsMTQgKzQyMjEsMzYgQEAgaTkxNV93ZWRnZWRfc2V0KHZvaWQgKmRh dGEsIHU2NCB2YWwpCiAJICogdGVzdCBoYXJuZXNzIGlzIHJlc3BvbnNpYmxlIGVub3VnaCBub3Qg dG8gaW5qZWN0IGdwdSBoYW5ncwogCSAqIHdoaWxlIGl0IGlzIHdyaXRpbmcgdG8gJ2k5MTVfd2Vk Z2VkJwogCSAqLwotCi0JaWYgKGk5MTVfcmVzZXRfaW5fcHJvZ3Jlc3MoJmRldl9wcml2LT5ncHVf ZXJyb3IpKQorCWlmIChpOTE1X2dlbV9jaGVja193ZWRnZShkZXZfcHJpdiwgTlVMTCwgdHJ1ZSkp CiAJCXJldHVybiAtRUFHQUlOOwogCiAJaW50ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwog Ci0JaTkxNV9oYW5kbGVfZXJyb3IoZGV2LCAweDAsIGZhbHNlLCB2YWwsCi0JCQkgICJNYW51YWxs eSBzZXR0aW5nIHdlZGdlZCB0byAlbGx1IiwgdmFsKTsKKwltZW1zZXQobXNnLCAwLCBzaXplb2Yo bXNnKSk7CisKKwlpZiAodmFsKSB7CisJCXNjbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiTWFu dWFsIHJlc2V0OiIpOworCisJCS8qIEFzc2VtYmxlIG1lc3NhZ2Ugc3RyaW5nICovCisJCWZvcl9l YWNoX3JpbmcoZW5naW5lLCBkZXZfcHJpdiwgaSkKKwkJCWlmIChpbnRlbF9yaW5nX2ZsYWcoZW5n aW5lKSAmIHZhbCkgeworCQkJCURSTV9JTkZPKCJNYW51YWwgcmVzZXQ6ICVzXG4iLCBlbmdpbmUt Pm5hbWUpOworCisJCQkJc2NucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksCisJCQkJCSAgIiVzIFsl c10iLAorCQkJCQkgIG1zZywKKwkJCQkJICByaW5naWRfdG9fc3RyKGkpKTsKKwkJCX0KKworCX0g ZWxzZSB7CisJCXNjbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiTWFudWFsIGdsb2JhbCByZXNl dCIpOworCX0KKworCWk5MTVfaGFuZGxlX2Vycm9yKGRldiwKKwkJCSAgdmFsLAorCQkJICBmYWxz ZSwKKwkJCSAgdHJ1ZSwKKwkJCSAgbXNnKTsKIAogCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9w cml2KTsKIAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==