From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH v4 1/3] drm/i915/guc: reset GuC and retry on firmware load failure Date: Mon, 4 Apr 2016 18:50:56 +0100 Message-ID: <1459792258-16645-2-git-send-email-david.s.gordon@intel.com> References: <1459792258-16645-1-git-send-email-david.s.gordon@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 1DE0D88F04 for ; Mon, 4 Apr 2016 17:51:09 +0000 (UTC) In-Reply-To: <1459792258-16645-1-git-send-email-david.s.gordon@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 RnJvbTogQXJ1biBTaWx1dmVyeSA8YXJ1bi5zaWx1dmVyeUBsaW51eC5pbnRlbC5jb20+CgpEdWUg dG8gdGltaW5nIGlzc3VlcyBpbiB0aGUgSFcsIHNvbWUgb2YgdGhlIHN0YXR1cyBiaXRzIHJlcXVp cmVkIGZvciBHdUMKYXV0aGVudGljYXRpb24gb2NjYXNpb25hbGx5IGRvbid0IGdldCBzZXQ7IHdo ZW4gdGhhdCBoYXBwZW5zLCB0aGUgR3VDCmNhbm5vdCBiZSBpbml0aWFsaXplZCBhbmQgd2Ugd2ls bCBiZSBsZWZ0IHdpdGggYSB3ZWRnZWQgR1BVLiBUaGUgVy9BCnN1Z2dlc3RlZCBpcyB0byBwZXJm b3JtIGEgc29mdCByZXNldCBvZiB0aGUgR3VDIGFuZCBhdHRlbXB0IHRvIHJlbG9hZAp0aGUgRi9X IGFnYWluIGZvciBmZXcgdGltZXMgYmVmb3JlIGdpdmluZyB1cC4KCkFzIHRoZSBmYWlsdXJlIGlz IGRlcGVuZGVudCBvbiB0aW1pbmcsIHRlc3RzIHBlcmZvcm1lZCBieSB0cmlnZ2VyaW5nCm1hbnVh bCBmdWxsIGdwdSByZXNldCAoaTkxNV93ZWRnZWQpIHNob3dlZCB0aGF0IHdlIGNvdWxkIHNvbWV0 aW1lcyBoaXQKdGhpcyBhZnRlciBzZXZlcmFsIHRob3VzYW5kIGl0ZXJhdGlvbnMsIGJ1dCBzb21l dGltZXMgdGVzdHMgcmFuIGV2ZW4KbG9uZ2VyIHdpdGhvdXQgYW55IGlzc3Vlcy4gUmVzZXQgYW5k IHJlbG9hZCBtZWNoYW5pc20gcHJvdmVkIGhlbHBmdWwKd2hlbiB3ZSBpbmRlZWQgaGl0IGYvdyBs b2FkIGZhaWx1cmUsIHNvIGl0IGlzIGJldHRlciB0byBpbmNsdWRlIHRoaXMKdG8gaW1wcm92ZSBk cml2ZXIgc3RhYmlsaXR5LgoKVGhpcyBjaGFuZ2UgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIFdB cywKCglXYUVuYWJsZXVLZXJuZWxIZWFkZXJWYWxpZEZpeDpza2wsYnh0CglXYUVuYWJsZUd1Q0Jv b3RIYXNoQ2hlY2tOb3RTZXQ6c2tsLGJ4dAoKU2lnbmVkLW9mZi1ieTogQXJ1biBTaWx1dmVyeSA8 YXJ1bi5zaWx1dmVyeUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmUgR29yZG9u IDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBBbGV4IERhaSA8eXUuZGFp QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAg fCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19yZWcuaCAgICAgfCAgMSArCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMgfCA0OSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jICAgICB8IDE5 ICsrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBkZDE4NzcyLi4xODQ3ZWY5IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI3NDYsNiArMjc0Niw3IEBAIGV4dGVybiBsb25n IGk5MTVfY29tcGF0X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLCB1bnNpZ25lZCBpbnQgY21kLAog ZXh0ZXJuIGludCBpbnRlbF9ncHVfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIGVu Z2luZV9tYXNrKTsKIGV4dGVybiBib29sIGludGVsX2hhc19ncHVfcmVzZXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldik7CiBleHRlcm4gaW50IGk5MTVfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRl dik7CitleHRlcm4gaW50IGludGVsX2d1Y19yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpOwogZXh0ZXJuIHZvaWQgaW50ZWxfZW5naW5lX2luaXRfaGFuZ2NoZWNrKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBpOTE1X2No aXBzZXRfdmFsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiBleHRlcm4gdW5z aWduZWQgbG9uZyBpOTE1X21jaF92YWwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3JlZy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfcmVnLmgKaW5kZXggZTRiYTU4Mi4uOTRjZWVlNSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfcmVnLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfcmVnLmgKQEAgLTI3LDYgKzI3LDcgQEAKIC8qIERl ZmluaXRpb25zIG9mIEd1QyBIL1cgcmVnaXN0ZXJzLCBiaXRzLCBldGMgKi8KIAogI2RlZmluZSBH VUNfU1RBVFVTCQkJX01NSU8oMHhjMDAwKQorI2RlZmluZSAgIEdTX01JQV9JTl9SRVNFVAkJKDEg PDwgMCkKICNkZWZpbmUgICBHU19CT09UUk9NX1NISUZUCQkxCiAjZGVmaW5lICAgR1NfQk9PVFJP TV9NQVNLCQkgICgweDdGIDw8IEdTX0JPT1RST01fU0hJRlQpCiAjZGVmaW5lICAgR1NfQk9PVFJP TV9SU0FfRkFJTEVECQkgICgweDUwIDw8IEdTX0JPT1RST01fU0hJRlQpCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaAppbmRleCAxMmY1MTAzLi5mNGViZjMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgK QEAgLTE2NSw2ICsxNjUsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9tbWlvX3JlZ192YWxp ZChpOTE1X3JlZ190IHJlZykKICNkZWZpbmUgIEdFTjZfR1JET01fTUVESUEJCSgxIDw8IDIpCiAj ZGVmaW5lICBHRU42X0dSRE9NX0JMVAkJCSgxIDw8IDMpCiAjZGVmaW5lICBHRU42X0dSRE9NX1ZF Q1MJCSgxIDw8IDQpCisjZGVmaW5lICBHRU45X0dSRE9NX0dVQwkJCSgxIDw8IDUpCiAjZGVmaW5l ICBHRU44X0dSRE9NX01FRElBMgkJKDEgPDwgNykKIAogI2RlZmluZSBSSU5HX1BQX0RJUl9CQVNF KHJpbmcpCQlfTU1JTygocmluZyktPm1taW9fYmFzZSsweDIyOCkKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2d1Y19sb2FkZXIuYwppbmRleCBiNDk3NmY5Li5kODRjNTYwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCkBAIC0zNTMsNiArMzUzLDI0IEBAIHN0YXRpYyBp bnQgZ3VjX3Vjb2RlX3hmZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXJl dHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgaTkxNV9yZXNldF9ndWMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQoreworCWludCByZXQ7CisJdTMyIGd1Y19zdGF0dXM7CisKKwly ZXQgPSBpbnRlbF9ndWNfcmVzZXQoZGV2X3ByaXYpOworCWlmIChyZXQpIHsKKwkJRFJNX0VSUk9S KCJHdUMgcmVzZXQgZmFpbGVkLCByZXQgPSAlZFxuIiwgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9 CisKKwlndWNfc3RhdHVzID0gSTkxNV9SRUFEKEdVQ19TVEFUVVMpOworCVdBUk4oIShndWNfc3Rh dHVzICYgR1NfTUlBX0lOX1JFU0VUKSwKKwkgICAgICJHdUMgc3RhdHVzOiAweCV4LCBNSUEgY29y ZSBleHBlY3RlZCB0byBiZSBpbiByZXNldFxuIiwgZ3VjX3N0YXR1cyk7CisKKwlyZXR1cm4gcmV0 OworfQorCiAvKioKICAqIGludGVsX2d1Y191Y29kZV9sb2FkKCkgLSBsb2FkIEd1QyB1Q29kZSBp bnRvIHRoZSBkZXZpY2UKICAqIEBkZXY6CWRybSBkZXZpY2UKQEAgLTQxNyw5ICs0MzUsMzYgQEAg aW50IGludGVsX2d1Y191Y29kZV9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaWYgKGVy cikKIAkJZ290byBmYWlsOwogCisJLyoKKwkgKiBXYUVuYWJsZXVLZXJuZWxIZWFkZXJWYWxpZEZp eDpza2wsYnh0CisJICogRm9yIEJYVCwgdGhpcyBpcyBvbmx5IHVwdG8gQjAgYnV0IGJlbG93IFdB IGlzIHJlcXVpcmVkIGZvciBsYXRlcgorCSAqIHN0ZXBwaW5ncyBhbHNvIHNvIHRoaXMgaXMgZXh0 ZW5kZWQgYXMgd2VsbC4KKwkgKi8KKwkvKiBXYUVuYWJsZUd1Q0Jvb3RIYXNoQ2hlY2tOb3RTZXQ6 c2tsLGJ4dCAqLwogCWVyciA9IGd1Y191Y29kZV94ZmVyKGRldl9wcml2KTsKLQlpZiAoZXJyKQot CQlnb3RvIGZhaWw7CisJaWYgKGVycikgeworCQlpbnQgcmV0cmllcyA9IDM7CisKKwkJRFJNX0VS Uk9SKCJHdUMgZncgbG9hZCBmYWlsZWQsIGVycj0lZCwgYXR0ZW1wdGluZyByZXNldCBhbmQgcmV0 cnlcbiIsIGVycik7CisKKwkJd2hpbGUgKHJldHJpZXMtLSkgeworCQkJZXJyID0gaTkxNV9yZXNl dF9ndWMoZGV2X3ByaXYpOworCQkJaWYgKGVycikKKwkJCQlicmVhazsKKworCQkJZXJyID0gZ3Vj X3Vjb2RlX3hmZXIoZGV2X3ByaXYpOworCQkJaWYgKCFlcnIpIHsKKwkJCQlEUk1fREVCVUdfRFJJ VkVSKCJHdUMgZncgcmVsb2FkIHN1Y2NlZWRlZCBhZnRlciByZXNldFxuIik7CisJCQkJYnJlYWs7 CisJCQl9CisJCQlEUk1fREVCVUdfRFJJVkVSKCJHdUMgZncgcmVsb2FkIHJldHJpZXMgbGVmdDog JWRcbiIsIHJldHJpZXMpOworCQl9CisKKwkJaWYgKGVycikgeworCQkJRFJNX0VSUk9SKCJHdUMg ZncgcmVsb2FkIGF0dGVtcHQgZmFpbGVkLCByZXQ9JWRcbiIsIGVycik7CisJCQlnb3RvIGZhaWw7 CisJCX0KKwl9CiAKIAlndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9IEdVQ19GSVJNV0FSRV9T VUNDRVNTOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCmluZGV4IGFjMWM1NDUuLmZi YzFkMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCkBAIC0xNjczLDYgKzE2NzMs MjUgQEAgYm9vbCBpbnRlbF9oYXNfZ3B1X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJ cmV0dXJuIGludGVsX2dldF9ncHVfcmVzZXQoZGV2KSAhPSBOVUxMOwogfQogCitpbnQgaW50ZWxf Z3VjX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlpbnQgcmV0 OworCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7CisKKwlpZiAoIWk5MTUuZW5hYmxlX2d1Y19zdWJt aXNzaW9uKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0 KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYt PnVuY29yZS5sb2NrLCBpcnFmbGFncyk7CisKKwlyZXQgPSBnZW42X2h3X2RvbWFpbl9yZXNldChk ZXZfcHJpdiwgR0VOOV9HUkRPTV9HVUMpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2 X3ByaXYtPnVuY29yZS5sb2NrLCBpcnFmbGFncyk7CisJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9w dXQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwpOworCisJcmV0dXJuIHJldDsKK30KKwogYm9vbCBp bnRlbF91bmNvcmVfdW5jbGFpbWVkX21taW8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogewogCXJldHVybiBjaGVja19mb3JfdW5jbGFpbWVkX21taW8oZGV2X3ByaXYpOwotLSAK MS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=