From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [PATCH 12/20] drm/i915: Debugfs interface for per-engine hang recovery. Date: Fri, 23 Oct 2015 02:32:34 +0100 Message-ID: <1445563962-20753-13-git-send-email-tomas.elf@intel.com> References: <1445563962-20753-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 71F396E7C9 for ; Thu, 22 Oct 2015 18:33:42 -0700 (PDT) In-Reply-To: <1445563962-20753-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 MS4gVGhlIGk5MTVfd2VkZ2VkX3NldCgpIGZ1bmN0aW9uIG5vdyBhbGxvd3MgZm9yIGJvdGggbGVn YWN5IGZ1bGwgR1BVIHJlc2V0IGFuZAogICBwZXItZW5naW5lIHJlc2V0IG9mIG9uZSBvciBtb3Jl IGVuZ2luZXMgYXQgYSB0aW1lOgoKCWEpIExlZ2FjeSBoYW5nIHJlY292ZXJ5IGJ5IHBhc3Npbmcg MC4KCgliKSBNdWx0aXBsZSBlbmdpbmUgaGFuZyByZWNvdmVyeSBieSBwYXNzaW5nIGluIGFuIGVu Z2luZSBmbGFnIG1hc2sKCXdoZXJlIGJpdCAwIGNvcnJlc3BvbmRzIHRvIGVuZ2luZSAwID0gUkNT LCBiaXQgMSBjb3JyZXNwb25kcyB0byBlbmdpbmUKCTEgPSBWQ1MgZXRjLiBUaGlzIGFsbG93cyBm b3IgYW55IGNvbWJpbmF0aW9uIG9mIGVuZ2luZSBoYW5nIHJlY292ZXJpZXMKCXRvIGJlIHRlc3Rl ZC4gRm9yIGV4YW1wbGUsIGJ5IHBhc3NpbmcgaW4gdGhlIHZhbHVlIDB4MyBoYW5nIHJlY292ZXJ5 Cglmb3IgZW5naW5lcyAwIGFuZCAxIChSQ1MgYW5kIFZDUykgYXJlIHNjaGVkdWxlZCBhdCB0aGUg c2FtZSB0aW1lLgoKMi4gVGhlIGk5MTVfaGFuZ2NoZWNrX2luZm8oKSBmdW5jdGlvbiBpcyBjb21w bGVtZW50ZWQgd2l0aCBzdGF0aXN0aWNzIHJlbGF0ZWQKICAgdG86CgoJYSkgTnVtYmVyIG9mIGVu Z2luZSBoYW5ncyBkZXRlY3RlZCBieSBwZXJpb2RpYyBoYW5nIGNoZWNrZXIuCgliKSBOdW1iZXIg b2Ygd2F0Y2hkb2cgdGltZW91dCBoYW5ncyBkZXRlY3RlZC4KCWMpIE51bWJlciBvZiBmdWxsIEdQ VSByZXNldHMgY2FycmllZCBvdXQuCglkKSBOdW1iZXIgb2YgZW5naW5lIHJlc2V0cyBjYXJyaWVk IG91dC4KClNpZ25lZC1vZmYtYnk6IFRvbWFzIEVsZiA8dG9tYXMuZWxmQGludGVsLmNvbT4KU2ln bmVkLW9mZi1ieTogQXJ1biBTaWx1dmVyeSA8YXJ1bi5zaWx1dmVyeUBpbnRlbC5jb20+ClNpZ25l ZC1vZmYtYnk6IElhbiBMaXN0ZXIgPGlhbi5saXN0ZXJAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1 b3BwYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYyB8IDc1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmls ZSBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggYWEwNTk4OC4uZWRiNzlhNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTEzNTIsNiArMTM1Miw4IEBAIHN0YXRpYyBpbnQgaTkxNV9o YW5nY2hlY2tfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKIAl9IGVsc2UK IAkJc2VxX3ByaW50ZihtLCAiSGFuZ2NoZWNrIGluYWN0aXZlXG4iKTsKIAorCXNlcV9wcmludGYo bSwgIkZ1bGwgR1BVIHJlc2V0cyA9ICV1XG4iLCBpOTE1X3Jlc2V0X2NvdW50KCZkZXZfcHJpdi0+ Z3B1X2Vycm9yKSk7CisKIAlmb3JfZWFjaF9yaW5nKHJpbmcsIGRldl9wcml2LCBpKSB7CiAJCXNl cV9wcmludGYobSwgIiVzOlxuIiwgcmluZy0+bmFtZSk7CiAJCXNlcV9wcmludGYobSwgIlx0c2Vx bm8gPSAleCBbY3VycmVudCAleF1cbiIsCkBAIC0xMzYzLDYgKzEzNjUsMTIgQEAgc3RhdGljIGlu dCBpOTE1X2hhbmdjaGVja19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQog CQkJICAgKGxvbmcgbG9uZylyaW5nLT5oYW5nY2hlY2subWF4X2FjdGhkKTsKIAkJc2VxX3ByaW50 ZihtLCAiXHRzY29yZSA9ICVkXG4iLCByaW5nLT5oYW5nY2hlY2suc2NvcmUpOwogCQlzZXFfcHJp bnRmKG0sICJcdGFjdGlvbiA9ICVkXG4iLCByaW5nLT5oYW5nY2hlY2suYWN0aW9uKTsKKwkJc2Vx X3ByaW50ZihtLCAiXHRlbmdpbmUgcmVzZXRzID0gJXVcbiIsCisJCQlyaW5nLT5oYW5nY2hlY2su cmVzZXRfY291bnQpOworCQlzZXFfcHJpbnRmKG0sICJcdGVuZ2luZSBoYW5nIGRldGVjdGlvbnMg PSAldVxuIiwKKwkJCXJpbmctPmhhbmdjaGVjay50ZHJfY291bnQpOworCQlzZXFfcHJpbnRmKG0s ICJcdGVuZ2luZSB3YXRjaGRvZyB0aW1lb3V0IGRldGVjdGlvbnMgPSAldVxuIiwKKwkJCXJpbmct PmhhbmdjaGVjay53YXRjaGRvZ19jb3VudCk7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC00NTY4LDEx ICs0NTc2LDQ4IEBAIGk5MTVfd2VkZ2VkX2dldCh2b2lkICpkYXRhLCB1NjQgKnZhbCkKIAlyZXR1 cm4gMDsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgKnJpbmdpZF90b19zdHIoZW51bSBpbnRlbF9y aW5nX2lkIHJpbmdfaWQpCit7CisJc3dpdGNoIChyaW5nX2lkKSB7CisJY2FzZSBSQ1M6CisJCXJl dHVybiAiUkNTIjsKKwljYXNlIFZDUzoKKwkJcmV0dXJuICJWQ1MiOworCWNhc2UgQkNTOgorCQly ZXR1cm4gIkJDUyI7CisJY2FzZSBWRUNTOgorCQlyZXR1cm4gIlZFQ1MiOworCWNhc2UgVkNTMjoK KwkJcmV0dXJuICJWQ1MyIjsKKwl9CisKKwlyZXR1cm4gInVua25vd24iOworfQorCiBzdGF0aWMg aW50CiBpOTE1X3dlZGdlZF9zZXQodm9pZCAqZGF0YSwgdTY0IHZhbCkKIHsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gZGF0YTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKKwl1 MzIgaTsKKyNkZWZpbmUgRU5HSU5FX01TR0xFTiA2NAorCWNoYXIgbXNnW0VOR0lORV9NU0dMRU5d OworCisJLyoKKwkgKiBWYWwgY29udGFpbnMgdGhlIGVuZ2luZSBmbGFnIG1hc2sgb2YgZW5naW5l cyB0byBiZSByZXNldC4KKwkgKgorCSAqICogRnVsbCBHUFUgcmVzZXQgaXMgY2F1c2VkIGJ5IHBh c3NpbmcgdmFsID09IDB4MAorCSAqCisJICogKiBBbnkgY29tYmluYXRpb24gb2YgZW5naW5lIGhh bmdzIGlzIGNhdXNlZCBieSBzZXR0aW5nIHVwIHZhbCBhcyBhCisJICogICBtYXNrIHdpdGggdGhl IGZvbGxvd2luZyBiaXRzIHNldCBmb3IgZWFjaCBlbmdpbmUgdG8gYmUgaHVuZzoKKwkgKgorCSAq CUJpdCAwOiBSQ1MgZW5naW5lCisJICoJQml0IDE6IFZDUyBlbmdpbmUKKwkgKglCaXQgMjogQkNT IGVuZ2luZQorCSAqCUJpdCAzOiBWRUNTIGVuZ2luZQorCSAqCUJpdCA0OiBWQ1MyIGVuZ2luZSAo aWYgYXZhaWxhYmxlKQorCSAqLwogCiAJLyoKIAkgKiBUaGVyZSBpcyBubyBzYWZlZ3VhcmQgYWdh aW5zdCB0aGlzIGRlYnVnZnMgZW50cnkgY29sbGlkaW5nCkBAIC00NTgxLDE0ICs0NjI2LDM2IEBA IGk5MTVfd2VkZ2VkX3NldCh2b2lkICpkYXRhLCB1NjQgdmFsKQogCSAqIHRlc3QgaGFybmVzcyBp cyByZXNwb25zaWJsZSBlbm91Z2ggbm90IHRvIGluamVjdCBncHUgaGFuZ3MKIAkgKiB3aGlsZSBp dCBpcyB3cml0aW5nIHRvICdpOTE1X3dlZGdlZCcKIAkgKi8KLQotCWlmIChpOTE1X3Jlc2V0X2lu X3Byb2dyZXNzKCZkZXZfcHJpdi0+Z3B1X2Vycm9yKSkKKwlpZiAoaTkxNV9nZW1fY2hlY2tfd2Vk Z2UoZGV2X3ByaXYsIE5VTEwsIHRydWUpKQogCQlyZXR1cm4gLUVBR0FJTjsKIAogCWludGVsX3J1 bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKIAotCWk5MTVfaGFuZGxlX2Vycm9yKGRldiwgMHgwLCBm YWxzZSwgdmFsLAotCQkJICAiTWFudWFsbHkgc2V0dGluZyB3ZWRnZWQgdG8gJWxsdSIsIHZhbCk7 CisJbWVtc2V0KG1zZywgMCwgc2l6ZW9mKG1zZykpOworCisJaWYgKHZhbCkgeworCQlzY25wcmlu dGYobXNnLCBzaXplb2YobXNnKSwgIk1hbnVhbCByZXNldDoiKTsKKworCQkvKiBBc3NlbWJsZSBt ZXNzYWdlIHN0cmluZyAqLworCQlmb3JfZWFjaF9yaW5nKGVuZ2luZSwgZGV2X3ByaXYsIGkpCisJ CQlpZiAoaW50ZWxfcmluZ19mbGFnKGVuZ2luZSkgJiB2YWwpIHsKKwkJCQlEUk1fSU5GTygiTWFu dWFsIHJlc2V0OiAlc1xuIiwgZW5naW5lLT5uYW1lKTsKKworCQkJCXNjbnByaW50Zihtc2csIHNp emVvZihtc2cpLAorCQkJCQkgICIlcyBbJXNdIiwKKwkJCQkJICBtc2csCisJCQkJCSAgcmluZ2lk X3RvX3N0cihpKSk7CisJCQl9CisKKwl9IGVsc2UgeworCQlzY25wcmludGYobXNnLCBzaXplb2Yo bXNnKSwgIk1hbnVhbCBnbG9iYWwgcmVzZXQiKTsKKwl9CisKKwlpOTE1X2hhbmRsZV9lcnJvcihk ZXYsCisJCQkgIHZhbCwKKwkJCSAgZmFsc2UsCisJCQkgIHRydWUsCisJCQkgIG1zZyk7CiAKIAlp bnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7CiAKLS0gCjEuOS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=