From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH 1/7] drm/i915/guc: Reset GuC and retry on firmware load failure Date: Mon, 21 Mar 2016 10:16:34 +0000 Message-ID: <1458555400-22859-2-git-send-email-david.s.gordon@intel.com> References: <1458555400-22859-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 44A546E28F for ; Mon, 21 Mar 2016 10:16:50 +0000 (UTC) In-Reply-To: <1458555400-22859-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 dG8gdGltaW5nIGlzc3VlcyBpbiB0aGUgSFcgc29tZSBvZiB0aGUgc3RhdHVzIGJpdHMgcmVxdWly ZWQgZm9yIEd1QwphdXRoZW50aWNhdGlvbiBkb2Vzbid0IGdldCBzZXQgb2NjYXNzaW9uYWxseSwg d2hlbiB0aGF0IGhhcHBlbnMsIEd1QyBjYW5ub3QKYmUgaW5pdGlhbGl6ZWQgYW5kIHdlIHdpbGwg YmUgbGVmdCB3aXRoIGEgd2VkZ2VkIEdQVS4gVGhlIFdBIHN1Z2dlc3RlZCBpcwp0byBwZXJmb3Jt IGEgc29mdCByZXNldCBvZiBHdUMgYW5kIGF0dGVtcHQgdG8gcmVsb2FkIHRoZSBmdyBhZ2FpbiBm b3IgZmV3CnRpbWVzIGJlZm9yZSBnaXZpbmcgdXAuCgpBcyB0aGUgZmFpbHVyZSBpcyBkZXBlbmRl bnQgb24gdGltaW5nLCB0ZXN0cyBwZXJmb3JtZWQgYnkgdHJpZ2dlcmluZyBtYW51YWwKZnVsbCBn cHUgcmVzZXQgKGk5MTVfd2VkZ2VkKSBzaG93ZWQgdGhhdCB3ZSBjb3VsZCBzb21ldGltZXMgaGl0 IHRoaXMgYWZ0ZXIKc2V2ZXJhbCB0aG91c2FuZCBpdGVyYXRpb25zIGJ1dCBzb21ldGltZXMgdGVz dHMgcmFuIGV2ZW4gbG9uZ2VyIHdpdGhvdXQgYW55Cmlzc3Vlcy4gUmVzZXQgYW5kIHJlbG9hZCBt ZWNoYW5pc20gcHJvdmVkIGhlbHBmdWwgd2hlbiB3ZSBpbmRlZWQgaGl0IGZ3CmxvYWQgZmFpbHVy ZSBzbyBpdCBpcyBiZXR0ZXIgdG8gaW5jbHVkZSB0aGlzIHRvIGltcHJvdmUgZHJpdmVyIHN0YWJp bGl0eS4KClRoaXMgY2hhbmdlIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBXQSwKCldhRW5hYmxl dUtlcm5lbEhlYWRlclZhbGlkRml4OnNrbCxieHQKV2FFbmFibGVHdUNCb290SGFzaENoZWNrTm90 U2V0OnNrbCxieHQKClNpZ25lZC1vZmYtYnk6IEFydW4gU2lsdXZlcnkgPGFydW4uc2lsdXZlcnlA bGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEdvcmRvbiA8ZGF2aWQucy5nb3Jk b25AaW50ZWwuY29tPgpDYzogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ndWNfcmVnLmggICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaCAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xv YWRlci5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyAgICAgfCAxOSArKysrKysrKysrKysrCiA1IGZpbGVz IGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKaW5kZXggMDBjNDFhNC4uNTQxODg1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CkBAIC0yNzExLDYgKzI3MTEsNyBAQCBleHRlcm4gbG9uZyBpOTE1X2NvbXBhdF9pb2N0bChzdHJ1 Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50IGNtZCwKIGV4dGVybiBpbnQgaW50ZWxfZ3B1X3Jl c2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBlbmdpbmVfbWFzayk7CiBleHRlcm4gYm9v bCBpbnRlbF9oYXNfZ3B1X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogZXh0ZXJuIGlu dCBpOTE1X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOworZXh0ZXJuIGludCBpbnRlbF9n dWNfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGV4dGVybiB1bnNp Z25lZCBsb25nIGk5MTVfY2hpcHNldF92YWwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIGk5MTVfbWNoX3ZhbChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaTkxNV9nZnhfdmFsKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2d1Y19yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3Vj X3JlZy5oCmluZGV4IGU0YmE1ODIuLjk0Y2VlZTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ3VjX3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3Vj X3JlZy5oCkBAIC0yNyw2ICsyNyw3IEBACiAvKiBEZWZpbml0aW9ucyBvZiBHdUMgSC9XIHJlZ2lz dGVycywgYml0cywgZXRjICovCiAKICNkZWZpbmUgR1VDX1NUQVRVUwkJCV9NTUlPKDB4YzAwMCkK KyNkZWZpbmUgICBHU19NSUFfSU5fUkVTRVQJCSgxIDw8IDApCiAjZGVmaW5lICAgR1NfQk9PVFJP TV9TSElGVAkJMQogI2RlZmluZSAgIEdTX0JPT1RST01fTUFTSwkJICAoMHg3RiA8PCBHU19CT09U Uk9NX1NISUZUKQogI2RlZmluZSAgIEdTX0JPT1RST01fUlNBX0ZBSUxFRAkJICAoMHg1MCA8PCBH U19CT09UUk9NX1NISUZUKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggMDdlMDQ0OS4uY2M3 MWNhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC0xNjUsNiArMTY1LDcgQEAgc3RhdGlj IGlubGluZSBib29sIGk5MTVfbW1pb19yZWdfdmFsaWQoaTkxNV9yZWdfdCByZWcpCiAjZGVmaW5l ICBHRU42X0dSRE9NX01FRElBCQkoMSA8PCAyKQogI2RlZmluZSAgR0VONl9HUkRPTV9CTFQJCQko MSA8PCAzKQogI2RlZmluZSAgR0VONl9HUkRPTV9WRUNTCQkoMSA8PCA0KQorI2RlZmluZSAgR0VO OV9HUkRPTV9HVUMJCQkoMSA8PCA1KQogI2RlZmluZSAgR0VOOF9HUkRPTV9NRURJQTIJCSgxIDw8 IDcpCiAKICNkZWZpbmUgUklOR19QUF9ESVJfQkFTRShyaW5nKQkJX01NSU8oKHJpbmcpLT5tbWlv X2Jhc2UrMHgyMjgpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNf bG9hZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKaW5kZXgg ZTFhZmY2Mi4uYTA3YzIyOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjX2xvYWRlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIu YwpAQCAtMzUzLDYgKzM1MywyNCBAQCBzdGF0aWMgaW50IGd1Y191Y29kZV94ZmVyKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50 IGk5MTVfcmVzZXRfZ3VjKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlp bnQgcmV0OworCXUzMiBndWNfc3RhdHVzOworCisJcmV0ID0gaW50ZWxfZ3VjX3Jlc2V0KGRldl9w cml2KTsKKwlpZiAocmV0KSB7CisJCURSTV9FUlJPUigiR3VDIHJlc2V0IGZhaWxlZCwgcmV0ID0g JWRcbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisJZ3VjX3N0YXR1cyA9IEk5MTVfUkVB RChHVUNfU1RBVFVTKTsKKwlXQVJOKCEoZ3VjX3N0YXR1cyAmIEdTX01JQV9JTl9SRVNFVCksCisJ ICAgICAiR3VDIHN0YXR1czogMHgleCwgTUlBIGNvcmUgZXhwZWN0ZWQgdG8gYmUgaW4gcmVzZXRc biIsIGd1Y19zdGF0dXMpOworCisJcmV0dXJuIHJldDsKK30KKwogLyoqCiAgKiBpbnRlbF9ndWNf dWNvZGVfbG9hZCgpIC0gbG9hZCBHdUMgdUNvZGUgaW50byB0aGUgZGV2aWNlCiAgKiBAZGV2Oglk cm0gZGV2aWNlCkBAIC00MTcsOSArNDM1LDM2IEBAIGludCBpbnRlbF9ndWNfdWNvZGVfbG9hZChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmIChlcnIpCiAJCWdvdG8gZmFpbDsKIAorCS8qCisJ ICogV2FFbmFibGV1S2VybmVsSGVhZGVyVmFsaWRGaXg6c2tsLGJ4dAorCSAqIEZvciBCWFQsIHRo aXMgaXMgb25seSB1cHRvIEIwIGJ1dCBiZWxvdyBXQSBpcyByZXF1aXJlZCBmb3IgbGF0ZXIKKwkg KiBzdGVwcGluZ3MgYWxzbyBzbyB0aGlzIGlzIGV4dGVuZGVkIGFzIHdlbGwuCisJICovCisJLyog V2FFbmFibGVHdUNCb290SGFzaENoZWNrTm90U2V0OnNrbCxieHQgKi8KIAllcnIgPSBndWNfdWNv ZGVfeGZlcihkZXZfcHJpdik7Ci0JaWYgKGVycikKLQkJZ290byBmYWlsOworCWlmIChlcnIpIHsK KwkJaW50IHJldHJpZXMgPSAzOworCisJCURSTV9FUlJPUigiR3VDIGZ3IGxvYWQgZmFpbGVkLCBl cnI9JWQsIGF0dGVtcHRpbmcgcmVzZXQgYW5kIHJldHJ5XG4iLCBlcnIpOworCisJCXdoaWxlIChy ZXRyaWVzLS0pIHsKKwkJCWVyciA9IGk5MTVfcmVzZXRfZ3VjKGRldl9wcml2KTsKKwkJCWlmIChl cnIpCisJCQkJYnJlYWs7CisKKwkJCWVyciA9IGd1Y191Y29kZV94ZmVyKGRldl9wcml2KTsKKwkJ CWlmICghZXJyKSB7CisJCQkJRFJNX0RFQlVHX0RSSVZFUigiR3VDIGZ3IHJlbG9hZCBzdWNjZWVk ZWQgYWZ0ZXIgcmVzZXRcbiIpOworCQkJCWJyZWFrOworCQkJfQorCQkJRFJNX0RFQlVHX0RSSVZF UigiR3VDIGZ3IHJlbG9hZCByZXRyaWVzIGxlZnQ6ICVkXG4iLCByZXRyaWVzKTsKKwkJfQorCisJ CWlmIChlcnIpIHsKKwkJCURSTV9FUlJPUigiR3VDIGZ3IHJlbG9hZCBhdHRlbXB0IGZhaWxlZCwg cmV0PSVkXG4iLCBlcnIpOworCQkJZ290byBmYWlsOworCQl9CisJfQogCiAJZ3VjX2Z3LT5ndWNf ZndfbG9hZF9zdGF0dXMgPSBHVUNfRklSTVdBUkVfU1VDQ0VTUzsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91bmNvcmUuYwppbmRleCA1MTJiN2ZhLi5kNDRlMDdlIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91bmNvcmUuYwpAQCAtMTY3Myw2ICsxNjczLDI1IEBAIGJvb2wgaW50ZWxfaGFzX2dwdV9y ZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXJldHVybiBpbnRlbF9nZXRfZ3B1X3Jlc2V0 KGRldikgIT0gTlVMTDsKIH0KIAoraW50IGludGVsX2d1Y19yZXNldChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJaW50IHJldDsKKwl1bnNpZ25lZCBsb25nIGlycWZsYWdz OworCisJaWYgKCFpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbikKKwkJcmV0dXJuIC1FSU5WQUw7 CisKKwlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7 CisJc3Bpbl9sb2NrX2lycXNhdmUoJmRldl9wcml2LT51bmNvcmUubG9jaywgaXJxZmxhZ3MpOwor CisJcmV0ID0gZ2VuNl9od19kb21haW5fcmVzZXQoZGV2X3ByaXYsIEdFTjlfR1JET01fR1VDKTsK KworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldl9wcml2LT51bmNvcmUubG9jaywgaXJxZmxh Z3MpOworCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0KGRldl9wcml2LCBGT1JDRVdBS0VfQUxM KTsKKworCXJldHVybiByZXQ7Cit9CisKIGJvb2wgaW50ZWxfdW5jb3JlX3VuY2xhaW1lZF9tbWlv KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlyZXR1cm4gY2hlY2tfZm9y X3VuY2xhaW1lZF9tbWlvKGRldl9wcml2KTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK