From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 21/37] drm/i915/error: add GuC state error capture & decode Date: Mon, 23 Nov 2015 11:41:56 +0000 Message-ID: <1448278932-31551-22-git-send-email-John.C.Harrison@Intel.com> References: <1448278932-31551-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 804106E556 for ; Mon, 23 Nov 2015 03:42:39 -0800 (PST) In-Reply-To: <1448278932-31551-1-git-send-email-John.C.Harrison@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KCkZvcjogVklaLTIw MjEKU2lnbmVkLW9mZi1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgIHwgICA0ICsrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIHwgMTEwICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTE0IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA5ZTBlOWRhLi5kZjAxODYzIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKQEAgLTYxNyw2ICs2MTcsMTAgQEAgc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0 YXRlIHsKIAogCXUzMiAqYWN0aXZlX2JvX2NvdW50LCAqcGlubmVkX2JvX2NvdW50OwogCXUzMiB2 bV9jb3VudDsKKworCXN0cnVjdCBpbnRlbF9ndWMgZ3VjOworCXN0cnVjdCBpOTE1X2d1Y19jbGll bnQgZXhlY2J1Zl9jbGllbnQ7CisJc3RydWN0IGk5MTVfZ3VjX2NsaWVudCBwcmVlbXB0X2NsaWVu dDsKIH07CiAKIHN0cnVjdCBpbnRlbF9jb25uZWN0b3I7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n cHVfZXJyb3IuYwppbmRleCBlMzc3N2JhLi4zNDZjODMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ3B1X2Vycm9yLmMKQEAgLTM2Miw2ICszNjIsMTAwIEBAIHN0YXRpYyB2b2lkIGk5MTVfcmlu Z19lcnJvcl9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICptLAogCX0KIH0K IAorc3RhdGljIHZvaWQgaTkxNV9ndWNfZmlybXdhcmVfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfZXJy b3Jfc3RhdGVfYnVmICptLAorCQkJCSAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKKwkJCQkgICBzdHJ1Y3QgaW50ZWxfZ3VjX2Z3ICpndWNfZncpCit7CisJZXJyX3ByaW50Ziht LCAiR3VDIGZpcm13YXJlIHN0YXR1czpcbiIpOworCWVycl9wcmludGYobSwgIlx0cGF0aDogJXNc biIsCisJCWd1Y19mdy0+Z3VjX2Z3X3BhdGgpOworCWVycl9wcmludGYobSwgIlx0ZmV0Y2g6ICVz XG4iLAorCQlpbnRlbF9ndWNfZndfc3RhdHVzX3JlcHIoZ3VjX2Z3LT5ndWNfZndfZmV0Y2hfc3Rh dHVzKSk7CisJZXJyX3ByaW50ZihtLCAiXHRsb2FkOiAlc1xuIiwKKwkJaW50ZWxfZ3VjX2Z3X3N0 YXR1c19yZXByKGd1Y19mdy0+Z3VjX2Z3X2xvYWRfc3RhdHVzKSk7CisJZXJyX3ByaW50ZihtLCAi XHR2ZXJzaW9uIHdhbnRlZDogJWQuJWRcbiIsCisJCWd1Y19mdy0+Z3VjX2Z3X21ham9yX3dhbnRl ZCwgZ3VjX2Z3LT5ndWNfZndfbWlub3Jfd2FudGVkKTsKKwllcnJfcHJpbnRmKG0sICJcdHZlcnNp b24gZm91bmQ6ICVkLiVkXG4iLAorCQlndWNfZnctPmd1Y19md19tYWpvcl9mb3VuZCwgZ3VjX2Z3 LT5ndWNfZndfbWlub3JfZm91bmQpOworfQorCitzdGF0aWMgdm9pZCBpOTE1X2d1Y19hY3Rpb25f aW5mbyhzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICptLAorCQkJCSBzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJIHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sK KwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOworCXU2NCB0b3RhbCA9IDAsIHByZWVtcHRz ID0gMDsKKwlpbnQgaTsKKworCWVycl9wcmludGYobSwgIkd1QyBhY3Rpb24gc3RhdHVzOlxuIik7 CisJZXJyX3ByaW50ZihtLCAiXHR0b3RhbCBhY3Rpb24gY291bnQ6ICVsbHVcbiIsIGd1Yy0+YWN0 aW9uX2NvdW50KTsKKwllcnJfcHJpbnRmKG0sICJcdGxhc3QgYWN0aW9uIGNvbW1hbmQ6IDB4JXhc biIsIGd1Yy0+YWN0aW9uX2NtZCk7CisJZXJyX3ByaW50ZihtLCAiXHRsYXN0IGFjdGlvbiBzdGF0 dXM6IDB4JXhcbiIsIGd1Yy0+YWN0aW9uX3N0YXR1cyk7CisKKwllcnJfcHJpbnRmKG0sICJcdGFj dGlvbiBmYWlsdXJlIGNvdW50OiAldVxuIiwgZ3VjLT5hY3Rpb25fZmFpbF9jb3VudCk7CisJZXJy X3ByaW50ZihtLCAiXHRsYXN0IGZhaWxlZCBhY3Rpb246IDB4JXhcbiIsIGd1Yy0+YWN0aW9uX2Zh aWxfY21kKTsKKwllcnJfcHJpbnRmKG0sICJcdGxhc3QgZmFpbGVkIHN0YXR1czogMHgleFxuIiwg Z3VjLT5hY3Rpb25fZmFpbF9zdGF0dXMpOworCWVycl9wcmludGYobSwgIlx0bGFzdCBlcnJvciBj b2RlOiAlZFxuIiwgZ3VjLT5hY3Rpb25fZXJyKTsKKworCWVycl9wcmludGYobSwgIkd1QyBzdWJt aXNzaW9uczpcbiIpOworCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKKwkJZXJy X3ByaW50ZihtLCAiXHQlLTI0czogJTEwbGx1LCBsYXN0ICUtOHMgMHglMDh4ICU5ZFxuIiwKKwkJ CXJpbmctPm5hbWUsIGd1Yy0+c3VibWlzc2lvbnNbaV0sICJzZXFubyIsCisJCQlndWMtPmxhc3Rf c2Vxbm9baV0sIGd1Yy0+bGFzdF9zZXFub1tpXSk7CisJCWVycl9wcmludGYobSwgIlx0JS0yNHM6 ICUxMHUsIGxhc3QgJS04cyAweCUwOHggJTlkXG4iLAorCQkJIiAgICBwcmVlbXB0aW9ucyIsIGd1 Yy0+cHJlZW1wdGlvbnNbaV0sICJwcmVlbXB0IiwKKwkJCWd1Yy0+bGFzdF9wcmVlbXB0W2ldLCBn dWMtPmxhc3RfcHJlZW1wdFtpXSk7CisJCXRvdGFsICs9IGd1Yy0+c3VibWlzc2lvbnNbaV07CisJ CXByZWVtcHRzICs9IGd1Yy0+cHJlZW1wdGlvbnNbaV07CisJfQorCWVycl9wcmludGYobSwgIlx0 JXM6ICUxMGxsdVxuIiwgIlRvdGFsIHJlZ3VsYXIiLCB0b3RhbCk7CisJZXJyX3ByaW50ZihtLCAi XHQlczogJTEwbGx1XG4iLCAiICAgICBwcmVlbXB0cyIsIHByZWVtcHRzKTsKK30KKworc3RhdGlj IHZvaWQgaTkxNV9ndWNfY2xpZW50X2luZm8oc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlX2J1 ZiAqbSwKKwkJCQkgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCSBzdHJ1 Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQpCit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZzsKKwl1aW50NjRfdCB0b3QgPSAwOworCXVpbnQzMl90IGk7CisKKwllcnJfcHJpbnRmKG0s ICJcdFByaW9yaXR5ICVkLCBHdUMgY3R4IGluZGV4OiAldSwgUEQgb2Zmc2V0IDB4JXhcbiIsCisJ CWNsaWVudC0+cHJpb3JpdHksIGNsaWVudC0+Y3R4X2luZGV4LCBjbGllbnQtPnByb2NfZGVzY19v ZmZzZXQpOworCWVycl9wcmludGYobSwgIlx0RG9vcmJlbGwgaWQgJWQsIG9mZnNldDogMHgleCwg Y29va2llIDB4JXhcbiIsCisJCWNsaWVudC0+ZG9vcmJlbGxfaWQsIGNsaWVudC0+ZG9vcmJlbGxf b2Zmc2V0LCBjbGllbnQtPmRvb3JiZWxsX2Nvb2tpZSk7CisJZXJyX3ByaW50ZihtLCAiXHRXUSBz aXplICVkLCBvZmZzZXQ6IDB4JXgsIHRhaWwgJWRcbiIsCisJCWNsaWVudC0+d3Ffc2l6ZSwgY2xp ZW50LT53cV9vZmZzZXQsIGNsaWVudC0+d3FfdGFpbCk7CisKKwllcnJfcHJpbnRmKG0sICJcdEZh aWxlZCB0byBxdWV1ZTogJXVcbiIsIGNsaWVudC0+cV9mYWlsKTsKKwllcnJfcHJpbnRmKG0sICJc dEZhaWxlZCBkb29yYmVsbDogJXVcbiIsIGNsaWVudC0+Yl9mYWlsKTsKKwllcnJfcHJpbnRmKG0s ICJcdExhc3Qgc3VibWlzc2lvbiByZXN1bHQ6ICVkXG4iLCBjbGllbnQtPnJldGNvZGUpOworCisJ Zm9yX2VhY2hfcmluZyhyaW5nLCBkZXZfcHJpdiwgaSkgeworCQllcnJfcHJpbnRmKG0sICJcdFN1 Ym1pc3Npb25zOiAlbGx1ICVzXG4iLAorCQkJCWNsaWVudC0+c3VibWlzc2lvbnNbaV0sCisJCQkJ cmluZy0+bmFtZSk7CisJCXRvdCArPSBjbGllbnQtPnN1Ym1pc3Npb25zW2ldOworCX0KKwllcnJf cHJpbnRmKG0sICJcdFRvdGFsOiAlbGx1XG4iLCB0b3QpOworfQorCitzdGF0aWMgdm9pZCBpOTE1 X2d1Y19lcnJvcl9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICptLAorCQkJ CSBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJIHN0cnVjdCBkcm1faTkx NV9lcnJvcl9zdGF0ZSAqZXJyb3IpCit7CisJc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmVycm9y LT5ndWM7CisKKwlpOTE1X2d1Y19maXJtd2FyZV9pbmZvKG0sIGRldl9wcml2LCAmZ3VjLT5ndWNf ZncpOworCWk5MTVfZ3VjX2FjdGlvbl9pbmZvKG0sIGRldl9wcml2LCBndWMpOworCisJZXJyX3By aW50ZihtLCAiR3VDIGV4ZWNidWYgY2xpZW50IEAgJXA6XG4iLCBndWMtPmV4ZWNidWZfY2xpZW50 KTsKKwlpOTE1X2d1Y19jbGllbnRfaW5mbyhtLCBkZXZfcHJpdiwgJmVycm9yLT5leGVjYnVmX2Ns aWVudCk7CisKKwllcnJfcHJpbnRmKG0sICJHdUMgcHJlZW1wdCBjbGllbnQgQCAlcDpcbiIsIGd1 Yy0+cHJlZW1wdF9jbGllbnQpOworCWk5MTVfZ3VjX2NsaWVudF9pbmZvKG0sIGRldl9wcml2LCAm ZXJyb3ItPnByZWVtcHRfY2xpZW50KTsKK30KKwogdm9pZCBpOTE1X2Vycm9yX3ByaW50ZihzdHJ1 Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICplLCBjb25zdCBjaGFyICpmLCAuLi4pCiB7CiAJ dmFfbGlzdCBhcmdzOwpAQCAtNDY3LDYgKzU2MSw5IEBAIGludCBpOTE1X2Vycm9yX3N0YXRlX3Rv X3N0cihzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICptLAogCWlmIChJTlRFTF9JTkZP KGRldiktPmdlbiA9PSA3KQogCQllcnJfcHJpbnRmKG0sICJFUlJfSU5UOiAweCUwOHhcbiIsIGVy cm9yLT5lcnJfaW50KTsKIAorCWlmIChIQVNfR1VDX1VDT0RFKGRldikgfHwgSEFTX0dVQ19TQ0hF RChkZXYpKQorCQlpOTE1X2d1Y19lcnJvcl9zdGF0ZShtLCBkZXZfcHJpdiwgZXJyb3IpOworCiAJ Zm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZXJyb3ItPnJpbmcpOyBpKyspCiAJCWk5MTVfcmlu Z19lcnJvcl9zdGF0ZShtLCBkZXYsIGVycm9yLCBpKTsKIApAQCAtMTM5NCw2ICsxNDkxLDE4IEBA IHN0YXRpYyB2b2lkIGk5MTVfY2FwdHVyZV9yZWdfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCWk5MTVfZ2V0X2V4dHJhX2luc3Rkb25lKGRldiwgZXJyb3ItPmV4dHJh X2luc3Rkb25lKTsKIH0KIAorLyogQ2FwdHVyZSBpbmZvcm1hdGlvbiBhYm91dCBHdUMgbG9hZGlu ZyBhbmQgc3VibWlzc2lvbiwgd2hlcmUgZW5hYmxlZCAqLworc3RhdGljIHZvaWQgaTkxNV9jYXB0 dXJlX2d1Y19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJICAg c3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlICplcnJvcikKK3sKKwkvKiBKdXN0IGNvcHkgdGhl IHN0YXRlIG9mIHRoZSBkZXZpY2UgZm9yIG5vdyAqLworCWVycm9yLT5ndWMgPSBkZXZfcHJpdi0+ Z3VjOworCWlmIChlcnJvci0+Z3VjLmV4ZWNidWZfY2xpZW50KQorCQllcnJvci0+ZXhlY2J1Zl9j bGllbnQgPSAqZXJyb3ItPmd1Yy5leGVjYnVmX2NsaWVudDsKKwlpZiAoZXJyb3ItPmd1Yy5wcmVl bXB0X2NsaWVudCkKKwkJZXJyb3ItPnByZWVtcHRfY2xpZW50ID0gKmVycm9yLT5ndWMucHJlZW1w dF9jbGllbnQ7Cit9CisKIHN0YXRpYyB2b2lkIGk5MTVfZXJyb3JfY2FwdHVyZV9tc2coc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGUgKmVy cm9yLAogCQkJCSAgIGJvb2wgd2VkZ2VkLApAQCAtMTQ2MSw2ICsxNTcwLDcgQEAgdm9pZCBpOTE1 X2NhcHR1cmVfZXJyb3Jfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCB3ZWRnZWQs CiAKIAlpOTE1X2NhcHR1cmVfZ2VuX3N0YXRlKGRldl9wcml2LCBlcnJvcik7CiAJaTkxNV9jYXB0 dXJlX3JlZ19zdGF0ZShkZXZfcHJpdiwgZXJyb3IpOworCWk5MTVfY2FwdHVyZV9ndWNfc3RhdGUo ZGV2X3ByaXYsIGVycm9yKTsKIAlpOTE1X2dlbV9jYXB0dXJlX2J1ZmZlcnMoZGV2X3ByaXYsIGVy cm9yKTsKIAlpOTE1X2dlbV9yZWNvcmRfZmVuY2VzKGRldiwgZXJyb3IpOwogCWk5MTVfZ2VtX3Jl Y29yZF9yaW5ncyhkZXYsIGVycm9yKTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=