From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI 11/21] drm/i915: Perform a direct reset of the GPU from the waiter Date: Fri, 9 Sep 2016 12:00:51 +0100 Message-ID: <20160909110101.31967-11-chris@chris-wilson.co.uk> References: <20160909110101.31967-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6F8096E78B for ; Fri, 9 Sep 2016 11:01:19 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id b187so2222593wme.0 for ; Fri, 09 Sep 2016 04:01:19 -0700 (PDT) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id kq2sm2786494wjc.41.2016.09.09.04.01.16 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Sep 2016 04:01:16 -0700 (PDT) In-Reply-To: <20160909110101.31967-1-chris@chris-wilson.co.uk> 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 SWYgYSB3YWl0ZXIgaXMgaG9sZGluZyB0aGUgc3RydWN0X211dGV4LCB0aGVuIHRoZSByZXNldCB3 b3JrZXIgY2Fubm90CnJlc2V0IHRoZSBHUFUgdW50aWwgdGhlIHdhaXRlciByZXR1cm5zLiBXZSBk byBub3Qgd2FudCB0byByZXR1cm4gLUVBR0FJTgpmb3JtIGk5MTVfd2FpdF9yZXF1ZXN0IGFzIHRo YXQgYnJlYWtzIGRlbGljYXRlIG9wZXJhdGlvbnMgbGlrZQppOTE1X3ZtYV91bmJpbmQoKSB3aGlj aCBvZnRlbiBjYW5ub3QgYmUgcmVzdGFydGVkIGVhc2lseSwgYW5kIHJldHVybmluZwotRUlPIGlz IGp1c3QgYXMgdXNlbGVzcyAoYW5kIGhhcyBpbiB0aGUgcGFzdCBwcm92ZW4gZGFuZ2Vyb3VzKS4g VGhlCnJlbWFpbmluZyBXQVJOX09OKGk5MTVfd2FpdF9yZXF1ZXN0KSBzZXJ2ZSBhcyBhIHZhbHVh YmxlIHJlbWluZGVyIHRoYXQKaGFuZGxpbmcgZXJyb3JzIGZyb20gYW4gaW5kZWZpbml0ZSB3YWl0 IGFyZSB0cmlja3kuCgpXZSBjYW4ga2VlcCB0aGUgY3VycmVudCBzZW1hbnRpYyB0aGF0IGtub3dp bmcgYWZ0ZXIgYSByZXNldCBpcyBjb21wbGV0ZSwKc28gaXMgdGhlIHJlcXVlc3QsIGJ5IHBlcmZv cm1pbmcgdGhlIHJlc2V0IG91cnNlbHZlcyBpZiB3ZSBob2xkIHRoZQptdXRleC4KCnVldmVudCBl bWlzc2lvbiBpcyBzdGlsbCBoYW5kbGVkIGJ5IHRoZSByZXNldCB3b3JrZXIsIHNvIGl0IG1heSBh cHBlYXIKc2xpZ2h0bHkgb3V0IG9mIG9yZGVyIHdpdGggcmVzcGVjdCB0byB0aGUgYWN0dWFsIHJl c2V0IChhbmQgY29uY3VycmVudAp1c2Ugb2YgdGhlIGRldmljZSkuCgpTaWduZWQtb2ZmLWJ5OiBD aHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6IE1pa2Eg S3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmMgICAgICAgICB8IDExICsrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAxNSArKystLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgfCAgMiArKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwgIDMgLS0tCiA1IGZpbGVz IGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jCmluZGV4IDQ3YTY3NmQ4NTlkYi4uZmY0MTczZTZlMjk4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmMKQEAgLTE3MjksNiArMTcyOSw4IEBAIGludCBpOTE1X3Jlc3VtZV9zd2l0Y2hl cm9vKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAgKiBSZXNldCB0aGUgY2hpcC4gIFVzZWZ1bCBp ZiBhIGhhbmcgaXMgZGV0ZWN0ZWQuIFJldHVybnMgemVybyBvbiBzdWNjZXNzZnVsCiAgKiByZXNl dCBvciBvdGhlcndpc2UgYW4gZXJyb3IgY29kZS4KICAqCisgKiBDYWxsZXIgbXVzdCBob2xkIHRo ZSBzdHJ1Y3RfbXV0ZXguCisgKgogICogUHJvY2VkdXJlIGlzIGZhaXJseSBzaW1wbGU6CiAgKiAg IC0gcmVzZXQgdGhlIGNoaXAgdXNpbmcgdGhlIHJlc2V0IHJlZwogICogICAtIHJlLWluaXQgY29u dGV4dCBzdGF0ZQpAQCAtMTc0Myw3ICsxNzQ1LDEwIEBAIGludCBpOTE1X3Jlc2V0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9y ID0gJmRldl9wcml2LT5ncHVfZXJyb3I7CiAJaW50IHJldDsKIAotCW11dGV4X2xvY2soJmRldi0+ c3RydWN0X211dGV4KTsKKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXYtPnN0cnVjdF9tdXRleCk7 CisKKwlpZiAoIXRlc3RfYW5kX2NsZWFyX2JpdChJOTE1X1JFU0VUX0lOX1BST0dSRVNTLCAmZXJy b3ItPmZsYWdzKSkKKwkJcmV0dXJuIHRlc3RfYml0KEk5MTVfV0VER0VELCAmZXJyb3ItPmZsYWdz KSA/IC1FSU8gOiAwOwogCiAJLyogQ2xlYXIgYW55IHByZXZpb3VzIGZhaWxlZCBhdHRlbXB0cyBh dCByZWNvdmVyeS4gVGltZSB0byB0cnkgYWdhaW4uICovCiAJX19jbGVhcl9iaXQoSTkxNV9XRURH RUQsICZlcnJvci0+ZmxhZ3MpOwpAQCAtMTc4NCw5ICsxNzg5LDYgQEAgaW50IGk5MTVfcmVzZXQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlnb3RvIGVycm9yOwogCX0KIAot CWNsZWFyX2JpdChJOTE1X1JFU0VUX0lOX1BST0dSRVNTLCAmZXJyb3ItPmZsYWdzKTsKLQltdXRl eF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQogCS8qCiAJICogcnBzL3JjNiByZS1pbml0 IGlzIG5lY2Vzc2FyeSB0byByZXN0b3JlIHN0YXRlIGxvc3QgYWZ0ZXIgdGhlCiAJICogcmVzZXQg YW5kIHRoZSByZS1pbnN0YWxsIG9mIGd0IGlycXMuIFNraXAgZm9yIGlyb25sYWtlIHBlcgpAQCAt MTgwMCw3ICsxODAyLDYgQEAgaW50IGk5MTVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQogCiBlcnJvcjoKIAlzZXRfYml0KEk5MTVfV0VER0VELCAmZXJyb3ItPmZsYWdz KTsKLQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCAyMGI3NzQzZjhlYzUuLjE1ZjE5NzdlMzU2YSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zODYzLDcgKzM4NjMsOSBAQCB3YWl0X3JlbWFp bmluZ19tc19mcm9tX2ppZmZpZXModW5zaWduZWQgbG9uZyB0aW1lc3RhbXBfamlmZmllcywgaW50 IHRvX3dhaXRfbXMpCiAJCQkgICAgc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUocmVt YWluaW5nX2ppZmZpZXMpOwogCX0KIH0KLXN0YXRpYyBpbmxpbmUgYm9vbCBfX2k5MTVfcmVxdWVz dF9pcnFfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCisKK3N0YXRp YyBpbmxpbmUgYm9vbAorX19pOTE1X3JlcXVlc3RfaXJxX2NvbXBsZXRlKHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxKQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9 IHJlcS0+ZW5naW5lOwogCkBAIC0zOTI1LDE3ICszOTI3LDYgQEAgc3RhdGljIGlubGluZSBib29s IF9faTkxNV9yZXF1ZXN0X2lycV9jb21wbGV0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcSkKIAkJCXJldHVybiB0cnVlOwogCX0KIAotCS8qIFdlIG5lZWQgdG8gY2hlY2sgd2hldGhl ciBhbnkgZ3B1IHJlc2V0IGhhcHBlbmVkIGluIGJldHdlZW4KLQkgKiB0aGUgcmVxdWVzdCBiZWlu ZyBzdWJtaXR0ZWQgYW5kIG5vdy4gSWYgYSByZXNldCBoYXMgb2NjdXJyZWQsCi0JICogdGhlIHNl cW5vIHdpbGwgaGF2ZSBiZWVuIGFkdmFuY2UgcGFzdCBvdXJzIGFuZCBvdXIgcmVxdWVzdAotCSAq IGlzIGNvbXBsZXRlLiBJZiB3ZSBhcmUgaW4gdGhlIHByb2Nlc3Mgb2YgaGFuZGxpbmcgYSByZXNl dCwKLQkgKiB0aGUgcmVxdWVzdCBpcyBlZmZlY3RpdmVseSBjb21wbGV0ZSBhcyB0aGUgcmVuZGVy aW5nIHdpbGwKLQkgKiBiZSBkaXNjYXJkZWQsIGJ1dCB3ZSBuZWVkIHRvIHJldHVybiBpbiBvcmRl ciB0byBkcm9wIHRoZQotCSAqIHN0cnVjdF9tdXRleC4KLQkgKi8KLQlpZiAoaTkxNV9yZXNldF9p bl9wcm9ncmVzcygmcmVxLT5pOTE1LT5ncHVfZXJyb3IpKQotCQlyZXR1cm4gdHJ1ZTsKLQogCXJl dHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmlu ZGV4IDVmODk4MDFlNmExNi4uNjRjMzcwNjgxYTgxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fcmVxdWVzdC5jCkBAIC01MzMsNiArNTMzLDE2IEBAIHZvaWQgX19pOTE1X2FkZF9yZXF1 ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCwgYm9vbCBmbHVzaF9jYWNo ZXMpCiAJZW5naW5lLT5zdWJtaXRfcmVxdWVzdChyZXF1ZXN0KTsKIH0KIAorc3RhdGljIHZvaWQg cmVzZXRfd2FpdF9xdWV1ZSh3YWl0X3F1ZXVlX2hlYWRfdCAqcSwgd2FpdF9xdWV1ZV90ICp3YWl0 KQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcS0+bG9j aywgZmxhZ3MpOworCWlmIChsaXN0X2VtcHR5KCZ3YWl0LT50YXNrX2xpc3QpKQorCQlfX2FkZF93 YWl0X3F1ZXVlKHEsIHdhaXQpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnEtPmxvY2ssIGZs YWdzKTsKK30KKwogc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9jYWxfY2xvY2tfdXModW5zaWduZWQg aW50ICpjcHUpCiB7CiAJdW5zaWduZWQgbG9uZyB0OwpAQCAtNzEwLDYgKzcyMCwyNSBAQCB3YWtl dXA6CiAJCWlmIChfX2k5MTVfcmVxdWVzdF9pcnFfY29tcGxldGUocmVxKSkKIAkJCWJyZWFrOwog CisJCS8qIElmIHRoZSBHUFUgaXMgaHVuZywgYW5kIHdlIGhvbGQgdGhlIGxvY2ssIHJlc2V0IHRo ZSBHUFUKKwkJICogYW5kIHRoZW4gY2hlY2sgZm9yIGNvbXBsZXRpb24uIE9uIGEgZnVsbCByZXNl dCwgdGhlIGVuZ2luZSdzCisJCSAqIEhXIHNlcW5vIHdpbGwgYmUgYWR2YW5jZWQgcGFzc2VkIHVz IGFuZCB3ZSBhcmUgY29tcGxldGUuCisJCSAqIElmIHdlIGRvIGEgcGFydGlhbCByZXNldCwgd2Ug aGF2ZSB0byB3YWl0IGZvciB0aGUgR1BVIHRvCisJCSAqIHJlc3VtZSBhbmQgdXBkYXRlIHRoZSBi cmVhZGNydW1iLgorCQkgKgorCQkgKiBJZiB3ZSBkb24ndCBob2xkIHRoZSBtdXRleCwgd2UgY2Fu IGp1c3Qgd2FpdCBmb3IgdGhlIHdvcmtlcgorCQkgKiB0byBjb21lIGFsb25nIGFuZCB1cGRhdGUg dGhlIGJyZWFkY3J1bWIgKGVpdGhlciBkaXJlY3RseQorCQkgKiBpdHNlbGYsIG9yIGluZGlyZWN0 bHkgYnkgcmVjb3ZlcmluZyB0aGUgR1BVKS4KKwkJICovCisJCWlmIChmbGFncyAmIEk5MTVfV0FJ VF9MT0NLRUQgJiYKKwkJICAgIGk5MTVfcmVzZXRfaW5fcHJvZ3Jlc3MoJnJlcS0+aTkxNS0+Z3B1 X2Vycm9yKSkgeworCQkJX19zZXRfY3VycmVudF9zdGF0ZShUQVNLX1JVTk5JTkcpOworCQkJaTkx NV9yZXNldChyZXEtPmk5MTUpOworCQkJcmVzZXRfd2FpdF9xdWV1ZSgmcmVxLT5pOTE1LT5ncHVf ZXJyb3Iud2FpdF9xdWV1ZSwKKwkJCQkJICZyZXNldCk7CisJCQljb250aW51ZTsKKwkJfQorCiAJ CS8qIE9ubHkgc3BpbiBpZiB3ZSBrbm93IHRoZSBHUFUgaXMgcHJvY2Vzc2luZyB0aGlzIHJlcXVl c3QgKi8KIAkJaWYgKGk5MTVfc3Bpbl9yZXF1ZXN0KHJlcSwgc3RhdGUsIDIpKQogCQkJYnJlYWs7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYwppbmRleCBlZDE3MmQ3YmVlY2IuLjJjN2NiNTA0MTUxMSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC0yNTIxLDcgKzI1MjEsOSBAQCBzdGF0aWMgdm9p ZCBpOTE1X3Jlc2V0X2FuZF93YWtldXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQogCSAqIHBlbmRpbmcgc3RhdGUgYW5kIG5vdCBwcm9wZXJseSBkcm9wIGxvY2tzLCByZXN1bHRp bmcgaW4KIAkgKiBkZWFkbG9ja3Mgd2l0aCB0aGUgcmVzZXQgd29yay4KIAkgKi8KKwltdXRleF9s b2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJcmV0ID0gaTkxNV9yZXNldChkZXZf cHJpdik7CisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKIAlp bnRlbF9maW5pc2hfcmVzZXQoZGV2X3ByaXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMKaW5kZXggODY4N2E4NGE3ZmYzLi5kMmQ4NWZjODY5ZTEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTIyMjksOSArMjIyOSw2IEBAIHN0YXRp YyBpbnQgd2FpdF9mb3Jfc3BhY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIGlu dCBieXRlcykKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0JaWYgKGk5MTVfcmVzZXRfaW5f cHJvZ3Jlc3MoJnRhcmdldC0+aTkxNS0+Z3B1X2Vycm9yKSkKLQkJcmV0dXJuIC1FQUdBSU47Ci0K IAlpOTE1X2dlbV9yZXF1ZXN0X3JldGlyZV91cHRvKHRhcmdldCk7CiAKIAlpbnRlbF9yaW5nX3Vw ZGF0ZV9zcGFjZShyaW5nKTsKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK