From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v2 2/2] drm/i915: Fix races in gen4 page flip interrupt handling Date: Tue, 19 Feb 2013 15:16:39 +0200 Message-ID: <1361279799-16582-3-git-send-email-ville.syrjala@linux.intel.com> References: <1361279799-16582-1-git-send-email-ville.syrjala@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 83440E64BB for ; Tue, 19 Feb 2013 05:17:26 -0800 (PST) In-Reply-To: <1361279799-16582-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClVz ZSB0aGUgZ2VuMyBsb2dpYyBmb3IgaGFuZGxpbmcgcGFnZSBmbGlwIGludGVycnVwdHMgb24gZ2Vu NC4KClVuZm9ydHVhbnRlbHkgdGhpcyBraWxscyB0aGUgc3RhbGxfY2hlY2sgc2luY2UgdGhhdCBs b29rcyBsaWtlIGl0IGNhbgplYXNpbHkgdHJpZ2dlciB0b28gZWFybHkuIFdpdGggdGhlIGN1cnJl bnQgbG9naWMgdGhlIHN0YWxsIGNoZWNrIHdvdWxkCmtpY2sgaW4gb24gdGhlIGZpcnN0IHZibGFu ayBhZnRlciB0aGUgZmxpcCBoYXMgYmVlbiBzdWJtaXR0ZWQgdG8gdGhlCnJpbmcuIElmIHRoZSBD UyB0YWtlcyBsb25nZXIgdGhhbiB0aGF0IHRvIHByb2Nlc3MgdGhlIGNvbW1hbmRzIGluIHRoZQpy aW5nLCB0aGUgc3RhbGwgY2hlY2sgd2lsbCBjYXVzZSB0aGUgcGFnZSBmbGlwIHRvIGJlIGNvbXBs ZXRlIHRvbwplYXJseS4gVGhhdCBkb2Vzbid0IHNvdW5kIGxpa2UgYSB2ZXJ5IGdvb2QgaWRlYS4g U29tZXRoaW5nIGJldHRlcgpzaG91bGQgYmUgZGV2aWNlZCBpZiB3ZSBzdGlsbCBuZWVkIHRoZSBz dGFsbCBjaGVjay4gRm9yIG5vdywgbWFyawppOTE1X3BhZ2VmbGlwX3N0YWxsX2NoZWNrKCkgYXMg dW51c2VkLgoKdjI6IEZpeCBpcnEgZW5hYmxlX21hc2sgYW5kIGFkZCBfX2Fsd2F5c191bnVzZWQg KENocmlzIFdpbHNvbikKClJlZmVyZW5jZXM6IGh0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L3Vi dW50dS8rc291cmNlL3hzZXJ2ZXIteG9yZy12aWRlby1pbnRlbC8rYnVnLzExMTY1ODcKUmV2aWV3 ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpUZXN0ZWQtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgfCAzMSArKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggNjQ4ODI0OS4uMThkZTc4OCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCkBAIC0xNTQ3LDcgKzE1NDcsNyBAQCB2b2lkIGk5MTVfaGFuZGxlX2Vy cm9yKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgd2VkZ2VkKQogCXF1ZXVlX3dvcmsoZGV2 X3ByaXYtPndxLCAmZGV2X3ByaXYtPmdwdV9lcnJvci53b3JrKTsKIH0KIAotc3RhdGljIHZvaWQg aTkxNV9wYWdlZmxpcF9zdGFsbF9jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGlw ZSkKK3N0YXRpYyB2b2lkIF9fYWx3YXlzX3VudXNlZCBpOTE1X3BhZ2VmbGlwX3N0YWxsX2NoZWNr KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBwaXBlKQogewogCWRybV9pOTE1X3ByaXZhdGVf dCAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9 IGRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGluZ1twaXBlXTsKQEAgLTI1OTgsNiArMjU5OCw4 IEBAIHN0YXRpYyBpbnQgaTk2NV9pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIAkJCSAgICAgICBJOTE1X1JFTkRFUl9DT01NQU5EX1BBUlNFUl9FUlJPUl9JTlRFUlJVUFQp OwogCiAJZW5hYmxlX21hc2sgPSB+ZGV2X3ByaXYtPmlycV9tYXNrOworCWVuYWJsZV9tYXNrICY9 IH4oSTkxNV9ESVNQTEFZX1BMQU5FX0FfRkxJUF9QRU5ESU5HX0lOVEVSUlVQVCB8CisJCQkgSTkx NV9ESVNQTEFZX1BMQU5FX0JfRkxJUF9QRU5ESU5HX0lOVEVSUlVQVCk7CiAJZW5hYmxlX21hc2sg fD0gSTkxNV9VU0VSX0lOVEVSUlVQVDsKIAogCWlmIChJU19HNFgoZGV2KSkKQEAgLTI2ODQsNiAr MjY4NiwxMyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgaTk2NV9pcnFfaGFuZGxlcihpbnQgaXJxLCB2 b2lkICphcmcpCiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAlpbnQgaXJxX3JlY2VpdmVkOwog CWludCByZXQgPSBJUlFfTk9ORSwgcGlwZTsKKwl1MzIgZmxpcFsyXSA9IHsKKwkJSTkxNV9ESVNQ TEFZX1BMQU5FX0FfRkxJUF9QRU5ESU5HX0lOVEVSUlVQVCwKKwkJSTkxNV9ESVNQTEFZX1BMQU5F X0JfRkxJUF9QRU5ESU5HX0lOVEVSUlVQVAorCX07CisJdTMyIGZsaXBfbWFzayA9CisJCUk5MTVf RElTUExBWV9QTEFORV9BX0ZMSVBfUEVORElOR19JTlRFUlJVUFQgfAorCQlJOTE1X0RJU1BMQVlf UExBTkVfQl9GTElQX1BFTkRJTkdfSU5URVJSVVBUOwogCiAJYXRvbWljX2luYygmZGV2X3ByaXYt PmlycV9yZWNlaXZlZCk7CiAKQEAgLTI2OTIsNyArMjcwMSw3IEBAIHN0YXRpYyBpcnFyZXR1cm5f dCBpOTY1X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKIAlmb3IgKDs7KSB7CiAJCWJv b2wgYmxjX2V2ZW50ID0gZmFsc2U7CiAKLQkJaXJxX3JlY2VpdmVkID0gaWlyICE9IDA7CisJCWly cV9yZWNlaXZlZCA9IChpaXIgJiB+ZmxpcF9tYXNrKSAhPSAwOwogCiAJCS8qIENhbid0IHJlbHkg b24gcGlwZXN0YXQgaW50ZXJydXB0IGJpdCBpbiBpaXIgYXMgaXQgbWlnaHQKIAkJICogaGF2ZSBi ZWVuIGNsZWFyZWQgYWZ0ZXIgdGhlIHBpcGVzdGF0IGludGVycnVwdCB3YXMgcmVjZWl2ZWQuCkBA IC0yNzM5LDcgKzI3NDgsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgaTk2NV9pcnFfaGFuZGxlcihp bnQgaXJxLCB2b2lkICphcmcpCiAJCQlJOTE1X1JFQUQoUE9SVF9IT1RQTFVHX1NUQVQpOwogCQl9 CiAKLQkJSTkxNV9XUklURShJSVIsIGlpcik7CisJCUk5MTVfV1JJVEUoSUlSLCBpaXIgJiB+Zmxp cF9tYXNrKTsKIAkJbmV3X2lpciA9IEk5MTVfUkVBRChJSVIpOyAvKiBGbHVzaCBwb3N0ZWQgd3Jp dGVzICovCiAKIAkJaWYgKGlpciAmIEk5MTVfVVNFUl9JTlRFUlJVUFQpCkBAIC0yNzQ3LDE3ICsy NzU2LDE3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpOTY1X2lycV9oYW5kbGVyKGludCBpcnEsIHZv aWQgKmFyZykKIAkJaWYgKGlpciAmIEk5MTVfQlNEX1VTRVJfSU5URVJSVVBUKQogCQkJbm90aWZ5 X3JpbmcoZGV2LCAmZGV2X3ByaXYtPnJpbmdbVkNTXSk7CiAKLQkJaWYgKGlpciAmIEk5MTVfRElT UExBWV9QTEFORV9BX0ZMSVBfUEVORElOR19JTlRFUlJVUFQpCi0JCQlpbnRlbF9wcmVwYXJlX3Bh Z2VfZmxpcChkZXYsIDApOwotCi0JCWlmIChpaXIgJiBJOTE1X0RJU1BMQVlfUExBTkVfQl9GTElQ X1BFTkRJTkdfSU5URVJSVVBUKQotCQkJaW50ZWxfcHJlcGFyZV9wYWdlX2ZsaXAoZGV2LCAxKTsK LQogCQlmb3JfZWFjaF9waXBlKHBpcGUpIHsKIAkJCWlmIChwaXBlX3N0YXRzW3BpcGVdICYgUElQ RV9TVEFSVF9WQkxBTktfSU5URVJSVVBUX1NUQVRVUyAmJgogCQkJICAgIGRybV9oYW5kbGVfdmJs YW5rKGRldiwgcGlwZSkpIHsKLQkJCQlpOTE1X3BhZ2VmbGlwX3N0YWxsX2NoZWNrKGRldiwgcGlw ZSk7Ci0JCQkJaW50ZWxfZmluaXNoX3BhZ2VfZmxpcChkZXYsIHBpcGUpOworCQkJCWlmIChpaXIg JiBmbGlwW3BpcGVdKSB7CisJCQkJCWludGVsX3ByZXBhcmVfcGFnZV9mbGlwKGRldiwgcGlwZSk7 CisKKwkJCQkJaWYgKChJOTE1X1JFQUQoSVNSKSAmIGZsaXBbcGlwZV0pID09IDApIHsKKwkJCQkJ CWludGVsX2ZpbmlzaF9wYWdlX2ZsaXAoZGV2LCBwaXBlKTsKKwkJCQkJCWZsaXBfbWFzayAmPSB+ ZmxpcFtwaXBlXTsKKwkJCQkJfQorCQkJCX0KIAkJCX0KIAogCQkJaWYgKHBpcGVfc3RhdHNbcGlw ZV0gJiBQSVBFX0xFR0FDWV9CTENfRVZFTlRfU1RBVFVTKQotLSAKMS43LjEyLjQKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==