From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH v3 1/2] drm/i915/guc: Reset GuC and retry on firmware load failure Date: Thu, 24 Mar 2016 18:40:14 +0000 Message-ID: <1458844815-25925-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 021E66E9CE for ; Thu, 24 Mar 2016 18:40:43 +0000 (UTC) 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 b25AaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogQWxleCBEYWkgPHl1LmRhaUBpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDEgKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfcmVnLmggICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaCAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjX2xvYWRlci5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyAgICAgfCAxOSArKysrKysrKysrKysr CiA1IGZpbGVzIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggYjkzZWY3MC4uZDE0MDRiOSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCkBAIC0yNzM2LDYgKzI3MzYsNyBAQCBleHRlcm4gbG9uZyBpOTE1X2NvbXBhdF9p b2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50IGNtZCwKIGV4dGVybiBpbnQgaW50 ZWxfZ3B1X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBlbmdpbmVfbWFzayk7CiBl eHRlcm4gYm9vbCBpbnRlbF9oYXNfZ3B1X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwog ZXh0ZXJuIGludCBpOTE1X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOworZXh0ZXJuIGlu dCBpbnRlbF9ndWNfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGV4 dGVybiB2b2lkIGludGVsX2VuZ2luZV9pbml0X2hhbmdjaGVjayhzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaTkxNV9jaGlwc2V0X3ZhbChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaTkx NV9tY2hfdmFsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ3VjX3JlZy5oCmluZGV4IGU0YmE1ODIuLjk0Y2VlZTUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ3VjX3JlZy5oCkBAIC0yNyw2ICsyNyw3IEBACiAvKiBEZWZpbml0aW9ucyBvZiBH dUMgSC9XIHJlZ2lzdGVycywgYml0cywgZXRjICovCiAKICNkZWZpbmUgR1VDX1NUQVRVUwkJCV9N TUlPKDB4YzAwMCkKKyNkZWZpbmUgICBHU19NSUFfSU5fUkVTRVQJCSgxIDw8IDApCiAjZGVmaW5l ICAgR1NfQk9PVFJPTV9TSElGVAkJMQogI2RlZmluZSAgIEdTX0JPT1RST01fTUFTSwkJICAoMHg3 RiA8PCBHU19CT09UUk9NX1NISUZUKQogI2RlZmluZSAgIEdTX0JPT1RST01fUlNBX0ZBSUxFRAkJ ICAoMHg1MCA8PCBHU19CT09UUk9NX1NISUZUKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXgg YzgzOWNlOS4uNmU2MzA5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC0xNjUsNiArMTY1 LDcgQEAgc3RhdGljIGlubGluZSBib29sIGk5MTVfbW1pb19yZWdfdmFsaWQoaTkxNV9yZWdfdCBy ZWcpCiAjZGVmaW5lICBHRU42X0dSRE9NX01FRElBCQkoMSA8PCAyKQogI2RlZmluZSAgR0VONl9H UkRPTV9CTFQJCQkoMSA8PCAzKQogI2RlZmluZSAgR0VONl9HUkRPTV9WRUNTCQkoMSA8PCA0KQor I2RlZmluZSAgR0VOOV9HUkRPTV9HVUMJCQkoMSA8PCA1KQogI2RlZmluZSAgR0VOOF9HUkRPTV9N RURJQTIJCSgxIDw8IDcpCiAKICNkZWZpbmUgUklOR19QUF9ESVJfQkFTRShyaW5nKQkJX01NSU8o KHJpbmcpLT5tbWlvX2Jhc2UrMHgyMjgpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ndWNfbG9hZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9h ZGVyLmMKaW5kZXggYjQ5NzZmOS4uZDg0YzU2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19sb2FkZXIuYwpAQCAtMzUzLDYgKzM1MywyNCBAQCBzdGF0aWMgaW50IGd1Y191Y29kZV94 ZmVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlyZXR1cm4gcmV0OwogfQog CitzdGF0aWMgaW50IGk5MTVfcmVzZXRfZ3VjKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKK3sKKwlpbnQgcmV0OworCXUzMiBndWNfc3RhdHVzOworCisJcmV0ID0gaW50ZWxfZ3Vj X3Jlc2V0KGRldl9wcml2KTsKKwlpZiAocmV0KSB7CisJCURSTV9FUlJPUigiR3VDIHJlc2V0IGZh aWxlZCwgcmV0ID0gJWRcbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisJZ3VjX3N0YXR1 cyA9IEk5MTVfUkVBRChHVUNfU1RBVFVTKTsKKwlXQVJOKCEoZ3VjX3N0YXR1cyAmIEdTX01JQV9J Tl9SRVNFVCksCisJICAgICAiR3VDIHN0YXR1czogMHgleCwgTUlBIGNvcmUgZXhwZWN0ZWQgdG8g YmUgaW4gcmVzZXRcbiIsIGd1Y19zdGF0dXMpOworCisJcmV0dXJuIHJldDsKK30KKwogLyoqCiAg KiBpbnRlbF9ndWNfdWNvZGVfbG9hZCgpIC0gbG9hZCBHdUMgdUNvZGUgaW50byB0aGUgZGV2aWNl CiAgKiBAZGV2Oglkcm0gZGV2aWNlCkBAIC00MTcsOSArNDM1LDM2IEBAIGludCBpbnRlbF9ndWNf dWNvZGVfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmIChlcnIpCiAJCWdvdG8gZmFp bDsKIAorCS8qCisJICogV2FFbmFibGV1S2VybmVsSGVhZGVyVmFsaWRGaXg6c2tsLGJ4dAorCSAq IEZvciBCWFQsIHRoaXMgaXMgb25seSB1cHRvIEIwIGJ1dCBiZWxvdyBXQSBpcyByZXF1aXJlZCBm b3IgbGF0ZXIKKwkgKiBzdGVwcGluZ3MgYWxzbyBzbyB0aGlzIGlzIGV4dGVuZGVkIGFzIHdlbGwu CisJICovCisJLyogV2FFbmFibGVHdUNCb290SGFzaENoZWNrTm90U2V0OnNrbCxieHQgKi8KIAll cnIgPSBndWNfdWNvZGVfeGZlcihkZXZfcHJpdik7Ci0JaWYgKGVycikKLQkJZ290byBmYWlsOwor CWlmIChlcnIpIHsKKwkJaW50IHJldHJpZXMgPSAzOworCisJCURSTV9FUlJPUigiR3VDIGZ3IGxv YWQgZmFpbGVkLCBlcnI9JWQsIGF0dGVtcHRpbmcgcmVzZXQgYW5kIHJldHJ5XG4iLCBlcnIpOwor CisJCXdoaWxlIChyZXRyaWVzLS0pIHsKKwkJCWVyciA9IGk5MTVfcmVzZXRfZ3VjKGRldl9wcml2 KTsKKwkJCWlmIChlcnIpCisJCQkJYnJlYWs7CisKKwkJCWVyciA9IGd1Y191Y29kZV94ZmVyKGRl dl9wcml2KTsKKwkJCWlmICghZXJyKSB7CisJCQkJRFJNX0RFQlVHX0RSSVZFUigiR3VDIGZ3IHJl bG9hZCBzdWNjZWVkZWQgYWZ0ZXIgcmVzZXRcbiIpOworCQkJCWJyZWFrOworCQkJfQorCQkJRFJN X0RFQlVHX0RSSVZFUigiR3VDIGZ3IHJlbG9hZCByZXRyaWVzIGxlZnQ6ICVkXG4iLCByZXRyaWVz KTsKKwkJfQorCisJCWlmIChlcnIpIHsKKwkJCURSTV9FUlJPUigiR3VDIGZ3IHJlbG9hZCBhdHRl bXB0IGZhaWxlZCwgcmV0PSVkXG4iLCBlcnIpOworCQkJZ290byBmYWlsOworCQl9CisJfQogCiAJ Z3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMgPSBHVUNfRklSTVdBUkVfU1VDQ0VTUzsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwppbmRleCA1MTJiN2ZhLi5kNDRlMDdlIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwpAQCAtMTY3Myw2ICsxNjczLDI1IEBAIGJvb2wgaW50 ZWxfaGFzX2dwdV9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXJldHVybiBpbnRlbF9n ZXRfZ3B1X3Jlc2V0KGRldikgIT0gTlVMTDsKIH0KIAoraW50IGludGVsX2d1Y19yZXNldChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJaW50IHJldDsKKwl1bnNpZ25lZCBs b25nIGlycWZsYWdzOworCisJaWYgKCFpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbikKKwkJcmV0 dXJuIC1FSU5WQUw7CisKKwlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldChkZXZfcHJpdiwgRk9S Q0VXQUtFX0FMTCk7CisJc3Bpbl9sb2NrX2lycXNhdmUoJmRldl9wcml2LT51bmNvcmUubG9jaywg aXJxZmxhZ3MpOworCisJcmV0ID0gZ2VuNl9od19kb21haW5fcmVzZXQoZGV2X3ByaXYsIEdFTjlf R1JET01fR1VDKTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldl9wcml2LT51bmNvcmUu bG9jaywgaXJxZmxhZ3MpOworCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0KGRldl9wcml2LCBG T1JDRVdBS0VfQUxMKTsKKworCXJldHVybiByZXQ7Cit9CisKIGJvb2wgaW50ZWxfdW5jb3JlX3Vu Y2xhaW1lZF9tbWlvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlyZXR1 cm4gY2hlY2tfZm9yX3VuY2xhaW1lZF9tbWlvKGRldl9wcml2KTsKLS0gCjEuOS4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK