From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 27/32] drm/i915: Harden detection of missed interrupts Date: Fri, 11 Dec 2015 11:33:23 +0000 Message-ID: <1449833608-22125-28-git-send-email-chris@chris-wilson.co.uk> References: <1449833608-22125-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [87.106.93.118]) by gabe.freedesktop.org (Postfix) with ESMTP id C4B166EDDE for ; Fri, 11 Dec 2015 03:34:46 -0800 (PST) In-Reply-To: <1449833608-22125-1-git-send-email-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 T25seSBkZWNsYXJlIGEgbWlzc2VkIGludGVycnVwdCBpZiB3ZSBmaW5kIHRoYXQgdGhlIEdQVSBp cyBpZGxlIHdpdGgKd2FpdGVycyBhbmQgYSBoYW5nY2hlY2sgaW50ZXJ2YWwgaGFzIHBhc3NlZCBp biB3aGljaCBubyBuZXcgdXNlcgppbnRlcnJ1cHRzIGhhdmUgYmVlbiByYWlzZWQuCgpTaWduZWQt b2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgfCA2ICsrKysrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgIHwgNyArKysrKystCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAyICsrCiAzIGZpbGVzIGNoYW5nZWQsIDE0IGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j CmluZGV4IGEwM2VkOWUzODQ5OS4uNzg1MDZhYmU3ODgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYwpAQCAtNzM1LDYgKzczNSw5IEBAIHN0YXRpYyB2b2lkIGk5MTVfcmluZ19zZXFu b19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwKIAlzZXFfcHJpbnRmKG0sICJDdXJyZW50IHNlcXVl bmNlICglcyk6ICV4XG4iLAogCQkgICByaW5nLT5uYW1lLCBpbnRlbF9yaW5nX2dldF9zZXFubyhy aW5nKSk7CiAKKwlzZXFfcHJpbnRmKG0sICJDdXJyZW50IHVzZXIgaW50ZXJydXB0cyAoJXMpOiAl eFxuIiwKKwkJICAgcmluZy0+bmFtZSwgUkVBRF9PTkNFKHJpbmctPnVzZXJfaW50ZXJydXB0cykp OworCiAJc3Bpbl9sb2NrKCZyaW5nLT5icmVhZGNydW1icy5sb2NrKTsKIAlmb3IgKHJiID0gcmJf Zmlyc3QoJnJpbmctPmJyZWFkY3J1bWJzLnJlcXVlc3RzKTsKIAkgICAgIHJiICE9IE5VTEw7CkBA IC0xMzY5LDYgKzEzNzIsOSBAQCBzdGF0aWMgaW50IGk5MTVfaGFuZ2NoZWNrX2luZm8oc3RydWN0 IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiAJCXNlcV9wcmludGYobSwgIlx0c2Vxbm8gPSAl eCBbY3VycmVudCAleF0sIHdhaXRlcnM/ICVkXG4iLAogCQkJICAgcmluZy0+aGFuZ2NoZWNrLnNl cW5vLCBzZXFub1tpXSwKIAkJCSAgIGludGVsX2VuZ2luZV9oYXNfd2FpdGVyKHJpbmcpKTsKKwkJ c2VxX3ByaW50ZihtLCAiXHR1c2VyIGludGVycnVwdHMgPSAleCBbY3VycmVudCAleF1cbiIsCisJ CQkgICByaW5nLT5oYW5nY2hlY2sudXNlcl9pbnRlcnJ1cHRzLAorCQkJICAgcmluZy0+dXNlcl9p bnRlcnJ1cHRzKTsKIAkJc2VxX3ByaW50ZihtLCAiXHRBQ1RIRCA9IDB4JTA4bGx4IFtjdXJyZW50 IDB4JTA4bGx4XVxuIiwKIAkJCSAgIChsb25nIGxvbmcpcmluZy0+aGFuZ2NoZWNrLmFjdGhkLAog CQkJICAgKGxvbmcgbG9uZylhY3RoZFtpXSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwppbmRleCA2 NDUwMmMwZDJhODEuLmU4NjRlYmVlZjRlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC0x MDAwLDYgKzEwMDAsNyBAQCBzdGF0aWMgdm9pZCBub3RpZnlfcmluZyhzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nKQogCQlyZXR1cm47CiAKIAl0cmFjZV9pOTE1X2dlbV9yZXF1ZXN0X25vdGlm eShyaW5nKTsKKwlyaW5nLT51c2VyX2ludGVycnVwdHMrKzsKIAlpbnRlbF9lbmdpbmVfd2FrZXVw KHJpbmcpOwogfQogCkBAIC0yOTc0LDEyICsyOTc1LDE0IEBAIHN0YXRpYyB2b2lkIGk5MTVfaGFu Z2NoZWNrX2VsYXBzZWQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCWZvcl9lYWNoX3Jpbmco cmluZywgZGV2X3ByaXYsIGkpIHsKIAkJdTY0IGFjdGhkOwogCQl1MzIgc2Vxbm87CisJCXVuc2ln bmVkIHVzZXJfaW50ZXJydXB0czsKIAkJYm9vbCBidXN5ID0gdHJ1ZTsKIAogCQlzZW1hcGhvcmVf Y2xlYXJfZGVhZGxvY2tzKGRldl9wcml2KTsKIAogCQlhY3RoZCA9IGludGVsX3JpbmdfZ2V0X2Fj dGl2ZV9oZWFkKHJpbmcpOwogCQlzZXFubyA9IGludGVsX3JpbmdfZ2V0X3NlcW5vKHJpbmcpOwor CQl1c2VyX2ludGVycnVwdHMgPSByaW5nLT51c2VyX2ludGVycnVwdHM7CiAKIAkJaWYgKHJpbmct PmhhbmdjaGVjay5zZXFubyA9PSBzZXFubykgewogCQkJaWYgKHJpbmdfaWRsZShyaW5nLCBzZXFu bykpIHsKQEAgLTI5ODcsNyArMjk5MCw4IEBAIHN0YXRpYyB2b2lkIGk5MTVfaGFuZ2NoZWNrX2Vs YXBzZWQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCiAJCQkJaWYgKGludGVsX2VuZ2luZV9o YXNfd2FpdGVyKHJpbmcpKSB7CiAJCQkJCS8qIElzc3VlIGEgd2FrZS11cCB0byBjYXRjaCBzdHVj ayBoL3cuICovCi0JCQkJCWlmICghdGVzdF9hbmRfc2V0X2JpdChyaW5nLT5pZCwgJmRldl9wcml2 LT5ncHVfZXJyb3IubWlzc2VkX2lycV9yaW5ncykpIHsKKwkJCQkJaWYgKHJpbmctPmhhbmdjaGVj ay51c2VyX2ludGVycnVwdHMgPT0gdXNlcl9pbnRlcnJ1cHRzICYmCisJCQkJCSAgICAhdGVzdF9h bmRfc2V0X2JpdChyaW5nLT5pZCwgJmRldl9wcml2LT5ncHVfZXJyb3IubWlzc2VkX2lycV9yaW5n cykpIHsKIAkJCQkJCWlmICghdGVzdF9iaXQocmluZy0+aWQsICZkZXZfcHJpdi0+Z3B1X2Vycm9y LnRlc3RfaXJxX3JpbmdzKSkKIAkJCQkJCQlEUk1fRVJST1IoIkhhbmdjaGVjayB0aW1lciBlbGFw c2VkLi4uICVzIGlkbGVcbiIsCiAJCQkJCQkJCSAgcmluZy0+bmFtZSk7CkBAIC0zMDUxLDYgKzMw NTUsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2hhbmdjaGVja19lbGFwc2VkKHN0cnVjdCB3b3JrX3N0 cnVjdCAqd29yaykKIAogCQlyaW5nLT5oYW5nY2hlY2suc2Vxbm8gPSBzZXFubzsKIAkJcmluZy0+ aGFuZ2NoZWNrLmFjdGhkID0gYWN0aGQ7CisJCXJpbmctPmhhbmdjaGVjay51c2VyX2ludGVycnVw dHMgPSB1c2VyX2ludGVycnVwdHM7CiAJCWJ1c3lfY291bnQgKz0gYnVzeTsKIAl9CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCAzMzc4MGZhZDZhMzAuLjFiNGFh NTljNGQyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtOTAs NiArOTAsNyBAQCBzdHJ1Y3QgaW50ZWxfcmluZ19oYW5nY2hlY2sgewogCXU2NCBhY3RoZDsKIAl1 NjQgbWF4X2FjdGhkOwogCXUzMiBzZXFubzsKKwl1bnNpZ25lZCB1c2VyX2ludGVycnVwdHM7CiAJ aW50IHNjb3JlOwogCWVudW0gaW50ZWxfcmluZ19oYW5nY2hlY2tfYWN0aW9uIGFjdGlvbjsKIAlp bnQgZGVhZGxvY2s7CkBAIC0zMjMsNiArMzI0LDcgQEAgc3RydWN0ICBpbnRlbF9lbmdpbmVfY3Mg ewogCSAqIGluc3BlY3RpbmcgcmVxdWVzdCBsaXN0LgogCSAqLwogCXUzMiBsYXN0X3N1Ym1pdHRl ZF9zZXFubzsKKwl1bnNpZ25lZCB1c2VyX2ludGVycnVwdHM7CiAKIAlib29sIGdwdV9jYWNoZXNf ZGlydHk7CiAKLS0gCjIuNi4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=