From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arun Siluvery Subject: [PATCH v2 07/15] drm/i915/tdr: Restore engine state and start after reset Date: Fri, 17 Jun 2016 08:09:07 +0100 Message-ID: <1466147355-4635-8-git-send-email-arun.siluvery@linux.intel.com> References: <1466147355-4635-1-git-send-email-arun.siluvery@linux.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 D2A7B6EAE2 for ; Fri, 17 Jun 2016 07:09:31 +0000 (UTC) In-Reply-To: <1466147355-4635-1-git-send-email-arun.siluvery@linux.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: Tomas Elf List-Id: intel-gfx@lists.freedesktop.org V2UgY2FwdHVyZSB0aGUgc3RhdGUgb2YgYW4gZW5naW5lIGJlZm9yZSByZXNldHRpbmcgaXQsIG9u Y2UgdGhlIHJlc2V0IGlzCnN1Y2Nlc3NmdWwgZW5naW5lIGlzIHJlc3RvcmVkIHdpdGggdGhlIHNh bWUgc3RhdGUgYW5kIHJlc3RhcnRlZC4KClRoZSBzdGF0ZSBpbmNsdWRlcyBoZWFkIHJlZ2lzdGVy IGFuZCBhY3RpdmUgcmVxdWVzdC4gV2UgYWxzbyBudWRnZSB0aGUgaGVhZApmb3J3YXJkIGlmIGl0 IGhhc24ndCBhZHZhbmNlZCwgb3RoZXJ3aXNlIHdoZW4gdGhlIGVuZ2luZSBpcyByZXN0YXJ0ZWQg SFcKZXhlY3V0ZXMgdGhlIHNhbWUgaW5zdHJ1Y3Rpb24gYW5kIG1heSBoYW5nIGFnYWluLiBHZW5l cmFsbHkgaGVhZAphdXRvbWF0aWNhbGx5IGFkdmFuY2VzIHRvIHRoZSBuZXh0IGluc3RydWN0aW9u IGFzIHNvb24gYXMgSFcgcmVhZHMgY3VycmVudAppbnN0cnVjdGlvbiwgd2l0aG91dCB3YWl0aW5n IGZvciBpdCB0byBjb21wbGV0ZSwgaG93ZXZlciBhIE1CT1ggd2FpdAppbnNlcnRlZCBkaXJlY3Rs eSB0byBWQ1MvQkNTIGVuZ2luZXMgZG9lc24ndCBiZWhhdmUgaW4gdGhlIHNhbWUgd2F5LAppbnN0 ZWFkIGhlYWQgd2lsbCBzdGlsbCBiZSBwb2ludGluZyBhdCB0aGUgc2FtZSBpbnN0cnVjdGlvbiB1 bnRpbCBpdApjb21wbGV0ZXMuCgpJZiB0aGUgaGVhZCBpcyBtb2RpZmllZCwgdGhpcyBpcyBhbHNv IHVwZGF0ZWQgaW4gdGhlIGNvbnRleHQgaW1hZ2Ugc28gdGhhdApIVyBzZWVzIHVwIHRvIGRhdGUg dmFsdWUuCgpBIHZhbGlkIHJlcXVlc3QgaXMgZXhwZWN0ZWQgaW4gdGhlIHN0YXRlIGF0IHRoaXMg cG9pbnQgb3RoZXJ3aXNlIHdlCndvdWxkbid0IGhhdmUgcmVhY2hlZCB0aGlzIHBvaW50LCB0aGUg Y29udGV4dCB0aGF0IHN1Ym1pdHRlZCB0aGlzIHJlcXVlc3QKaXMgcmVzdWJtaXR0ZWQgdG8gSFcu IFRoZSByZXF1ZXN0IHRoYXQgY2F1c2VkIHRoZSBoYW5nIHdvdWxkIGJlIGF0IHRoZQpzdGFydCBv ZiBleGVjbGlzdCBxdWV1ZSwgdW5sZXNzIHdlIHJlc3VibWl0IGFuZCBjb21wbGV0ZSB0aGlzIHJl cXVlc3QsIGl0CmNhbm5vdCBiZSByZW1vdmVkIGZyb20gdGhlIHF1ZXVlLgoKQ2M6IE1pa2EgS3Vv cHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBUb21h cyBFbGYgPHRvbWFzLmVsZkBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFydW4gU2lsdXZlcnkg PGFydW4uc2lsdXZlcnlAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jICAgICAgICB8IDk0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDkgKysrKwogMiBm aWxlcyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMK aW5kZXggYjgzNTUyYS4uYzlhYTJjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTQ4 Nyw2ICs0ODcsMzAgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2NvbnRleHRfdW5xdWV1ZShzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJZXhlY2xpc3RzX3N1Ym1pdF9yZXF1ZXN0cyhy ZXEwLCByZXExLCB0ZHJfcmVzdWJtaXNzaW9uKTsKIH0KIAorLyoqCisgKiBpbnRlbF9leGVjbGlz dHNfcmVzdWJtaXQoKQorICogQGVuZ2luZTogZW5naW5lIHRvIGRvIHJlc3VibWlzc2lvbiBmb3IK KyAqCisgKiBJbiBleGVjbGlzdHMgbW9kZSwgZW5naW5lIHJlc2V0IHBvc3Rwcm9jZXNzIG1haW5s eSBpbmNsdWRlcyByZXN1Ym1pc3Npb24gb2YKKyAqIGNvbnRleHQgYWZ0ZXIgcmVzZXQsIGZvciB0 aGlzIHdlIGJ5cGFzcyB0aGUgZXhlY2xpc3QgcXVldWUuIFRoaXMgaXMKKyAqIG5lY2Vzc2FyeSBz aW5jZSBhdCB0aGUgcG9pbnQgb2YgVERSIGhhbmcgcmVjb3ZlcnkgdGhlIGhhcmR3YXJlIHdpbGwg YmUgaHVuZworICogYW5kIHJlc3VibWl0dGluZyBhIGZpeGVkIGNvbnRleHQgKHRoZSBjb250ZXh0 IHRoYXQgdGhlIFREUiBoYXMgaWRlbnRpZmllZAorICogYXMgaHVuZyBhbmQgZml4ZWQgdXAgaW4g b3JkZXIgdG8gbW92ZSBwYXN0IHRoZSBibG9ja2luZyBiYXRjaCBidWZmZXIpIHRvIGEKKyAqIGh1 bmcgZXhlY2xpc3QgcXVldWUgd2lsbCBsb2NrIHVwIHRoZSBURFIuICBJbnN0ZWFkLCBvcHQgZm9y IGRpcmVjdCBFTFNQCisgKiBzdWJtaXNzaW9uIHdpdGhvdXQgZGVwZW5kaW5nIG9uIHRoZSByZXN0 IG9mIHRoZSBkcml2ZXIuCisgKi8KK3N0YXRpYyB2b2lkIGludGVsX2V4ZWNsaXN0c19yZXN1Ym1p dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CisJdW5zaWduZWQgbG9uZyBmbGFn czsKKworCWlmIChXQVJOX09OKGxpc3RfZW1wdHkoJmVuZ2luZS0+ZXhlY2xpc3RfcXVldWUpKSkK KwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+ZXhlY2xpc3RfbG9jaywg ZmxhZ3MpOworCWV4ZWNsaXN0c19jb250ZXh0X3VucXVldWUoZW5naW5lLCB0cnVlKTsKKwlzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZlbmdpbmUtPmV4ZWNsaXN0X2xvY2ssIGZsYWdzKTsKK30KKwog c3RhdGljIHVuc2lnbmVkIGludAogZXhlY2xpc3RzX2NoZWNrX3JlbW92ZV9yZXF1ZXN0KHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyIGN0eF9pZCkKIHsKQEAgLTEwOTgsNiArMTEy Miw3NSBAQCBzdGF0aWMgaW50IGdlbjhfZW5naW5lX3N0YXRlX3NhdmUoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lLAogCXJldHVybiAwOwogfQogCisvKioKKyAqIGdlbjhfZW5naW5lX3N0 YXJ0KCkgLSByZXN0b3JlIHNhdmVkIHN0YXRlIGFuZCBzdGFydCBlbmdpbmUKKyAqIEBlbmdpbmU6 IGVuZ2luZSB0byBiZSBzdGFydGVkCisgKiBAc3RhdGU6IHN0YXRlIHRvIGJlIHJlc3RvcmVkCisg KgorICogUmV0dXJuczoKKyAqCTAgaWYgb2ssIG90aGVyd2lzZSBwcm9wYWdhdGVzIGVycm9yIGNv ZGVzLgorICovCitzdGF0aWMgaW50IGdlbjhfZW5naW5lX3N0YXJ0KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwKKwkJCSAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jc19zdGF0ZSAqc3Rh dGUpCit7CisJdTMyIGhlYWQ7CisJdTMyIGhlYWRfYWRkciwgdGFpbF9hZGRyOworCXUzMiAqcmVn X3N0YXRlOworCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmOworCXN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0ICpjdHg7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZW5naW5lLT5pOTE1OworCisJY3R4ID0gc3RhdGUtPnJlcS0+Y3R4OworCXJpbmdidWYgPSBjdHgt PmVuZ2luZVtlbmdpbmUtPmlkXS5yaW5nYnVmOworCXJlZ19zdGF0ZSA9IGN0eC0+ZW5naW5lW2Vu Z2luZS0+aWRdLmxyY19yZWdfc3RhdGU7CisKKwloZWFkID0gc3RhdGUtPmhlYWQ7CisJaGVhZF9h ZGRyID0gaGVhZCAmIEhFQURfQUREUjsKKworCWlmIChoZWFkID09IGVuZ2luZS0+aGFuZ2NoZWNr Lmxhc3RfaGVhZCkgeworCQkvKgorCQkgKiBUaGUgZW5naW5lIGhhcyBub3QgYWR2YW5jZWQgc2lu Y2UgdGhlIGxhc3QgdGltZSBpdCBodW5nLAorCQkgKiBmb3JjZSBpdCB0byBhZHZhbmNlIHRvIHRo ZSBuZXh0IFFXT1JELiBJbiBtb3N0IGNhc2VzIHRoZQorCQkgKiBlbmdpbmUgaGVhZCBwb2ludGVy IHdpbGwgYXV0b21hdGljYWxseSBhZHZhbmNlIHRvIHRoZQorCQkgKiBuZXh0IGluc3RydWN0aW9u IGFzIHNvb24gYXMgaXQgaGFzIHJlYWQgdGhlIGN1cnJlbnQKKwkJICogaW5zdHJ1Y3Rpb24sIHdp dGhvdXQgd2FpdGluZyBmb3IgaXQgdG8gY29tcGxldGUuIFRoaXMKKwkJICogc2VlbXMgdG8gYmUg dGhlIGRlZmF1bHQgYmVoYXZpb3VyLCBob3dldmVyIGFuIE1CT1ggd2FpdAorCQkgKiBpbnNlcnRl ZCBkaXJlY3RseSB0byB0aGUgVkNTL0JDUyBlbmdpbmVzIGRvZXMgbm90IGJlaGF2ZQorCQkgKiBp biB0aGUgc2FtZSB3YXksIGluc3RlYWQgdGhlIGhlYWQgcG9pbnRlciB3aWxsIHN0aWxsIGJlCisJ CSAqIHBvaW50aW5nIGF0IHRoZSBNQk9YIGluc3RydWN0aW9uIHVudGlsIGl0IGNvbXBsZXRlcy4K KwkJICovCisJCWhlYWRfYWRkciA9IHJvdW5kdXAoaGVhZF9hZGRyLCA4KTsKKwkJZW5naW5lLT5o YW5nY2hlY2subGFzdF9oZWFkID0gaGVhZDsKKwl9IGVsc2UgaWYgKGhlYWRfYWRkciAmIDB4Nykg eworCQkvKiBFbnN1cmUgaGVhZCBwb2ludGVyIGlzIHBvaW50aW5nIHRvIGEgUVdPUkQgYm91bmRh cnkgKi8KKwkJaGVhZF9hZGRyID0gQUxJR04oaGVhZF9hZGRyLCA4KTsKKwl9CisKKwl0YWlsX2Fk ZHIgPSByZWdfc3RhdGVbQ1RYX1JJTkdfVEFJTCsxXSAmIFRBSUxfQUREUjsKKworCWlmIChoZWFk X2FkZHIgPiB0YWlsX2FkZHIpCisJCWhlYWRfYWRkciA9IHRhaWxfYWRkcjsKKwllbHNlIGlmICho ZWFkX2FkZHIgPj0gcmluZ2J1Zi0+c2l6ZSkKKwkJaGVhZF9hZGRyID0gMDsKKworCWhlYWQgJj0g fkhFQURfQUREUjsKKwloZWFkIHw9IChoZWFkX2FkZHIgJiBIRUFEX0FERFIpOworCisJLyogUmVz dG9yZSBoZWFkICovCisJcmVnX3N0YXRlW0NUWF9SSU5HX0hFQUQrMV0gPSBoZWFkOworCUk5MTVf V1JJVEVfSEVBRChlbmdpbmUsIGhlYWQpOworCisJLyogc2V0IGhlYWQgKi8KKwlyaW5nYnVmLT5o ZWFkID0gaGVhZDsKKwlyaW5nYnVmLT5sYXN0X3JldGlyZWRfaGVhZCA9IC0xOworCWludGVsX3Jp bmdfdXBkYXRlX3NwYWNlKHJpbmdidWYpOworCisJaWYgKHN0YXRlLT5yZXEpCisJCWludGVsX2V4 ZWNsaXN0c19yZXN1Ym1pdChlbmdpbmUpOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQg aW50ZWxfbG9naWNhbF9yaW5nX3dvcmthcm91bmRzX2VtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXEpCiB7CiAJaW50IHJldCwgaTsKQEAgLTIwNTYsNiArMjE0OSw3IEBAIGxvZ2lj YWxfcmluZ19kZWZhdWx0X3ZmdW5jcyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAK IAkvKiBlbmdpbmUgcmVzZXQgc3VwcG9ydGluZyBmdW5jdGlvbnMgKi8KIAllbmdpbmUtPnNhdmUg PSBnZW44X2VuZ2luZV9zdGF0ZV9zYXZlOworCWVuZ2luZS0+c3RhcnQgPSBnZW44X2VuZ2luZV9z dGFydDsKIAogCWlmIChJU19CWFRfUkVWSUQoZW5naW5lLT5pOTE1LCAwLCBCWFRfUkVWSURfQTEp KSB7CiAJCWVuZ2luZS0+aXJxX3NlcW5vX2JhcnJpZXIgPSBieHRfYV9zZXFub19iYXJyaWVyOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IGRhZjI3MjcuLjU1Y2Iw YjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTkyLDYgKzky LDEzIEBAIHN0cnVjdCBpbnRlbF9yaW5nX2hhbmdjaGVjayB7CiAJZW51bSBpbnRlbF9yaW5nX2hh bmdjaGVja19hY3Rpb24gYWN0aW9uOwogCWludCBkZWFkbG9jazsKIAl1MzIgaW5zdGRvbmVbSTkx NV9OVU1fSU5TVERPTkVfUkVHXTsKKworCS8qCisJICogTGFzdCByZWNvcmRlZCByaW5nIGhlYWQg aW5kZXguCisJICogVGhpcyBpcyBvbmx5IGV2ZXIgYSByaW5nIGluZGV4IHdoZXJlIGFzIGFjdGl2 ZQorCSAqIGhlYWQgbWF5IGJlIGEgZ3JhcGhpY3MgYWRkcmVzcyBpbiBhIHJpbmcgYnVmZmVyCisJ ICovCisJdTMyIGxhc3RfaGVhZDsKIH07CiAKIHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyIHsKQEAg LTIxMyw2ICsyMjAsOCBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKIAkvKiBlbmdpbmUgcmVz ZXQgc3VwcG9ydGluZyBmdW5jdGlvbnMgKi8KIAlpbnQgKCpzYXZlKShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUsCiAJCSAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzX3N0YXRlICpzdGF0 ZSk7CisJaW50ICgqc3RhcnQpKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKKwkJICAg ICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzX3N0YXRlICpzdGF0ZSk7CiAKIAkvKiBHRU44IHNpZ25h bC93YWl0IHRhYmxlIC0gbmV2ZXIgdHJ1c3QgY29tbWVudHMhCiAJICoJICBzaWduYWwgdG8Jc2ln bmFsIHRvICAgIHNpZ25hbCB0byAgIHNpZ25hbCB0byAgICAgIHNpZ25hbCB0bwotLSAKMS45LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=