From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [RFC 10/11] drm/i915: Debugfs interface for per-engine hang recovery. Date: Mon, 8 Jun 2015 18:03:28 +0100 Message-ID: <1433783009-17251-11-git-send-email-tomas.elf@intel.com> References: <1433783009-17251-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 0AAEC6E688 for ; Mon, 8 Jun 2015 10:06:55 -0700 (PDT) In-Reply-To: <1433783009-17251-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 MS4gVGhlIGk5MTVfd2VkZ2VkX3NldCBmdW5jdGlvbiBhbGxvd3MgdXMgdG8gc2NoZWR1bGUgdGhy ZWUgZm9ybXMgb2YgaGFuZyByZWNvdmVyeToKCglhKSBMZWdhY3kgaGFuZyByZWNvdmVyeTogQnkg cGFzc2luZyBlLmcuIC0xIHdlIHRyaWdnZXIgdGhlIGxlZ2FjeSBmdWxsCglHUFUgcmVzZXQgcmVj b3ZlcnkgcGF0aC4KCgliKSBTaW5nbGUgZW5naW5lIGhhbmcgcmVjb3Zlcnk6IEJ5IHBhc3Npbmcg YW4gZW5naW5lIElEIGluIHRoZSBpbnRlcnZhbAoJb2YgWzAsIEk5MTVfTlVNX1JJTkdTKSB3ZSBj YW4gc2NoZWR1bGUgaGFuZyByZWNvdmVyeSBvZiBhbnkgc2luZ2xlCgllbmdpbmUgYXNzdW1pbmcg dGhhdCB0aGUgY29udGV4dCBzdWJtaXNzaW9uIGNvbnNpc3RlbmN5IHJlcXVpcmVtZW50cwoJYXJl IG1ldCAob3RoZXJ3aXNlIHRoZSBoYW5nIHJlY292ZXJ5IHBhdGggd2lsbCBzaW1wbHkgZXhpdCBl YXJseSBhbmQKCXdhaXQgZm9yIGFub3RoZXIgaGFuZyBkZXRlY3Rpb24pLiBUaGUgdmFsdWVzIGFy ZSBhc3N1bWVkIHRvIHVzZSB1cCBiaXRzCgkzOjAgb25seSBzaW5jZSB3ZSBjZXJ0YWlubHkgZG8g bm90IHN1cHBvcnQgYXMgbWFueSBhcyAxNiBlbmdpbmVzLgoKCVRoaXMgbW9kZSBpcyBzdXBwb3J0 ZWQgc2luY2UgdGhlcmUgYXJlIHNldmVyYWwgbGVnYWN5IHRlc3QgYXBwbGljYXRpb25zCgl0aGF0 IHJlbHkgb24gdGhpcyBpbnRlcmZhY2UuCgoJYykgTXVsdGlwbGUgZW5naW5lIGhhbmcgcmVjb3Zl cnk6IEJ5IHBhc3NpbmcgaW4gYW4gZW5naW5lIGZsYWcgbWFzayBpbgoJYml0cyAzMTo4IChiaXQg OCBjb3JyZXNwb25kcyB0byBlbmdpbmUgMCA9IFJDUywgYml0IDkgY29ycmVzcG9uZHMgdG8KCWVu Z2luZSAxID0gVkNTIGV0Yykgd2UgY2FuIHNjaGVkdWxlIGFueSBjb21iaW5hdGlvbiBvZiBlbmdp bmUgaGFuZwoJcmVjb3ZlcmllcyBhcyB3ZSBwbGVhc2UuIEZvciBleGFtcGxlLCBieSBwYXNzaW5n IGluIHRoZSB2YWx1ZSAweDMgPDwgOAoJd2Ugd291bGQgc2NoZWR1bGUgaGFuZyByZWNvdmVyeSBm b3IgZW5naW5lcyAwIGFuZCAxIChSQ1MgYW5kIFZDUykgYXQKCXRoZSBzYW1lIHRpbWUuCgoJSWYg Yml0cyBpbiBmaWVsZHMgMzowIGFuZCAzMTo4IGFyZSBib3RoIHVzZWQgdGhlbiBzaW5nbGUgZW5n aW5lIGhhbmcKCXJlY292ZXJ5IG1vZGUgdGFrZXMgcHJlc2lkZW5jZSBhbmQgYml0cyAzMTo4IGFy ZSBpZ25vcmVkLgoKMi4gVGhlIGk5MTVfd2VkZ2VkX2dldCBmdW5jdGlvbiBwcm9kdWNlcyBhIHNl dCBvZiBzdGF0aXN0aWNzIHJlbGF0ZWQgdG86CgoJYSkgTnVtYmVyIG9mIGVuZ2luZSBoYW5ncyBk ZXRlY3RlZCBieSBwZXJpb2RpYyBoYW5nIGNoZWNrZXIuCgliKSBOdW1iZXIgb2Ygd2F0Y2hkb2cg dGltZW91dCBoYW5ncyBkZXRlY3RlZC4KCWMpIE51bWJlciBvZiBmdWxsIEdQVSByZXNldHMgY2Fy cmllZCBvdXQuCglkKSBOdW1iZXIgb2YgZW5naW5lIHJlc2V0cyBjYXJyaWVkIG91dC4KCglUaGVz ZSBzdGF0aXN0aWNzIGFyZSBwcmVzZW50ZWQgaW4gYSB2ZXJ5IHBhcnNlci1mcmllbmRseSB3YXkg YW5kIGFyZQoJdXNlZCBieSB0aGUgVERSIFVMVCB0byBwb2xsIHN5c3RlbSBiZWhhdmlvdXIgdG8g dmFsaWRhdGUgdGVzdCBvdXRjb21lcy4KClNpZ25lZC1vZmYtYnk6IFRvbWFzIEVsZiA8dG9tYXMu ZWxmQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQXJ1biBTaWx1dmVyeSA8YXJ1bi5zaWx1dmVy eUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IElhbiBMaXN0ZXIgPGlhbi5saXN0ZXJAaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgIDE0NiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDE0MSBpbnNl cnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMK aW5kZXggYTg5ZGE0OC4uZjMzMDVlZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMK QEAgLTIwMzAsNyArMjAzMCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9leGVjbGlzdHMoc3RydWN0IHNl cV9maWxlICptLCB2b2lkICpkYXRhKQogCQlzZXFfcHJpbnRmKG0sICIlc1xuIiwgcmluZy0+bmFt ZSk7CiAKIAkJc3RhdHVzID0gSTkxNV9SRUFEKFJJTkdfRVhFQ0xJU1RfU1RBVFVTKHJpbmcpKTsK LQkJY3R4X2lkID0gSTkxNV9SRUFEKFJJTkdfRVhFQ0xJU1RfU1RBVFVTKHJpbmcpICsgNCk7CisJ CWN0eF9pZCA9IEk5MTVfUkVBRChSSU5HX0VYRUNMSVNUX1NUQVRVU19DVFhfSUQocmluZykpOwog CQlzZXFfcHJpbnRmKG0sICJcdEV4ZWNsaXN0IHN0YXR1czogMHglMDhYLCBjb250ZXh0OiAldVxu IiwKIAkJCSAgIHN0YXR1cywgY3R4X2lkKTsKIApAQCAtNDE2NCwxMSArNDE2NCw1MCBAQCBpOTE1 X3dlZGdlZF9nZXQodm9pZCAqZGF0YSwgdTY0ICp2YWwpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRp YyBjb25zdCBjaGFyICpyaW5naWRfdG9fc3RyKGVudW0gaW50ZWxfcmluZ19pZCByaW5nX2lkKQor eworCXN3aXRjaCAocmluZ19pZCkgeworCWNhc2UgUkNTOgorCQlyZXR1cm4gIlJDUyI7CisJY2Fz ZSBWQ1M6CisJCXJldHVybiAiVkNTIjsKKwljYXNlIEJDUzoKKwkJcmV0dXJuICJCQ1MiOworCWNh c2UgVkVDUzoKKwkJcmV0dXJuICJWRUNTIjsKKwljYXNlIFZDUzI6CisJCXJldHVybiAiVkNTMiI7 CisJfQorCisJcmV0dXJuICJ1bmtub3duIjsKK30KKwogc3RhdGljIGludAogaTkxNV93ZWRnZWRf c2V0KHZvaWQgKmRhdGEsIHU2NCB2YWwpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRh dGE7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisJY29uc3QgdTMyIGVuZ2luZV9t YXNrID0gKCgxIDw8IEk5MTVfTlVNX1JJTkdTKSAtIDEpOworCWNvbnN0IHUzMiBzaW5nbGVfZW5n aW5lX3Jlc2V0X21hc2sgPSAweEY7CisJY29uc3QgdTMyIGJpdGZpZWxkX2JvdW5kYXJ5ID0gODsK Kwl1MzIgdmFsX21hc2sgPSAwOworCXUzMiBpOworI2RlZmluZSBFTkdJTkVfTVNHTEVOIDY0CisJ Y2hhciBtc2dbRU5HSU5FX01TR0xFTl0gPSAiIjsKKworCS8qCisJICogVmFsIGNhbiBjb250YWlu IHZhbHVlcyBpbiBvbmUgb2YgdGhlIGZvbGxvd2luZyBtdXRhbGx5IGV4Y2x1c2l2ZQorCSAqIGZv cm1hdHM6CisJICoKKwkgKiAxLiBCaXRzIFszOjBdICE9IDB4MCA6CisJICoJSW5kZXggKDAgLi4g STkxNV9OVU1fUklOR1MtMSkgb2YgZW5naW5lIHRvIGJlIG1hbnVhbGx5IHJlc2V0LgorCSAqCUlu dmFsaWQgaW5kaWNlcyB0cmFuc2xhdGUgdG8gZnVsbCBncHUgcmVzZXQuCisJICoKKwkgKiAyLiBC aXRzIFsoSTkxNV9OVU1fUklOR1MtMSkrOCA6IDhdICE9IDB4MCA6CisJICoJQml0IG1hc2sgY29u dGFpbmluZyB0aGUgZW5naW5lIGZsYWdzIG9mIGFsbCB0aGUgZW5naW5lcyB0aGF0CisJICoJYXJl IHRvIGJlIG1hbnVhbGx5IHJlc2V0LgorCSAqLwogCiAJLyoKIAkgKiBUaGVyZSBpcyBubyBzYWZl Z3VhcmQgYWdhaW5zdCB0aGlzIGRlYnVnZnMgZW50cnkgY29sbGlkaW5nCkBAIC00MTc3LDE0ICs0 MjE2LDYxIEBAIGk5MTVfd2VkZ2VkX3NldCh2b2lkICpkYXRhLCB1NjQgdmFsKQogCSAqIHRlc3Qg aGFybmVzcyBpcyByZXNwb25zaWJsZSBlbm91Z2ggbm90IHRvIGluamVjdCBncHUgaGFuZ3MKIAkg KiB3aGlsZSBpdCBpcyB3cml0aW5nIHRvICdpOTE1X3dlZGdlZCcKIAkgKi8KLQotCWlmIChpOTE1 X3Jlc2V0X2luX3Byb2dyZXNzKCZkZXZfcHJpdi0+Z3B1X2Vycm9yKSkKKwlpZiAoaTkxNV9nZW1f Y2hlY2tfd2VkZ2UoZGV2X3ByaXYsIE5VTEwsIHRydWUpKQogCQlyZXR1cm4gLUVBR0FJTjsKIAog CWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKIAotCWk5MTVfaGFuZGxlX2Vycm9yKGRl diwgMHgwLCBmYWxzZSwgdmFsLAotCQkJICAiTWFudWFsbHkgc2V0dGluZyB3ZWRnZWQgdG8gJWxs dSIsIHZhbCk7CisJaWYgKCF2YWwgfHwgKHNpbmdsZV9lbmdpbmVfcmVzZXRfbWFzayAmIHZhbCkp IHsKKwkJLyoKKwkJICogU2luZ2xlIGVuZ2luZSBoYW5nIG1vZGUKKwkJICoKKwkJICogQml0cyBb MzowXSBvZiB2YWwgY29udGFpbnMgaW5kZXggb2YgZW5naW5lCisJCSAqIHRvIGJlIG1hbnVhbGx5 IHJlc2V0LgorCQkgKi8KKwkJdmFsICY9IHNpbmdsZV9lbmdpbmVfcmVzZXRfbWFzazsKKwkJaWYg KHZhbCA9PSBzaW5nbGVfZW5naW5lX3Jlc2V0X21hc2spCisJCQl2YWxfbWFzayA9IDB4MDsKKwkJ ZWxzZQorCQkJdmFsX21hc2sgPSAoMSA8PCAodmFsICYgMHhGKSk7CisKKwl9IGVsc2UgeworCQkv KgorCQkgKiBNYXNrIG1vZGUKKwkJICoKKwkJICogQml0cyBbMzE6OF0gb2YgdmFsIGNvbnRhaW5z IGJpdCBtYXNrIG9mIGVuZ2luZXMgdG8gYmUKKwkJICogbWFudWFsbHkgcmVzZXQsIGVuZ2luZSBp bmRleCAwIGF0IGJpdCA0LCBlbmdpbmUgaW5kZXggMSBhdAorCQkgKiBiaXQgNSBhbmQgc28gZm9y dGguCisJCSAqLworCQl2YWxfbWFzayA9ICh2YWwgPj4gYml0ZmllbGRfYm91bmRhcnkpICYgZW5n aW5lX21hc2s7CisJfQorCisKKwlpZiAodmFsX21hc2spIHsKKwkJdTMyIGxlbjsKKworCQlsZW4g PSBzY25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIk1hbnVhbCByZXNldDoiKTsKKworCQkvKiBB c3NlbWJsZSBtZXNzYWdlIHN0cmluZyAqLworCQlmb3JfZWFjaF9yaW5nKGVuZ2luZSwgZGV2X3By aXYsIGkpCisJCQlpZiAoaW50ZWxfcmluZ19mbGFnKGVuZ2luZSkgJiB2YWxfbWFzaykgeworCQkJ CURSTV9JTkZPKCJNYW51YWwgcmVzZXQ6ICVzXG4iLCBlbmdpbmUtPm5hbWUpOworCisJCQkJbGVu ICs9IHNjbnByaW50Zihtc2cgKyBsZW4sIHNpemVvZihtc2cpIC0gbGVuLAorCQkJCQkJICIlcyBb JXNdIiwKKwkJCQkJCSBtc2csCisJCQkJCQkgcmluZ2lkX3RvX3N0cihpKSk7CisJCQl9CisKKwl9 IGVsc2UgeworCQlzY25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIk1hbnVhbCBnbG9iYWwgcmVz ZXQiKTsKKwl9CisKKwlpOTE1X2hhbmRsZV9lcnJvcihkZXYsCisJCQkgIHZhbF9tYXNrLAorCQkJ ICBmYWxzZSwKKwkJCSAgdHJ1ZSwKKwkJCSAgbXNnKTsKIAogCWludGVsX3J1bnRpbWVfcG1fcHV0 KGRldl9wcml2KTsKIApAQCAtNDE5NSw2ICs0MjgxLDU1IEBAIERFRklORV9TSU1QTEVfQVRUUklC VVRFKGk5MTVfd2VkZ2VkX2ZvcHMsCiAJCQlpOTE1X3dlZGdlZF9nZXQsIGk5MTVfd2VkZ2VkX3Nl dCwKIAkJCSIlbGx1XG4iKTsKIAorc3RhdGljIHNzaXplX3QKK2k5MTVfcmluZ19oYW5nY2hlY2tf cmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCQkgc2l6ZV90IG1h eCwgbG9mZl90ICpwcG9zKQoreworCWludCBpOworCWludCBsZW47CisJY2hhciBidWZbMzAwXTsK KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisKKwkvKgorCSAq IFJldHVybnMgdGhlIHRvdGFsIG51bWJlciBvZiB0aW1lcyB0aGUgcmluZ3MKKwkgKiBoYXZlIGh1 bmcgYW5kIGJlZW4gcmVzZXQgc2luY2UgYm9vdAorCSAqLworCWxlbiA9IHNjbnByaW50ZihidWYs IHNpemVvZihidWYpLCAiR1BVPTB4JTA4WCwiLAorCQkJaTkxNV9yZXNldF9jb3VudCgmZGV2X3By aXYtPmdwdV9lcnJvcikpOworCWZvciAoaSA9IDA7IGkgPCBJOTE1X05VTV9SSU5HUzsgKytpKQor CQlsZW4gKz0gc2NucHJpbnRmKGJ1ZiArIGxlbiwgc2l6ZW9mKGJ1ZikgLSBsZW4sCisJCQkJICIl cz0weCUwOGxYLCIsCisJCQkJIHJpbmdpZF90b19zdHIoaSksCisJCQkJIChsb25nIHVuc2lnbmVk KQorCQkJCSBkZXZfcHJpdi0+cmluZ1tpXS5oYW5nY2hlY2sucmVzZXRfY291bnQpOworCisJZm9y IChpID0gMDsgaSA8IEk5MTVfTlVNX1JJTkdTOyArK2kpCisJCWxlbiArPSBzY25wcmludGYoYnVm ICsgbGVuLCBzaXplb2YoYnVmKSAtIGxlbiwKKwkJCQkgIiVzX1Q9MHglMDhsWCwiLAorCQkJCSBy aW5naWRfdG9fc3RyKGkpLAorCQkJCSAobG9uZyB1bnNpZ25lZCkKKwkJCQkgZGV2X3ByaXYtPnJp bmdbaV0uaGFuZ2NoZWNrLnRkcl9jb3VudCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgSTkxNV9OVU1f UklOR1M7ICsraSkKKwkJbGVuICs9IHNjbnByaW50ZihidWYgKyBsZW4sIHNpemVvZihidWYpIC0g bGVuLAorCQkJCSAiJXNfVz0weCUwOGxYLCIsCisJCQkJIHJpbmdpZF90b19zdHIoaSksCisJCQkJ IChsb25nIHVuc2lnbmVkKQorCQkJCSBkZXZfcHJpdi0+cmluZ1tpXS5oYW5nY2hlY2sud2F0Y2hk b2dfY291bnQpOworCisJbGVuICs9IHNjbnByaW50ZihidWYgKyBsZW4gLSAxLCBzaXplb2YoYnVm KSAtIGxlbiwgIlxuIik7CisKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1Ziwg bWF4LCBwcG9zLCBidWYsIGxlbik7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVy YXRpb25zIGk5MTVfcmluZ19oYW5nY2hlY2tfZm9wcyA9IHsKKwkub3duZXIgPSBUSElTX01PRFVM RSwKKwkub3BlbiA9IHNpbXBsZV9vcGVuLAorCS5yZWFkID0gaTkxNV9yaW5nX2hhbmdjaGVja19y ZWFkLAorCS5sbHNlZWsgPSBkZWZhdWx0X2xsc2VlaywKK307CisKIHN0YXRpYyBpbnQKIGk5MTVf cmluZ19zdG9wX2dldCh2b2lkICpkYXRhLCB1NjQgKnZhbCkKIHsKQEAgLTQ4MjUsNiArNDk2MCw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9kZWJ1Z2ZzX2ZpbGVzIHsKIAl7Imk5MTVfcmlu Z19taXNzZWRfaXJxIiwgJmk5MTVfcmluZ19taXNzZWRfaXJxX2ZvcHN9LAogCXsiaTkxNV9yaW5n X3Rlc3RfaXJxIiwgJmk5MTVfcmluZ190ZXN0X2lycV9mb3BzfSwKIAl7Imk5MTVfZ2VtX2Ryb3Bf Y2FjaGVzIiwgJmk5MTVfZHJvcF9jYWNoZXNfZm9wc30sCisJeyJpOTE1X3JpbmdfaGFuZ2NoZWNr IiwgJmk5MTVfcmluZ19oYW5nY2hlY2tfZm9wc30sCiAJeyJpOTE1X2Vycm9yX3N0YXRlIiwgJmk5 MTVfZXJyb3Jfc3RhdGVfZm9wc30sCiAJeyJpOTE1X25leHRfc2Vxbm8iLCAmaTkxNV9uZXh0X3Nl cW5vX2ZvcHN9LAogCXsiaTkxNV9kaXNwbGF5X2NyY19jdGwiLCAmaTkxNV9kaXNwbGF5X2NyY19j dGxfZm9wc30sCi0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=